小编Adn*_*n S的帖子

如何在新数据上使用 sklearn TfidfVectorizer

我有一个相当简单的 NLTK 和 sklearn 分类器(我对此完全是菜鸟)。

我做通常的进口

import pandas as pd
import matplotlib.pyplot as plt

from sklearn.feature_extraction.text import CountVectorizer
from nltk.tokenize import RegexpTokenizer

from sklearn.model_selection import train_test_split

from sklearn.naive_bayes import MultinomialNB

from sklearn import metrics

from sklearn.feature_extraction.text import TfidfVectorizer
Run Code Online (Sandbox Code Playgroud)

我加载数据(我已经清理过它)。这是一个非常简单的数据框,有两列。第一个是包含清理后的'post_clean'文本,第二个是'uk'或者TrueFalse

data = pd.read_pickle('us_uk_posts.pkl')
Run Code Online (Sandbox Code Playgroud)

然后我使用 tfidf 进行矢量化并分割数据集,然后创建模型

tf = TfidfVectorizer()
text_tf = tf.fit_transform(data['post_clean'])
X_train, X_test, y_train, y_test = train_test_split(text_tf, data['uk'], test_size=0.3, random_state=123)


clf = MultinomialNB().fit(X_train, y_train)
predicted = clf.predict(X_test)
print("MultinomialNB Accuracy:" , metrics.accuracy_score(y_test,predicted))
Run Code Online (Sandbox Code Playgroud)

显然,除非我完全遗漏了一些东西,否则我的准确度为 93%

我的两个问题是: …

python nlp nltk scikit-learn

5
推荐指数
1
解决办法
5578
查看次数

标签 统计

nlp ×1

nltk ×1

python ×1

scikit-learn ×1