逻辑回归仅识别主要 类

Logistic Regression only recognizing predominant classes

我正在参加 Kaggle San Francisco Crime 竞赛,我目前正在尝试使用多种不同的分类器来测试基准性能。我正在使用 sklearn 的 LogisticRegressionClassifier,没有任何参数调整,我从 sklearn.metrict.classification_report 注意到它只预测主要类,即在我的训练集中出现次数最多的类。

直觉告诉我这必须调整参数,但我不确定我必须调整哪些参数才能使分类器更加了解不那么主要的 类(LogisticRegressionClassifier 有很多)。目前它只预测 3 类 从 38 或类似的东西所以它肯定需要改进。

有什么想法吗?

如果您的模型仅对主要 类 进行分类,那么您将面临不平衡问题 类。这里有一些 good reads 可以在机器学习中解决这个问题。

Logistic 回归是一种二元分类器,使用一对多或一对一技术进行多类分类,如果你有更多的输出 类(你的情况是 33 ).尝试使用其他分类器。首先,使用 softmax classifier which is an extension of logistic classifier having support for multi-class classification. In scikit learn,将 multi_class 变量设置为 multinomial 以使用 softmax 回归。

改进模型的其他方法可能是使用 GridSearch 进行参数调整。

附带说明一下,我建议您也使用其他模型。