【问题标题】:Choosing Machine Learning Algorithm and tool选择机器学习算法和工具
【发布时间】:2012-01-28 20:07:29
【问题描述】:

我正在研究一个二元分类问题,即需要将我的数据分为两类。对于每个实体都提取了 5 个特征。

现在我想决定应该使用哪种算法。 另外我想知道什么是最方便的语言,它的库可能已经支持这个算法并且我可以实现它。

我只是 ML 的初学者。所以这可能是一个非常愚蠢的问题。但任何帮助都会很棒。

感谢和问候, 罗希特

【问题讨论】:

    标签: machine-learning computer-vision


    【解决方案1】:

    如果您不熟悉机器学习,则应该采取适度的方法来学习它。不要期望使用“最佳”算法(它不存在)。相反,找到一些关于机器学习的好资源,互联网上有很多免费信息,比如维基百科或讲义。或者,如果您需要更多结构,也有可用的书籍。所以考虑到这一点......

    1) 选择一个简单的分类算法开始。它不必是“最好的”,但它必须是一个你可以掌握的简单的。尝试使用更复杂的方法是没有意义的,因为如果它产生意外的输出,您将无法找出原因。也许从一个简单的聚类算法开始,例如k-means

    2) 选择您熟悉的语言/环境。许多地方都有基本的机器学习算法。数学家可能熟悉 Matlab 或 R。程序员可以在 Python、C、Java、Fortran 中找到库...如果您不熟悉任何统计软件包并且是编程新手,也许这会有所帮助 - https://stackoverflow.com/questions/335063/whats-the-easiest-way-to-learn-programming

    如果您不是机器学习新手并且已经熟悉几种方法,我建议您查看以下问题: When to choose which machine learning classifier?

    【讨论】:

      【解决方案2】:

      为了解决简单的分类问题,我建议使用逻辑回归。它易于理解和实施。您可以尝试更复杂的算法,例如支持向量机神经网络等。但是,请记住,在机器学习中,它通常不是您选择使用的算法,因为拥有一个良好的数据集和精心挑选的特征很重要。

      还有使用分类或聚类算法的问题。如果您有一个已经标记的数据集,我会建议分类。但是,如果您的数据集标记,则分类算法将不起作用,您将不得不使用聚类。 K-means 是一种简单但广泛使用且高效的解决方案。

      就语言/工具/环境/工具而言,如果您没有扎实的编程背景,我建议您使用 Octave、R 或 Matlab。如果你这样做了,试着用你最流利的语言找到一个好的库。我可以推荐一个好的、开源的 Java 机器学习库 - (Mahout)。

      最后,我推荐this斯坦福机器学习在线课程。它是免费的,适合初学者,并且不需要任何其他科学或工程领域的背景。

      【讨论】:

        【解决方案3】:

        如果你是机器学习的新手,你可以在斯坦福在线机器学习课(http://www.ml-class.org/)中查看一些机器学习算法。该课程非常实用,您可以学习一些基本的分类算法(例如逻辑回归、支持向量机、神经网络)。还提供了一些分类练习作业(在 octave/matlab 中)。还有一些实用的方法来开发分类系统。它可能会帮助你。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-01-01
          • 2011-07-21
          • 1970-01-01
          • 2011-08-01
          • 2020-01-25
          • 2018-10-01
          • 1970-01-01
          相关资源
          最近更新 更多