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

news/2024/7/9 10:46:41 标签: sklearn, 机器学习, python

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

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

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

文章目录

  • 1. 分类
    • 1.1 KNN
    • 1.2 SVM
  • 2. 聚类
    • 2.1 KMeans
  • 3. 指标
    • 3.1 常用分类指标

1. 分类

1.1 KNN

python">from sklearn.neighbors import KNeighborsClassifier

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

#测试
result=neigh.predict(test_x)

KNeighborsClassifier入参:

  • n_neighbors:KNN的N

1.2 SVM

python">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

python">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 常用分类指标

python">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'))

http://www.niftyadmin.cn/n/126128.html

相关文章

【深度学习】BERT变体—SpanBERT

SpanBERT出自Facebook,就是在BERT的基础上,针对预测spans of text的任务,在预训练阶段做了特定的优化,它可以用于span-based pretraining。这里的Span翻译为“片段”,表示一片连续的单词。SpanBERT最常用于需要预测文本…

【C++】30h速成C++从入门到精通(stack、queuepriority_queue以及deque介绍)

stackstack的介绍https://cplusplus.com/reference/stack/stack/?kwstackstack是一种容器适配器,专门在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特…

代码随想录|day6|哈希表篇-- 242.有效的字母异位词 、349. 两个数组的交集 、202. 快乐数、1. 两数之和

总链接https://docs.qq.com/doc/DUEtFSGdreWRuR2p4?u329948d2f0044f34b7cbe72503f0b572 242.有效的字母异位词 链接:代码随想录 class Solution { public:bool isAnagram(string s, string t) {//两种做法,一种是int f[26]的数组,一种是map /*第一种&a…

nest.js学习笔记(一)

nest.js学习笔记(一)一、安装nest.js前置条件运行项目目录介绍二、nest.js cli 常用命令三、RESTful 风格设计1.接口url2.RESTful 版本控制四、获取前端传过来的参数1.获取Get请求参数2.获取Post请求参数3.动态路由4.获取Header信息5.自定义状态码nest.j…

基于龙芯+国产FPGA 的VPX以太网交换板设计(三)

调试与测试是本系统设计实现的重要环节。单板调试主要包括各单元电路和接口 的调试,主要通过查看信号波形和运行软件对每个功能进行测试。本章将设计一系列 的调试和测试方案来验证电路设计的正确性。 6.1 电路板静态检查 经过原理图设计、印制板设计、制造、印制板…

JAVA知识点全面总结9:JVM调优

九.JAVA知识点全面总结9:JVM调优 1.JVM内存结构 2.对象的创建 3.垃圾回收机制 4.JVM调优 未更新 未更新 九.JAVA知识点全面总结9:JVM调优 1.JVM内存结构 ①堆 存放对象实例内存区域 新生代(Eden,S0,S1) 老年代 永久代 …

Java 数组的基本用法

Java 数组的基本用法1 数组的基本理论2 数组的创建2.1 一维数组的创建2.1.1数组的声明:2.1.2 数组的初始化静态初始化:动态初始化:2.1.3 数组的访问2.2 二维数组的创建2 数组的内存分析3 数组的操作(Arrays的使用)3.1 填充替换数组元素3.2 数…

mysql查询数据库所有的表以及字段信息

SELECT table_schema 数据库名, table_name 表名, COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_DEFAULT 默认值, COLUMN_COMMENT 备注 FROM INFORMATION_SCHEMA.COLUMNS…