• 练习1_scikit_learn自带数据集_sklearn和svm


    Untitled2

    In [1]:
    from sklearn import datasets
    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    
    In [2]:
    #加载数据集
    digits=datasets.load_digits()
    #print(digits.data[1])
    #data中每一个向量都是一个图像,及digits.data[1]有64个数据,是8x8的矩阵的变换。
    A=[]  #新建列表存放矩阵
    #转8x8矩阵
    for i in range(0,64,8):  #i属于[0,63] 包括0和63  
        #print(i)  #i=0,8,16...56 
        #print(digits.data[1][i:i+8])
        A.append(digits.data[1][i:i+8])
    #打印A A为8x8矩阵
    print(A)
    #显示A
    plt.imshow(A)

    # 若生成灰度图   
    # plt.imshow(A,cmap='gray') 或
    # plt.imshow(A,cmap=plt.cm.gray)
    print(digits.target[1]) #输出A的真实值 plt.show()

    #上述过程可用numpy的reshape函数代替 plt.imshow(digits.data[1].reshape(8,8)) plt.show() B=[] #为每一个digits.data转为8x8的矩阵 for j in range(0,len(digits.data)): A=[] #A存储到B中后清空 for i in range(0,64,8): #i属于[0,63] 包括0和63 #print(i) #i=0,8,16...56 #print(digits.data[j][i:i+8]) A.append(digits.data[j][i:i+8]) #A为8x8的矩阵 B.insert(j,A) #B存储j=len(digits.data)个8x8矩阵 plt.imshow(B[0]) plt.show() print(digits.target[0]) #此时更改B[index]中index的值能显示不同的图像 plt.imshow(B[np.random.randint(0,len(digits.data))]) plt.show()
     
    [array([ 0.,  0.,  0., 12., 13.,  5.,  0.,  0.]), array([ 0.,  0.,  0., 11., 16.,  9.,  0.,  0.]), array([ 0.,  0.,  3., 15., 16.,  6.,  0.,  0.]), array([ 0.,  7., 15., 16., 16.,  2.,  0.,  0.]), array([ 0.,  0.,  1., 16., 16.,  3.,  0.,  0.]), array([ 0.,  0.,  1., 16., 16.,  6.,  0.,  0.]), array([ 0.,  0.,  1., 16., 16.,  6.,  0.,  0.]), array([ 0.,  0.,  0., 11., 16., 10.,  0.,  0.])]
    1
    
     
     
     
     
    0
    
     
    In [33]:
    from sklearn import svm
    clf=svm.SVC(gamma=0.001,C=100)
    clf.fit(digits.data[:-10],digits.target[:-10])
    print(clf.predict(digits.data[-10:]))  #输出预测结果 8
    #print(digits.data[-1:])
    #print(B[-1])
    for i in range(len(digits.data)-10,len(digits.data)):
        plt.imshow(B[i]) #输出预测的原始图像
        plt.show()
    print(digits.target[-10:])
    
     
    [5 4 8 8 4 9 0 8 9 8]
    
     
     
     
     
     
     
     
     
     
     
     
    [5 4 8 8 4 9 0 8 9 8]
    
    In [32]:
    print(len(digits.data))
    
     
    1797
    
  • 相关阅读:
    清理yum源
    XZ压缩
    Linux命令之dot
    calltree查看工程代码中的函数调用关系
    valgrind 打印程序调用树+进行多线程性能分析
    LINUX 性能 测试 优化工具
    TCP/IP(84) 详解
    perf---LINUX内核研究
    廖雪锋笔记3:类型转换
    廖雪锋笔记2:list,tuble
  • 原文地址:https://www.cnblogs.com/XUEYEYU/p/12339903.html
Copyright © 2020-2023  润新知