文本分类+朴素贝叶斯+Scikit学习
Text Classification + Naive Bayes + Scikit learn
我将第一次使用朴素贝叶斯进行文本分类。
我在 http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html 上找到的这段代码:
>>> from sklearn.naive_bayes import MultinomialNB
>>> clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target)
我想解决一个关于传递给函数 fit() 的参数 X_train_tfidf
、twenty_train.target
的疑问。
X_train_tfidf是训练集中所有文档的tfidf向量表示。
twenty_train.target 是文档的相应标签,其顺序与它们在 X_train_tfidf 集合中出现的顺序完全相同。
我说得对吗?
简答:是
长答案:对于使用 API 的每个 fit 方法都是如此。给定 矩阵 的文档 X,维度为 [m, n],目标 向量 Y 将具有维度 [n, 1] 和 文档 X[:, j] 与从 0 到 n-1 的每个 j 的目标 Y[j] 匹配。
如果文档和目标不匹配,您的训练过程可能会得到非常糟糕且不合理的结果。
我将第一次使用朴素贝叶斯进行文本分类。 我在 http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html 上找到的这段代码:
>>> from sklearn.naive_bayes import MultinomialNB
>>> clf = MultinomialNB().fit(X_train_tfidf, twenty_train.target)
我想解决一个关于传递给函数 fit() 的参数 X_train_tfidf
、twenty_train.target
的疑问。
X_train_tfidf是训练集中所有文档的tfidf向量表示。
twenty_train.target 是文档的相应标签,其顺序与它们在 X_train_tfidf 集合中出现的顺序完全相同。
我说得对吗?
简答:是
长答案:对于使用 API 的每个 fit 方法都是如此。给定 矩阵 的文档 X,维度为 [m, n],目标 向量 Y 将具有维度 [n, 1] 和 文档 X[:, j] 与从 0 到 n-1 的每个 j 的目标 Y[j] 匹配。
如果文档和目标不匹配,您的训练过程可能会得到非常糟糕且不合理的结果。