2013-07-18 34 views
0

很多机器学习竞赛在Kaggle举行,其中一个训练集和功能集和测试集,给出其输出标签须根据决定通过利用训练集。如何处理机器学习编程竞赛

这是很清楚,在这里监督学习算法,如决策树,SVM等都是适用的。我的问题是,我应该如何着手解决这些问题,我的意思是从决策树或SVM或其他算法开始,还是有其他方法,即如何决定?

+1

虽然这是一个有趣的问题,这是主观和可能的题外话:-( – NPE

+1

有没有什么论坛,我可以发布这个问题,因为我对这样的比赛非常感兴趣 – Joy

+2

嗯,你可以在kaggle论坛上提出问题,毫无疑问,很多人会愿意给你一些建议,并且这是更合适的场地(尽管这是一个有趣的问题) – mvherweg

回答

3

所以,我从来没有听说过Kaggle,直到读您的文章 - 太感谢你了,它看起来真棒。在探索他们的网站时,我发现了一部分能够很好地指导你。在competitions page(点击所有比赛),你看Digit RecognizerFacial Keypoints Detection,这两者都是比赛,但在那里为教育目的,提供了教程(教程不适用于面部关键点检测的是,因为竞争是其除了一般的论坛,竞赛也有论坛,我想这是非常有帮助的。

如果你对机器学习的数学基础很感兴趣,而且对它比较陌生,可以建议Bayesian Reasoning and Machine Learning。这不是Cakewalk,但它比其他同行友好得多,没有严格的损失。

编辑: 我在Kaggle上找到了tutorials page,这似乎是他们所有教程的总结。另外,一个python库scikit-learn提供了大量机器学习算法的描述/解释。

+0

非常感谢:) – Joy

1
  1. 数据挖掘中有No Free Lunch。直到你尝试了很多方法,你才会知道哪些方法最好。

  2. 话虽这么说,也有在数据挖掘可理解性和准确性之间的权衡。决策树和KNN往往是可以理解的,但不如SVM或随机森林准确。 Kaggle在可理解性方面寻找高精度。

  3. 这也取决于属性的数量。一些学习者可以处理许多属性,如SVM,而其他学习者则可以处理很多属性,比如神经网络。

  4. 您可以通过使用PCA缩小属性的数量,这在几个Kaggle比赛中有所帮助。

2

该备忘录http://peekaboo-vision.blogspot.pt/2013/01/machine-learning-cheat-sheet-for-scikit.html是一个很好的起点。根据我的经验,同时使用多种算法通常可以给出更好的结果,例如logistic回归和svm,其中每个算法的结果都具有预定义的权重。和测试,测试,测试;)

+0

+1不错的链接!我是集体学习的狂热粉丝 - 随机森林真棒 - 或者你指的是对数据的不同部分*使用不同的算法,或者完全是其他的东西? –