You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Kaggle数据集导入后生成子图形式的独立柱状图?

UCI心脏病数据集可视化与Keras分类模型训练解决方案

一、统计子图复现方案

你使用plt.imshow报错是因为该函数仅用于渲染图像像素矩阵,不能直接绘制结构化数据集的统计图表,删除相关代码后使用如下seaborn+matplotlib方案即可复现多子图布局:

# 导入依赖库
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 设置绘图风格
sns.set_style("whitegrid")

# 假设你清洗完成的数据集变量名为df
# 生成4行2列的子图画布,可根据你要复现的图表数量调整行列数
fig, axes = plt.subplots(nrows=4, ncols=2, figsize=(16, 22))

# 按位置绘制对应统计图表,以下为常见的数据集配套图表示例,可按需调整
# 第1行第1列:患病情况分布
sns.countplot(x='target', data=df, ax=axes[0][0])
axes[0][0].set_title('心脏病患病分布')
# 第1行第2列:年龄分布
sns.histplot(x='age', data=df, kde=True, color='#2ecc71', ax=axes[0][1])
axes[0][1].set_title('受试者年龄分布')
# 第2行第1列:不同胸痛类型的患病对比
sns.countplot(x='cp', hue='target', data=df, ax=axes[1][0])
axes[1][0].set_title('胸痛类型与患病关联')
# 第2行第2列:静息血压箱线图
sns.boxplot(x='target', y='trestbps', data=df, palette='Set2', ax=axes[1][1])
axes[1][1].set_title('静息血压与患病关联')
# 剩余子图可参照上述逻辑,替换sns绘图函数即可完成其他图表绘制

# 自动调整子图间距避免重叠
plt.tight_layout()
plt.show()

二、Keras模型训练问题排查

绘图报错不会直接影响模型训练,优先检查以下几个核心步骤是否缺失:

  • 特征与标签拆分、标准化:神经网络训练必须对数值特征做标准化,避免梯度爆炸
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 拆分特征和标签
X = df.drop('target', axis=1)
y = df['target']
# 特征标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 拆分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
  • 模型结构与参数匹配二分类任务
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout

# 搭建二分类模型
model = Sequential([
    Dense(32, activation='relu', input_shape=(X_train.shape[1],)),
    Dropout(0.2),
    Dense(16, activation='relu'),
    Dropout(0.1),
    Dense(1, activation='sigmoid')
])
# 编译模型,二分类任务固定用binary_crossentropy损失函数
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 启动训练
history = model.fit(X_train, y_train, epochs=30, batch_size=8, validation_split=0.1)
  • 若出现维度报错,优先检查特征输入维度是否与模型第一层input_shape匹配,标签y是否为一维数组格式。

内容的提问来源于stack exchange,提问作者Keval Makwana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:30:05