• 吴裕雄 python 机器学习-KNN(2)


    import matplotlib
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.patches import Rectangle
    
    
    n = 1000 #number of points to create
    xcord = np.zeros((n))
    ycord = np.zeros((n))
    markers =[]
    colors =[]
    fw = open('D:\LearningResource\machinelearninginaction\Ch02\EXTRAS\testSet.txt','w')
    
    for i in range(n):
        [r0,r1] = np.random.standard_normal(2)
        myClass = np.random.uniform(0,1)
        if (myClass <= 0.16):
            fFlyer = np.random.uniform(22000, 60000)
            tats = 3 + 1.6*r1
            markers.append(20)
            colors.append(2.1)
            classLabel = 1 #'didntLike'
            print(("%d, %f, class1") % (fFlyer, tats))
        elif ((myClass > 0.16) and (myClass <= 0.33)):
            fFlyer = 6000*r0 + 70000
            tats = 10 + 3*r1 + 2*r0
            markers.append(20)
            colors.append(1.1)
            classLabel = 1 #'didntLike'
            print(("%d, %f, class1") % (fFlyer, tats))
        elif ((myClass > 0.33) and (myClass <= 0.66)):
            fFlyer = 5000*r0 + 10000
            tats = 3 + 2.8*r1
            markers.append(30)
            colors.append(1.1)
            classLabel = 2 #'smallDoses'
            print(("%d, %f, class2") % (fFlyer, tats))
        else:
            fFlyer = 10000*r0 + 35000
            tats = 10 + 2.0*r1
            markers.append(50)
            colors.append(0.1)
            classLabel = 3 #'largeDoses'
            print(("%d, %f, class3") % (fFlyer, tats))
        if (tats < 0): 
            tats =0
        if (fFlyer < 0): 
            fFlyer =0
        xcord[i] = fFlyer
        ycord[i]=tats
        fw.write("%d	%f	%f	%d
    " % (fFlyer, tats, np.random.uniform(0.0, 1.7), classLabel))
        
    fw.close()
    
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.scatter(xcord,ycord, c=colors, s=markers)
    type1 = ax.scatter([-10], [-10], s=20, c='red')
    type2 = ax.scatter([-10], [-15], s=30, c='green')
    type3 = ax.scatter([-10], [-20], s=50, c='blue')
    ax.legend([type1, type2, type3], ["Class 1", "Class 2", "Class 3"], loc=2)
    ax.axis([-5000,100000,-2,25])
    plt.xlabel('Frequent Flyier Miles Earned Per Year')
    plt.ylabel('Percentage of Body Covered By Tatoos')
    plt.show()

    ...................................................

    import numpy as np
    import matplotlib
    import matplotlib.pyplot as plt
    from matplotlib.patches import Rectangle
    
    
    n = 1000 #number of points to create
    xcord1 = []; ycord1 = []
    xcord2 = []; ycord2 = []
    xcord3 = []; ycord3 = []
    markers =[]
    colors =[]
    fw = open('D:\LearningResource\machinelearninginaction\Ch02\EXTRAS\testSet.txt','w')
    
    for i in range(n):
        [r0,r1] = np.random.standard_normal(2)
        myClass = np.random.uniform(0,1)
        if (myClass <= 0.16):
            fFlyer = np.random.uniform(22000, 60000)
            tats = 3 + 1.6*r1
            markers.append(20)
            colors.append(2.1)
            classLabel = 1 #'didntLike'
            xcord1.append(fFlyer)
            ycord1.append(tats)
        elif ((myClass > 0.16) and (myClass <= 0.33)):
            fFlyer = 6000*r0 + 70000
            tats = 10 + 3*r1 + 2*r0
            markers.append(20)
            colors.append(1.1)
            classLabel = 1 #'didntLike'
            if (tats < 0):
                tats =0
            if (fFlyer < 0): 
                fFlyer =0
            xcord1.append(fFlyer)
            ycord1.append(tats)
        elif ((myClass > 0.33) and (myClass <= 0.66)):
            fFlyer = 5000*r0 + 10000
            tats = 3 + 2.8*r1
            markers.append(30)
            colors.append(1.1)
            classLabel = 2 #'smallDoses'
            if (tats < 0): 
                tats =0
            if (fFlyer < 0): 
                fFlyer =0
            xcord2.append(fFlyer)
            ycord2.append(tats)
        else:
            fFlyer = 10000*r0 + 35000
            tats = 10 + 2.0*r1
            markers.append(50)
            colors.append(0.1)
            classLabel = 3 #'largeDoses'
            if (tats < 0): tats =0
            if (fFlyer < 0): fFlyer =0
            xcord3.append(fFlyer)
            ycord3.append(tats)
            fw.write("%d	%f	%f	%d
    " % (fFlyer, tats, np.random.uniform(0.0, 1.7), classLabel)) 
            
    fw.close()
    fig = plt.figure()
    ax = fig.add_subplot(111)
    # ax.scatter(xcord,ycord, c=colors, s=markers)
    type1 = ax.scatter(xcord1, ycord1, s=20, c='red')
    type2 = ax.scatter(xcord2, ycord2, s=30, c='green')
    type3 = ax.scatter(xcord3, ycord3, s=50, c='blue')
    ax.legend([type1, type2, type3], ["Did Not Like", "Liked in Small Doses", "Liked in Large Doses"], loc=2)
    ax.axis([-5000,100000,-2,25])
    plt.xlabel('Frequent Flyier Miles Earned Per Year')
    plt.ylabel('Percentage of Time Spent Playing Video Games')
    plt.show()

    import numpy as np
    import matplotlib
    import matplotlib.pyplot as plt
    
    def file2matrix(filename):
        fr = open(filename)
        returnMat = []
        classLabelVector = []                       #prepare labels return   
        for line in fr.readlines():
            line = line.strip()
            listFromLine = line.split('	')
            returnMat.append([float(listFromLine[0]),float(listFromLine[1]),float(listFromLine[2])])
            classLabelVector.append(int(listFromLine[-1]))
        return np.array(returnMat),np.array(classLabelVector)
    
    fig = plt.figure()
    ax = fig.add_subplot(111)
    datingDataMat,datingLabels = file2matrix('D:\LearningResource\machinelearninginaction\Ch02\datingTestSet2.txt')
    #ax.scatter(datingDataMat[:,1], datingDataMat[:,2])
    ax.scatter(datingDataMat[:,1], datingDataMat[:,2], 15.0*np.array(datingLabels), 15.0*np.array(datingLabels))
    ax.axis([-2,25,-0.2,2.0])
    plt.xlabel('Percentage of Time Spent Playing Video Games')
    plt.ylabel('Liters of Ice Cream Consumed Per Week')
    plt.show()

  • 相关阅读:
    ExtJS专题(十):layout布局的使用(3)
    ExtJS专题(十一):lTree的Treepanel使用
    ExtJS专题(四):ExtJS组件的属性
    ExtJS专题(七):ExtJS面板Panel中视图区ViewPort的使用
    ExtJS专题(二):ExtJS类库和组件介绍
    ExtJS专题(十):layout布局的使用(1)
    EXtJS专题(九):ExtJS对话框的使用
    ExtJS专题(五):ExtJS面板Panel的使用
    ExtJS专题(三):ExtJS组件的使用
    ExtJS专题(八):ExtJS窗口Window的使用
  • 原文地址:https://www.cnblogs.com/tszr/p/10142657.html
Copyright © 2020-2023  润新知