<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 如何在 Python 中使用 XGBoost 保存梯度提升模型 > 原文: [https://machinelearningmastery.com/save-gradient-boosting-models-xgboost-python/](https://machinelearningmastery.com/save-gradient-boosting-models-xgboost-python/) XGBoost 可用于使用梯度提升算法為表格數據創建一些表現最佳的模型。 經過訓練,將模型保存到文件中以便以后用于預測新的測試和驗證數據集以及全新數據通常是一種很好的做法。 在本文中,您將了解如何使用標準 Python pickle API 將 XGBoost 模型保存到文件中。 完成本教程后,您將了解: * 如何使用 pickle 保存并稍后加載訓練有素的 XGBoost 模型。 * 如何使用 joblib 保存并稍后加載訓練有素的 XGBoost 模型。 讓我們開始吧。 * **2017 年 1 月更新**:已更新,以反映 scikit-learn API 版本 0.18.1 中的更改??。 * **更新 March / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![How to Save Gradient Boosting Models with XGBoost in Python](https://img.kancloud.cn/a1/e6/a1e6b2bf6a39f93e5b0226489d29b743_640x383.jpg) 如何在 Python 中使用 XGBoost 保存梯度提升模型 照片來自 [Keoni Cabral](https://www.flickr.com/photos/keoni101/5334841889/) ,保留一些權利。 ## 使用 Pickle 序列化您的 XGBoost 模型 Pickle 是在 Python 中序列化對象的標準方法。 您可以使用 [Python pickle API](https://docs.python.org/2/library/pickle.html) 序列化您的機器學習算法并將序列化格式保存到文件中,例如: ```py # save model to file pickle.dump(model, open("pima.pickle.dat", "wb")) ``` 稍后您可以加載此文件以反序列化模型并使用它來進行新的預測,例如: ```py # load model from file loaded_model = pickle.load(open("pima.pickle.dat", "rb")) ``` 以下示例演示了如何在 [Pima 印第安人糖尿病數據集](https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes)上訓練 XGBoost 模型,將模型保存到文件中,然后加載它以進行預測(更新:[從此處下載](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv) )。 完整性代碼清單如下所示。 ```py # Train XGBoost model, save to file using pickle, load and make predictions from numpy import loadtxt import xgboost import pickle from sklearn import model_selection from sklearn.metrics import accuracy_score # load data dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",") # split data into X and y X = dataset[:,0:8] Y = dataset[:,8] # split data into train and test sets seed = 7 test_size = 0.33 X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, Y, test_size=test_size, random_state=seed) # fit model no training data model = xgboost.XGBClassifier() model.fit(X_train, y_train) # save model to file pickle.dump(model, open("pima.pickle.dat", "wb")) # some time later... # load model from file loaded_model = pickle.load(open("pima.pickle.dat", "rb")) # make predictions for test data y_pred = loaded_model.predict(X_test) predictions = [round(value) for value in y_pred] # evaluate predictions accuracy = accuracy_score(y_test, predictions) print("Accuracy: %.2f%%" % (accuracy * 100.0)) ``` 運行此示例將訓練有素的 XGBoost 模型保存到當前工作目錄中的 **pima.pickle.dat** pickle 文件中。 ```py pima.pickle.dat ``` 加載模型并對訓練數據集進行預測后,將打印模型的準確性。 ```py Accuracy: 77.95% ``` ## 使用 joblib 序列化 XGBoost 模型 Joblib 是 SciPy 生態系統的一部分,并提供用于管道化 Python 作業的實用程序。 [Joblib API](https://pypi.python.org/pypi/joblib) 提供了用于保存和加載有效利用 NumPy 數據結構的 Python 對象的實用程序。對于非常大的模型,使用它可能是一種更快捷的方法。 API 看起來很像 pickle API,例如,您可以保存訓練有素的模型,如下所示: ```py # save model to file joblib.dump(model, "pima.joblib.dat") ``` 您可以稍后從文件加載模型并使用它來進行如下預測: ```py # load model from file loaded_model = joblib.load("pima.joblib.dat") ``` 下面的示例演示了如何訓練 XGBoost 模型在 Pima Indians 糖尿病數據集開始時進行分類,使用 Joblib 將模型保存到文件中,并在以后加載它以進行預測。 ```py # Train XGBoost model, save to file using joblib, load and make predictions from numpy import loadtxt import xgboost from sklearn.externals import joblib from sklearn import model_selection from sklearn.metrics import accuracy_score # load data dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",") # split data into X and y X = dataset[:,0:8] Y = dataset[:,8] # split data into train and test sets seed = 7 test_size = 0.33 X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, Y, test_size=test_size, random_state=seed) # fit model no training data model = xgboost.XGBClassifier() model.fit(X_train, y_train) # save model to file joblib.dump(model, "pima.joblib.dat") # some time later... # load model from file loaded_model = joblib.load("pima.joblib.dat") # make predictions for test data y_pred = loaded_model.predict(X_test) predictions = [round(value) for value in y_pred] # evaluate predictions accuracy = accuracy_score(y_test, predictions) print("Accuracy: %.2f%%" % (accuracy * 100.0)) ``` 運行該示例將模型保存為當前工作目錄中的 **pima.joblib.dat** 文件,并為模型中的每個 NumPy 數組創建一個文件(在本例中為兩個附加文件)。 ```py pima.joblib.dat pima.joblib.dat_01.npy pima.joblib.dat_02.npy ``` 加載模型后,將在訓練數據集上對其進行評估,并打印預測的準確性。 ```py Accuracy: 77.95% ``` ## 摘要 在這篇文章中,您了解了如何序列化經過訓練的 XGBoost 模型,然后加載它們以進行預測。 具體來說,你學到了: * 如何使用 pickle API 序列化并稍后加載訓練有素的 XGBoost 模型。 * 如何使用 joblib API 序列化并稍后加載訓練有素的 XGBoost 模型。 您對序列化 XGBoost 模型或此帖子有任何疑問嗎?在評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看