2009-08-17 203 views
76

在Python中是否有推荐的机器学习包?我有以前在C++和MATLAB中实现各种机器学习和统计算法的经验,但在Python中完成了一些工作,我对Python的可用包感到好奇。在Python中是否有推荐的机器学习包?

+2

可能相关: http://stackoverflow.com/questions/1605854/what-is-the-best-artificial-library-for-python http://stackoverflow.com/questions/1798091/artificial -intelgence-library-in-python – sastanin 2009-12-27 16:21:49

+4

@ will,below:you are wrong ...没有违法,关闭此项目的决定既不具有建设性也不有用。 – lmsasu 2012-02-10 13:38:57

+0

@lmsasu:没有冒犯。如果我是社区,可以投票重新开放。或者更直接的行动是请求在Meta上重新开放。然而,我不认为它会得到任何结果,因为阻止这样的问题一直是一个长期的做法(当然,只要问题已经出现,当然,但你明白)。主要由非现场链接回答的列表/自行车/购物问题现在几乎立即关闭。 – Will 2012-02-10 14:08:39

回答

2

我不确定你是否确切地称这台机器学习,但nltk package贝叶斯风格的文本分类。您可以使用学习数据和测试数据来查看它是推断有关数据的规则。

+0

NLTK对文本挖掘更有用。 – riza 2009-08-18 04:29:52

10

一般的用户友好包是Orange - 有点像Weka或RapidMiner,如果你熟悉这些包的话。

除此之外,还有各种各样的包和工具包用于各种任务。您应该参考mloss上列出的Python包作为起点。

5

对于支持向量机,看看LibSVM,其中包括Python接口。

4

我给Orange一试。

它功能强大,但如果你仔细阅读文档,你会意识到作者有自己疯狂的Python编写风格。如果你对Python比较陌生,他的代码确实会变得很神秘,所以除非你熟悉Python,否则我不会推荐Orange。

0

如果您正在寻找神经网络,蟒蛇为fann结合是很容易使用,并配有工具来训练你的网络

94

还有scikit-learn(BSD,只依赖于numpy & scipy)。它包括各种监督学习算法,例如:基于libsvm的和线性与scipy.sparse绑定宽特征的数据集

  • 贝叶斯方法
  • 的HMM
  • L1和L1 + L2正规化回归方法

    • SVM又名Lasso和Elastic Net模型,用LARS和坐标下降算法实现

    它还具有无监督聚类算法,如:

    • k均值++
    • 均值漂移
    • 亲和力传播
    • 谱聚类

    以及其他工具如:

    • 文本内容特征提取器(令牌和焦炭n元语法+哈希矢量化器)
    • 单变量功能选择
    • 一个简单的管道工具
    • 的交叉验证策略,大量的实现
    • 性能指标评测和ploting(ROC曲线,AUC,混淆矩阵,...)
    • 网格搜索工具使用并行交叉验证执行超参数调整
    • 与joblib集成以在交互环境中工作时缓存部分结果(例如,使用ipython)

    每个算法的实现都附带sample programs,演示其在玩具数据或真实生活数据集上的用法。

    另外,官方的源代码库是hosted on github,所以请随时用交互式代码审查的常规拉取请求功能来贡献错误修正和改进。

  • 0

    SVMlight有时是LibSVM的方便替代品!不过,LibSVM也很棒。