《机器学习Python实战》课件 09-项目4 项目拓展-糖尿病患者病情预测_第1页
《机器学习Python实战》课件 09-项目4 项目拓展-糖尿病患者病情预测_第2页
《机器学习Python实战》课件 09-项目4 项目拓展-糖尿病患者病情预测_第3页
《机器学习Python实战》课件 09-项目4 项目拓展-糖尿病患者病情预测_第4页
《机器学习Python实战》课件 09-项目4 项目拓展-糖尿病患者病情预测_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器学习Python实战

项目4项目拓展——糖尿病患者病情预测任务目标使用scikit-learn库内置的糖尿病患者病情数据集,第一,使用线性回归建立基准模型;第二,引入岭回归,通过调节alpha值观察模型系数的衰减趋势,理解L2正则化如何限制模型复杂度。任务目标:糖尿病患者病情预测1.数据集探索与准备#导入糖尿病患者病情数据集fromsklearn.datasetsimportload_diabetes#导入数据集拆分工具fromsklearn.model_selectionimporttrain_test_split#导入绘图工具importmatplotlib.pyplotasplt#导入均方误差评估模块fromsklearn.metricsimportmean_squared_error#导入线性回归模型构建类fromsklearn.linear_modelimportLinearRegression#加载数据集diabetes=load_diabetes()#输出糖尿病患者病情数据集中的键diabetes.keys()运行代码,结果如图1所示。图1糖尿病数据集中的键糖尿病患者病情预测1.数据集探索与准备#输出数据集的形状diabetes['data'].shape运行代码,结果如图2所示。图2糖尿病数据集的形状糖尿病患者病情预测1.数据集探索与准备#输出数据详细描述print(diabetes['DESCR'])运行代码,结果如图3所示。图3糖尿病数据集的详细描述年龄性别体重指标平均血压血清测量指标糖尿病患者病情预测2.线性回归基准模型构建#特征变量X=diabetes['data']#目标变量y=diabetes['target']#划分数据集为训练集和测试集X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)#创建线性回归模型对象diabetes_lr=LinearRegression()#训练模型diabetes_lr.fit(X_train,y_train)#预测数据y_predict=diabetes_lr.predict(X_test)#评估模型mse=mean_squared_error(y_test,y_predict)print("均方误差为:\n",mse)print('')print('==============================')print(f'coef_:{diabetes_lr.coef_[:]}')print(f'intercept_:{diabetes_ercept_}')print('==============================')糖尿病患者病情预测3.模型评估mse

=

mean_squared_error(y_test,

y_predict)print("均方误差为:\n",

mse)均方误差mean_squared_error:均方误差(Meansquarederror,MSE),是回归模型中衡量预测精度的常用指标,定义为预测值与实际值之间残差平方和的均值。MSE值越小,表示模型的拟合效果越好。运行代码,结果如图4所示。图4均方误差#输出线性模型的系数和偏置print(f'coef_:{diabetes_lr.coef_[:]}')print(f'intercept_:{diabetes_ercept_}')糖尿病患者病情预测4.输出线性回归模型的系数、偏置运行代码,得到线性回归模型的系数和,如图5所示。图5线性回归模型的系数和偏置用以获取模型的系数用以获取模型的偏置糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估fromsklearn.linear_modelimportRidge#创建岭回归模型对象diabetes_ridge=Ridge(alpha=1.0)#训练模型diabetes_ridge.fit(X_train,y_train)#预测数据y_predict_1=diabetes_ridge.predict(X_test)#评估模型mse_1=mean_squared_error(y_test,y_predict_1)print("均方误差为:\n",mse_1)print('')print('==============================')print(f'coef_:{diabetes_ridge.coef_[:]}')print(f'intercept_:{diabetes_ercept_}')print('==============================')(1)现在用岭回归模型进行拟合,设置岭回归模型参数alpha=1.0(默认值)糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估运行代码,得到alpha=1.0时岭回归模型的均方误差、系数和偏置,如图6所示。图6alpha=1.0时岭回归模型的均方误差、系数和偏置可以看到,与线性回归模型相比,系数值有所减小,但均方误差未明显改善。糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估#创建alpha=10的岭回归模型对象diabetes_ridge10=Ridge(alpha=10)#训练模型diabetes_ridge10.fit(X_train,y_train)#预测数据y_predict_10=diabetes_ridge10.predict(X_test)#评估模型mse_10=mean_squared_error(y_test,y_predict_10)print("均方误差为:\n",mse_10)print('')print('==============================')print(f'coef_:{diabetes_ridge10.coef_[:]}')print(f'intercept_:{diabetes_ercept_}')print('==============================')(2)设置岭回归模型参数alpha=10糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估运行代码,得到alpha=10时岭回归模型的均方误差、系数和偏置,如图7所示。图7alpha=10时岭回归模型的均方误差、系数和偏置可以看到,相对于alpha=1.0的岭回归模型,系数进一步减小,向0靠近,模型复杂度降低。糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估#创建alpha=0.1的岭回归模型对象diabetes_ridge01=Ridge(alpha=0.1)#训练模型diabetes_ridge01.fit(X_train,y_train)#预测数据y_predict_01=diabetes_ridge01.predict(X_test)#评估模型rmse_01=mean_squared_error(y_test,y_predict_01)print("均方误差为:\n",rmse_01)print('')print('==============================')print(f'coef_:{diabetes_ridge01.coef_[:]}')print(f'intercept_:{diabetes_ercept_}')print('==============================')(3)设置岭回归模型参数alpha=0.1糖尿病患者病情预测5.不同参数的岭回归模型比较分析评估运行代码,得到alpha=0.10时岭回归模型的均方误差、系数和偏置,如图8所示。图8alpha=0.1时岭回归模型的均方误差、系数和偏置可以看到,系数接近线性回归结果,均方误差有所改善。糖尿病患者病情预测

当alpha=10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论