【问题标题】:Text Classification + Naive Bayes + Scikit learn文本分类+朴素贝叶斯+Scikit学习
【发布时间】:2019-03-01 03:21:36
【问题描述】:

我将第一次使用朴素贝叶斯进行文本分类。 我在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_tfidftwenty_train.target的疑问。

X_train_tfidf 是训练集中所有文档的 tfidf 向量表示。

twenty_train.target 是文档在 X_train_tfidf 集中出现的确切顺序的对应标签。

我说的对吗?

【问题讨论】:

    标签: scikit-learn text-classification naivebayes


    【解决方案1】:

    简短回答:是的

    长答案:这适用于您使用 API 找到的每个 fit 方法。给定文档 X矩阵 尺寸为 [m, n],目标 向量 Y 将具有尺寸 [n, 1] 和 document X[:, j] 匹配从 0 到 n-1 的每个 j 的目标 Y[j]

    如果文档和目标不匹配,您的培训过程可能会得到非常糟糕和不合理的结果。

    【讨论】:

    • 根据 scikit learn 文档,如果 Y 的维度为 [1, n],根据 scikit learn 文档是否有任何问题?
    • 从未寻找过它,但在快速测试中我收到了以下警告消息:DataConversionWarning: A column-vector y was passed when a 1d array is passed。请将 y 的形状更改为 (n_samples,),例如使用 ravel()
    猜你喜欢
    • 2016-05-01
    • 2013-12-24
    • 2016-11-09
    • 2015-10-28
    • 2016-08-02
    • 2018-07-29
    • 2016-12-11
    • 2017-06-21
    • 2015-03-06
    相关资源
    最近更新 更多