二分类数据集_knn分类-wine数据集

1 wine数据集属性描述

Wine葡萄酒数据集是来自UCI上面的公开数据集,这些数据是对意大利同一地区种植的葡萄酒进行化学分析的结果,这些葡萄酒来自三个不同的品种。该分析确定了三种葡萄酒中每种葡萄酒中含有的13种成分的数量。


在wine数据集中,这些数据包括了三种酒中13种不同成分的数量。文件中,每行代表一种酒的样本,共有178个样本;一共有14列,其中,第一个属性是类标识符,分别是1/2/3来表示,代表葡萄酒的三个分类。后面的13列为每个样本的对应属性的样本值。剩余的13个属性是,酒精、苹果酸、灰、灰分的碱度、镁、总酚、黄酮类化合物、非黄烷类酚类、原花色素、颜色强度、色调、稀释葡萄酒的OD280/OD315、脯氨酸。其中第1类有59个样本,第2类有71个样本,第3类有48个样本。

from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report,confusion_matrix 
from sklearn.model_selection import GridSearchCV
from sklearn import metrics
import pandas as pd
columns=['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'D:CDAFilewine_data.csv', delimiter=',',header=None,names=columns)
data.head()

二分类数据集_knn分类-wine数据集_第1张图片
# 数据集
x_data=data.iloc[:,1:]
y_data=data.iloc[:,0]
x_train, x_test, y_train, y_test = train_test_split(x_data, y_data,random_state=4)
#标准化处理
scaler = StandardScaler()
x_train = scaler.fit_transform(x_train)
x_test = scaler.transform(x_test)
#简单测试一下
knn = KNeighborsClassifier()
knn.fit(x_train,y_train)
knn.score(x_test,y_test)

1.0

2 knn

params={'n_neighbors':range(1,20)}
knn = KNeighborsClassifier()
grid_search=GridSearchCV(knn,param_grid=params,cv=10)
grid_search.fit(x_train,y_train)
grid_search.best_params_

{'n_neighbors': 15}

grid_search.score(x_test,y_test)

1.0

predicted=grid_search.predict(x_test)
print(metrics.classification_report(y_test, predicted))#打印分类报告

二分类数据集_knn分类-wine数据集_第2张图片
print(metrics.confusion_matrix(y_test, predicted))#混淆矩阵

a05b9b00d7ffc6e80f9c9ba93f6b73b1.png

你可能感兴趣的:(二分类数据集)