ITPub博客

首页 > 大数据 > 数据分析 > sklearn建模及评估(聚类)

sklearn建模及评估(聚类)

原创 数据分析 作者:kuqlan 时间:2019-09-03 16:55:05 0 删除 编辑

      作为机器学习工具的 sklearn ,它主要作用是构建模型和评估。其主要的模型分为聚类、分类、回归等,而没有模型也有适应不同场景的多个算法。接下来我们从这几点进行简要总结。

1、聚类模型

      聚类的输入是一组未被标记(所谓 target 值或 lable )的样本,聚类根据数据自身的距离或相似度将它们划分为若干组。划分的原则是组内(内部)距离最小化,而组间(外部)距离最大化。sklearn提供的各种聚类方法有如下图所示:

      聚类算法的实现需要 sklearn 的估计器( Estimator ),估计其拥有 fit 和 predict 两个方法。以 iris 数据为例,使用 sklearn 估计器构建 K-Means 聚类模型,其实例如下代码所示:

 

1.1 构建聚类模型代码

from sklearn.datasets import load_iris

from sklearn.preprocessing import MinMaxScaler

from sklearn.cluster import KMeans

iris = load_iris()

iris_data = iris['data'] ##提取数据集中的特征

iris_target = iris['target'] ## 提取数据集中的标签

iris_names = iris['feature_names'] ### 提取特征名

scale = MinMaxScaler().fit(iris_data)## 训练规则

iris_dataScale = scale.transform(iris_data) ## 应用规则

kmeans = KMeans(n_clusters = 3,

    random_state=123).fit(iris_dataScale) ##构建并训练模型

print('构建的K-Means模型为:\n',kmeans)

 

result = kmeans.predict([[1.5,1.5,1.5,1.5]])

print('花瓣花萼长度宽度全为1.5的鸢尾花预测类别为:', result[0])

 

1.2 聚类结果可视化

import pandas as pd

from sklearn.manifold import TSNE

import matplotlib.pyplot as plt

##使用TSNE进行数据降维,降成两维

tsne = TSNE(n_components=2,init='random',

    random_state=177).fit(iris_data)

df=pd.DataFrame(tsne.embedding_) ##将原始数据转换为DataFrame

df['labels'] = kmeans.labels_ ##将聚类结果存储进df数据表

##提取不同标签的数据

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.savefig('C:/Users/yspmm/spydertest/聚类结果2.png')

plt.show() ##显示图片

 

1.3 使用FMI评价聚类模型

sklearn的metrics模块提供提供了聚类模型评价指标。为什么要评价,目的在于模型时候达到预期效果。

from sklearn.metrics import fowlkes_mallows_score

for i in range(2,7):

    ##构建并训练模型

    kmeans = KMeans(n_clusters = i,random_state=123).fit(iris_data)

    score = fowlkes_mallows_score(iris_target,kmeans.labels_)

    print('iris数据聚%d类FMI评价分值为:%f' %(i,score))

 

参考书:

Python数据分析与应用  黄红梅、张良均  主编    中国工信出版集团和人民邮电出版社

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-2655875/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681005