非监督学习——聚类

版权声明:本文是原创文章,转载需注明出处。 https://blog.csdn.net/laboirousbee/article/details/89702892

K—均值(K-Means):

  1. 寻找每个类的中心,中心就是表征数据的区域。
  2. 分两步:分配,优化。不停的迭代这两步,直到不再变化。

局限性:局部最小值的问题,K-Means非常依赖于初始聚类中心所处的位置。

>>> from sklearn.cluster import KMeans
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [10, 2], [10, 4], [10, 0]])
>>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
>>> kmeans.labels_
array([1, 1, 1, 0, 0, 0], dtype=int32)
>>> kmeans.predict([[0, 0], [12, 3]])
array([1, 0], dtype=int32)
>>> kmeans.cluster_centers_
array([[10.,  2.],
       [ 1.,  2.]])

附录:

1、scikit-learn聚类的网站:https://mp.csdn.net/postedit?not_checkout=1

2、多种方式选择聚类 k:https://en.wikipedia.org/wiki/Determining_the_number_of_clusters_in_a_data_set

3、matplotlib的颜色:https://matplotlib.org/examples/color/colormaps_reference.html

4、稀疏 csr 矩阵类型(如 SciPi 库中所定义):https://docs.scipy.org/doc/scipy-0.19.0/reference/generated/scipy.sparse.csr_matrix.html,要从 pandas dataframe 转换为稀疏矩阵,我们需要先转换为 SparseDataFrame,然后使用 pandas 的 to_coo() 方法进行转换。

5、这是一个简单的推荐引擎,展示了“协同过滤”的最基本概念:https://www.netflixprize.com/assets/GrandPrize2009_BPC_BigChaos.pdf

猜你喜欢

转载自blog.csdn.net/laboirousbee/article/details/89702892