sklearn手册(持续更新ing...)

诸神缄默不语-个人CSDN博文目录

本文是一个随时使用sklearn时可供参考的手册。我有使用sklearn的基础,且准备后期直接用sklearn官方的教程文档参考撰写系统性学习sklearn包使用方法的sklearn用户教程一文,因此本文就不介绍基础了。

sklearn官网:scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation

最近更新时间:2023.3.27
最早更新时间:2023.3.6

1. 分类

1.1 KNN

from sklearn.neighbors import KNeighborsClassifier

neigh=KNeighborsClassifier()
neigh.fit(x,y)

#测试
result=neigh.predict(test_x)

KNeighborsClassifier入参:

  • n_neighbors:KNN的N

1.2 SVM

from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline

X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
y=np.array([0,1,1,2,2,2])

clf=make_pipeline(StandardScaler(),SVC())
clf.fit(X,y)

predict_result=clf.predict(np.array([[2, 3], [2, 5], [5, 5]]))
print(predict_result)

2. 聚类

2.1 KMeans

https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

from sklearn.cluster import KMeans

kmeans=KMeans()    #新建KMeans对象,并传入参数
kmeans.fit(case_feature)  #进行训练

kmeans.labels_  #K均值对象的所有训练集的标签

KMeans()方法的入参:

  • n_cluster:簇数
  • init:初始化质心的方法。可以用字符串(初始化的算法)或者矩阵(初始化的质心)作为输入。
  • n_init:用多少个不同的随机种子重新运行K均值聚类算法。
    需要注意的是,n_cluster和n_init如果一起用的话,n_cluster会覆盖n_init,也就是强制n_init=,K均值聚类就只会运行一次(K均值嘛,如果质心确定了,那后面的也就固定了……这是原理部分本文就不讲了)
    会报这个警告:
    在这里插入图片描述
    (本知识点的参考资料:python - k-means with selected initial centers - Stack Overflow

3. 指标

3.1 常用分类指标

from sklearn.metrics import accuracy_score,precision_score,recall_score,f1_score

#y是标签,result是预测结果(经predict之后的数值输出)
#值得一提的是,单标签和多标签都能实现。单标签就各自只要一列数据就行
print(accuracy_score(y,result))
print(precision_score(y,result,average='macro'))
print(recall_score(y,result,average='macro'))
print(f1_score(y,result,average='macro'))

4. 异常检测

4.1 local outlier factor (LOF)

https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.LocalOutlierFactor.html

原理讲解:机器学习-异常检测算法(二):Local Outlier Factor - 知乎
大概来说就是把那种跟其他点都很疏远的点视为异常点。

猜你喜欢

转载自blog.csdn.net/PolarisRisingWar/article/details/129364193