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

一個強大的集成學習算法:梯度提升樹!

發布于 2025-2-10 14:37
瀏覽
0收藏

一、算法介紹

 梯度提升樹(Gradient Boosting Trees, GBT)是一種強大的集成學習方法,它通過迭代地添加弱預測模型來構建一個強預測模型。在每一輪迭代中,新的模型會試圖糾正前序模型產生的錯誤。GBT可以用于回歸和分類問題,并且在許多實際應用中表現優異。

二、算法原理

一個強大的集成學習算法:梯度提升樹!-AI.x社區

三、 案例分析

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

3.1 數據預處理與模型建立

import pandas as pd
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, confusion_matrix, accuracy_score, roc_auc_score, roc_curve
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=['機器編號', '是否發生故障', '具體故障類別'])
y = data['是否發生故障']

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

# 創建并訓練模型
gbt_model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
gbt_model.fit(X_train, y_train)

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

# 評估模型
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy:.2f}')

# 打印分類報告
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()

3.2 結果分析

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

Accuracy: 0.99
              precision    recall  f1-score   support

           0       0.99      1.00      0.99      1753
           1       0.91      0.64      0.75        47

    accuracy                           0.99      1800
   macro avg       0.95      0.82      0.87      1800
weighted avg       0.99      0.99      0.99      1800

此外,我們還繪制了混淆矩陣圖,以便更直觀地了解模型的表現情況。

一個強大的集成學習算法:梯度提升樹!-AI.x社區

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

除了這些指標外,我們還繪制了ROC曲線,這可以幫助我們理解模型區分正負樣本的能力。

一個強大的集成學習算法:梯度提升樹!-AI.x社區

  ROC曲線下的面積(AUC)是一個重要的性能指標,它反映了模型的整體表現。一個理想的模型應該具有接近1.0的AUC值,這意味著模型能夠很好地將正負樣本區分開來。

四、結語

  梯度提升樹是一種非常有效的方法,尤其適用于處理復雜的數據模式。通過本文的介紹與案例分析,希望能幫助讀者更好地理解這一算法,并能夠在實踐中加以運用。在未來的工作中,嘗試不同的參數設置以及結合其他技術可能會帶來更好的結果。    

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


收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产精品色婷婷久久58 | 日本成人在线免费视频 | 九九综合 | av一级久久 | 久久精品一区 | 亚洲精品日韩精品 | 国内精品一区二区 | 精品国产1区2区3区 一区二区手机在线 | 午夜天堂精品久久久久 | 精彩视频一区二区三区 | 国产精品久久久久久 | 欧美在线一区二区三区 | 国产精品不卡一区 | 一区二区在线 | 天天干夜夜操 | 91国自视频| 日韩免费福利视频 | 久久成人一区 | 久久一起草 | 亚洲成人精品 | 国产精品91网站 | 91社区在线高清 | 隔壁老王国产在线精品 | 久久69精品久久久久久久电影好 | 美女一区 | 精品成人一区二区 | 自拍偷拍第1页 | 精品网站999www | 成人精品鲁一区一区二区 | 亚洲三区在线 | 欧美综合一区二区 | 欧美一级免费 | av男人天堂影院 | 欧美激情一区二区 | 亚洲a视频| 天天看天天干 | 亚洲欧美精品 | 国产在线一区二区 | www.中文字幕av| 国产一区二区久久 | 日韩最新网址 |