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

SVC报错提示X有538个特征但期望输入1291个特征如何解决?

问题修复方案

错误根因

  • 训练阶段调用TF-IDF的fit_transform()方法会基于训练集文本生成固定词表,最终得到1291维特征,SVC模型训练时会固定接收该维度的输入
  • 测试阶段你错误地对测试集再次调用fit_transform(),该操作会基于测试集的小样本重新生成词表,最终得到的特征维度只有538,和模型要求的输入维度不匹配,因此触发报错

你之前尝试的from sklearn import *和当前问题完全无关,因此无法生效。

修复方法

测试集向量化时,直接使用训练阶段已经拟合好词表的vectorizer调用transform()方法,不要重新执行拟合逻辑。

修正后的代码片段

首先是向量化部分的修正:

# 向量化
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer()
x_train = vectorizer.fit_transform(x_train.values.astype('U'))
# 测试集仅做转换,不重新拟合词表
x_test = vectorizer.transform(x_test.values.astype('U'))

另外你的代码最后调用了classification_report但未导入对应的模块,还需要在导入部分增加:

from sklearn.metrics import classification_report

内容的提问来源于stack exchange,提问作者Vaishnavi Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:15:01