机器学习模型训练和模型评估的过程

简介: 主要记录下模型训练和模型评估的过程

选择算法确定模型

   主要是根据特征和标签之间的关系,选出一个合适的算法,并找出与之对应的合适算法包,然后通过调用这个算法包来建立模型,通过上一篇文章,这个数据集里的某些特征和标签之间存在着近似线性的关系。而且这个数据集的标签是连续变量,因此适合用回归分析来寻找从特征到标签的预测函数。

  所谓的回归分析(regression analysis)就是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析,说白了就是当自变量变化的时候,研究一下因变量是怎么跟着变化的,它可以用来预测客流量、降雨量、销售量等。

  回归分析的算法有多种,如线性回归、多项式回归、贝叶斯回归等等。具体根据特征和标签 之间的关系来决定。初始时特征和标签可能存在线性关系可以用最简单、最基础的机器学习算法线性回归来建模,线性回归是给每一个特征变量找参数的过程。

比如数学中一元线性回归公式:y = a*x +b 对于机器学习来说,我们把斜率a叫做权重(weight) ,用英文字母w代表,把截距b叫做偏置(bias) ,用英文字母b代表,机器学习中一元线性回归公式表示为:

Y = w*x +b

机器学习算法包

  常用的算法工具包是scikit-learn ,简称sklearn 它是使用最广泛的开源python机器学习库,sklearn提供了大量用于数据挖掘的机器学习工具,覆盖数据预处理、可视化、交叉验证和多种机器学习算法。

建立模型

调用LinearRegression建立模型非常简单,如下

from sklearn.liner_model import LinerRegression # 导入线性回归算法模型
linereg_model = LinearRegression() #    使用线性回归创建模型

模型参数有两种,内部参数和外部参数。内部参数是属于算法本身的一部分,不用我们人工来确定,比如线性回归中的权重w和截距b,都是线性回归的内部参数;而外部参数也叫做超参数,他们的值是在创建模型时,由我们自己设定的。LinearRegression模型外部参数主要包含两个布尔值:

fit_intercept ,默认值为True,代表是否计算模型的截距

normalize,默认值为Flase代表是否对特征X在回归之前做规范化。

  • 训练拟合模型

训练模型就是用训练集中的特征变量和已知标签,根据样本大小的损失大小来逐渐拟合函数,确定最优的内部参数,最后完成模型。

linereg_model.fit(x_train,y_train) # 用训练集数据,训练机器,拟合函数,确定内部参数

主要得益于机器学习库的存在,直接通过fit完成模型训练,fit内部核心就是优化其内部参数减少损失,使函数对特征到标签的模拟越来越贴切,  针对所有样本,找到一组平均损失较小的模型参数。 这其中的关键就是:通过梯度下降,逐步优化模型的参数,使训练集误差值达到最小。

梯度下降:通过求导的方法,找到每一步的方向,确保总是往更小的损失方向前进。

  • 评估并优化模型性能。

在验证集和测试集进行模型效果评估的过程中,我们则是通过最小化误差来实现超参数(模型外部参数)的优化。机器学习包中(如scikit-learn)都会提供常用的工具和指标,对验证集和测试集进行评估,进而计算当前的误差。比如R方或者MSE均方误差指标,就可以用于评估回归分析模型的优劣。

预测方法:

通常就直接使用模型中的predict方法进行:

y_pred = linereg_model.predict(x_test) #预测测试集的Y值

比较测试数据集的原始特征数据、原始标签值和模型对标签的预测值组合一起显示、比较

df_ads_pred= X_test.copy() #测试集特征数据
df_ads_pred['浏览量真值'] = y_test
df_ads_pred['浏览量预测值'] = y_pred
df_ads_pred

   查看模型长得什么样?通过LinearRegression的coef_和intercept_属性打印出各个特征的权重和模型的偏置来,它们就是模型的内部参数。

linereg_model.coef_
linereg_model.intercept_

模型的评估分数:常用于评估回归分析模型的指标有两种:R方分数和MSE指标,并且大多数机器学习工具包中都会提供相关的工具,以下是用R方分数来评估模型

linears_model.score(x_test,y_test)

机器学习项目是一个循环迭代的过程,优秀的模型都是一次次迭代的产物模型评估 需要反复评测,找到最优的超参数,确定最终模型。

目录
相关文章
|
3天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领精美计时器
39 3
|
9天前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
26 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
1天前
|
机器人
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
1024 云上见 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型,搭建 “文旅领域知识问答机器人” 领 200个 精美计时器等你领
11 2
|
9天前
|
机器学习/深度学习 前端开发 网络架构
Django如何调用机器学习模型进行预测
Django如何调用机器学习模型进行预测
37 5
|
7天前
|
机器学习/深度学习 算法 Python
深度解析机器学习中过拟合与欠拟合现象:理解模型偏差背后的原因及其解决方案,附带Python示例代码助你轻松掌握平衡技巧
【10月更文挑战第10天】机器学习模型旨在从数据中学习规律并预测新数据。训练过程中常遇过拟合和欠拟合问题。过拟合指模型在训练集上表现优异但泛化能力差,欠拟合则指模型未能充分学习数据规律,两者均影响模型效果。解决方法包括正则化、增加训练数据和特征选择等。示例代码展示了如何使用Python和Scikit-learn进行线性回归建模,并观察不同情况下的表现。
69 3
|
6天前
|
人工智能 算法 测试技术
PAI 大语言模型评测平台现已支持裁判员模型评测
本文将为您介绍如何在 PAI 大语言模型评测平台,基于裁判员模型,评价开源模型或者微调后模型的性能。该功能限时免费,欢迎使用。
|
7天前
|
机器学习/深度学习 数据挖掘 Serverless
手把手教你全面评估机器学习模型性能:从选择正确评价指标到使用Python与Scikit-learn进行实战演练的详细指南
【10月更文挑战第10天】评估机器学习模型性能是开发流程的关键,涉及准确性、可解释性、运行速度等多方面考量。不同任务(如分类、回归)采用不同评价指标,如准确率、F1分数、MSE等。示例代码展示了使用Scikit-learn库评估逻辑回归模型的过程,包括数据准备、模型训练、性能评估及交叉验证。
20 1
|
9天前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
21 1
|
9天前
|
机器学习/深度学习 数据挖掘
二、机器学习之回归模型分析
二、机器学习之回归模型分析
40 0
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024