配景百家乐涩涩快播
在前两篇著作中,依然潜入辩论了转头展望模子的性能评估与数据可视化益处,第一篇著作中——用图表话语:若何有用呈现转头展望模子遗弃,西席若何通过邃密的图表(散点图+旯旮柱状图)展现模子的稽查和测试遗弃(针关于转头展望模子)
图片百家乐涩涩快播
第二篇著作中——SCI图表复现:若何直不雅展示机器学习模子展望遗弃的准确性和一致性,则通过散点图皆集1:1线、最好拟合线、置信区间及R²和MAE经营,全主义直不雅展示模子展望准确性、趋势拟合进度和不笃定性
图片
然则,真正数据的散播与模子展望遗弃的相反每每荫藏在更复杂的图表中,为了更全面地呈现稽查集与测试集之间的联系,并直不雅展示展望值的置信区间及旯旮散播,本篇著作将带人人潜入邻接一套抽象性的可视化决策,本文集成置信区间与旯旮柱状图的新图表边幅,直不雅展示模子的拟合后果,如下:
图片
代码终了
数据读取
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn import metricsimport scipy.stats as statsplt.rcParams['font.family'] = 'Times New Roman'plt.rcParams['axes.unicode_minus'] = Falsedf_train = pd.read_excel('GBDT_train.xlsx')df_test = pd.read_excel('GBDT_test.xlsx')从 Excel 文献等分歧加载稽查数据 (GBDT_train.xlsx) 和测试数据 (GBDT_test.xlsx) 到数据框 (df_train 和 df_test) 中,内部包含真正值以及展望值
模子性能计较
from sklearn import metrics# 真正y_train = df_train['Experimental value']y_test = df_test['Experimental value']# 展望y_pred_train = df_train['Predicted value']y_pred_test = df_test['Predicted value']y_pred_train_list = y_pred_train.tolist()y_pred_test_list = y_pred_test.tolist()# 计较稽查集的经营mse_train = metrics.mean_squared_error(y_train, y_pred_train_list)rmse_train = np.sqrt(mse_train)mae_train = metrics.mean_absolute_error(y_train, y_pred_train_list)r2_train = metrics.r2_score(y_train, y_pred_train_list)# 计较测试集的经营mse_test = metrics.mean_squared_error(y_test, y_pred_test_list)rmse_test = np.sqrt(mse_test)mae_test = metrics.mean_absolute_error(y_test, y_pred_test_list)r2_test = metrics.r2_score(y_test, y_pred_test_list)print('稽查集评价经营:')print('均方流毒 (MSE):', mse_train)print('均方根流毒 (RMSE):', rmse_train)print('平均皆备流毒 (MAE):', mae_train)print('拟合优度 (R-squared):', r2_train)print('\n测试集评价经营:')print('均方流毒 (MSE):', mse_test)print('均方根流毒 (RMSE):', rmse_test)print('平均皆备流毒 (MAE):', mae_test)print('拟合优度 (R-squared):', r2_test)
图片
从稽查集和测试集的数据中索求真正值 (Experimental value) 和展望值 (Predicted value),计较模子在稽查集和测试集上的转头性能经营
著作一可视化
# 创建一个包含稽查集和测试集真正值与展望值的数据框data_train = pd.DataFrame({ 'True': y_train, 'Predicted': y_pred_train, 'Data Set': 'Train'})data_test = pd.DataFrame({ 'True': y_test, 'Predicted': y_pred_test, 'Data Set': 'Test'})data = pd.concat([data_train, data_test])# 自界说调色板palette = {'Train': '#b4d4e1', 'Test': '#f4ba8a'}# 创建 JointGrid 对象plt.figure(figsize=(8, 6), dpi=1200)g = sns.JointGrid(data=data, x='True', y='Predicted', hue='Data Set', height=10, palette=palette)# 绘图中心的散点图g.plot_joint(sns.scatterplot, alpha=0.5)# 添加稽查集的转头线sns.regplot(data=data_train, x='True', y='Predicted', scatter=False, ax=g.ax_joint, color='#b4d4e1', label='Train Regression Line')# 添加测试集的转头线sns.regplot(data=data_test, x='True', y='Predicted', scatter=False, ax=g.ax_joint, color='#f4ba8a', label='Test Regression Line')# 添加旯旮的柱状图g.plot_marginals(sns.histplot, kde=False, element='bars', multiple='stack', alpha=0.5)# 添加拟合优度文本在右下角ax = g.ax_jointax.text(0.95, 0.1, f'Train $R^2$ = {r2_train:.3f}', transform=ax.transAxes, fontsize=12, verticalalignment='bottom', horizontalalignment='right', bbox=dict(boxstyle='round,pad=0.3', edgecolor='black', facecolor='white'))ax.text(0.95, 0.05, f'Test $R^2$ = {r2_test:.3f}', transform=ax.transAxes, fontsize=12, verticalalignment='bottom', horizontalalignment='right', bbox=dict(boxstyle='round,pad=0.3', edgecolor='black', facecolor='white'))# 在左上角添加模子称号文本ax.text(0.75, 0.99, 'Model = GBDT', transform=ax.transAxes, fontsize=12, verticalalignment='top', horizontalalignment='left', bbox=dict(boxstyle='round,pad=0.3', edgecolor='black', facecolor='white'))# 添加中心线ax.plot([data['True'].min(), data['True'].max()], [data['True'].min(), data['True'].max()], c='black', alpha=0.5, linestyle='--', label='x=y')ax.legend()plt.savefig('TrueFalse.pdf', format='pdf', bbox_inches='tight')plt.show()图片
著作二基础可视化
plt.figure(figsize=(8, 6), dpi=1200)plt.scatter(y_test, y_pred_test, color='coral', label='Predicted N₂O concentration', alpha=0.2) # 展望值散点图plt.plot(y_test, y_test, color='grey', alpha=0.6, label='1:1 Line') # 1:1灰色虚线# 拟合线z = np.polyfit(y_test, y_pred_test, 1)p = np.poly1d(z)plt.plot(y_test, p(y_test), color='blue', alpha=0.6, label=f'Line of Best Fit\n$R^2$ = {r2_test:.2f},MAE = {mae_test:.2f}')plt.title('GBDT Regression')plt.xlabel('Observed Values')plt.ylabel('Predicted Values')plt.legend(loc='upper left')plt.savefig('1.pdf', format='pdf', bbox_inches='tight')plt.show()
图片
パナソニック 分電盤 大形リミッタースペース付 露出・半埋込両用形集成置信区间与旯旮柱状图
图片
本站仅提供存储就业,扫数推行均由用户发布,如发现存害或侵权推行,请点击举报。