成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個很強大的集成學習算法:XGBoost!

發(fā)布于 2024-12-3 13:50
瀏覽
0收藏

一、算法介紹

        XGBoost(eXtreme Gradient Boosting)是一種高效的梯度提升框架,它實現了梯度提升決策樹(Gradient Boosting Decision Trees, GBDT),并在此基礎上進行了優(yōu)化。XGBoost在許多機器學習競賽中表現出色,因其高效性和強大的預測能力而受到廣泛歡迎。XGBoost支持多種目標函數和評估指標,可以處理回歸、分類以及排名等問題。

二、算法原理

一個很強大的集成學習算法:XGBoost!-AI.x社區(qū)

三、案例分析

3.1 數據集介紹

本次案例分析使用的數據集包含了一系列工業(yè)機器的運行狀態(tài)記錄,包括機器編號、質量等級、工廠溫度、機器溫度、轉速、扭矩、使用時長等特征,以及是否發(fā)生故障的標簽。我們的任務是基于這些特征預測機器是否會故障。

3.2 數據預處理與模型建立

為了展示XGBoost的實際應用,我們將使用提供的數據集來預測機器是否會發(fā)生故障。首先加載數據,并進行必要的預處理。

import pandas as pd
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score, roc_curve, precision_recall_curve, auc
import seaborn as sns
import matplotlib.pyplot as plt

# 加載數據
data = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 數據清洗
data.drop_duplicates(inplace=True)
X = data.drop(columns=['機器編號', '是否發(fā)生故障', '具體故障類別'])
y = data['是否發(fā)生故障']

# 劃分訓練集和測試集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 創(chuàng)建并訓練模型
xgb_model = XGBClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
xgb_model.fit(X_train, y_train)

# 預測
y_pred = xgb_model.predict(X_test)
y_pred_proba = xgb_model.predict_proba(X_test)[:, 1]  # 獲取正類的概率

# 評估模型
print(classification_report(y_test, y_pred))

# 繪制混淆矩陣
cm = confusion_matrix(y_test, y_pred)
plt.figure(figsize=(8, 6))
sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", cbar=False,
            xticklabels=['No Failure', 'Failure'],
            yticklabels=['No Failure', 'Failure'])
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.title('Confusion Matrix')
plt.show()

# 計算ROC曲線
fpr, tpr, _ = roc_curve(y_test, y_pred_proba)
roc_auc = roc_auc_score(y_test, y_pred_proba)

# 繪制ROC曲線
plt.figure(figsize=(8, 6))
plt.plot(fpr, tpr, color='darkorange', lw=2, label=f'ROC curve (area = {roc_auc:.2f})')
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC)')
plt.legend(loc="lower right")
plt.show()

# 計算PR曲線
precision, recall, _ = precision_recall_curve(y_test, y_pred_proba)
pr_auc = auc(recall, precision)

# 繪制PR曲線
plt.figure(figsize=(8, 6))
plt.plot(recall, precision, color='blue', lw=2, label=f'PR curve (area = {pr_auc:.2f})')
plt.plot([0, 1], [y_test.mean(), y_test.mean()], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.title('Precision-Recall Curve')
plt.legend(loc="lower left")
plt.show()

3.3 結果分析

通過上述代碼,我們得到了模型在測試集上的性能報告,其中包括精確度(Precision)、召回率(Recall)以及F1分數(F1-score)。

precision    recall  f1-score   support

           0       0.99      1.00      0.99      1753
           1       0.89      0.51      0.65        47

    accuracy                           0.99      1800
   macro avg       0.94      0.75      0.82      1800
weighted avg       0.98      0.99      0.98      1800
  • 準確率 (Accuracy):表示模型正確預測的比例。
  • 精確度 (Precision):表示被模型預測為正類的樣本中實際為正類的比例。
  • 召回率 (Recall):表示所有實際為正類的樣本中,被模型正確識別出來的比例。
  • F1分數 (F1-score):是精確度和召回率的調和平均數,用于綜合評價模型的性能。

混淆矩陣展示了模型在不同類別上的預測結果,幫助我們理解哪些類別容易被誤判。

一個很強大的集成學習算法:XGBoost!-AI.x社區(qū)

ROC曲線顯示了模型在不同閾值下的表現,AUC(Area Under the Curve)值反映了模型的整體區(qū)分能力。一個接近1.0的AUC值表明模型具有很好的區(qū)分能力。

一個很強大的集成學習算法:XGBoost!-AI.x社區(qū)

PR曲線顯示了模型在不同召回率下的精確度,PRAUC(Area Under the Precision-Recall Curve)值反映了模型在不同召回率下的平均精確度。對于不平衡數據集,PR曲線通常比ROC曲線更能反映模型的性能。

一個很強大的集成學習算法:XGBoost!-AI.x社區(qū)

四、結語

通過本文的介紹,我們深入了解了XGBoost算法的基本概念、工作原理以及如何在實際數據集上應用該算法。XGBoost以其高效性和強大的預測能力,在許多機器學習任務中表現出色,特別是在處理不平衡數據集時。通過案例分析,我們不僅評估了模型的性能,還通過可視化工具如混淆矩陣、ROC曲線和PR曲線來更直觀地理解模型的表現。

本文轉載自寶寶數模AI,作者: BBSM ????

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 在线看国产 | 久久久精彩视频 | 99精品国产一区二区三区 | 国产精品视频999 | 性网站免费 | 人人九九精 | 国产精品欧美一区二区三区 | www在线| 在线视频一区二区 | 久久国产精品无码网站 | 亚洲成人精品在线 | 国产区在线观看 | www国产亚洲精品久久网站 | 亚洲在线一区二区三区 | 91日日| www.日日操 | 婷婷不卡 | 羞羞视频在线观看网站 | av网站在线播放 | 丝袜美腿一区二区三区动态图 | 国产精品178页 | 国产高清视频 | 久久精品网 | 久久毛片网站 | 欧美亚洲国产一区二区三区 | 日韩蜜桃视频 | 亚洲人成人一区二区在线观看 | 久久精品久久久 | 一级特黄在线 | 91在线观看网址 | 亚洲电影一区二区三区 | 中国免费黄色片 | 日韩精品一区在线 | 免费精品| 久久久久9999亚洲精品 | 成人精品在线观看 | 97国产精品视频人人做人人爱 | 国产精品视频一二三区 | 二区中文字幕 | 天天澡天天狠天天天做 | 中文字幕视频一区二区 |