あなたが見逃してはいけない5つのpython機械学習プロジェクト

  • 2018.08.24
  • AI
あなたが見逃してはいけない5つのpython機械学習プロジェクト

1.あなたが見逃してはいけない5つのpython機械学習プロジェクトまとめ

・メジャーになりつつあるPythonの機械学習系ライブラリ5選まとめ
・視覚化、自然言語作成、embeddingの3種より5ライブラリ
・使い勝手は工夫されているものが多いので試してみるのも良いかも

2.最近注目されているpythonの機械学習ライブラリ5選

以下、www.kdnuggets.comより「5 Machine Learning Projects You Should Not Overlook, June 2018」の意訳です。

あなたがまだ聞いたことのない機械学習や機械学習関連の5つのプロジェクトを新たに追加しました。試してみてください。

(1) Live Loss Plot

ディープラーニングの学習過程を視覚化せずに学習しないでください!それぞれのepoch(学習単位)でどのような変化があるのか見てみましょう

・Keras、PyTorchおよびその他のフレームワークで使えます。
・Jupyter Notebookでも各学習の効果を視覚化できます。
・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

Sklearnの学習モデルのフィットとスコアを柔軟にビジュアル化するためのパッケージです。

インポートすると、bestFitやその他の関数を自由に使用できビジュアル化できます。

from parfit import 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はpythonで伝統的に良く使われるscikit-learnとmatplotlibのコンビを組み合わせて、貴方のモデルの視覚化を実現します。

githubのYellowbrickのレポジトリを見てみてください。

(4)textgenrnn

textgenrnnは、テキスト生成タスクに抽象的なレイヤーを追加し、「数行のコードで任意のサイズと任意の複雑さのテキストを作成するニューラルネットワークを任意のテキストデータセット上で簡単に訓練する」ことを目標にしています。

・新しい手法であるattention-weightingとskip-embeddingを使用して学習を加速し、モデルの品質を向上させる最新のニューラルネットワークアーキテクチャ
・キャラクターレベルまたは単語レベルで学習してテキストを生成することが可能
・RNNのサイズ、レイヤ数、および双方向RNNを使用有無を設定可能
・巨大ファイルを含む様々なテキストを使って学習可能
・GPUを使って学習させ、CPUを使用してテキスト生成する事が可能
・GPUで学習させた場合、RNNの強力なCuDNN実装を利用することができ、学習時間を大幅に短縮する事ができます、これは一般的なLSTMの実装とは対照的です。

from textgenrnn import textgenrnn

textgen = textgenrnn()
textgen.train_from_file(‘hacker-news-2000.txt’, num_epochs=1)
textgen.generate()

(5)Magnitude

Magnitudeは早く、シンプルなvector embeddingのライブラリーです。

MagnitudeはPlasticityによって開発され、高速、効率的、かつ簡単に機械学習でvector embeddingを扱う事ができる、特徴量の操作とベクトル保存のためのPythonパッケージです。

これは、主に簡単で高速に動作するためGensimの代替手段ですが、NLP以外の用途の汎用ベクトル保存にも使用できます。レポジトリには様々な人気の高いembedding modelsを共通フォーマットで保存されており、解説文書と共に使用できます。

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

 

3.あなたが見逃してはいけない5つのpython機械学習プロジェクト関連リンク

1)kdnuggets.com
5 Machine Learning Projects You Should Not Overlook, June 2018

2)scikit-yb.org
Yellowbrick: Machine Learning Visualization