【问题标题】:Why does scikit-learn Logistic Regression works well even feature number is much larger than sample number为什么即使特征数远大于样本数,scikit-learn Logistic Regression 也能很好地工作
【发布时间】:2018-04-18 20:15:03
【问题描述】:

最近,我在做一些项目,获得了30个正样本和30个 负样本。它们每个都有 128 个特征(128 维)。

我使用“LeaveOneOut”和“sklearn.linear_model.LogisticRegression”对这些样本进行分类,得到了满意的结果(AUC 0.87)。 我把结果告诉了我的朋友,他问我怎么能用 60 个样本计算参数,特征向量的维度大于样本的数量。

现在我有同样的问题。我检查了工具包的源代码,仍然不知道这个问题。有人可以帮我解决这个问题吗?谢谢!

【问题讨论】:

  • 我认为这是因为您的特定数据。有方便的数据,其他数据可能会给您带来更糟糕的结果。

标签: python scikit-learn logistic-regression


【解决方案1】:

您所订出的情况是机器学习应用程序中的一个常见的情况,它是与您的特征数量相比有限数量的训练示例时(即m 基于快速谷歌搜索sklearn.linear_model.LogisticRogression,它看起来好像它使用L2正常化实现正常的逻辑回归。我会鼓励您调查与正规化有关的以下内容:

https://en.wikipedia.org/wiki/Tikhonov_regularization

我还建议阅读偏见/方差讨论,因为它符合磨损和过度处理您的数据集:

https://datascience.stackexchange.com/questions/361/when-is-a-model-underfitted

【讨论】:

  • 感谢您的回答。我的代码类似于scikit-learn.org/stable/modules/generated/…的示例代码。唯一的区别是在我的情况下为60 * 128的输入数据。正节化似乎解决了问题。我会尝试了解更多信息。 span>
  • 确定,然后我将读入上面与正则化和偏差/方差有关的链接,因为它涉及您的问题。通过大量的功能和可比的训练示例(在您的情况下,〜50%),算法可以开始识别在识别正面或负面假设中发挥作用的功能以及识别不贡献的功能大量(参数向量中的重量小) span>
猜你喜欢
  • 2015-10-12
  • 2020-06-19
  • 2019-08-27
  • 2020-03-07
  • 2018-03-22
  • 2018-06-01
  • 1970-01-01
  • 2021-11-23
  • 2015-01-31
相关资源
最近更新 更多