哪种机器学习算法用于针对许多名义变量的点击/非点击预测

时间:2014-06-13 12:32:11

标签: machine-learning data-mining prediction

我是机器学习的绝对菜鸟。我的数据集的值如下:

state

hour

day of the week

device platform

user agent

根据是否有点击,是或否。

这些数据主要包含字符串值,可以从标题中获取。对于zip,设备平台ID等数据,它们的数量也很多。

与未点击的记录数量相比,点击记录的数量也非常少。

因此,基于这些结果,我应该如何训练模型? 还有什么算法 - 我应该实现回归,分类或决策树? 在此先感谢!!

3 个答案:

答案 0 :(得分:1)

对于这些类型的数据,其中决策区域可以是非线性的,具有字符串特征以及正类和负类的数量之间的不平衡(单击/非单击):
支持向量数据描述(SVDD)或者也称为基于SVM的异常检测可能是一个不错的选择。
为了快速启动,请在libSVM库中使用SVDD,以快速检查是否值得一试。 (在确定方法是否有效之前,请确保选择了正确的内核和内核参数。)

确保有一些模式,我无法说服自己为什么应该有一个模式。
如果没有潜在的模式,那么你无法做任何事情来比任何随机模型更好地预测它。

答案 1 :(得分:1)

我建议您查看this文章,它阐述了机器学习的基础知识,工作原理以及一些不同的方法。具体来说,请注意幻灯片8 - 25/26。

您还可以快速查看weka。它们有一些非常有用的机器学习和数据挖掘工具。如果您需要对这些做出任何澄清,请告诉我们!

答案 2 :(得分:0)

这是一个分类问题,您有兴趣预测是否单击了某条记录。点击(少数类)和非点击(多数类)构成了这个分类问题的两个类。由于数据集是不平衡的(多数类的实例数>>少数类的实例数),以下版本的随机森林在实践中运作良好:

  • 在整个数据集的不同分层样本上创建随机林中的每个树。通过组合i)多数类的下采样行以具有与少数类中一样多的行,以及ii)采样行(少数类中的多个行)以及从少数类替换来创建每个分层样本。有关如何使用R中的randomForest包执行此操作,请参阅here

对于不平衡数据集,必须使用ROC曲线下的面积作为优化而非精确度的指标。

最后,从用户代理创建其他重要功能可能很有用。例如,OS,browser_name,mobile / desktop都可以从用户代理中学习,并且可能是预测点击/非点击的有用功能。