使用scikit学习预测网站上的好内容

时间:2012-05-01 01:44:39

标签: machine-learning scikit-learn prediction

我有一年的网站数据。我想训练机器学习算法,根据某些变量(例如,单词数量,发布时间等)预测新内容的成功。

我想提取一些新数据,输入一些有关它的特征,并获得它在网站上的效果概率。

此外,我希望继续将未来的数据添加到训练集中,并不断训练算法,以便随着时间的推移变得更聪明。

我的问题是:我应该如何使用scikit-learn来实现这一目标?

1 个答案:

答案 0 :(得分:3)

你所拥有的是二元分类问题,即你必须决定给定的输入是否良好。

尝试不同的回归算法,scikits-learn使得切换算法变得非常容易,让您可以看到哪些有效,哪些无效。

从我的脑海中,我尝试了一些方法:

  • SVM
  • 随机森林(scikits随机树林)
  • 回归(Ridge,Lasso,IRLS,logistic)
  • 朴素贝叶斯
  • k最近邻居

如何评估给定方法的质量?使用交叉验证(如果您有足够的数据,请执行10次,否则执行5次)。有一个专门用于此的scikits-learn手册的完整部分(5.1)。

向训练集添加新数据需要重新训练模型。根据您手头的计算能力,它可能是也可能不是问题。如果您有很多示例,添加一个示例不会有太大变化,因此请务必使用一些新示例重新训练您的算法。这将节省计算时间。

使用训练集的算法称为离线算法。另一方面,在线算法每次呈现一个新的例子时都会学习。如果您确实需要这个,请尝试在线方法,例如k个最近邻居。

如果您需要示例代码,scikit-learn doc非常有用: - 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