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

使用CNN对12特征1000样本CSV数据集做癌症预测二分类的输入与层设置问题

结构化CSV数据基于1D CNN的二分类实现方案

常规CNN应用案例多针对2D图像或者长时序序列,你手上的12维结构化特征属于1维向量,用1D CNN就能提取特征间的局部关联,完全适配癌症二分类的场景,具体实现思路如下:

输入定义

12个特征属于1维序列结构,仅需要额外补充通道维度即可适配CNN输入要求:

  • 单个样本调整后shape为 (12, 1),其中1为通道数,逻辑和图像的RGB通道一致
  • 整体数据集输入shape为 (样本数, 12, 1),你的1000个样本对应shape就是 (1000, 12, 1)

网络层参考实现

以下是基于Keras的可运行示例,你可以直接替换自己的数据集路径使用:

import pandas as pd
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv1D, MaxPooling1D, Flatten, Dense, Dropout
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 1. 加载并预处理数据
df = pd.read_csv("你的数据集路径.csv")
X = df.drop("标签列名", axis=1).values
y = df["标签列名"].values

# 数据标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 调整输入shape,增加通道维度
X_reshaped = X_scaled.reshape(X_scaled.shape[0], X_scaled.shape[1], 1)

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

# 2. 构建1D CNN模型
model = Sequential()
# 第一层卷积:32个卷积核,核大小为2
model.add(Conv1D(filters=32, kernel_size=2, activation='relu', input_shape=(12, 1)))
model.add(MaxPooling1D(pool_size=2))
model.add(Dropout(0.2))
# 第二层卷积
model.add(Conv1D(filters=64, kernel_size=2, activation='relu'))
model.add(MaxPooling1D(pool_size=2))
model.add(Dropout(0.2))
# 展平后接全连接层
model.add(Flatten())
model.add(Dense(32, activation='relu'))
model.add(Dropout(0.3))
# 二分类输出层
model.add(Dense(1, activation='sigmoid'))

# 3. 编译训练
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)

# 4. 测试集评估
test_loss, test_acc = model.evaluate(X_test, y_test)
print(f"测试集准确率: {test_acc:.4f}")

小样本训练注意事项

你的样本量只有1000,训练时注意规避过拟合:

  • 不要使用太复杂的网络结构,卷积层控制在2-3层即可
  • 适当调高Dropout比例,也可以增加L2正则约束
  • 优先做特征筛选,提前去掉无统计意义的特征减少噪音

内容的提问来源于stack exchange,提问作者Sheida Mjn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:36:04