TF IDF在测试数据中权衡了频率得分,使用SVC训练模型

时间:2019-06-26 07:13:51

标签: python machine-learning svm tf-idf

我正在训练有关文本描述和与之对应的标签的预测模型。我正在使用SVC训练具有tf idf加权词频的数据语料库。我想了解是否要分类的新数据集(测试,此处未使用火车测试拆分),应该使用tf idf将其向量化。如果是,是对测试数据单独进行还是与培训数据一起进行?

1 个答案:

答案 0 :(得分:0)

通常,TfIdf矢量化器仅适用于训练数据,为了获得相同格式的测试数据,我们进行了变换操作。这样做主要是为了避免数据泄漏。请参阅TfidfVectorizer: should it be used on train only or train+test

因此,首先使用tf-idf矢量化器拟合并转换火车数据,然后再对任何传入数据集使用相同的tf-idf矢量化器进行必要的转换,以转换为tf-idf矢量。

您可以做这样的事情,

x_train, x_test, y_train, y_test = train_test_split(
    x, y, test_size=0.3, random_state=101
)


transformer = TfidfTransformer()
x_train_tf = transformer.fit_transform(x_train)
x_test_tf = transformer.transform(x_test)