sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程)

https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

https://www.youtube.com/watch?v=lAaCeiqE6CE&list=PLXO45tsB95cJ0U2DKySDmhRqQI9IaGxck

人工神经网络 VS 生物神经网络

两者是不一样的

生物神经网络是大自然经过千亿年进化而成,目前最先进人工智能神经网络无法达到

人工神经网络 :通过正反馈和负反馈创建或删除神经元

生物神经网络  :通过刺激产生新的链接,信号通过新的链接传递产生反馈,

目前最先进人工智能神经网络无法模拟生物神经网络

卷积神经网络 CNN (深度学习)应用:

图片识别,语音识别,药物发现

神经网络原理:hidden layer是通过函数传递值

了解神经网络,必须了解线性代数

神经网络对数字识别是一层层分解

https://blog.csdn.net/gamer_gyt/article/details/51255448

scikit-learn博主使用的是0.17版本,是稳定版,当然现在有0.18发行版,两者还是有区别的,感兴趣的可以自己官网上查看

scikit-learn0.17(and 之前)上对于Neural Network算法 的支持仅限于 BernoulliRBM

scikit-learn0.18上对于Neural Network算法有三个  neural_network.BernoulliRBM ,neural_network.MLPClassifier,neural_network.MLPRgression

Multi-layer Perceptron 多层感知机

MLP是一个监督学习算法,图1是带一个隐藏层的MLP模型 

具体可参考:点击阅读

  • 1:神经网络算法简介
  • 2:Backpropagation算法详细介绍
  • 3:非线性转化方程举例
  • 4:自己实现神经网络算法NeuralNetwork
  • 5:基于NeuralNetwork的XOR实例
  • 6:基于NeuralNetwork的手写数字识别实例
  • 7:scikit-learn中BernoulliRBM使用实例
  • 8:scikit-learn中的手写数字识别实例

一:神经网络算法简介

1:背景

以人脑神经网络为启发,历史上出现过很多版本,但最著名的是backpropagation

2:多层向前神经网络(Multilayer  Feed-Forward Neural Network)

多层向前神经网络组成部分

输入层(input layer),隐藏层(hiddenlayer),输出层(output layer)

  • 每层由单元(units)组成
  • 输入层(input layer)是由训练集的实例特征向量传入
  • 经过连接结点的权重(weight)传入下一层,一层的输出是下一层的输入
  • 隐藏层的个数是任意的,输出层和输入层只有一个
  • 每个单元(unit)也可以被称作神经结点,根据生物学来源定义
  • 上图称为2层的神经网络(输入层不算)
  • 一层中加权的求和,然后根据非线性的方程转化输出
  • 作为多层向前神经网络,理论上,如果有足够多的隐藏层(hidden layers)和足够大的训练集,可以模拟出任何方程

3:设计神经网络结构

3.1使用神经网络训练数据之前,必须确定神经网络层数,以及每层单元个数

3.2特征向量在被传入输入层时通常被先标准化(normalize)和0和1之间(为了加强学习过程)

3.3离散型变量可以被编码成每一个输入单元对应一个特征可能赋的值

比如:特征值A可能取三个值(a0,a1,a2),可以使用三个输入单元来代表A

如果A=a0,那么代表a0的单元值就取1,其他取0

如果A=a1,那么代表a1的单元值就取1,其他取0,以此类推

3.4神经网络即可以用来做分类(classification)问题,也可以解决回归(regression)问题

3.4.1对于分类问题,如果是2类,可以用一个输入单元表示(0和1分别代表2类)

如果多于两类,每一个类别用一个输出单元表示

所以输入层的单元数量通常等于类别的数量

3.4.2没有明确的规则来设计最好有多少个隐藏层

3.4.2.1根据实验测试和误差,以及准确度来实验并改进

4:算法验证——交叉验证法(Cross- Validation)

神经网络优点和缺点

优点:大数据高效,处理复杂模型,处理多维度数据,灵活快速

缺点:数据需要预处理

代替:TensorFlow,Keras

python sklearn建模处理乳腺癌细胞分类器

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

# -*- coding: utf-8 -*-

"""

Created on Sun Apr  1 11:49:50 2018

@author: Toby,项目合作QQ:231469242

神经网络

"""

#Multi-layer Perceptron 多层感知机

from sklearn.neural_network import MLPClassifier

#标准化数据,否则神经网络结果不准确,和SVM类似

from sklearn.preprocessing import StandardScaler

from sklearn.datasets import load_breast_cancer

from sklearn.model_selection import train_test_split

import mglearn

import matplotlib.pyplot as plt

mglearn.plots.plot_logistic_regression_graph()

mglearn.plots.plot_single_hidden_layer_graph()

cancer=load_breast_cancer()

x_train,x_test,y_train,y_test=train_test_split(cancer.data,cancer.target,stratify=cancer.target,random_state=42)

mlp=MLPClassifier(random_state=42)

mlp.fit(x_train,y_train)

print("neural network:")   

print("accuracy on the training subset:{:.3f}".format(mlp.score(x_train,y_train)))

print("accuracy on the test subset:{:.3f}".format(mlp.score(x_test,y_test)))

scaler=StandardScaler()

x_train_scaled=scaler.fit(x_train).transform(x_train)

x_test_scaled=scaler.fit(x_test).transform(x_test)

mlp_scaled=MLPClassifier(max_iter=1000,random_state=42)

mlp_scaled.fit(x_train_scaled,y_train)

print("neural network after scaled:")   

print("accuracy on the training subset:{:.3f}".format(mlp_scaled.score(x_train_scaled,y_train)))

print("accuracy on the test subset:{:.3f}".format(mlp_scaled.score(x_test_scaled,y_test)))

