最新文章:

首页 机器学习

Python-神经网络实现数据的分类

发布时间:2017年07月21日 评论数:抢沙发 阅读数:310

    1、


    ppn = Perceptron(eta = 0.1, n_iter = 10)
    ppn.fit(X, y)
    plt.plot(range(1, len(ppn.errors_)+1), ppn.errors_, marker = 'o')
    plt.xlabel('Epochs')
    plt.ylabel('错误分类次数')
    plt.show()


    2、数据处理

    from matplotlib.colors import ListedColormap
    def plot_decision_regions(X, y, classifier, resolution = 0.02):
        """
        根据y给不同的种类填充不同的形状和颜色
        (这里的y只有两种)
        """
        markers = ('s', 'x', 'o', 'v')
        colors = ('red', 'blue', 'lightgreen', 'gray', 'cyan') 
        cmap = ListedColormap(colors[:len(np.unique(y))]) 
        """
        获得花茎和花瓣在数据统计中的最大值和最小值
        """
        x1_min, x1_max = X[:, 0].min() - 1, X[:, 0].max()
        x2_min, x2_max = X[:, 1].min() - 1, X[:, 1].max()
        
        #print(x1_min, x2_max)
        #print(x1_min, x2_max)
        """
        
        """
        #meshgrid根据 最大值和最小值 以及间距resolution构造向量并扩展为二维数组
        xx1, xx2 = np.meshgrid(np.arange(x1_min, x1_max, resolution), np.arange(x2_min, x2_max, resolution))
        
        #print(np.arange(x1_min, x1_max, resolution).shape)
        #print(np.arange(x1_min, x1_max, resolution))
        #print(xx1.shape)
        #print(xx1)
        
        Z = classifier.predict(np.array([xx1.ravel(),xx2.ravel()]).T)
        #print(xx1.ravel())
        #print(xx2.ravel())
        #print(z)
        
        Z = Z.reshape(xx1.shape)
        plt.contourf(xx1, xx2, Z, alpha = 0.4, cmap = cmap)
        plt.xlim(xx1.min(), xx1.max())
        plt.ylim(xx2.min(), xx2.max())
        
        for idx, c1 in enumerate(np.unique(y)):
            plt.scatter(x = X[y == c1, 0], y = X[y == c1, 1], alpha = 0.8, c = cmap(idx), marker = markers[idx], label = c1)
    
    


    3、数据可视化

    plot_decision_regions(X, y, ppn, resolution = 0.02)
    plt.xlabel('花茎长度')
    plt.ylabel('花瓣长度')
    plt.legend(loc = 'upper left')
    plt.show()

二维码加载中...
本文作者:HDC      文章标题: Python-神经网络实现数据的分类
本文地址:http://hdcin.cn/?post=282
版权声明:若无注明,本文皆为“小胖Blog's”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论