如何定义X_train以基于图像分类教程构建支持向量机模型
问题解决建议
你遇到的X_train未定义报错属于Python基础的变量未声明问题,和你贴出的图像平移变换代码没有直接关联,按照以下步骤排查即可:
- 先完成数据集拆分操作,才能生成
X_train变量:把所有预处理完成的PNG图像统一读取为numpy数组,同步整理好每个图像对应的分类标签,再调用sklearn.model_selection.train_test_split方法将全量数据集拆分为训练集、测试集两个子集,其中训练集的特征矩阵就是你代码中需要用到的X_train。 - 数据集拆分完成后建议先做归一化处理,比如将像素值从0255区间缩放到01区间,再传入模型定义层的
input_shape参数。 - 你当前编写的是CNN卷积神经网络结构,和你提到的「搭建支持向量机」的目标并不匹配:现有代码是用于端到端图像分类的神经网络结构,如果要使用SVM做分类,需要先用你定义的CNN模型抽取图像特征(即你代码中生成的
feat_train),再把抽取到的特征传入SVM模型完成训练。 - 检查Jupyter Notebook的单元格执行顺序:如果你已经编写了数据集拆分的相关代码,确认对应单元格已经被成功执行,变量已经加载到内核内存空间中,再执行模型定义代码即可避免未定义报错。
如果要适配医学图像的分类场景,可以在现有预处理流程中补充窗宽窗位调整、重采样等标准化操作,能有效提升最终分类精度。
内容的提问来源于stack exchange,提问作者Darrell Robinson
相关产品推荐
相关产品推荐

