【问题标题】:Multi-Class Logistic Regression in SciKit LearnSciKit Learn 中的多类逻辑回归
【发布时间】:2016-07-31 03:09:14
【问题描述】:

对于多类案例,我无法正确调用 Scikit 的逻辑回归。我正在使用 lbgfs 求解器,并且确实将 multi_class 参数设置为多项式。

我不清楚如何在拟合模型时传递真实的类标签。我假设它与随机森林分类器多类相似/相同,您在其中传递 [n_samples, m_classes] 数据帧。但是,在执行此操作时,我收到一个错误,即数据形状不正确。 ValueError: bad input shape (20, 5)——在这个小例子中,有 5 个类,20 个样本。

在检查时,fit 方法的文档说真值作为 [n_samples, ] 传递——这与我得到的错误相匹配——但是,我不知道如何用多个训练模型类。所以,这是我的问题:如何将完整的类标签集传递给 fit 函数?

我无法在 Internet 上找到用于建模的示例代码,也无法在 StackOverflow 上找到这个问题。但我觉得肯定有人知道该怎么做!

在下面的代码中,train_features = [n_samples, nn_features], truth_train = [n_samples, m_classes]

clf = LogisticRegressionCV(class_weight='balanced', multi_class='multinomial', solver='lbfgs')
clf.fit(train_features, truth_train)
pred = clf.predict(test_features)

【问题讨论】:

    标签: python machine-learning scikit-learn logistic-regression


    【解决方案1】:

    您似乎混淆了 multiclassmultilabel http://scikit-learn.org/stable/modules/multiclass.html 两个术语,简而言之:

    • 多类分类是指一个分类任务有超过 两个班;例如,对一组水果图像进行分类,这些图像可能是 橙子、苹果或梨。多类分类使 假设每个样本都分配给一个且只有一个标签:a 水果可以是苹果或梨,但不能同时是两者。

    因此数据为[n_samples, n_features],标签为[n_samples]

    • 多标签分类为每个样本分配一组目标 标签。这可以被认为是预测数据点的属性 不相互排斥的,例如与 一份文件。文本可能与任何宗教、政治、金融有关 或同时接受教育或不接受任何教育。

    因此数据为[n_samples, n_features],标签为[n_samples, n_labels]

    您似乎正在寻找多标签(至于多类标签应该是 1-dim)。目前,在 sklearn 中,唯一支持多标签的方法是:决策树、随机森林、最近邻、岭回归。

    如果你想学习不同模型的多标签问题,只需使用 OneVsRestClassifier 作为 LogisticRegression 的多标签包装器

    http://scikit-learn.org/stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier

    【讨论】:

    • 感谢您的回复。我实际上是在寻找多类,即每个样本只有一个类。但是,我对森林所做的是将类分配转换为布尔数组,这就是我最终得到 n x m 数组的方式。所以,如果我理解正确,我应该将我的类标签转换为整数并创建一个 n_sample 长数组,其中它可以采用的值映射到不同的类标签。那是对的吗?感谢您的帮助。
    • 是的,你应该对树做同样的事情。否则你适合多标签模型。
    • @lejlot 我已经使用 scikit 逻辑回归对标量进行多重预测。 dukebody 在stackoverflow.com/questions/36760000/… 中的回答也对我有用。也许我误解了你的回答?
    猜你喜欢
    • 2017-03-31
    • 2016-02-21
    • 2020-10-30
    • 2015-11-11
    • 2018-03-01
    • 2012-06-27
    • 2016-06-17
    • 2020-07-27
    • 2016-12-27
    相关资源
    最近更新 更多