多层感知器是最简单的神经网络模型,用于处理机器学习中的分类与回归问题。

第一个案例:印第安人糖尿病诊断

Pima Indians数据集:UCI Machine Learning免费下载的标准机器学习数据集。

http://archive.ics.uci.edu/ml/datasets

#导入必需的包

import tensorflow

import keras

from keras.models import Sequential

from keras.layers import Dense

import numpy as np

#使用固定随机数种子初始化随机数生成器

np.random.seed(7)

(1) 导入数据

#导入数据

dataset = np.loadtxt('pima-indians-diabetes.csv',delimiter=',')

#分割输入变量x和输出变量Y

x = dataset[:,0:8]

Y = dataset[:,8]

(2) 定义模型

#创建模型

model = Sequential()

#可视层,8个输入变量,与数据的维度一致

#Dense类定义完全连接层

#通常采用sigmoid和tanh作为激活函数,这是构建所有层的首选。现在的研究表明,使用ReLU作为激活函数,可以得到更好的性能

#第一个隐藏层有12个神经元

model.add(Dense(12,input_dim=8,activation='relu'))

#第二个隐藏层有8个神经元

model.add(Dense(8,activation='relu'))

#最后输出层有1个神经元预测数据结构。二分类的输出层采用sigmoid作为激活函数

model.add(Dense(1,activation='sigmoid'))

(3) 编译模型

#编译模型

#对于二进制分类问题的对数损失被定义为二进制交叉熵

#使用有效的梯度下降算法Adam作为优化器

model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])

(4) 训练模型

#训练模型

#参数可以通过试验和错误实验来选择合适的值

model.fit(x=x,y=Y,epochs=150,batch_size=10)

(5) 评估模型

#评估模型

scores = model.evaluate(x=x,y=Y)

print('\n%s:%.2f%%' %(model.metrics_names[1],scores[1]*100))

目标函数的常见选项:

MSE:预测值和真实值之间的均方误差。

Binary cross-entropy:二分对数损失。

Categorical cross-entropy:多分类对数损失

该目标函数适用于多分类标签预测。它也是与激活函数softmax关联的默认选择。

常见的性能评估指标:

Accuracy:准确率,针对预测目标的预测正确的比例。

Precision:查准率,衡量多分类问题中多少选择项是关联正确的。

Recall:查全率,衡量多分类问题中多少关联正确的数据被选出。

第一个多层感知器实例:印第安人糖尿病诊断相关推荐

  1. 基于Keras的第一个多层感知器实例:印第安人糖尿病诊断

    本文将通过使用Keras构建一个简单的多层感知器,数据使用印第安人糖尿病诊断数据. 通过Keras构建深度学习模型的步骤如下: 定义模型--创建一个序贯模型并添加配置层 编译模型--指定损失函数和优化 ...

  2. 【Keras】学习笔记2:第一个多层感知器实例:印第安人糖尿病诊断

    文章目录 1.导入数据 2.定义模型 3.编译模型 4.训练模型 5.评估模型 6.汇总代码 1.导入数据 在使用随机过程(如随机数)的机器学习算法时,最好使用固定随机种子初始化随机数生成器.这样就可 ...

  3. Keras多层感知器实例:印第安人糖尿病诊断

    本实例使用Keras在python中创建一个神经网络模型,这是一个简单的贯序模型,也是神经网络最常见的模型.本实例按照以下步骤创建: 1. 导入数据. 2.定义模型 3.编译模型 4.训练模型 5.评 ...

  4. 深度学习入门系列1:多层感知器概述

    本人正在学习<deep learning with python>–Jason Brownlee,有兴趣的可以一起学习. 仅供学习参考,不做商用! 大家好,我技术人Howzit,这是深度学 ...

  5. 多层感知器(MLP)详解【基于印第安人糖尿病数据】

    文章目录: 1 概述 2 Pima印第安人数据集 3 导入数据和keras 4 定义模型 5 编译模型 6 训练 7 评估和预测 8 完整代码 1 概述 多层感知器是最简单的神经网络模型,用于处理机器 ...

  6. tensorflow实例-多层感知器

    一.概念 感知器:   上图就是基本的处理元素,它具有输入.输出,每个输入关联一个连接权重,然后输出是输入的加权和. 上图就是一个单层的感知器,输入分别是X0.X1.X2,输出Y是输入的加权和: Y ...

  7. (深度学习快速入门)第三章第一节:多层感知器简介

    文章目录 一:引入 二:定义 三:反向传播算法 四:构建多层感知器完成波士顿房价预测 一:引入 前文所讲到的波士顿房价预测案例中,涉及到的仅仅是一个非常简单的神经网络,它只含有输入层和输出层 但观察最 ...

  8. MP模型、单层感知器、多层感知器的理解

    神经网络基础 序言 MP模型 1.逻辑与: 2.逻辑或: 3.逻辑异或: 单层感知器 多层感知器(BP) 序言 关于神经网络的内容已经学习了很多,也发现了一些问题,而这些问题是因为基础不牢靠引起的,所 ...

  9. 深度学习02-神经网络(MLP多层感知器)

    文章目录 神经网络 简介 学习路径 分类 多层感知器(MLP) 神经网络认识 两层神经网络 输入层 从输入层到隐藏层 从隐藏层到输出层 激活层 输出的正规化 如何衡量输出的好坏 反向传播与参数优化 过 ...

最新文章

  1. 查看linux上面是否有安装redis,redis启动
  2. .net知识和学习方法系列(七)string类型
  3. [tarjan][树形dp] 洛谷 P2515 软件安装
  4. JSON数组分配输出每个li
  5. 【解决】make: 警告:检测到时钟错误。您的创建可能是不完整的
  6. 【写作技巧】毕业论文写作资料搜索库大全
  7. atitit.提升研发管理的利器---重型框架 框架 类库的区别
  8. igm焊接机器人基本操作_焊接机器人技术讲解.ppt
  9. python怎么下载numpy?
  10. mysql导出数据到csv文件
  11. 每日工作记录——任意小数分频研究
  12. iOS--通过assetURL获取到视频
  13. 抖音电影视频剪辑——电影版权问题
  14. Android视图绑定,设置控件点击事件不生效
  15. FTP上传下载失败或文件为空
  16. python3中join和格式化的用法 ##16
  17. #include <stdio.h>int main(){ int a, b, c; a = 5; c = ++a; b = ++c, c++, ++a, a++; b += a++ +
  18. console连接h3c s5500_H3C设备通过Console口登录设备的配置方法介绍
  19. opencv相机参数处理
  20. CentOS 7添加硬盘扩展根目录空间

热门文章

  1. visio中图形旋转任意角度
  2. 用二维数组写杨辉三角
  3. CCS error: symbol trace buf is defined multiple times
  4. opengl 摄像头移动
  5. iOS应用调试检测以及反调试
  6. python函数设计与使用_ZXD+Python函数设计与使用ppt课件
  7. 【2022---计算机考研】数据结构之线性表总结(超详细适合背诵)
  8. 教育部文科计算机大赛,重磅!教育部官方发布2019受认可的全部竞赛名单
  9. 如何将软件放到桌面上,举例:将控制面板放到桌面上
  10. 高等工程数学 —— 第二章 (1) Smith标准型与Jordan标准型