KNN Kj近邻算法(以鸢尾花数据为例子)

# K临近算法
import sklearn.datasets as datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
iris = datasets.load_iris()
# 样本数据的抽取
feature = iris["data"]
target = iris["target"]
x_train,x_test,y_train,y_test = train_test_split(feature,target,test_size=0.2,random_state=2020)
# 观察数据集:看是否需要进行特征工程的处理
# 实例化对象
knn = KNeighborsClassifier(n_neighbors=6)
# n_neighbors=k
# knn中的k的取值不用会直接导致分类结果的不同.
# 模型的超参数,如果模型的参数有不同的取值会模型的分类或者预测会产生直系的影响

# 使用训练集训练模型
# X:训练的特征数据维度必须是二维
# y:训练集的标签数据
knn.fit(x_train,y_train)
# 7.测试模型使用测试数据
# pred使用训练好的模型实现分类或者预测
y_pred = knn.predict(x_test)   #模型基于测试数据返回的分类结果
y_true = y_test#测试的真实分类结果
print("模型的分类结果:",y_pred)
print("真实的分类结果:",y_true)


score = knn.score(x_test,y_test)
print("模型得分",score)

 

posted @ 2021-06-29 14:30  邓居旺  阅读(614)  评论(0)    收藏  举报