0

许多机器学习比赛都在 Kaggle 举行,其中给出了一个训练集和一组特征以及一个测试集,其输出标签将通过使用训练集来决定。

很明显,这里的监督学习算法,如决策树、SVM 等都是适用的。我的问题是,我应该如何开始处理这些问题,我的意思是是否从决策树或 SVM 或其他算法开始,或者是否有任何其他方法,即我将如何决定?

4

3 回答 3

3

所以,在阅读您的帖子之前,我从未听说过 Kaggle——非常感谢,它看起来很棒。在浏览他们的网站后,我找到了可以很好地指导您的部分。在比赛页面(点击所有比赛)上,您会看到Digit RecognizerFacial Keypoints Detection,这两个都是比赛,但出于教育目的,提供了教程(目前还没有用于面部关键点检测的教程,因为比赛还处于起步阶段,除了一般的论坛,比赛也有论坛,我想这很有帮助。

如果您对机器学习的数学基础感兴趣,并且对它比较陌生,我建议您使用贝叶斯推理和机器学习。这不是小菜一碟,但它比同行友好得多,而且不失严谨。

编辑: 我在 Kaggle 上找到了教程页面,这似乎是他们所有教程的摘要。此外,python 库scikit-learn提供了大量机器学习算法的描述/解释。

于 2013-07-18T06:51:17.957 回答
2

这个备忘单http://peekaboo-vision.blogspot.pt/2013/01/machine-learning-cheat-sheet-for-scikit.html是一个很好的起点。根据我的经验,同时使用几种算法通常可以得到更好的结果,例如逻辑回归和支持向量机,其中每个算法的结果都有预定义的权重。并测试,测试,测试;)

于 2013-07-18T20:13:00.910 回答
1
  1. 数据挖掘没有免费的午餐。在您尝试很多方法之前,您不会知道哪种方法效果最好。

  2. 话虽如此,数据挖掘的可理解性和准确性之间也存在权衡。决策树和 KNN 往往易于理解,但不如 SVM 或随机森林准确。Kaggle 寻求高准确性而不是可理解性。

  3. 它还取决于属性的数量。一些学习器可以处理许多属性,如 SVM,而另一些学习器处理许多属性时速度较慢,如神经网络。

  4. 你可以使用 PCA 来减少属性的数量,这在几场 Kaggle 比赛中都有帮助。

于 2013-07-18T07:53:37.390 回答