01 | 前言
1.选择算法
在选择算法之前,要考虑两个问题。一是使用模型的目的是什么(分类or预测);二是需要使用的数据是什么样的。 需要预测变量的值,可以使用监督学习算法,反之使用非监督;如果是分类的问题,可以使用分类模型;如果是求解连续型数值,则应该使用回归模型。
02 | sklearn基础算法
1.KNN
1.定义 最近邻 (k-Nearest Neighbors, KNN) 算法是一种分类算法, 应用场景有字符识别、 文本分类、 图像识别等领域。 该算法的思想是: 一个样本与数据集中的k个样本最相似, 如果这k个样本中的大多数属于某一个类别, 则该样本也属于这个类别。
2.k值选择 选择较小的K值,较小的邻域中的训练实例进行预测,学习的近似误差会减小,但是学习的估计误差会增大,预测结果会对近邻的实例点分成敏感。换句话说,K值减小就意味着整体模型变复杂,分的不清楚,就容易发生过拟合; 选择较大K值,用较大邻域中的训练实例进行预测,优点是可以减少学习的估计误差,但近似误差会增大,也就是对输入实例预测不准确,K值得增大就意味着整体模型变的简单。 K值一般取一个比较小的数值,通常采用交叉验证法来选取最优的K值。
3.代码实现
'''
01 | 准备工作:导入需要的库
1.自带数据集库
2.数据集划分库
3.KNN算法库
'''
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
'''
02 | 数据预处理
'''
df = load_wine()
print(df)
X_train,X_test,y_train,y_test = train_test_split(df.data,df.target,random_state = 0)
'''
03 | 模型构建
'''
knn = KNeighborsClassifier()
knn.fit(X_train,y_train)
print(knn.score(X_test,y_test))
|