sklearn调用朴素贝叶斯报错dimension mismatch

fit、transform、fit_transform区别
fit():就是求得训练集的均值,方差,最大值,最小值,这些训练集的固有属性。
transform():在fit的基础上,进行标准化,降维,归一化等操作。
fit_transform():fit_transform是fit和transform的组合,既包括了训练又包含了转换。transform()和fit_transform()二者的功能都是对数据进行某种统一处理(比如标准化~N(0,1),将数据缩放(映射)到某个固定区间,归一化,正则化等)
 

tf = TfidfVectorizer()
 
tf.fit_tranform(X_train)
 
tf.tranform(X_test)

也就是对训练集fit_tranform,测试集只要tranform就好了

都用fit_tranform的话会出现错误:

问题在于

问题出在:predict的时候,测试集和训练集特征维度不同。


版权声明:本文为weixin_41745696原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。