决策树回归(Decision Tree Regression)
创始人
2024-12-26 08:37:33
0

理论知识推导

决策树回归是一种非参数监督学习方法,用于回归问题。它通过将数据集划分成较小的子集来建立模型,并在这些子集上构建简单的预测模型(通常是恒定值)。下面是决策树回归的数学推导过程:

实施步骤与参数解读

  1. 数据准备: 准备训练数据集和测试数据集。

  2. 特征工程: 对数据进行预处理和特征工程。

  3. 模型训练: 使用训练数据训练决策树模型。

  4. 模型评估: 使用测试数据评估模型性能。

  5. 模型优化: 调整模型参数以提高模型性能。

重要参数:

  • max_depth:树的最大深度,防止过拟合。
  • min_samples_split:内部节点再划分所需最小样本数。
  • min_samples_leaf:叶节点最少样本数。
  • max_features:在分裂时考虑的最大特征数。

未优化模型实例

import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import mean_squared_error from sklearn.datasets import make_regression import matplotlib.font_manager as fm  # 设置全局字体为楷体 plt.rcParams['font.family'] = 'KaiTi'  # 生成多维数据集 X, y = make_regression(n_samples=500, n_features=5, noise=0.1) y = y.reshape(-1, 1)  # 数据集划分 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  # 未优化模型 regressor = DecisionTreeRegressor() regressor.fit(X_train, y_train) y_pred = regressor.predict(X_test) mse_unoptimized = mean_squared_error(y_test, y_pred)  # 优化后的模型 optimized_regressor = DecisionTreeRegressor(max_depth=5, min_samples_split=10, min_samples_leaf=5) optimized_regressor.fit(X_train, y_train) y_pred_optimized = optimized_regressor.predict(X_test) mse_optimized = mean_squared_error(y_test, y_pred_optimized)  # 输出结果 print(f"未优化模型的MSE: {mse_unoptimized}") print(f"优化后的模型的MSE: {mse_optimized}")  # 可视化 plt.figure(figsize=(12, 6))  # 原始数据的二维投影 plt.subplot(1, 2, 1) plt.scatter(X_test[:, 0], y_test, color='blue', label='Actual') plt.scatter(X_test[:, 0], y_pred, color='red', label='Predicted') plt.title('未优化模型') plt.xlabel('Feature 0') plt.ylabel('Target') plt.legend()  plt.subplot(1, 2, 2) plt.scatter(X_test[:, 0], y_test, color='blue', label='Actual') plt.scatter(X_test[:, 0], y_pred_optimized, color='red', label='Predicted') plt.title('优化后的模型') plt.xlabel('Feature 0') plt.ylabel('Target') plt.legend()  plt.show() 

结果解释
  • 未优化模型:均方误差(MSE)相对较高,表示模型在测试数据上的预测不够准确。
  • 优化后的模型:均方误差(MSE)较低,表示模型在测试数据上的预测更加准确。
可视化图展示
  • 未优化模型:图中红色点表示模型预测值,蓝色点表示实际值。预测值与实际值之间有明显差距。
  • 优化后的模型:图中红色点表示优化后的模型预测值,与实际值(蓝色点)更加接近,说明优化后的模型性能更好。

通过上述步骤,我们实现了决策树回归模型的训练和优化,并通过可视化对比了两个模型的效果。

相关内容

热门资讯

重大通报,金花房卡如何购买西游... 西游联盟房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
IA解析/牛牛房卡官网皇豪互娱... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正版授权!牛牛充值房卡超游联盟... 您好!微信超游联盟大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(超游联盟)大厅介绍:...
头条推荐!金花微信链接市场价格... 头条推荐!金花微信链接市场价格表九酷大厅/随意玩/房卡是在哪里买的九酷大厅/随意玩是一款非常受欢迎的...
科技实测!微信金花房卡怎么弄海... 微信游戏中心:海贝之城房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正规平台有哪些,牛牛房卡制作链... 豌豆互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正规平台有哪些,牛牛房卡代理海... 您好!微信海航大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(海航大厅)大厅介绍:...
我来教你/如何购买金花房卡神盾... 微信游戏中心:神盾大厅/新天道房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
我来教你/斗牛房卡充值新天道/... 今 日消息,新天道/皇豪互娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
玩家攻略,金花房卡批发价卡丁互... 玩家攻略,金花房卡批发价卡丁互娱/正规房卡找谁买卡丁互娱是一款非常受欢迎的游戏,咨询房/卡添加微信:...
IA解析/牛牛房卡游戏代理海米... 微信游戏中心:海米大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
玩家攻略,怎么买斗牛房卡朱雀大... 微信游戏中心:朱雀大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
推荐一款!牛牛房卡制作链接海星... 海星大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
头条推荐!金花房卡如何购买超游... 头条推荐!金花房卡如何购买超游联盟/房卡购买房间怎么开超游联盟是一款非常受欢迎的游戏,咨询房/卡添加...
我来教你/如何购买金花房卡老神... 微信游戏中心:老神兽/皇豪互众房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
正版授权!牛牛房卡出售海豚大厅... 正版授权!牛牛房卡出售海豚大厅/房卡购买房间怎么开Sa9Ix苹果iPhone 17手机即将进入量产阶...
重大通报,如何购买金花房卡龙马... 您好!微信龙马大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(龙马大厅)大厅介绍:...
科技实测!金花房卡官网烛龙大厅... 烛龙大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
我来教你/金花微信链接市场价格... 我来教你/金花微信链接市场价格表天酷大厅/房卡在哪里购买天酷大厅是一款非常受欢迎的游戏,咨询房/卡添...
ia实测“金花房卡从哪里购买/... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...