基于红酒数据集的KNN分类(简易版)

-- coding: utf-8 --

“”"
Created on Sun Nov 17 15:30:46 2019

@author: jc
“”"

import pandas as pd
import random
from pandas import DataFrame
from sklearn.model_selection import train_test_split
from sklearn import neighbors
import matplotlib.pyplot as plt

data = pd.read_csv(’.\wine.csv’)
x = data.iloc[0:178,1:14]
y = data.iloc[0:178,0]

#训练、测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.7)

train_accuracy = []
test_accuracy = []
k_setting = range(1,20,1)
for k_n in k_setting:
# 创建KNN分类器
knn = neighbors.KNeighborsClassifier(n_neighbors = k_n)
knn.fit(x_train, y_train)
#记录训练集精度
train_accuracy.append(knn.score(x_train, y_train))
#记录泛化精度
test_accuracy.append(knn.score(x_test, y_test))
#print(“k的取值 预测的准确率:”,k_n, knn.score(x_test, y_test))
#average = np.mean(train_accuracy)
#average = np.mean(test_accuracy)
plt.plot(k_setting, train_accuracy, label=“train accuracy”)
plt.plot(k_setting, test_accuracy, label=“test accuracy”)
plt.xticks(k_setting, k_setting, rotation=0)
plt.ylabel(“Accuracy”)
plt.xlabel(“n_neighbors”)
plt.legend()

你可能感兴趣的:(KNN)