无监督学习包含算法

  • 聚类
    • K-means(K均值聚类)
  • 降维
    • PCA

K-means原理

我们先来看一下一个K-means的聚类效果图

无监督学习包含算法

 

 

K-means聚类步骤

  • 1、随机设置K个特征空间内的点作为初始的聚类中心
  • 2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别
  • 3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)
  • 4、如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程

我们以一张图来解释效果

无监督学习包含算法

 

 

K-meansAPI

  • sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)
    • k-means聚类
    • n_clusters:开始的聚类中心数量
    • init:初始化方法,默认为'k-means ++’
    • labels_:默认标记的类型,可以和真实值比较(不是值比较)

案例:k-means对Instacart Market用户聚类

分析

  • 1、降维之后的数据
  • 2、k-means聚类
  • 3、聚类结果显示
data_new

无监督学习包含算法

 

 

#预估器流程
from sklearn.cluster import KMeans

estimator = KMeans(n_clusters=3)
estimator.fit(data_new)

无监督学习包含算法

 

 

y_predict = estimator.predict(data_new)
y_predict[:300]

无监督学习包含算法

 

 

#模型评估 - 轮廓系数
from sklearn.metrics import silhouette_score

silhouette_score(data_new, y_predict)

无监督学习包含算法

 

上一篇:疯狂的机器学习实战-银行营销预测


下一篇:keras中model.predict中遇到的问题和暂时解决方式(求大佬看到解决一下)