mlp_scaled2=MLPClassifier(max_iter=1000,alpha=1,random_state=42)

mlp_scaled.fit(x_train_scaled,y_train)

print("neural network after scaled and alpha change to 1:")   

print("accuracy on the training subset:{:.3f}".format(mlp_scaled.score(x_train_scaled,y_train)))

print("accuracy on the test subset:{:.3f}".format(mlp_scaled.score(x_test_scaled,y_test)))

plt.figure(figsize=(20,5))

plt.imshow(mlp.coefs_[0],interpolation="None",cmap="GnBu")

plt.yticks(range(30),cancer.feature_names)

plt.xlabel("columns in weight matrix")

plt.ylabel("input feature")

plt.colorbar()

  

python风控评分卡建模和风控常识(博客主亲自录制视频教程)

https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

博主的Python视频教学中心: https://m.study.163.com/user/1135726305.htm?utm_campaign=share&utm_medium=iphoneShare&utm_source=weixin&utm_u=1015941113

神经网络1_neuron network原理_python sklearn建模乳腺癌细胞分类器(推荐AAA)相关推荐

  1. 监督学习 | 线性分类 之Logistic回归原理及Sklearn实现

    文章目录 1. Logistic 回归 1.1 Logistic 函数 1.2 Logistic 回归模型 1.2.1 模型参数估计 2. Sklearn 实现 参考资料 相关文章: 机器学习 | 目 ...

  2. 神经网络-Neural Network 简介

    神经网络-Neural Network 简介 神经元构成 基本结构 简单思考 参考 神经元构成 z=sum(x)=wTx+b=w1x1+w2x2+w3x3+bz=sum(x) = w^Tx+b=w_1 ...

  3. 人工神经网络的算法原理,深度神经网络算法原理

    1.人工智能的工作原理是什么? 人工智能的工作原理是:计算机会通过传感器(或人工输入的方式)来收集关于某个情景的事实.计算机将此信息与已存储的信息进行比较,以确定它的含义.计算机会根据收集来的信息计算 ...

  4. 神经网络neural network

    http://blog.csdn.net/pipisorry/article/details/76095118 前馈神经网络:FFNN模型(feedforward neural network) 固定 ...

  5. 人工神经网络的算法原理,对人工神经网络的理解

    什么是人工神经网络及其算法实现方式 人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点. 它从信息处理角度对人脑神经元网 ...

  6. 神经网络和人工智能原理,人工神经网络基本原理

    神经网络的基本原理是什么? 神经网络的基本原理是:每个神经元把最初的输入值乘以一定的权重,并加上其他输入到这个神经元里的值(并结合其他信息值),最后算出一个总和,再经过神经元的偏差调整,最后用激励函数 ...

  7. 人工神经网络的工作原理,人工神经网络基本原理

    神经网络算法原理 一共有四种算法及原理,如下所示:1.自适应谐振理论(ART)网络自适应谐振理论(ART)网络具有不同的方案.一个ART-1网络含有两层一个输入层和一个输出层. 这两层完全互连,该连接 ...

  8. 神经网络相似性测量原理,神经网络相似性测量法

    神经网络异常检测方法和机器学习异常检测方法对于入侵检测的应用? 神经网络异常检测方法神经网络入侵检测方法是通过训练神经网络连续的信息单元来进行异常检测,信息单元指的是命令. 网络的输入为用户当前输入的 ...

  9. 深度神经网络的特征表示,神经网络识别图像原理

    有哪些深度神经网络模型? 目前经常使用的深度神经网络模型主要有卷积神经网络(CNN).递归神经网络(RNN).深信度网络(DBN).深度自动编码器(AutoEncoder)和生成对抗网络(GAN)等. ...

最新文章

  1. 文件控制 fcntl函数具体解释
  2. 2019年,为什么Web前端工程师薪资越来越高?
  3. Android 触摸事件处理机制
  4. 9、C语言中sscanf使用及运算符优先级
  5. const int、const int *、int *cosnt、const int * const、const int 的区别
  6. 用pip命令把python包安装到指定目录
  7. python学习(三)--跟着例子写的贴吧网页爬取
  8. Zoom惊人财报、传苹果打造搜索引擎与谷歌竞争、Netflix部分剧集免费以吸引新用户等| Decode the Week...
  9. 微云 linux_编年史与微云
  10. drcom linux怎么运行,Drcom_linux
  11. php golang 加密 对接,把php的加密算法转为go语言
  12. Python项目实践:BMI 身体质量指数
  13. SpringBoot→thymeleaf静态模板
  14. CCleaner系统优化
  15. linux ntp时间同步失败,linux下用ntpdate时间同步不成功。
  16. MaprRduce v2 在 java 代码中远程提交作业到 Yarn 的配置项
  17. 北京十大律师事务所(排名涉及刑事、拆迁婚姻)
  18. 集成讯飞离线语音合成SDK报:“ 未经授权的语音应用.(错误码:11210)“ 问题解决
  19. Maven导入依赖时显示Duplicated tag: ‘dependencies‘ (position: START_TAG seen ...</properties>\r\n\r\n <depen
  20. 电脑广告弹窗怎么解决?

热门文章

  1. 马卡龙色色卡及其十六进制代码
  2. WIN-thrift 库 兼容XP系统
  3. 小程序怎么打出横线效果_小程序,实现字体横线滚动
  4. 【μc/OS内核分析】 任务管理
  5. Http 请求的“证书验证”实践
  6. Layui表格全部数据!导出!
  7. python url解码_python3 url解码
  8. Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据
  9. 行内元素,行内块元素,块元素的区别
  10. Window环境下MongoDB备份脚本