这个系列是我通过阅读 Scikit-learn 的文档,结合自己的理解和掌握的知识,重新把文档描述出来。希望能加深自己的理解,希望能帮到有需要的人。
学习材料:https://scikit-learn.org/stable/tutorial/statistical_inference/supervised_learning.html
监督学习的概念
在 这篇文章 中介绍了监督学习的概念。简单的说,就是用一批带有已知标签的数据集,来预测没有标签的数据的标签。
监督学习要解决的问题
监督学习中,输入是观测样本矩阵 X
, X
的一个维度是特征,另一个维度是样本,(也就是 数据集,参看这篇),输出则是一个一维的的向量 y
,叫做 “目标 target” 或者 “标签 label”,这个向量的维度和样本的维度一样。对于每一次的观测样本,输出一个标签,所以一般来说,输出的标签向量的长度和样本个数相同。
分类(classification):如果一个预测任务是将数据集划分为有限多个标签,(比如 这篇 中的iris数据,预测花的种类),换句话说,是给每个数据集打一个标签,命一个名,那么这个任务就称为分类任务。
分类的标签是离散的变量,任务是给测试样本“定性”; 如果一个要预测的对象是连续的变量,任务是给测试样本“定量”,那么该任务就称为回归(regression)。
分类问题的例子
在 鸢尾花数据集 中,来自三种鸢尾花,分别为 Setosa、Versicolour、Virginica。 所以这套训练数据中会有三种标签,从下面的代码可以看出来:
import numpy as np
from sklearn import datasets
iris_X, iris_y = datasets.load_iris(return_X_y=True)
print(np.unique(iris_y))
结果是:
[0 1 2]
这里用三个数字表示数据的标签。
K-最近邻算法
最简单的监督学习分类器是 K-最近邻算法。
scikit-learn
库里的每一个监督估计器都有一个 .fit(X, y)
方法函数和一个 predict(X)
方法函数。.fit(X, y)
用于拟合数据,predict(X)
用于预测 y
在 scikit-learn
库,y
向量的成员是整数或者字符串。
如果您对本文有疑问或者寻求合作,欢迎 联系邮箱 。邮箱已到剪贴板
精彩评论
本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/scikit-learn-3/ ,且不得用于商业用途。