sklearn神经网络分类

神经网络学习能力强大,在数据量足够,隐藏层足够多的情况下,理论上可以拟合出任何方程。

理论部分

sklearn提供的神经网络算法有三个:

neural_network.BernoulliRBM,neural_network.MLPClassifier,neural_network.MLPRgression

我们现在使用MLP(Multi-Layer Perception)做分类,回归其实也类似。该网络由三部分组成:输入层、隐藏层、输出层,其中隐藏层的个数可以人为设定。神经网络学习之后的知识都存在每一层的权重矩阵中,学习的过程也就是不断训练权重达到拟合的效果。权重训练比较常用的方法是反向传递(Backpropagation)

分类代码

#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn.neural_network import MLPClassifier
import numpy as np
from sklearn.preprocessing import StandardScalerdef main():iris = datasets.load_iris() #典型分类数据模型#这里我们数据统一用pandas处理data = pd.DataFrame(iris.data, columns=iris.feature_names)data['class'] = iris.target#这里只取两类data = data[data['class']!=2]#为了可视化方便,这里取两个属性为例scaler = StandardScaler()X = data[['sepal length (cm)','sepal width (cm)']]scaler.fit(X)#标准化数据集X = scaler.transform(X)Y = data[['class']]#划分数据集X_train, X_test, Y_train, Y_test =train_test_split(X, Y)mpl = MLPClassifier(solver='lbfgs',activation='logistic')mpl.fit(X_train, Y_train)print 'Score:\n',mpl.score(X_test, Y_test) #score是指分类的正确率#区域划分h = 0.02x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))Z = mpl.predict(np.c_[xx.ravel(), yy.ravel()])Z = Z.reshape(xx.shape)plt.contourf(xx, yy, Z, cmap=plt.cm.Paired)#做出原来的散点图class1_x = X[Y['class']==0,0]class1_y = X[Y['class']==0,1]l1 = plt.scatter(class1_x,class1_y,color='b',label=iris.target_names[0])class2_x = X[Y['class']==1,0]class2_y = X[Y['class']==1,1]l2 = plt.scatter(class2_x,class2_y,color='r',label=iris.target_names[1])class3_x = X[Y['class']==2,0]class3_y = X[Y['class']==2,1]l3 = plt.scatter(class3_x,class3_y,color='g',label=iris.target_names[2])plt.legend(handles = [l1, l2,l3], loc = 'best')plt.grid(True)plt.show()if __name__ == '__main__':main()

测试结果

转载于:https://www.cnblogs.com/fanghao/p/7533385.html

sklearn神经网络分类相关推荐

  1. 深度学习原理—代码分析线性分类与神经网络分类的区别

    https://www.toutiao.com/a6687727778487337476/ 利用sklearn.dataset随机产生数据,随机生成两类数据,用不同的颜色展示出来,如下图: 产生的随机 ...

  2. TensorFlow2.0(二)--Keras构建神经网络分类模型

    Keras构建分类模型 1. tf.keras简介 2. 利用tf.keras构建神经网络分类模型 2.1 导入相应的库 2.2 数据读取与展示 2.3 数据归一化 2.4 构建模型 2.5 模型的编 ...

  3. python机器学习库sklearn——神经网络

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

  4. 小白量化彩票实战(7)用sklearn神经网络预测彩票号码和特征

    小白量化彩票实战(7)用sklearn神经网络预测彩票号码和特征 我写彩票的博客,不是鼓励大家去买彩票,读者要以学习编程和娱乐的思想来看待.兴趣是学习最大的动力! 神经网络是目前比较热门的技术,人工神 ...

  5. 【机器学习】百度飞桨AI Studio平台项目:基于卷积神经网络分类方法的人脸颜值打分

    基于卷积神经网络分类方法的人脸颜值打分 说在前面 实验数据 解决过程 1.Precondition 2.Dataset Preparation 3.Network Configuration 4.Mo ...

  6. 利用循环神经网络生成唐诗_【机器学习】【期末复习】闲聊神经网络 分类

    类似于人脑的一种神经递质,有一个信号经过一系列传到有一个输出(单线).既然是网络,应该就是一堆上述带有输入输出的线构成的网络吧. reference: 一文看懂四种基本的神经网络架构​www.jian ...

  7. 对神经网络分类行为的认识二则

    分类与自旋 "每一种粒子都具有一个固定的自旋值,永远不变,粒子从来不存在开始转得更快或更慢;以ћ作为度量单位, 宇宙中每个光子的自旋等于每个希格斯玻色子的自旋等于零;自旋是粒子的固有属性,不 ...

  8. 用神经网络分类矩阵和矩阵的转置

    设A是一个9*9的随机矩阵,让矩阵的每个格子都是一个0到1之间的随机数.A^T是矩阵A的转置.测试集由1000个A和A^T组成,这个网络是否可以收敛并分类? 在收敛误差δ一致的前提下,实验统计了7组收 ...

  9. 一个与神经网络分类特征旋转不变性有关的实验

    继续用<用神经网络分类两条夹角为θ的直线>的办法分类两条直线. y=x*tanθ和y=x*tan(θ+20) 所不同的是这次让两条直线之间的夹角固定为20,让θ分别等于0,20...340 ...

最新文章

  1. Android Scroll分析
  2. abap 调用外部web service 使用小结
  3. jersey tomcat MySQL_tomcat web容器中,调用jersey client端报错的处理
  4. ob 接oracle10时接不上怎么办?
  5. Typesafe公司正式更名为Lightbend公司
  6. brew安装_解决安装brew报的curl的443错误
  7. html5音乐播放时间监测,html5 video如何实现实时监测当前播放时间(代码)
  8. 静态路由的不通配置方式
  9. Win11如何设置滚动条 Win11滚动条设置教程
  10. 我的第一篇cnds文章
  11. 1.4亿在线背后-QQ IM后台架构的演化与启示(1)(2)
  12. linux文件增加自定义属性,Linux 笔记...文件和目录属性useradd、userdel、usermod 、passwd...
  13. 期货与期权的主要区别与联系?
  14. 使用exe4j打包javafx项目
  15. MybatisPlus乐观锁配置
  16. 【NX2023/1847】UG软件安装详细指南教程
  17. 程序猿怎么利用技术挣钱?——python量化实践
  18. Asia's pollution exodus: Firms struggle to woo top talent 逃离亚洲空气污染:企业难以吸引顶尖人才
  19. 有N步台阶,每次可以走1步或者2步,计算有多少种走法
  20. 利用R ggplot2包进行数据可视化(一)

热门文章

  1. 去除影像黑边的N种方法
  2. 谈RGB色彩图片相似度用到的最强六色归一方法
  3. 转载——win7笔记本忘记密码怎么办
  4. matlab for步长,matlab循环语句for怎么用
  5. es - elasticsearch 自定义分析器 - 内建分词过滤器 - 11
  6. 寒假训练六.五(栈)2020.01.06(6题)
  7. 风控模型共享如何打掉黑产?
  8. ios 11 beta 描述文件
  9. 2022-2027年中国光掩膜版市场规模现状及投资规划建议报告
  10. VirtualBox使用物理硬盘分区作虚拟机磁盘