如何进行探索性数据分析以选择合适的机器学习算法


16

我们正在通过“机器学习:概率论”(Kevin Murphy)研究机器学习。虽然文字解释了每种算法的理论基础,但很少说明哪种情况下哪种算法更好,什么时候做的更好,却没有说明如何判断我所处的情况。

例如,对于内核的选择,有人告诉我进行探索性数据分析以评估数据的复杂程度。在简单的二维数据中,我可以绘图并查看线性或径向核是否合适。但是在更高维度上做什么?

更一般地说,人们在选择算法之前说“开始了解您的数据”是什么意思?现在,我只能区分分类算法与回归算法,以及线性算法与非线性算法(我无法检查)。

编辑:即使我最初的问题是关于普遍的经验法则,我被要求提供有关我的特定问题的更多信息。

数据:每行一个国家/地区月的面板(总计约30,000行,涵盖约15年中的165个国家/地区)。

回应:5个感兴趣的二元变量(例如,该月是否发生抗议/政变/危机等)。

特征:〜400个变量(连续,类别和二进制的混合),详细说明了前两个国家/地区的月份的特征(可以创建更长的滞后时间)。我们只使用滞后变量,因为目标是预测。

例子包括汇率,GDP增长(连续),新闻自由水平(绝对),民主,邻国是否存在冲突(二元)。请注意,这400个功能中有很多是滞后变量。

Answers:


15

这是一个广泛的问题,没有简单的答案。我在CMU教授了一个为期3个月的主题课程。它涵盖了以下问题:

  1. 使用预测来了解变量与总体分布结构之间的相关性。
  2. 如何通过连续建模残差来构建回归模型。
  3. 确定何时将非线性相互作用项添加到线性模型中。
  4. 如何决定与一个逻辑分类KNN与决策树之间。我浏览了许多UCI数据集,并展示了如何在运行它们之前就知道哪个分类器将获胜。

遗憾的是,该课程没有视频或教科书,但我做了一个总结该课程要点的演讲。我不知道有什么教科书涵盖相同的领域。


我将花一两天的时间来消化这些有用的材料,但是在引起您注意的同时:为什么我们没有涉及该主题的教科书/资源?这是不是很重要,因为每当有人参与一个项目时,他们都必须考虑这个问题吗?
海森堡2014年

1
好问题(+1)和答案(+1)。@海森堡:我同意汤姆的看法,因为他没有看有关该主题的特定教科书。但是,除了他的资源外,我还建议您使用两个在线资源(尽管它们并不专注于ML应用程序):1)NIST工程统计手册的EDA部分;2)Andrew Gelman教授关于EDA的复杂模型的有趣论文
Aleksandr Blekh

0

您可以检查一下数据。

1 - correlation between variables
2 - categorical variables or continuous variables?
3 - relation between number of samples and number of variables
4 - are the samples independent or is it a time series? 

根据这些要点以及要从数据中提取的信息种类,可以决定要使用哪种算法。


您能否详细说明这四个信息分别如何影响我的算法选择?我只知道2将决定分类还是回归。那其他3个呢?(尤其是#4 –我有10年中165个国家的面板数据)
Heisenberg 2014年

在2中,我正在考虑将类别变量作为输入。该算法的最终决定取决于您要解决的问题。现在有办法知道这一点。在2中,决策树可能会为您提供帮助。在3中,您必须注意过度拟合。在4中,您必须决定如何评估自己的表现。仅当您解释一个特定问题时,我们才能帮助您决定使用哪种算法。
Donbeo 2014年

我已对问题进行了编辑,以获取有关特定问题的更多详细信息。
海森堡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.