✨ 欢迎关注Python机器学习AI ✨
本节介绍: 雷达图对比模型性能的可视化分析 。数据采用模拟数据,作者根据个人对机器学习的理解进行代码实现与图表输出,细节并不保证与原文一定相同,仅供参考。 详细数据和代码将在稍后上传至交流群,付费成员可在交流群中获取下载。需要的朋友可关注公众文末提供的购买方式。 购买前请咨询,避免不必要的问题。 文末点赞、推荐、转发参与免费包邮赠书~
✨ 论文信息 ✨
✨ 参考可视化 ✨
图表比较了不同机器学习模型(RF、GBDT、XGBoost、SVR、RBFNN 和 LM-BPNN)在预测生物炭产量时的表现,使用了多个指标(R²、RMSE、MSE、MAE)来分析每个模型在训练集和测试集上的效果。雷达图展示了这些模型之间的性能比较
✨ 模拟实现 ✨
这张图是模拟可视化,主要展示了不同机器学习模型(如RF、SVR、GBDT、XGBoost、DT和LM-BPNN)在训练集和测试集上的拟合优度(R²)。与文献中的图表不同,文献主要关注的是不同模型在训练集和测试集上的RMSE(均方根误差),用来衡量模型预测结果的准确性。而这张图则侧重于展示R²值,它反映了模型解释数据方差的能力,值越接近1表示模型拟合越好,接下来针对RMSE进行可视化
这张图是针对模型的RMSE(均方根误差)进行的可视化,与文献中的图表一样,显示了不同机器学习模型(如RF、SVR、GBDT、XGBoost、DT和LM-BPNN)在训练集和测试集上的表现。RMSE越小,表示模型预测结果越准确。
与前一张图的R²可视化相比,这张图着重展示了预测误差的大小,适合用来评估模型在实际应用中的误差水平。从图中可以看出,测试集上的RMSE普遍高于训练集,表明一些模型可能出现了过拟合现象。文献中的图表也使用RMSE指标来评估模型在训练和测试集上的性能,因此,这张图与文献图表具有相同的目的——比较模型在预测任务中的误差表现。
✨ 部分代码 ✨
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Times New Roman'
plt.rcParams['axes.unicode_minus'] = False
import warnings
# 忽略所有警告
warnings.filterwarnings("ignore")
path = r"2025-4-12公众号Python机器学习AI.xlsx"
df = pd.read_excel(path)
from sklearn.model_selection import train_test_split
# 划分特征和目标变量
X = df.drop(['yield(wt%)'], axis=1)
y = df['yield(wt%)']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=42)
from sklearn.svm import SVR
from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
from sklearn.neural_network import MLPRegressor
import xgboost as xgb
from sklearn.kernel_ridge import KernelRidge
from sklearn.tree import DecisionTreeRegressor
# 1. SVR (支持向量回归)
svr_model = SVR(C=5000, degree=3, epsilon=0.4, kernel='rbf')
svr_model.fit(X_train, y_train)
# 2. GBDT (梯度提升树)
gbdt_model = GradientBoostingRegressor()
gbdt_model.fit(X_train, y_train)
# 3. RF (随机森林回归)
rf_model = RandomForestRegressor()
rf_model.fit(X_train, y_train)
# 4. LM-BPNN (线性模型与反向传播神经网络的组合)
mlp_model = MLPRegressor(hidden_layer_sizes=(100,), max_iter=500)
mlp_model.fit(X_train, y_train)
# 5. XGBoost (极端梯度提升)
xgb_model = xgb.XGBRegressor()
xgb_model.fit(X_train, y_train)
# 6. Decision Tree Regressor (决策树回归)
dt_model = DecisionTreeRegressor()
dt_model.fit(X_train, y_train)
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
# 定义计算指标的函数
def calculate_metrics(model, X_train, X_test, y_train, y_test):
y_train_pred = model.predict(X_train)
y_test_pred = model.predict(X_test)
R2_train = r2_score(y_train, y_train_pred)
R2_test = r2_score(y_test, y_test_pred)
RMSE_train = np.sqrt(mean_squared_error(y_train, y_train_pred))
RMSE_test = np.sqrt(mean_squared_error(y_test, y_test_pred))
MSE_train = mean_squared_error(y_train, y_train_pred)
MSE_test = mean_squared_error(y_test, y_test_pred)
MAE_train = mean_absolute_error(y_train, y_train_pred)
MAE_test = mean_absolute_error(y_test, y_test_pred)
return {
'R^2': (R2_train, R2_test),
'RMSE': (RMSE_train, RMSE_test),
'MSE': (MSE_train, MSE_test),
'MAE': (MAE_train, MAE_test)
}
# 模型列表
models = {
'GBDT': gbdt_model,
'SVR': svr_model,
'RF': rf_model,
'LM-BPNN': mlp_model,
'XGBoost': xgb_model,
'DT': dt_model # 替换为决策树模型
}
# 创建空的字典来存储训练和测试指标
train_metrics = {}
test_metrics = {}
# 遍历所有模型并计算评价指标
for model_name, model in models.items():
metrics = calculate_metrics(model, X_train, X_test, y_train, y_test)
train_metrics[model_name] = [metrics['R^2'][0], metrics['RMSE'][0], metrics['MSE'][0], metrics['MAE'][0]]
test_metrics[model_name] = [metrics['R^2'][1], metrics['RMSE'][1], metrics['MSE'][1], metrics['MAE'][1]]
# 定义评价指标
metrics = ['R^2', 'RMSE', 'MSE', 'MAE']
train_metrics_df = pd.DataFrame(train_metrics, index=metrics)
test_metrics_df = pd.DataFrame(test_metrics, index=metrics)
train_metrics_df
test\_metrics\_df
对六种机器学习回归模型(SVR、GBDT、RF、LM-BPNN、XGBoost、决策树回归)进行训练和测试,并评估它们的性能。首先,代码从Excel文件中加载数据,并将数据划分为特征(X)和目标变量(y)。然后,使用train_test_split将数据分为训练集和测试集。接下来,代码初始化并训练六个模型,分别为支持向量回归(SVR)、梯度提升树(GBDT)、随机森林(RF)、线性模型与反向传播神经网络组合(LM-BPNN)、极端梯度提升(XGBoost)和决策树回归(DT)
在训练和测试后,使用r2_score、mean_squared_error、mean_absolute_error等指标计算每个模型在训练集和测试集上的表现,评估模型的拟合度(R²)、预测误差(RMSE)、均方误差(MSE)和平均绝对误差(MAE)。最后,代码将这些评估指标存储在数据框(DataFrame)中,方便后续对比模型的表现。也就是接下来代码实现雷达图可视化展示对比模型在训练集测试集上的性能差异
✨ 该文章案例 ✨
在上传至交流群的文件中,像往期文章一样,将对案例进行逐步分析,确保读者能够达到最佳的学习效果。内容都经过详细解读,帮助读者深入理解模型的实现过程和数据分析步骤,从而最大化学习成果。
同时,结合提供的免费AI聚合网站进行学习,能够让读者在理论与实践之间实现融会贯通,更加全面地掌握核心概念。
✨ 购买介绍 ✨
本节介绍到此结束,有需要学习数据分析和Python机器学习相关的朋友欢迎到淘宝店铺:Python机器学习AI,或添加作者微信deep_ML联系,购买作者的公众号合集。截至目前为止,合集已包含200多篇文章,购买合集的同时,还将提供免费稳定的AI大模型使用,包括但不限于ChatGPT、Deepseek、Claude等。
更新的内容包含数据、代码、注释和参考资料。 作者仅分享案例项目,不提供额外的答疑服务。项目中将提供详细的代码注释和丰富的解读,帮助您理解每个步骤 。 购买前请咨询,避免不必要的问题。
✨ 群友反馈 ✨
✨ 淘宝店铺 ✨
请大家打开淘宝扫描上方的二维码,进入店铺,获取更多Python机器学习和AI相关的内容,或者添加作者微信deep_ML联系 避免淘宝客服漏掉信息 ,希望能为您的学习之路提供帮助!
✨ 免费赠书 ✨
支持知识分享,畅享学习乐趣!特别感谢清华大学出版社 对本次赠书活动的鼎力支持!即日起,只需点赞、推荐、转发 此文章,作者将从后台随机抽取一位幸运儿,免费包邮赠送清华出版社提供的《基于DeepSeek大模型的深度应用实践》这本精彩书籍📚!
💡 赶快参与,一键三连,说不定你就是那位幸运读者哦!
往期推荐
Frontiers in Oncology:利用生存机器学习RSF模型预测患者预后模拟实现
期刊配图:通过SHAP组图解读模型探索不同类型特征和分组对模型的影响
机器学习在临床数据分析中的应用:从数据预处理到Web应用实现的完整流程教学
Psychiatry Research基于SHAP可解释性的机器学习模型构建与评估:混淆矩阵、ROC曲线、DCA与校准曲线分析
nature communications:基于Light GBM与随机森林结合的多模型特征选择方法
如果你对类似于这样的文章感兴趣。
欢迎关注、点赞、转发~
个人观点,仅供参考