聚类、分类

clustering

k-means法

API

>>> from sklearn.cluster import KMeans
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
>>> kmeans.labels_
array([0, 0, 0, 1, 1, 1], dtype=int32)
>>> kmeans.predict([[0, 0], [4, 4]])
array([0, 1], dtype=int32)
>>> kmeans.cluster_centers_
array([[ 1.,  2.],
       [ 4.,  2.]])
批量 K-means 法 MiniBatchKMeans

API

相似性传播 Affinity Propagation

API

适合中小型的数据集

均值漂移 MeanShift

API

回归

用到的回归类

regr = linear_model.LinearRegression()
线性回归的多分类

例子

OvO 一对一

把类别两两配对,制造N(N-1)个分类器。所有分类器预测结果最重合的那个类别,即为此点的分类。

OvR 一对多

共有N个分类器,每个分类器把一个类别记为‘+’的,其他类别一块记为‘-'的。预测时,若有一个分类器预测结果为+,则把它当做最终结果。

Paste_Image.png

OvO的存储开销比较大,时间开销更小,由于用所有类别训练,结果比一对多更准。

MvM 多对多

每个分类器对所有类进行划分,分为-和+。有二元编码和三元编码,三元编码多了个「停用类」。

方法称作「纠错输出码」EOOC。

这三个方法很难说出谁更强。

你可能感兴趣的:(聚类、分类)