TensorFlow 深度学习 | 使用 feature_column 训练心脏病分类模型

发布于:2025-08-30 ⋅ 阅读:(20) ⋅ 点赞:(0)

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖

在这里插入图片描述

本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】


在这里插入图片描述

TensorFlow 深度学习:使用 feature_column 训练心脏病分类模型

在深度学习中,特征列(feature_column 是处理结构化数据的利器。

本文将通过一个实战案例,演示如何利用 TensorFlow 的 feature_column 构建 心脏病分类模型,并进行训练、评估与可视化分析。


🔹 一 数据准备

我们使用 UCI 心脏病数据集(Heart Disease Dataset),包含 14 个特征(如年龄、性别、血压、胆固醇等),目标是预测是否患有心脏病(0 表示无,1 表示有)。

import pandas as pd
from sklearn.model_selection import train_test_split

# 加载数据
url = "https://raw.githubusercontent.com/plotly/datasets/master/heart.csv"
data = pd.read_csv(url)

# 特征与标签
X = data.drop("target", axis=1)
y = data["target"]

# 划分训练集与测试集
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

print(f"训练集样本数: {
     
     len(X_train)}, 测试集样本数: {
     
     len(X_test)}")

🔹 二 特征列构建

在 TensorFlow 中,我们需要为不同类型的特征选择合适的 feature_column

  • 数值特征:直接作为输入
  • 类别特征:使用 One-Hot 编码
import tensorflow as tf

feature_columns = []

# 数值特征
numeric_features = ["age", "trestbps", "chol", "thalach", "oldpeak"]
for feature_name in numeric_features:
    feature_columns.append(tf.feature_column.numeric_column(feature_name))

# 类别特征
categorical_features = {
   
   
    "sex": [0, 1],
    "cp": [