文件中,每行代表一种酒的样本,共有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()
酒的knn分类精确度判断
最新推荐文章于 2024-09-06 15:00:00 发布