你不应该忽略的五个机器学习项目一览

简介: 本文介绍5个新的机器学习项目,这些项目你可能还没有听说过,但确实对项目开发有所帮助,感兴趣的读者可以动手实践一下。

       随着人工智能和深度学习的兴起,网络上存在的学习资源以及开源项目也越来越多。本文精选了的五个项目,都含有潜在新的机器学习想法,且全都是用Python实现。下面简单介绍
       下这五个项目,感兴趣的可以自己上手复现一下,说不定会对自己的项目产生一些新的想法。

1.实时损失曲线图(Live Loss Plot)

1


       在训练模型的时候最好不要只关注最终的结果,耐心观察整个训练过程,查看每个epoch的训练结果,弄清楚模型的训练曲线是否正常,是否出现过拟合等现象。
       PiotrMigdał等人开发了一个Python源代码包,可以为Keras,PyTorch和其他框架提供实时训练损失的曲线。
       当使用的是Keras深度学习框架时,实时损失曲线图可以简单地通过以下回调函数调用:
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开发,他是旧金山大学数据科学专业的硕士,目前是Manifold的机器学习实习生。
       该项目是用于并行化Sklearn机器学习模型的拟合和灵活评分的数据包,具有可视化的功能。一旦导入该数据包,就可以自由使用bestFit()或其他功能。

2


代码示例:
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是一套名为“展示台(Visualizers)”的视觉诊断工具,它扩展了scikit-learn API,以便人为地指导模型选择过程。简而言之,Yellowbrick将scikit-learn与matplotlib结合在一起,且具有模型生成可视化的效果。

3


        可以在这里查看Github代码示例以及使用文档介绍。

4.textgenrnn

       textgenrnn为文本生成任务带来了一个额外的抽象层,目的是用几行代码就可以轻松地在任何文本数据集上训练任意大小和复杂的文本生成神经网络。
       该项目建在Keras深度学习框架之上,拥有以下选择功能:

  • 一种现代神经网络架构,利用新技术作为注意力加权和跳跃嵌入来加速培训并* 提高模型质量;
  • 能够在字符级或字级上训练并生成文本;
  • 能够配置RNN大小,RNN层数量以及是否使用双向RNN;
  • 能够训练任何通用输入文本文件,包括比较大的文件;
  • 能够在GPU上训练模型,然后可以用CPU生成文本;
  • 能够在GPU上训练时利用强大的CuDNN实现RNN,与典型的LSTM实现相比,大大加快了训练时间;
           Textgenrnn非常容易启动和运行,代码如下:
from  textgenrnn import textgenrnn 
textgen = textgenrnn()
textgen.train_from_file('hacker-news-2000.txt', num_epochs=1)
textgen.generate()

4


        可以在Github上找到更多信息和示例。

5.Magnitude

       Magnitude是一个快速、简单的矢量嵌入实用程序库。它也是一种功能丰富的Python软件包和矢量存储文件格式。通过Plasticity以快速、高效的方式开发机器学习模型。它主要是为Gensim提供一个更简单、更快捷的替代方案,但也可以用作NLP之外域的通用关键向量存储。
       该项目提供了各种流行的嵌入模型的链接,这些嵌入模型已经以.magnitude格式准备好以供使用,还包括将任何其他文字嵌入文件转换为相同格式的说明。
       使用以下代码可以将其导入:

from pymagnitude import *
vectors = Magnitude("/path/to/vectors.magnitude")

       此外,Github上有更多的信息,包括熟悉的用于使用预先训练的简化库的起步和运行的所有信息。
       以上是五个器学习或机器学习相关的项目简介,你可能还没有听说过,但可能要考虑要动手实践一下,部分项目可能会对你此时的项目有所帮助。

数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

作者信息

Matthew Mayo,机器学习研究者
个人主页:http://www.linkedin.com/in/mattmayo13/
本文由阿里云云栖社区组织翻译。
文章原标题《5 Machine Learning Projects You Should Not Overlook, June 2018》,译者:海棠,审校:Uncle_LLD。
文章为简译,更为详细的内容,请查看原文

相关文章
|
2月前
|
机器学习/深度学习 人工智能 前端开发
机器学习PAI常见问题之web ui 项目启动后页面打不开如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
2月前
|
机器学习/深度学习 数据采集 监控
大模型开发:描述一个典型的机器学习项目流程。
机器学习项目涉及问题定义、数据收集、预处理、特征工程、模型选择、训练、评估、优化、部署和监控。每个阶段都是确保模型有效可靠的关键,需要细致操作。
26 0
|
4月前
|
TensorFlow 算法框架/工具 开发工具
使用 TensorFlow 构建机器学习项目:6~10(3)
使用 TensorFlow 构建机器学习项目:6~10(3)
25 0
|
5月前
|
机器学习/深度学习 数据可视化 数据挖掘
【机器学习实训项目】黑色星期五画像分析
【机器学习实训项目】黑色星期五画像分析
67 0
|
4月前
|
TensorFlow 算法框架/工具 Docker
使用 TensorFlow 构建机器学习项目:6~10(2)
使用 TensorFlow 构建机器学习项目:6~10(2)
47 0
|
4月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用 TensorFlow 构建机器学习项目:6~10(1)
使用 TensorFlow 构建机器学习项目:6~10
22 0
|
4月前
|
机器学习/深度学习 算法 TensorFlow
使用 TensorFlow 构建机器学习项目:1~5
使用 TensorFlow 构建机器学习项目:1~5
202 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习实战项目】10分钟学会Python怎么用支持向量机SVM进行分类预测(三)
【机器学习实战项目】10分钟学会Python怎么用支持向量机SVM进行分类预测(三)
169 0
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
【机器学习实训项目】黑色星期五画像分析
本项目旨在利用Jupyter编程来分析和呈现黑色星期五购物季的消费行为和趋势。通过对大量的购物数据进行统计和可视化分析,我们将揭示黑色星期五的消费者画像和购物模式。
74 0
|
9月前
|
机器学习/深度学习 存储 算法
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
【机器学习实战项目】10分钟学会Python怎么用LDA线性判别模型进行分类预测(五)
155 0