我有一个网站一年的数据。我想训练一种机器学习算法来根据某些变量(例如字数、发布时间等)预测新内容的成功
我想获取一条新数据,输入它的某些特征,并获得它在网站上表现如何的概率。
此外,我想继续将 future 的数据添加到训练集中,并不断训练算法以随着时间的推移变得更加智能。
我的问题是:我应该如何使用 scikit-learn 来完成此任务?
最佳答案
你面临的是二元分类问题,即你必须决定给定的输入是否好。
尝试不同的回归算法,scikits-learn 使切换算法变得非常容易,让您可以看到哪些有效,哪些无效。
从我的想法来看,以下是我会尝试的一些方法:
- 支持向量机
- 随机森林(scikits 中的随机树森林)
- 回归(岭回归、套索回归、IRLS、逻辑回归)
- 朴素贝叶斯
- k 个最近邻居
如何评估给定方法的质量?使用交叉验证(如果有足够的数据,则进行 10 倍验证,否则进行 5 倍验证)。 scikits-learn 手册中有一个完整的部分 (5.1) 专门讨论此问题。
向训练集中添加新数据需要重新训练您的模型。根据您手头的计算能力,这可能会或可能不会成为问题。如果您有很多示例,添加一个不会有太大变化,因此请务必使用一些新示例重新训练您的算法。这将节省计算时间。
使用训练集的算法称为离线算法。另一方面,在线算法每次出现新的例子时都会进行学习。如果您确实需要这个,请尝试在线方法,例如 k 最近邻居。
如果您需要示例代码,scikit-learn 文档非常有帮助: -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
关于machine-learning - 使用 scikit learn 预测网站上的优质内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392597/