网站首页 > 编程文章 正文
今天我们将学习如何在实际数据集上编写神经网络。
当我们过去学习深度神经网络(DNN)时,我们直接使用在训练和测试中准备好数据,例如(MNIST手写数据集)通过我们的神经网络,但在这里,我们将准备使用PIMA糖尿病数据集,来创建我们的神经网络模型。
获取数据
这里我们将得到CSV数据集。数据可以从这里下载(https://github.com/vidit0210/PIMA-Diabetes-DNN/blob/master/diabetes.csv)。
现在让我们研究一下这个数据是关于什么:
数据集是关于一个二元分类分类数据集。在从更大的数据库中选择实例时,设置了一些约束。特别值得一提的是,这里所有的病人都是21岁以上的印度皮玛人后裔的女性。数据集是在UCI存储库中使用的。
基本上,我们得到了女性的数据集,我们必须预测她是否患有糖尿病。
Python编码
在这里,我将向您介绍如何制作DNN的Python教程。
首先,我们需要导入我们需要处理的所有有用的Python库
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
from sklearn.model_selection import train_test_split
在这里,我们使用pandas读取数据集并执行行和列操作。用于构建我们的DNN,用于制作数组的numpy和sklearn将我们的数据分成训练和测试
现在让我们查看数据的前几行,Python代码如下:
dataframe = pd.read_csv("diabetes.csv")
dataframe.head()
现在我们需要拆分我们的特征和标签。
我们可以看到结果列确定患者是否患有糖尿病(1-是,0-否)。其他列确定了预测必不可少的特征。
我们将数据拆分为特征[X]和标签[Y],并删除数据集中的缺失值。下面的Python代码完成所需的任务。
df_label = dataframe['Outcome']
df_features = dataframe.drop('Outcome', 1)
df_features.replace('?', -99999, inplace=True)
现在我们将对所有类型的标签进行one hot编码。例如,我们将1转换为[1,0],将0转换为[0,1]。Python代码如下:
label = []
for lab in df_label:
if lab == 1:
label.append([1, 0]) # class 1
elif lab == 0:
label.append([0, 1]) # class 0
现在我们将数据分成训练和测试集。Python代码如下:
data = np.array(df_features)
label = np.array(label)
x_train, x_test, y_train, y_test = train_test_split(data, label, test_size=0.2, random_state=42)
建立我们的神经网络
现在让我们看看构建神经网络的Python代码
model = Sequential()
model.add(Dense(500, input_dim=8, activation='sigmoid'))
model.add(Dense(100, activation='sigmoid'))
model.add(Dense(2, activation='softmax'))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
model.fit(x_train,y_train, epochs=1000, batch_size=70, validation_data=(x_test, y_test))
在这里,我们已经创建简单的Keras神经网络,其中2个隐藏层(500和100),具有8个输入特征和2个标签来预测。
其他参考示例代码
feature_try = np.array([x_train[0]])
feature_try2 = np.array([x_train[1]])
result =model.predict_classes(feature_try2)
if result==0:
print("NO Diabetes")
else:
print("Diabetes")
猜你喜欢
- 2024-10-20 Microsoft Excel 网页版新增导出 CSV 文件功能
- 2024-10-20 保姆式教程|仅靠这个数据库就发到生信3+?这个套路值得耍一耍
- 2024-10-20 Rdatasets:2000+个数据集供你练习数据分析及其可视化!
- 2024-10-20 Commata库:C++中CSV文件处理(csv库的作用)
- 2024-10-20 Data Lake Analytics + OSS数据文件格式处理大全
- 2024-10-20 JS 下载/导出 csv、excel、txt 、img等文件的方法总结
- 2024-10-20 一个超强的机器学习库(机器学习库sklearn)
- 2024-10-20 保姆式教程|TCGA+GEO单基因生信SCI,手把手带你复现
- 2024-10-20 用Python读取csv文件中的沪深300指数历史交易数据
- 2024-10-20 CSV超大文件编辑软件snapde(csv文件大小)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- spire.doc (59)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- sqljdbc4.jar下载 (56)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- 苹果ios字体下载 (56)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)