公司网站备案材料,网站开发与维护视频,网站建设未来发展,我想做pip install scikit-learn 或者 直接用 Anaconda3
sklearn 提供了 preprocessing 数据预处理模块、cluster 聚类模型、manifold.TSNE 数据降维模块。
编写 test_sklearn_3.py 如下
# -*- coding: utf-8 -*-使用 sklearn 构建 K-Means 聚类模型 使用 sklearn 构建 K-Means 聚类模型
#import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import preprocessing
from sklearn import cluster# 1.加载 鸢尾花 数据集
iris datasets.load_iris()
# 数据集的数据
data iris[data]
print(iris_data:,\n, data)
# 数据集的标签
target iris[target]
print(iris_target:,\n, target)
# 数据集的特征名称
feature_names iris[feature_names]
print(iris_feature_names:,\n, feature_names)
# 数据集的描述信息
Descr iris[DESCR]
print(iris_DESCR:,\n, Descr)
print(-----------------------)# 离差标准化生成规则
scaler preprocessing.MinMaxScaler().fit(data)
# 将规则应用于数据集
data_scaler scaler.transform(data)
# 构建 KMeans 模型并训练模型
kmeans cluster.KMeans(n_clusters3,n_init10, random_state123).fit(data_scaler)
print(KMeans:,\n, kmeans)
# 某一鸢尾花预测类别
result kmeans.predict([[1.5,1.5,1.5,1.5]])
print(花瓣花萼长度宽度全为1.5的鸢尾花预测类别为:, result[0])# 聚类结果可视化 manifold 复印本
from sklearn import manifold
# 使用 TSNE 进行数据降维降成2维
tsne manifold.TSNE(n_components2,initrandom,random_state177).fit(data)
# 将原始数据转换为 DataFrame
df pd.DataFrame(tsne.embedding_)
# 将聚类结果存入 df数据表
df[labels] kmeans.labels_
# 提取不同标签的数据
df1 df[df[labels]0]
df2 df[df[labels]1]
df3 df[df[labels]2]
# 绘制图形
fig plt.figure(figsize(9,6))
# 用不同的颜色表示不同的数据
plt.plot(df1[0],df1[1],bo, df2[0],df2[1],r*, df3[0],df3[1],gD)
plt.show()运行 python test_sklearn_3.py 参考书【Python 数据分析与应用】第6章 使用 scikit-learn 构建模型