酒的knn分类精确度判断

文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一个属性是类标识符,分别是1/2/3来表示,代表葡萄酒的三个分类。后面的13列为每个样本的对应属性的样本值。剩余的13个属性是,酒精、苹果酸、灰、灰分的碱度、镁、总酚、黄酮类化合物、非黄烷类酚类、原花色素、颜色强度、色调、稀释葡萄酒的OD280/OD315、脯氨酸。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
names=['0Alcohol','1Malic acid ','2Ash','3Alcalinity of ash',
         '4Magnesium','5Total phenols','6Flavanoid',
         '7Nonflavanoid phenols','8Proanthocyanins ','9Color intensity ','10Hue ','11OD280/OD315 of diluted wines' ,'12Proline ','13category']
data=pd.read_csv(r"C:\Users\Lenovo\Desktop\wine.csv",names=names)
print(data)
X=data.iloc[:,1:]
Y=data.iloc[:,0]
print(X)
print(Y)

x_train,x_test,y_train,y_test=train_test_split(X,Y,test_size=0.2)
a=[]
k=[]
for i in range(1,30):
    k.append(i)
    classify=KNeighborsClassifier(n_neighbors=i)
    classify.fit(x_train,y_train)
    accuracy=classify.score(x_test,y_test)
    a.append(accuracy)
    # print(accuracy)
print(a)
plt.plot(k,a,color="black",marker='*',linestyle='dashed',markerfacecolor='red',markersize=10)
plt.title('Accuracy Rate K Value')
# 横纵坐标名称
plt.xlabel('K Value')
plt.ylabel('Accuracy')
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值