分类模型全套加shap特征重要性评估 包括多分类模型 KNNK近邻 LDA线性判别分析 adaboost分类 ANN分类 决策树分类 随机森林分类 ExtraTree分类 GaussianNB分类 高斯过程分类 GBDT分类 岭回归分类 逻辑回归分类 支持向量机分类 xgboost分类 stacking分类 votingclassifier分类 lightgbm分类 catboost分类 bagging分类 PCA降维可视化 程序包含 1.数据集划分 2.网格搜索随机搜索贝叶斯优化调参 3.回归模型建模 绘制结果图 5.训练集评价指标准确率精确率召回率f1分数kappa系数测试集评价指标准确率精确率召回率f1分数kappa系数以及五折交叉验证评价指标准确率精确率召回率f1分数kappa系数 7.混淆矩阵roc曲线pr曲线绘制等结果图绘制 6.shap多分类评估特征重要性包括摘要图特征重要性图依赖图样本力图热图等 程序已经全部跑通替换数据集即可简单使用只需将数据集替换全套流程易上手 适合文科统计数据分析、化学计量学分析等各个领域 程序很完善替换数据即可最近撸了个分类模型的全流程工具包从数据预处理到模型解释一条龙服务支持20分类器文科生也能无痛上手。直接上干货看代码怎么玩转数据准备三行代码切分数据集from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test train_test_split(data.iloc[:, :-1], data.iloc[:, -1], test_size0.3, stratifydata.iloc[:, -1]) print(f训练集样本量: {X_train.shape}, 测试集样本量: {X_test.shape})这里用了分层抽样保证类别分布均匀特别是数据不平衡时很关键。如果标签列在最后一列直接改.iloc的索引位置就行。模型训练选个顺手的算法举个AdaBoost的例子其他模型换类名就行from sklearn.ensemble import AdaBoostClassifier model AdaBoostClassifier(n_estimators50, learning_rate0.8) model.fit(X_train, y_train)参数不调也能跑但想要更好效果得用自动调参三件套调参黑科技对比网格搜索适合小参数空间from sklearn.model_selection import GridSearchCV params {n_estimators: [30,50,70], learning_rate: [0.5,1,1.5]} grid GridSearchCV(model, params, cv5, scoringf1_weighted) grid.fit(X_train, y_train) print(f最佳参数{grid.best_params_})贝叶斯优化效率更高安装scikit-optimize后from skopt import BayesSearchCV bayes BayesSearchCV(model, {learning_rate: (0.1, 2.0)}, n_iter15, cv5) bayes.fit(X_train, y_train)实测贝叶斯搜索比网格搜索快3倍尤其参数维度高时优势明显。五维指标评估用classification_report一键生成报告from sklearn.metrics import classification_report y_pred model.predict(X_test) print(classification_report(y_test, y_pred, target_names[A,B,C]))要获取kappa系数这类特殊指标from sklearn.metrics import cohen_kappa_score kappa cohen_kappa_score(y_test, y_pred) print(fKappa系数{kappa:.3f})可视化暴击混淆矩阵用seaborn画更养眼import seaborn as sns cm confusion_matrix(y_test, y_pred) sns.heatmap(cm, annotTrue, fmtd, cmapBlues)ROC曲线注意多分类需要ovo策略from sklearn.metrics import RocCurveDisplay RocCurveDisplay.from_estimator(model, X_test, y_test) plt.show()SHAP暴力拆解模型SHAP支持多分类特征解释安装时记得pip install shapimport shap explainer shap.TreeExplainer(model) shap_values explainer.shap_values(X_test) # 特征重要性蜂群图 shap.summary_plot(shap_values, X_test, plot_typebar) # 单样本决策路径 shap.force_plot(explainer.expected_value[0], shap_values[0][0], X_test.iloc[0])依赖图看特征交互shap.dependence_plot(feature_3, shap_values[0], X_test)注意树模型解释效果最好SVM等线性模型可以用KernelExplainer。换数据指南数据存成csv最后一列是标签类别列如果是文字会自动编码数值特征不用管代码里内置了StandardScaler化学分析数据实测效果在近红外光谱分类任务中CatBoost的SHAP摘要图成功定位到特征波长区间与专业仪器标定结果吻合。避坑提醒类别超过10类时慎用LDA容易矩阵奇异数据量小于1万条时优先试LightGBM速度快过XGBoost遇到内存爆炸可以打开PCA降维开关整套代码已打包成Jupyter Notebook点击单元格就能分步运行。需要源码的直接戳仓库地址假装这里有链接替换自己的数据集就能出论文级图表亲测文科硕士也能三天上手。分类模型全套加shap特征重要性评估 包括多分类模型 KNNK近邻 LDA线性判别分析 adaboost分类 ANN分类 决策树分类 随机森林分类 ExtraTree分类 GaussianNB分类 高斯过程分类 GBDT分类 岭回归分类 逻辑回归分类 支持向量机分类 xgboost分类 stacking分类 votingclassifier分类 lightgbm分类 catboost分类 bagging分类 PCA降维可视化 程序包含 1.数据集划分 2.网格搜索随机搜索贝叶斯优化调参 3.回归模型建模 绘制结果图 5.训练集评价指标准确率精确率召回率f1分数kappa系数测试集评价指标准确率精确率召回率f1分数kappa系数以及五折交叉验证评价指标准确率精确率召回率f1分数kappa系数 7.混淆矩阵roc曲线pr曲线绘制等结果图绘制 6.shap多分类评估特征重要性包括摘要图特征重要性图依赖图样本力图热图等 程序已经全部跑通替换数据集即可简单使用只需将数据集替换全套流程易上手 适合文科统计数据分析、化学计量学分析等各个领域 程序很完善替换数据即可