網(wǎng)站模版保護(hù)域名跳轉(zhuǎn)二手購(gòu)物網(wǎng)
鶴壁市浩天電氣有限公司
2026/01/24 12:12:56
網(wǎng)站模版保護(hù)域名跳轉(zhuǎn),二手購(gòu)物網(wǎng),網(wǎng)站建設(shè)基本流程教學(xué)視頻,合肥做網(wǎng)站專(zhuān)家day35文件的規(guī)范拆分和寫(xiě)法浙大疏錦行
文件目錄
day35_文件的規(guī)范拆分和寫(xiě)法/ ├── data/ │ └── raw/ │ └── heart.csv # 已替換為 heart.csv 數(shù)據(jù)集 ├── models/ # 用于存放訓(xùn)練好的模型 ├── notebook/ │ └── main.ipynb # 主程序 Notebook#xff0c;…day35文件的規(guī)范拆分和寫(xiě)法浙大疏錦行文件目錄day35_文件的規(guī)范拆分和寫(xiě)法/├── data/│ └── raw/│ └── heart.csv # 已替換為 heart.csv 數(shù)據(jù)集├── models/ # 用于存放訓(xùn)練好的模型├── notebook/│ └── main.ipynb # 主程序 Notebook演示了完整的調(diào)用流程├── src/ # 源代碼目錄│ ├── init.py│ ├── data/│ │ ├── init.py│ │ └── preprocessing.py # 數(shù)據(jù)加載與預(yù)處理針對(duì) heart.csv 進(jìn)行了適配│ ├── models/│ │ ├── init.py│ │ └── train.py # 模型訓(xùn)練、評(píng)估與保存邏輯│ └── visualization/│ ├── init.py│ └── plots.py # 可視化繪圖SHAP圖、混淆矩陣├── README.md # 項(xiàng)目說(shuō)明文檔└── requirements.txt # 依賴(lài)庫(kù)列表項(xiàng)目運(yùn)行importsysimportos# 將項(xiàng)目根目錄添加到系統(tǒng)路徑sys.path.append(os.path.abspath(os.path.join(os.getcwd(),..)))fromsrc.data.preprocessingimportload_data,encode_categorical_features,handle_missing_valuesfromsrc.models.trainimporttrain_model,evaluate_model,save_modelfromsrc.visualization.plotsimportplot_feature_importance_shap,plot_confusion_matrix,set_plot_stylefromsklearn.model_selectionimporttrain_test_split1. 數(shù)據(jù)加載與預(yù)處理# 加載數(shù)據(jù)data_path../data/raw/heart.csvdataload_data(data_path)print(原始數(shù)據(jù)形狀:,data.shape)data.head()# 特征編碼data_encoded,_encode_categorical_features(data)print(編碼后數(shù)據(jù)形狀:,data_encoded.shape)data_encoded.head()編碼后數(shù)據(jù)形狀: (303, 24)agesextrestbpscholfbsthalachexangoldpeakcatarget…restecg_0restecg_1restecg_2slope_0slope_1slope_2thal_0thal_1thal_2thal_30631145233115002.301…10010001001371130250018703.501…01010000102410130204017201.401…10000100103561120236017800.801…01000100104570120354016310.601…01000100105 rows × 24 columns# 處理缺失值data_cleanhandle_missing_values(data_encoded)print(處理缺失值后數(shù)據(jù)形狀:,data_clean.shape)處理缺失值后數(shù)據(jù)形狀: (303, 24)2. 模型訓(xùn)練# 準(zhǔn)備訓(xùn)練數(shù)據(jù)Xdata_clean.drop([target],axis1)ydata_clean[target]X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42)# 訓(xùn)練模型modeltrain_model(X_train,y_train)print(模型訓(xùn)練完成)3. 模型評(píng)估evaluate_model(model,X_test,y_test)4. 可視化importmatplotlib.pyplotasplt# 設(shè)置中文字體和樣式直接在 Notebook 中設(shè)置避免樣式名兼容問(wèn)題plt.style.use(ggplot)plt.rcParams[font.sans-serif][SimHei,Microsoft YaHei,Arial Unicode MS]plt.rcParams[axes.unicode_minus]False# 繪制混淆矩陣plot_confusion_matrix(y_test,model.predict(X_test))importmatplotlib.pyplotasplt# 再次設(shè)置中文字體確保 SHAP 圖中文字正常顯示plt.style.use(ggplot)plt.rcParams[font.sans-serif][SimHei,Microsoft YaHei,Arial Unicode MS]plt.rcParams[axes.unicode_minus]False# 繪制SHAP特征重要性plot_feature_importance_shap(model,X_test)5. 保存模型save_model(model,../models/heart_disease_rf_model.joblib)浙大疏錦行