前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这5个机器学习项目你不可错过!(附代码)

这5个机器学习项目你不可错过!(附代码)

作者头像
数据派THU
发布2018-07-30 10:29:35
4100
发布2018-07-30 10:29:35
举报
文章被收录于专栏:数据派THU数据派THU

作者:Matthew Mayo, KDnuggets

翻译:笪洁琼,和中华

校对:丁楠雅

本文共2299字,建议阅读6分钟。 本文将给大家介绍五个十分可怕但还鲜为人知的机器学习项目,囊括了一些潜在的机器学习的新想法。

以下是5个新的机器学习或与机器学习有关的项目,你可能还没有听说过,但是你不能错过!

本文将给大家介绍五个十分可怕但还鲜为人知的机器学习项目,囊括了一些潜在的机器学习的新想法。它们基本都是Python项目。我并不是故意这么选的,但毫无疑问有我自己偏好的影响在里面。以前我也介绍过许多各种各样的项目(R、Go、C++、Scala、Java等)。

我承诺很快会出一个R版的,并在评估这些项目时使用一些外部帮助(我得承认我不是很适应R生态)。

1. Live Loss Plot

不要闭着眼睛训练深度学习模型!要有耐心地去观察你的每一期训练!

这是一个由Piotr migdaet al提供的开源Python库,可以在Jupyter Notebook中为Keras、PyTorch和其他框架提供训练损失图像。当使用Keras时,Live Loss Plot是一个简单的回调函数。

代码如下:

代码语言:javascript
复制
from livelossplot import PlotLossesKeras
 
model.fit(X_train, Y_train,
          epochs=10,
          validation_data=(X_test, Y_test),
          callbacks=[PlotLossesKeras()],
          verbose=0)

2. Parfit

这个项目来自Jason Carpenter,他是旧金山大学数据科学硕士研究生,同时也是一名机器学习工程师。这个库可以将sklearn机器学习模型的拟合和评分情况并行化和可视化。一旦导入,您可以自由地使用bestFit()或其他函数。

代码如下:

代码语言:javascript
复制
from parfit import bestFit # Necessary if you wish to use bestFit
 
# Necessary if you wish to run each step sequentially
from parfit.fit import *
from parfit.score import *
from parfit.plot import *
from parfit.crossval import *
 
grid = {
    'min_samples_leaf': [1, 5, 10, 15, 20, 25],
    'max_features': ['sqrt', 'log2', 0.5, 0.6, 0.7],
    'n_estimators': [60],
    'n_jobs': [-1],
    'random_state': [42]
}
paramGrid = ParameterGrid(grid)
 
best_model, best_score, all_models, all_scores = bestFit(RandomForestClassifier(), paramGrid,
                                           X_train, y_train, X_val, y_val, # nfolds=5 [optional, instead of validation set]
                                           metric=roc_auc_score, greater_is_better=True, 
                                           scoreLabel='AUC')
 
print(best_model, best_score)

3. Yellowbrick

Yellowbrick是以一个“促进机器学习模型选择的可视化分析和诊断工具”。更确切地,Yellowbrick是一套视觉诊断的可视化工具,它扩展了scikit-learn API,以引导人们选择模型。简单地说,Yellowbrick将scikit-learn与matplotlib结合在一起,这是scikit-learn文档的传统优点,但它可以为您的模型生成可视化!

请参阅Github上的示例以及更多详细的文档。

4. textgenrnn

textgenrnn为文本生成任务带来了额外的抽象层,旨在让您“轻松在任何文本数据集上仅用几行代码就训练自己的文本生成神经网络”。

该项目建立在Keras上,并拥有以下功能:

  • 一种新的神经网络架构,利用新技术作为注意力加权和跳跃嵌入来加速训练模型和提高模型质量。
  • 能够在字符级或文字级上训练并生成文本。
  • 能够配置RNN大小,RNN的层数,以及是否使用双向RNN。
  • 能够在任何输入文本文件上进行训练,甚至包括大型文件。
  • 能够在GPU上训练模型,然后用它们来生成含有CPU的文本。
  • 能够在GPU上使用强大的CuDNN实现RNN,与典型的LSTM实现相比,这将大大加快训练时间。

Textgenrnn很容易上手及运行。

代码如下:

代码语言:javascript
复制
from textgenrnn import textgenrnn
 
textgen = textgenrnn()
textgen.train_from_file('hacker-news-2000.txt', num_epochs=1)
textgen.generate()

您可以在上面链接的Github项目中找到更多信息。

5. Magnitude

Magnitude是一个快速、简单的矢量嵌入实用程序库。它是由Plasticity开发的一个功能丰富的Python库和矢量存储文件格式,以快速、高效、简单地进行机器学习模型中的矢量嵌入。它主要是为Gensim提供一个更简单和更快的替代方案,但也可以用作NLP之外的领域的通用密钥矢量存储。repo提供了各种流行的嵌入模型的链接,这些模型已经以量级的格式做好了准备,还包括将任何其他的单词嵌入文件转换成相同格式的指令。

如何导入?

代码语言:javascript
复制
from pymagnitude import *
vectors = Magnitude("/path/to/vectors.magnitude")

Github repo中有更多信息,包括你熟悉的使用这个简化的库来做预先训练的单词嵌入。

原文链接:

https://www.kdnuggets.com/2018/06/5-machine-learning-projects-overlook-jun-2018.html

译者简介

笪洁琼,中南财大MBA在读,目前研究方向:金融大数据。目前正在学习如何将py等其他软件广泛应用于金融实际操作中,例如抓包预测走势(不会预测股票/虚拟币价格)。可能是金融财务中最懂建筑设计(风水方向)的长腿女生。花式调酒机车冲沙。上赛场里跑过步开过车,商院张掖丝路挑战赛3天徒步78公里。大美山水心欲往,凛冽风雨信步行。

和中华,留德软件工程硕士。由于对机器学习感兴趣,硕士论文选择了利用遗传算法思想改进传统kmeans。目前在杭州进行大数据相关实践。加入数据派THU希望为IT同行们尽自己一份绵薄之力,也希望结交许多志趣相投的小伙伴。

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派THU ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档