隨着人工智能和深度學習的興起,網絡上存在的學習資源以及開源項目也愈來愈多。本文精選了的五個項目,都含有潛在新的機器學習想法,且全都是用Python實現。下面簡單介紹
下這五個項目,感興趣的能夠本身上手復現一下,說不定會對本身的項目產生一些新的想法。git
在訓練模型的時候最好不要只關注最終的結果,耐心觀察整個訓練過程,查看每一個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)
該項目由Jason Carpenter開發,他是舊金山大學數據科學專業的碩士,目前是Manifold的機器學習實習生。
該項目是用於並行化Sklearn機器學習模型的擬合和靈活評分的數據包,具備可視化的功能。一旦導入該數據包,就能夠自由使用bestFit()或其餘功能。網絡
代碼示例:框架
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)
Yellowbrick是一款促進機器學習模型選擇的視覺分析和診斷工具。具體來講,Yellowbrick是一套名爲「展現臺(Visualizers)」的視覺診斷工具,它擴展了scikit-learn API,以便人爲地指導模型選擇過程。簡而言之,Yellowbrick將scikit-learn與matplotlib結合在一塊兒,且具備模型生成可視化的效果。dom