【问题标题】:Can i have too many features in a logistic regression?我可以在逻辑回归中有太多特征吗?
【发布时间】:2020-10-30 00:26:24
【问题描述】:

我正在构建一个模型来预测纽约街头的行人伤亡情况,该模型来自 data set 的 170 万条记录。我决定从ON STREET NAME 列中构建虚拟功能,以查看可能提供的预测能力。这样,我就有大约 7500 个特征。

我尝试运行它,但我立即收到 Jupyter 内核死亡的警报。再试一次,同样的事情发生了。考虑到模型拟合需要多长时间以及计算机运行的热度,当我尝试拟合 100 个特征时,我只能假设 LogisticRegression() 不适合处理这样的特征集。

两个问题:

  1. 是这样吗,逻辑回归是否意味着处理较小的特征集?
  2. 是否有某种方法可以缓解这种情况,并对此类特征集应用逻辑回归模型?

【问题讨论】:

    标签: python memory scikit-learn complexity-theory logistic-regression


    【解决方案1】:

    您至少应该提供一个日志,或者我们可以重现的示例,以便其他人可以确定问题所在。 旁注 7500 个功能和 170 万行假设对于您在其中获得大约 48 GB 数据的每个元素来说这是一个浮点数,ram 可能会是一个主要问题。

    1. 逻辑回归是一个非常简单的模型,虽然它可以处理数量,但它并不适用于复杂的数据,它的性能令人印象深刻。您在这里崩溃的问题可能是为了训练,使用了最小二乘法,它要求所有数据都在 ram 中
    2. 对于大型数据集,应使用梯度下降变化,这将允许您对数据进行训练并应用逻辑回归。有了如此多的数据,您可以使用更复杂的模型来获得更好的结果。

    最后,诸如 PCA 之类的特征缩减方法或某些特征选择方法可能会有所帮助,因此您无需更改模型

    【讨论】:

      猜你喜欢
      • 2014-01-19
      • 2016-05-15
      • 2016-05-17
      • 2021-06-10
      • 2014-08-06
      • 2017-12-07
      • 2018-02-27
      • 2021-11-22
      • 2017-08-18
      相关资源
      最近更新 更多