手把手教你机器学习之广义线性模型

1.线性模型的基本概念:

在机器学习领域,常用的线性模型包括线性回归,岭回归,套索回归,逻辑回归和线性SVC等。

线性模型的一般公式:

y=w[0]·x[0]+w[1]·x[1]+···+w[p]·x[p]+b
式中x[0],x[1],···,x[p]为数据集中特征变量的数量(这个公式表示数据集中的数据点一共有p个特征),w和b为模型的参数,y为模型对于数据的预测值。

2.线性模型的特点:

使用线性模型的前提条件,是假设目标y是数据特征的线性组合。但需要注意的是,使用一维数据集进行验证会让我们有一点偏颇,而对于特征变量较多的数据集来说,线性模型酒显得十分强大。尤其是,当训练数据集的特征变量大于数据点的数量多的时候,线性模型可以对训练数据做出近乎完美的预测。

3.最基本的线性模型——线性回归

线性回归,也称为最小二乘法(OLS),是在回归分析中最简单也是最经典的线性模型。

  1. 线性回归的基本原理:
    线性回归的原理是,找到当训练数据集中y的预测值和其真实值的平方差最小的时候,所对应的w值和b值。
    线性回归没有可供用户调节的参数,这是它的优势,但是也代表我们无法控制模型的复杂性。例子如下:
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=2)#自制数据集
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1)
lr=LinearRegression()
lr.fit(X_train,y_train)
print('lr.coef_:{}'.format(lr.coef_[:]))        #查看w[]系数
print('lr.intercept_:{}'.format(lr.intercept_))#查看截距b的值

结果如下:
请添加图片描述
2. 线性回归的性能表现:

print('训练集数据得分:{}'.format(lr.score(X_train,y_train)))
print('测试集数据得分:{}'.format(lr.score(X_test,y_test)))

请添加图片描述
3. 结果分析:
这是一个令人振奋的分数,模型在训练集和测试集上都取得了满分,这是因为我们的数据本身就是按照回归数据分布的,没有向数据集中添加噪声noisy。
下面我们将使用来自真实世界的数据集——糖尿病情数据集,再来测试一下线性模型的表现。
4.糖尿病情数据集实战:

from sklearn.datasets import load_diabetes
#载入糖尿病情数据集
X,y=load_diabetes().data,load_diabetes().target
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=1)
lr=LinearRegression().fit(X_train,y_train)
print('训练集得分:{}'.format(lr.score(X_train,y_train)))
print('测试集得分:{}'.format(lr.score(X_test,y_test)))

请添加图片描述
结果分析:
由于真实世界中数据的复杂程度比我们手工合成的数据高得多,所以使得线性回归的表现大幅下降。此外,由于线性回归自身的特点,非常容易出现过拟合的现象。在训练集和测试集的得分巨大差异是过拟合的问题的一个明确信号,因此,我们应该找到一个模型,使我们能够控制模型的复杂度。标准线性回归最常用的替代模型之一是岭回归。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DejaHu是一个用于训练模型的开源工具包,可以帮助用户快速构建和训练深度学习模型。以下是一个简要的手把手程,帮助你开始使用DejaHu训练模型。 1. 安装DejaHu:首先,你需要在你的机器上安装DejaHu。你可以在DejaHu的官方网站上找到安装说明和下载链接。根据你的操作系统和需求选择合适的版本进行安装。 2. 数据准备:在开始训练模型之前,你需要准备好训练数据。这包括标记好的训练样本和验证集。确保数据集的质量和数量足够用于模型训练。 3. 构建模型:使用DejaHu提供的API构建你的模型。选取合适的神经网络架构和层,并根据你的任务进行自定义。你可以通过库中的文档或示例代码来了解如何构建模型。 4. 配置训练参数:在训练模型之前,你需要配置一些训练的超参数,例如学习率、批大小等。这些参数将直接影响模型的训练效果。 5. 模型训练:使用DejaHu提供的训练函数来训练你的模型。根据指定的训练数据和参数,DejaHu将会自动完成模型的训练过程。训练的时间取决于你的数据集的大小和计算资源的性能。 6. 模型评估和调优:在训练结束后,通过使用验证集来评估模型的性能。根据评估结果,你可以调整模型的结构和超参数来进一步提高性能,或者选择其他训练方法。 7. 模型保存和使用:当你对模型的性能满意后,你可以将训练好的模型保存起来,以备将来使用。你可以使用DejaHu提供的API加载模型,并用于预测任务或特征提取等。 这只是DejaHu的一个简单程,帮助你入门训练模型。根据你的具体需求和任务,你可能需要学习更多关于DejaHu的功能和使用方法。你可以参考官方文档、在线程或其他资源来进一步深入学习和使用DejaHu。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值