一.scikit-learn的安装
1.首先安装anaconda环境
2.使用Anaconda Powershell Prompt (anaconda3)创建虚拟环境
conda create -n (环境名) python=(版本号)
3.进入创建的环境中
conda activate (环境名)
4.安装scikit-learn
conda install scikit-learn
二.在pycharm中进行配置
1.打开设置
2.找到解释器设置
3.找到添加本地解释器
4.选择之前创建的虚拟环境
三.KNN算法概念流程
1.KNN算法概念:
一个样本最相似的 k 个样本中的大多数属于某一个类别,则该样本也属于这个类别
2.KNN分类流程:
1.计算未知样本到每一个训练样本的距离
2.将训练样本根据距离大小升序排列
3.取出距离最近的 K 个训练样本
4.进行多数表决,统计 K 个样本中哪个类别的样本个数最多
5.将未知的样本归属到出现次数最多的类别
3.KNN回归流程
1.计算未知样本到每一个训练样本的距离
2.将训练样本根据距离大小升序排列
3.取出距离最近的 K 个训练样本
4.把这个 K 个样本的目标值计算其平均值
5.
作为将未知的样本预测的值
4.K值的选择
• K
值过小:过拟合
• K
值过大:欠拟合
5.k值的验证:交叉验证,网格搜索。
四.分类与回归的代码实现
from sklearn.neighbors import KNeighborsClassifier as kc
from sklearn.neighbors import KNeighborsRegressor as kr
# 分类
def demo01():
# 导数据
x=[[0],[1],[2],[3]]
y=[0,0,1,1]
# 实例化对象
model=kc(n_neighbors=1)
# 训练
model.fit(x,y)
# 预测
mypre=model.predict([[4]])
print(f'预测值:{mypre}')
# 回归
def demo02():
x=[[0,0,1],
[1,1,0],
[3,10,10],
[4,11,12]]
y=[0.1,0.2,0.3,0.4]
model=kr(n_neighbors=2)
model.fit(x,y)
mypre=model.predict([[3,11,10]])
print(f'预测值:{mypre}')
demo01()
demo02()