机器学习哪种算法可供选择

时间:2017-04-28 03:28:36

标签: python machine-learning data-science

我正在尝试根据用户意图为用户构建文章推荐系统。每个用户都会选择一个意图。例如:

1-过上健康的生活

2-轻松愉快

3-找工作

4-了解技术

等。我已经说过20个这样的意图了。我从几个博客&中删除了网页内容网站及其链接。我建议根据选择的意图建议用户的相关链接。 问题:

我认为这可以通过无监督的机器学习算法得到最好的解决。这是正确的方法吗?

解决此问题的可能步骤(需要考虑可扩展性)或algorthms或最佳工具 (我更喜欢python)?我发现genisim库适合这个吗?

4 个答案:

答案 0 :(得分:2)

所有评论都是对这一点的答案是正确的:没有办法指定"最佳"模型一开始。我正在添加这个答案,指出对此背后原因的非技术性讨论:No Free Lunch Theorem for Machine Learning,以及数学讨论here

希望这些链接对以后遇到此问题的人有用。

答案 1 :(得分:1)

一般来说,除非是非常特殊的用例,否则没有人可以推荐“最佳”算法。

深入思考变量与数据之间的关系。正确的算法要么是明确的,要么是需要实验。没有人能告诉你该用什么。

答案 2 :(得分:1)

正如@Root所说,许多其他人已经证明他们不是唯一适用于所有情况的最佳算法

您必须构建模型并评估/调整/优化它们并测量它们的准确性。使用具有最高精度的单一算法(您还可以考虑性能,可伸缩性,易于实现的参数)或算法混合(模型集合)作为首选模型。

出现问题,我认为神经网络是这种推荐的算法之一,易于入手。稍后您还可以查找分类树,深度学习等。

我希望这有助于开始。

答案 3 :(得分:0)

首先,你需要了解你在寻找什么,因此要理解问题/目标。你想弄清楚什么?然后非常具体地写下来然后把它变成统计问题。对于前者我希望明天可能下雨。 1)如果您试图预测目标值,那么请去监督学习。 2)如果没有,那么无监督学习。 3)你有什么价值观?离散,分类? 4)如果您正在寻找是/否类型的答案,那么请进行分类。 5)如果目标值可以是任何数字,那么去回归。 6)如果您没有尝试预测目标值,那么您可以选择无监督学习。 7)您是否尝试将某些值放入离散组中,然后进行聚类。 8)如果你想知道拟合的强度,那么使用密度估计算法。

阅读使用Python / R进行统计学习和机器学习的元素。快乐学习!