机器学习选择哪种算法

Machine learning which algorithm to choose

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

1- 健康生活

2- 放松精神

3- 找工作

4- 了解技术

等我已经定义了 20 个这样的意图。我从一些博客和网站上删除了网络内容,它 links.I 需要根据意图 selected 向用户建议相关链接。 问题:

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

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

一般来说,没有人可以推荐 "best" 算法,除非在非常特殊的用例中。

深入思考变量与数据外观之间的关系。正确的算法要么一目了然,要么需要进行实验。没有人能告诉你该用什么。

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

您必须构建模型并 evaluate/tune/refine 它们并测量它们的准确性。使用精度最高的单一算法(您还可以考虑性能、可扩展性、易于实现的参数)或混合算法(模型集成)作为首选模型。

关于你的问题,我认为神经网络是这种推荐的算法之一,而且很容易上手。后面还可以找分类树,深度学习等

我希望这有助于开始。

关于这一点的所有评论和答案都是正确的:无法在一开始就指定 "best" 模型。我添加此答案是为了指出对此背后原因的非技术性讨论:No Free Lunch Theorem for Machine Learning, as well as a mathematical discussion here

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

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

使用 Python/R 阅读统计学习和机器学习的要素,了解更多信息。快乐学习!