作業:參考pdpbox官方文檔中的其他類,繪制相應的圖,任選即可
1. 安裝并導入庫
確保安裝與文檔版本一致的?pdpbox
(此處以?0.3.0
?為例):
bash
復制
下載
pip install pdpbox==0.3.0
導入所需庫:
python
復制
下載
import pandas as pd from sklearn.ensemble import RandomForestClassifier from pdpbox import pdp, get_dataset, info_plots import matplotlib.pyplot as plt
2. 加載數據并訓練模型
使用?pdpbox
?內置的 Titanic 數據集:
python
復制
下載
# 獲取內置數據集 test_titanic = get_dataset.titanic() titanic_data = test_titanic['data'] titanic_features = test_titanic['features'] titanic_model = test_titanic['rf_model'] # 預訓練的隨機森林模型
3. 計算交互式部分依賴
選擇兩個特征(如?Fare
?和?Age
)分析其交互作用:
python
復制
下載
# 生成交互式 PDP 數據 interact = pdp.pdp_interact(model=titanic_model,dataset=titanic_data,model_features=titanic_features,features=['Fare', 'Age'] )
繪制熱力圖
# 繪制交互式熱力圖
pdp.pdp_interact_plot(pdp_interact_out=interact,feature_names=['Fare', 'Age'],plot_type='contour', # 可選 'grid' 或 'contour'x_quantile=True, # 將 x 軸分位數顯示為刻度plot_pdp=True # 疊加顯示單變量 PDP
)plt.title('PDP Interaction between Fare and Age')
plt.show()
@浙大疏錦行