点击预测的数据准备和机器学习算法

数据挖掘 机器学习 大数据 数据挖掘 数据集 数据清理
2022-02-09 17:58:06

我是机器学习的新手。我手头的任务是根据城市、州、操作系统版本、操作系统系列、设备、浏览器系列、浏览器版本等用户信息预测点击概率。我被建议尝试 logit,因为 logit 似乎是 MS 和 Google正在使用。我有一些关于逻辑回归的问题:

点击和非点击是一个非常非常不平衡的类别,简单的 GLM 预测看起来并不好。我怎样才能使数据更好地与 GLM 一起使用?

我拥有的所有变量都是分类变量,设备和城市之类的变量可能很多。此外,某些设备或某些城市的出现频率可能非常低。如何处理分类变量的这种分布?

我们得到的变量之一是设备 ID。这是一个非常独特的功能,可以转化为用户的身份。如何在 logit 中使用它,还是应该根据用户身份在完全不同的模型中使用它?

1个回答

一些建议

  1. 删除数据中出现频率太低的项目。这将使维度减少几个数量级。如果一个特征出现的次数少于 10 次,很可能它没有增加任何预测值,并且可能由于频率低而导致过拟合
  2. 请尝试使用线性 SVM。就不过度拟合而言,它们可以很好地处理大维数据。他们通常还可以选择将相对权重分配给不同的类别,这可能有助于解决上述不平衡问题。sklearn svm(它只是简单地包装了一些其他的包,比如 libsvm)有这个选项。
  3. 不要使用 ID 列。为每个用户生成一个模型很可能会导致过度拟合。取而代之的是,输入描述用户的属性,使模型能够概括相似的用户。您可以尝试为每个用户拟合一个单独的模型,但您需要为每个用户提供大量数据才能做到这一点。
  4. 听起来你真的需要在这里尝试一些特征选择,以减少问题的维度。但是首先尝试 1 和 2,因为它们可能会更快地为您提供良好的结果(尽管最终解决方案可能仍然可以通过一些好的特征选择更好地工作)。Sklearn 再次有许多特征选择选项。