Tensorflow读取pandas数据训练DNN模型(心脏病预测(仅做深度学习训练参考,不可当成医学参考))

该文展示了如何利用Python的TensorFlow库和Pandas数据处理库对心脏病数据集进行预处理,包括数据读取、类别编码,然后将数据转化为tf.data.Dataset。接着,构建了一个包含输入层、隐藏层和输出层的神经网络模型,用Adam优化器和二元交叉熵损失函数进行编译,并进行了15轮的训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本案例使用Python的tensorflow、jupyternotebook、pandas进行训练学习
1.使用Pandas读取数据

import pandas as pd
import tensorflow as tf
df=pd.read_csv("./datas/heart/heart.csv")
df.head()

在这里插入图片描述

df.dtypes

在这里插入图片描述

#把thal列变成数字编码
df['thal']=pd.Categorical(df['thal'])
df['thal']=df['thal'].cat.codes
df.head()

在这里插入图片描述
2.将数据加载到tf.data.Dataset

#要预测的目标,这是一个二分类问题
target=df.pop('target')
df.head()

在这里插入图片描述

target.head()

在这里插入图片描述

df.head().values

在这里插入图片描述

df.shape
target.head().values
#构建dataset,其实是把pandas数据转换成numpy数组进行转换的
dataset=tf.data.Dataset.from_tensor_slices((df.values,target.values))
for features,label in dataset.take(5):
    print('Features:{},Label:{}'.format(features,label))

在这里插入图片描述

#Shuffle and batch the dataset
train_dataset=dataset.shuffle(len(df)).batch(1)

3.创建并训练模型

model=tf.keras.Sequential([
    tf.keras.layers.Dense(10,input_shape=(df.shape[1],)),
    tf.keras.layers.Dense(10,activation='relu'),
    tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam',
             loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),
             metrics=['accuracy'])
 model.summary()            

在这里插入图片描述

model.fit(train_dataset,epochs=15)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值