
336
|
第
11
章
向量化表示。我们指定参数
min_df
为
10
,且不使用二元语法。另外,我们前面的
步骤已经删除了停用词,因此向量化期间不需要考虑这个问题。我们使用同一个向
量化器来转换测试数据集,以便在评估阶段使用:
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer(min_df = 10, ngram_range=(1,1))
X_train_tf = tfidf.fit_transform(X_train)
X_test_tf = tfidf.transform(X_test)
11.6.4
第四步:训练机器学习模型
我们曾在第
6
章中介绍过,在处理文本数据方面,支持向量机(
SVM
)是首选的机
器学习算法。众所周知,
SVM
非常善于处理拥有大量数值型特征的数据集,尤其是
我们使用的
LinearSVC
的速度非常快。此外,我们也可以选择基于树的方法,比如
随机森林或
XGBoost
,但是根据我们的经验,
LinearSVC
的准确率并不差,而且训
练非常快,因此可以更快地进行实验:
from sklearn.svm import LinearSVC
model1 = LinearSVC(random_state=42, tol=1e-5)
model1.fit(X_train_tf, Y_train)
输出结果:
LinearSVC(C=1.0, class_weight=None, dual=True, ...