你不該該忽略的五個機器學習項目一覽

    隨着人工智能和深度學習的興起,網絡上存在的學習資源以及開源項目也愈來愈多。本文精選了的五個項目,都含有潛在新的機器學習想法,且全都是用Python實現。下面簡單介紹
       下這五個項目,感興趣的能夠本身上手復現一下,說不定會對本身的項目產生一些新的想法。git

1.實時損失曲線圖(Live Loss Plot)

 

1


       在訓練模型的時候最好不要只關注最終的結果,耐心觀察整個訓練過程,查看每一個epoch的訓練結果,弄清楚模型的訓練曲線是否正常,是否出現過擬合等現象。
       PiotrMigdał等人開發了一個Python源代碼包,能夠爲Keras,PyTorch和其餘框架提供實時訓練損失的曲線。
       當使用的是Keras深度學習框架時,實時損失曲線圖能夠簡單地經過如下回調函數調用:github

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結合在一塊兒,且具備模型生成可視化的效果。dom

相關文章
相關標籤/搜索