vps运行iis网站 需要输入账号和密码静态网站开发实训的目的
vps运行iis网站 需要输入账号和密码,静态网站开发实训的目的,网络营销策划有哪些,推广文案范文100字一、项目背景与解决方案
1. 项目背景
决策树是机器学习中经典的非参数模型#xff0c;可同时支持分类和回归任务#xff08;决策树回归#xff09;。在回归场景中#xff0c;决策树通过递归划分特征空间#xff0c;将每个划分后的子区域映射为该区域内样本的均值#xff…一、项目背景与解决方案1. 项目背景决策树是机器学习中经典的非参数模型可同时支持分类和回归任务决策树回归。在回归场景中决策树通过递归划分特征空间将每个划分后的子区域映射为该区域内样本的均值以MSE为划分准则从而实现对连续值的预测。本项目聚焦非线性回归任务正弦曲线拟合核心目标包括验证决策树回归器对带噪声非线性数据的拟合能力探究决策树核心超参数max_depth树深度对拟合效果的影响深度过小易欠拟合深度过大易过拟合通过可视化对比真实值与不同深度模型的预测值直观展示超参数选择的重要性。2. 解决方案整体流程分为三步数据构建生成[-3, 3]范围内的随机自变量基于正弦函数生成因变量并添加轻微噪声模拟真实场景的非线性带噪声数据基础拟合验证使用固定深度3的决策树回归器拟合数据可视化预测曲线与真实值的对比超参数对比分析构建深度为2/4/6/8/10的决策树回归器分别拟合数据并可视化预测曲线分析不同深度的拟合效果欠拟合/过拟合。二、带详细注释的代码# 导入必要的库importnumpyasnp# 数值计算库用于生成数据、数组处理fromsklearn.treeimportDecisionTreeRegressor# 导入决策树回归器importmatplotlib.pyplotasplt# 可视化库用于绘制拟合结果# 第一步构建带噪声的正弦函数数据集 # 设置样本数量为100N100# 生成[-3, 3]范围内的随机自变量xnp.random.rand(N)生成[0,1)的随机数*6后范围是[0,6)-3后范围是[-3,3)xnp.random.rand(N)*6-3# 对x进行排序方便后续可视化排序后曲线更易观察x.sort()# 生成因变量y基于正弦函数np.sin(x)添加均值为0、方差0.05的随机噪声模拟真实数据的噪声ynp.sin(x)np.random.rand(N)*0.05# 打印y值可选用于调试查看数据print(y)# 重塑x的形状sklearn模型要求输入特征为二维数组样本数×特征数reshape(-1,1)表示将一维数组转为N行1列的二维数组xx.reshape(-1,1)# 打印重塑后的x可选用于调试查看数据维度print(x)# 第二步使用固定深度的决策树回归拟合数据 # 初始化决策树回归器# criterionmse划分准则为均方误差回归任务默认准则最小化每个节点的均方误差# max_depth3设置决策树最大深度为3限制树的复杂度避免过拟合dt_regDecisionTreeRegressor(criterionmse,max_depth3)# 用训练数据x,y拟合决策树模型dt_reg.fit(x,y)# 生成测试集在[-3,3]范围内生成50个均匀分布的点用于绘制平滑的预测曲线x_testnp.linspace(-3,3,50).reshape(-1,1)# 使用训练好的模型预测测试集的y值y_hatdt_reg.predict(x_test)# 可视化真实值与预测值plt.plot(x,y,y*,labelactual)# 绘制真实值黄色星号标记plt.plot(x_test,y_hat,b-,linewidth2,labelpredict)# 绘制预测值蓝色实线线宽2plt.legend(locupper left)# 显示图例位置在左上角plt.grid()# 显示网格线方便观察plt.show()# 展示图像# plt.savefig(./temp_decision_tree_regressor) # 可选保存图像到指定路径# 第三步对比不同深度的决策树拟合效果 # 定义要测试的决策树深度列表depth[2,4,6,8,10]# 定义对应深度曲线的颜色r红,g绿,b蓝,m品红,y黄colorrgbmy# 初始化决策树回归器暂不指定深度后续通过set_params动态修改dt_regDecisionTreeRegressor()# 绘制真实值黑色圆点标记plt.plot(x,y,ko,labelactual)# 生成测试集与第二步一致用于绘制平滑预测曲线x_testnp.linspace(-3,3,50).reshape(-1,1)# 遍历不同深度和对应颜色逐一训练并可视化ford,cinzip(depth,color):# 动态设置决策树的最大深度dt_reg.set_params(max_depthd)# 用训练数据拟合当前深度的决策树dt_reg.fit(x,y)# 预测测试集的y值y_hatdt_reg.predict(x_test)# 绘制当前深度的预测曲线指定颜色和线宽添加图例标签plt.plot(x_test,y_hat,-,colorc,linewidth2,labeldepth%d%d)# 显示图例位置在左上角plt.legend(locupper left)# 显示网格线bTrue为显式开启默认开启plt.grid(bTrue)# 展示图像plt.show()# plt.savefig(./temp_compare_decision_tree_depth) # 可选保存对比图像到指定路径简洁版importnumpyasnpfromsklearn.treeimportDecisionTreeRegressorimportmatplotlib.pyplotasplt# 生成带噪声的正弦数据集N100xnp.random.rand(N)*6-3x.sort()ynp.sin(x)np.random.rand(N)*0.05xx.reshape(-1,1)# 固定深度决策树回归拟合与可视化dt_regDecisionTreeRegressor(criterionmse,max_depth3)dt_reg.fit(x,y)x_testnp.linspace(-3,3,50).reshape(-1,1)y_hatdt_reg.predict(x_test)plt.plot(x,y,y*,labelactual)plt.plot(x_test,y_hat,b-,linewidth2,labelpredict)plt.legend(locupper left)plt.grid()plt.show()# 对比不同深度决策树拟合效果depth[2,4,6,8,10]colorrgbmydt_regDecisionTreeRegressor()plt.plot(x,y,ko,labelactual)x_testnp.linspace(-3,3,50).reshape(-1,1)ford,cinzip(depth,color):dt_reg.set_params(max_depthd)dt_reg.fit(x,y)y_hatdt_reg.predict(x_test)plt.plot(x_test,y_hat,-,colorc,linewidth2,labelfdepth{d})plt.legend(locupper left)plt.grid(bTrue)plt.show()三、代码运行结果分析固定深度3的拟合结果预测曲线能大致贴合正弦曲线的趋势但因深度限制曲线是分段常数决策树回归的特性不会过度拟合噪声不同深度的对比结果深度2曲线过于简单无法捕捉正弦曲线的波动呈现欠拟合深度4/6曲线能较好贴合正弦曲线趋势拟合效果最优深度8/10曲线过度贴合噪声点呈现过拟合曲线出现不必要的锯齿状波动。该结果验证了决策树深度对拟合效果的核心影响深度需根据数据复杂度合理选择过浅欠拟合、过深过拟合。