经过一段时间的中断后,这些“忽视……”的帖子在本月卷土重来,继续进行适度的探索,以努力将难以应付的、鲜为人知的机器学习项目带给那些额外关注的目光。
对于一些潜在的、新的机器学习方法,请看以下的5个项目。
1. skift: 用于Python fastText 的scikit-learn 包装器
什么是 skift?
skift包括几个scikit-learn兼容包装器,用于fasttext Python包,以适配这些用例。
什么是fastText?
fasttext是为了有效的学习词语表示和语句分类的一个库。
fasttext只适用于文本数据,这意味着它将只使用一个单列,而这个单列来源于一个可能包含许多不同类型的特征列的数据集。例如,一个常见的用例是有个fasttext分类器,使用一个单列作为输入,并忽略其他的列。特别是当fasttext被用来作为在层叠分类器中的一个分类器的时候,和其它分类器一样使用非文本特征。
明白了fasttext是难题的重要一部分,但是一旦掌握了这种认识,skift帮助你轻松实现fasttext,一般来说也会把它与其它scikit-learn功能整合到一起。
>>> from skift import FirstColFtClassifier
>>> df = pandas.DataFrame([['woof', 0], ['meow', 1]], columns=['txt', 'lbl'])
>>> sk_clf = FirstColFtClassifier(lr=0.3, epoch=10)
>>> sk_clf.fit(df[['txt']], df['lbl'])
>>> sk_clf.predict([['woof']])
[0]
厌烦了没有用于PHP合适的机器学习替代品?你是一个受虐狂吗(如果你使用PHP,这本身就是答案)?那么,这个项目可能就是给你的!
PHP中机器学习的新途径。算法、交叉验证、神经网络、预处理、特征提取,尽在一个库。
当我还是个孩子的时候,我远离了PHP世界,不知道这是否有任何特殊的、迫切的需求;绝对可能有!除此之外,我一直对如何在不同编程语言环境中开展机器学习生态系统感兴趣。也许你也是,或者更重要的是,你实际上可能会使用一个看起来很初级的东西,作为 PHP开发者在机器学习方面一个有强有力的库。
虽然这在技术上不是它自己的项目,但我发现它重要的足以在这里表现的很突出。
通过在keras.wrappers.scikit_learn.py找到的包装器,你可以使用序列keras模型(仅是单输入)作为你的Scikit-Learn学习工作流。
类似于如何理解skift(以上所示)的基础项目是最重要的,这个难题的重要部分是用Keras来理解实现神经网络,本身就是一个高层次的API。能够将Keras与其它scikit-learn功能整合在一起,并能够使用熟悉的API和方法,正是这些包装器完成的。在官方keras GitHub库中找到的API。
如果你已经使用了Keras,这有一个很好的机会,不过对你来说已经不是新的了。如果你还没用,知道这种整合是可能的,那就足够让你看一看了。
梯度增强仍然是所有的疯狂。或者是一些疯狂,至少吧。一个最新进入梯度提高树舞台上的是CatBoost。
CatBoost的主要优势:
- 卓越的品质,与其它GBDT的库相比;
- 最好的推导速度;
- 支持数字和分类特征;
- 高速的GPU和多GPU(在一个节点上),以支持训练;
- 数据可视化工具;
Catboost在Python,R,还有命令行接口类型的语言中是可用的。点击这里查看教程,以及更多的完整文档
PyMC3是一个Python开发包,用于致力于先进的马尔可夫连锁蒙特卡洛拟合算法和变分的朴素贝叶斯统计模型和基于概率的机器学习。它的灵活性和可扩展性使它可应用于一大类的问题。
PyMC3 基于西雅娜项目,提供了:
- 计算优化与动态C编译;
- NumPy广播和高级索引;
- 线性代数运算符;
- 简单的可扩展性;
相关链接:
·以上为译文。
本文由阿里云云栖社区组织翻译。
文章原标题《5-machine-learning-projects-overlook-feb-2018》,
作者:Matthew Mayo译者:Mags,审校:袁虎。
文章为简译,更为详细的内容,请查看原文。