zoukankan      html  css  js  c++  java
  • sklearn_k邻近分类_KNeighborsClassifier

    # coding:utf-8
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.neighbors import KNeighborsClassifier
    
    # 1、数据读取
    x_tain =[]
    x_test =[]
    y_tain=[]
    y_test=[]
    for i in range(0,10):
        for j in range(1,501):
            if j < 451: #将数据保存到训练数据中
                x_tain.append(plt.imread('./data/%d/%d_%d.bmp'%(i,i,j)).reshape(-1) )  #reshape 可以降维也就是矩阵变化
                y_tain.append(i)  #append 是读进来的数据进行存储的意思
            else: #保存到预测数据中
                x_test.append(plt.imread('./data/%d/%d_%d.bmp'%(i,i,j)).reshape(-1))
                y_test.append(i)
    
    # 2、数据转换成
    x_tain,y_tain= np.array(x_tain),np.array(y_tain)
    # print(x_tain.shape,len(y_tain),len(x_test))
    
    # 3、机器学习
    knn = KNeighborsClassifier() #构造分类器
    knn.fit(x_tain,y_tain)
    y_ = knn.predict(x_test)  #进行预测的结果
    
    # print(len(y_[::10]),'
    ',y_test[::10])
    
    gl=knn.score(x_test,y_test)
    print('准确率为:',gl)
    
    # 3、图片绘制
    plt.figure(figsize=(13,15))
    img = x_test[::10]
    img1 = y_test[::10]
    yimg = y_[::10]
    
    for i in range(50):
        plt.subplot(5,10,i+1)
        plt.imshow(img[i].reshape(28,28),cmap='gray')
        plt.title('预测数据:%d'%(yimg[i])+'
    真实数据:%d'%(img1[i]))
    
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为SimHei显示中文
    plt.rcParams['axes.unicode_minus'] = False  # 设置正常显示符号
    plt.show()
    自动化学习。
  • 相关阅读:
    3月3日(6) Climbing Stairs
    testNG 预期异常、忽略测试、超时测试
    testNG 常用的注解
    testNG 下载安装
    selenium 执行js代码
    selenium 时间等待的方法
    selenium 文件上传
    selenium 键盘鼠标模拟
    selenium 窗口的切换
    selemiun 下拉菜单、复选框、弹框定位识别
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/9471330.html
Copyright © 2011-2022 走看看