【机器学习】太棒了!8 个开源自动化机器学习框架,轻松搞定机器学习!
自動化機器學習(AutoML)可以幫助機器學習管道中的某些關鍵組件實現自動化。其中機器學習管道包括數據理解、數據工程、特征工程、模型訓練、超參數調整、模型監控等。
在這篇文章中,我將分享 8 個開源的 autoML 框架:
Auto-Sklearn
TPOT
Auto-ViML
H2O AutoML
Auto-Keras
MLBox
Hyperopt Sklearn
AutoGluon
1、Auto-Sklearn
Auto-sklearn 是基于 scikit-learn 軟件包構建的開源 AutoML 庫。它為給定的數據集找到最佳性能的模型以及最佳的超參數集。它包括一些特征工程技術,例如單點編碼,特征歸一化,降維等。該庫使用 Sklearn 估計器來處理分類和回歸問題。
Auto-sklearn 庫適用于中小型數據集,不適用于大型數據集。
安裝方法
pip?install?autosklearn實用示例
import?autosklearn.classification cls?=?autosklearn.classification.AutoSklearnClassifier() cls.fit(X_train,?y_train) predictions?=?cls.predict(X_test)2、TPOT
TPOT 是開源的 python AutoML 工具,可使用遺傳編程來優化機器學習管道。TPOT 體系結構的數據流可以在下圖中觀察到。數據清理不在 TPOT 體系結構之內,也就是說,處理缺失值,將數據集轉換為數值形式應由數據科學家處理。
安裝方法
pip?install?tpot實用示例
from?tpot?import?TPOTClassifier from?sklearn.datasets?import?load_digits from?sklearn.model_selection?import?train_test_splitdigits?=?load_digits() X_train,?X_test,?y_train,?y_test?=?train_test_split(digits.data,?digits.target,train_size=0.75,?test_size=0.25,?random_state=42)tpot?=?TPOTClassifier(generations=5,?population_size=50,?verbosity=2,?random_state=42) tpot.fit(X_train,?y_train) print(tpot.score(X_test,?y_test)) tpot.export('tpot_digits_pipeline.py')鏈接
https://github.com/EpistasisLab/tpot3、Auto-ViML
Auto-ViML代表自動變體實現機器學習。TPOT AutoML工具的局限性在于它需要數字格式的數據集。任何遺漏的值處理和數據清理工作都應在TPOT實施之前完成。
AutoViML可以解決此問題,因為它可以對數據集進行編碼,特征選擇和其他數據清理活動。AutoViML相對比TPOT更快,并會生成多個圖形結果以及模型選擇和超參數優化。
安裝方法
pip?install?autoviml實用示例
from?autoviml.Auto_ViML?import?Auto_ViML model,?features,?trainm,?testm?=?Auto_ViML(train,target,test,sample_submission,hyper_param="GS",feature_reduction=True,scoring_parameter="weighted-f1",KMeans_Featurizer=False,Boosting_Flag=False,Binning_Flag=False,Add_Poly=False,Stacking_Flag=False,Imbalanced_Flag=False,verbose=0, )4、H2O AutoML
H2O AutoML是 H2O 開發的框架,可用于使機器學習工作流程自動化,包括在指定時限內自動進行模型訓練和模型的超參數調整。
H2O AutoML 工具可以進行數據預處理,例如數字編碼,缺失值插補和其他預處理工作流程。最后,它會自動進行模型選擇和超參數調整,并以模型的排行榜視圖及其性能返回。AutoML還提供了隨時可用的部署代碼。
安裝方法
要安裝h2o,需要一個Java運行環境,因為h2o是用Java開發的。
!apt-get?install?default-jre !java?-version !pip?install?h2o實用示例
import?h2o from?h2o.automl?import?H2OAutoML aml?=?H2OAutoML(max_models?=?10,?seed?=?10,?exclude_algos?=?["StackedEnsemble",?"DeepLearning"],?verbosity="info",?nfolds=0) aml.train(x?=?x,?y?=?y,?training_frame?=?churn_train,?validation_frame=churn_valid)5、Auto-Keras
Auto-Keras 是基于深度學習框架 Keras 構建的開源 AutoML 庫,該框架是由 Texas A&M University 的 Datalab 團隊開發的。AutoKeras自動搜索深度學習模型的體系結構和超參數,并使用訓練數據對其進行訓練,最后返回性能最佳的深度學習模型。Auto-Keras遵循經典的Scikit-Learn API設計,因此易于使用。
安裝方法
pip3?install?autokeras實用示例
import?autokeras?as?ak clf?=?ak.ImageClassifier() clf.fit(x_train,?y_train) results?=?clf.predict(x_test)6、MLBox
MLBox 是功能強大的 AutoML python庫。它提供了以下功能:
快速讀取和分布式數據預處理/清理/格式化
高度可靠的功能選擇和泄漏檢測
高維空間中的精確超參數優化
最新的分類和回歸預測模型(深度學習,堆棧,LightGBM等)
用模型解釋進行預測
安裝方法
pip?install?mlbox ##?or brew?install?libomp實用示例
from?mlbox.preprocessing?import?* from?mlbox.optimisation?import?* from?mlbox.prediction?import?* paths?=?['train.csv',?'test.csv']?#to?modify target_name?=?"target"?#to?modify data?=?Reader(sep=",",?header?=?0,?to_hdf5?=?True,?to_path?=?'save',?verbose?=?True).train_test_split(Lpath?=?paths,?target_name?=?target_name)??#reading7、Hyperopt Sklearn
HyperOpt-Sklearn 包裝了 HyperOpt 庫,該庫是用于貝葉斯優化的開源Python庫。它設計用于具有大量超參數的模型的大規模優化,并允許優化過程跨多個內核和多臺機器進行縮放。它允許自動搜索數據準備方法,機器學習算法以及用于分類和回歸任務的模型超參數。
安裝方法
pip?install?hyperopt實用示例
from?hpsklearn?import?HyperoptEstimator,?sgd from?hyperopt?import?hp import?numpy?as?npsgd_penalty?=?'l2' sgd_loss?=?hp.pchoice(’loss’,?[(0.50,?’hinge’),?(0.25,?’log’),?(0.25,?’huber’)]) sgd_alpha?=?hp.loguniform(’alpha’,?low=np.log(1e-5),?high=np.log(1))estim?=?HyperoptEstimator(classifier=sgd(’my_sgd’,?penalty=sgd_penalty,?loss=sgd_loss,?alpha=sgd_alpha)) estim.fit(X_train,?y_train)8、AutoGluon
AutoGluon 是為 AWS 開源的深度學習工作負載而開發的 autoML 框架。與其他僅支持表格數據的autoML庫不同,它還支持圖像分類,對象檢測,文本以及跨圖像的實際應用程序。
適用于ML初學者和專家,AutoGluon具有如下特點:
用幾行代碼為您的數據找到深度學習解決方案
自動超參數調整,模型選擇/架構搜索以及數據處理
改進現有的定制模型和數據管道
安裝方法
pip?install?mxnet pip?install?autogluon實用示例
import?autogluon?as?ag import?pandas?as?pd import?numpy?as?np import?os,urllib from?autogluon?import?TabularPrediction?as?task BASE_DIR?=?'/tmp' OUTPUT_FILE?=?os.path.join(BASE_DIR,?'churn_data.csv') churn_data=urllib.request.urlretrieve('https://raw.githubusercontent.com/srivatsan88/YouTubeLI/master/dataset/WA_Fn-UseC_-Telco-Customer-Churn.csv',?OUTPUT_FILE) churn_master_df?=?pd.read_csv(OUTPUT_FILE) size?=?int(0.8*churn_master_df.shape[0]) train_df?=?churn_master_df[:size] test_df?=?churn_master_df[size:] train_data?=?task.Dataset(df=train_df) test_data?=?task.Dataset(df=test_df) predictor?=?task.fit(train_data=train_data,?label=label_column,?eval_metric='accuracy')總結
在本文中,我分享來 8 個開源的AutoML庫,這些庫可以自動執行重復任務,例如超參數調整和模型選擇,以加快數據科學家的工作。
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【机器学习】太棒了!8 个开源自动化机器学习框架,轻松搞定机器学习!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11关机后自动开机怎么办 Win1
- 下一篇: Win11怎么设置电脑开机密码和锁屏密码