2012-05-01 39 views
3

我有一年的网站数据价值。我想训练机器学习算法来预测基于某些变量(例如,字数,发帖时间等)的新内容的成功。使用scikit学习预测网站上的好内容

我想采取一项新的数据,输入关于它的某些特征,并获得它在网站上做得如何的概率。此外,我想继续将未来的数据添加到训练集中,并不断训练算法以随着时间的推移变得更加智能。

我的问题是:我应该如何使用scikit-learn来完成这个任务?

回答

3

你有什么是二元分类问题,即你必须决定一个给定的输入是否好。

尝试不同的回归算法,scikits-learn使切换算法变得非常简单,让您看到哪些是有效的,哪些不是。

从我的头顶,这里有一些方法,我想尝试:

  • SVM
  • 随机森林
  • 回归(岭,套索,IRLS(森林scikits随机树) ,物流)
  • 朴素贝叶斯
  • k个最近邻

如何评估给定方法的质量?使用交叉验证(如果您有足够的数据,则进行10次,否则进行5次)。这里有完整的(5.1)scikits-learn手册。

将新数据添加到训练集需要重新训练模型。根据您手边的计算能力,这可能会也可能不会成为问题。如果你有很多例子,添加一个例子不会有太大的改变,所以一定要用一些新的例子重新训练你的算法。这将节省计算时间。

使用训练集的算法称为离线算法。另一方面,在线算法学习每次他们提出一个新的例子。如果你真的需要这个,请尝试使用在线方法,如k最近的邻居。

如果需要实例代码,scikit学习文档是非常有帮助的: - http://scikit-learn.org/0.10/auto_examples/linear_model/logistic_l1_l2_sparsity.html#example-linear-model-logistic-l1-l2-sparsity-py - http://scikit-learn.org/0.10/modules/linear_model.html#ridge-regression

http://scikit-learn.org/0.10/user_guide.html

+1

而不是阅读文档0.10你应该阅读最新的稳定文档在http:/ /scikit-learn.org/stable/或开发版的文档,如果您从github托管的主分支构建scikit-learn:http://scikit-learn.org/dev/ – ogrisel