用K最近邻算法对sklearn.datasets中的红酒数据集进行分类

 #利用K最近邻算法建模
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_wine
wine_datas=load_wine()#返回的是一个bunch对象,跟字典类似,不过特别之处在于键值可以被实例对象当作属性使用
print('红酒数据集中有哪些键:',wine_datas.keys())
print('数据集的情况:',wine_datas.data.shape)
print('数据的描述:',wine_datas.DESCR)
from sklearn.model_selection import train_test_split#导入数据集拆分工具
    X_train,X_test,y_train,y_test=train_test_split(wine_datas.data,wine_datas.target,random_state=0)#伪随机数每次都不相同
'''观察数据集分割后的情况'''
    print('训练集的特征向量和目标的形态:',X_train.shape,y_train.shape)
    print('测试集的特征向量和目标的形态:', X_test.shape, y_test.shape)
    
    #实例化对象
    knn=KNeighborsClassifier(n_neighbors=1)
    #用模型对数据进行拟合
    knn.fit(X_train,y_train)
    print(dir(knn))
    print(knn.fit(X_train,y_train))
    '''用测试数据集来测试模型的得分'''
    print('模型的得分:',knn.score(X_test,y_test))
    '''这个时候我们有个新酒,来判断它的种类(类别)'''
    X_new=np.array([[13.2,2.77,2.51,18.5,96.6,1.04,2.55,0.57,1.47,6.2,1.05,3.33,820]])#13个特征变量
    prediction=knn.predict(X_new)
    print('预测新酒的分类:',wine_datas['target_names'][prediction])
    #通过运行可以知道酒品的种类

K最近邻算法时我们学习机器语言中一个最经典最基础的算法,它可以进行对数据的分类和回归分析。

sklearn库是非常流行的python的机器学习库,里面有分类,回归,聚类,数据降维,模型选择和数据预处理等几个基本功能。

你可能感兴趣的:(机器学习,python,机器学习,sklearn)