python sklearn 线性回归 报错_用Python的sklearn包的机器学习,实现线性回归分析

本文是小白文章,大神请忽略。

Python中的sklearn库提供了方便的机器学习算法,那么实现简单的线性回归,所需步骤如下:提出问题

理解问题

清洗数据

构建模型

评估模型

下面是具体的案例展示,案例数据为”学习时间“与”分数“

首先准备数据:提出问题:”学习时间“与”分数“之间是否线性相关,如果是,求出最佳拟合度如何?

理解数据:查看数据属性

上图可以看出,这是一个20行,两列的二维数组,数据信息完整。

数据集中只有两列数据,查看相关系数R,判断两者是否具有相关性。

上图所示,学习时间与分数的相关系数为0.923985,说明相关程度很高。

绘制散点图:

两者相关性程度越高,代表线性拟合程度越佳。可以查看两者的散点图。

上图所示,“学习时间”和“分数”呈现强烈的正线性相关,下一步求取最佳拟合度。

3.清洗数据

本例中数据信息完整,该步骤省略。

4.构建模型

通过上面的的散点图与相关系数值,判断“学习时间”与“分数”存在正线性相关,利用sklearn进行机器学习训练,并且构建一元线性回归模型。

4.1 导入sklearn包,建立训练数据与测试数据集

原数据为20,从中随机选择训练数据与测试数据的比例为 8:2,训练数据为16,测试数据为4

数据集的数量太小,其数据拟合的准确性比不足

4.2 构建线性回归模型

利用训练数据,创建线性回归模型,进行数据训练

然而出现了报错:

报错中显示,需要一个二维数组的数据只得到了一个一维数组,只有一个特征时,请用reshape(-1,1)改变数据组维度。

求取最佳拟合线的参数:

绘制最佳拟合线:

5.评估模型

决定系数R平方,是检验最佳拟合程度的指标,代表回归线可以描述多少数据总波动。

上图中,模型的决定系数R平方,表示只有部分波动可以被拟合线所描述,说明拟合度不高。

在途中绘制,训练数据和测试数据散点图,以及最佳拟合线。

综上可得:

(1)“学习时间”与“分数”具有强烈的正弦型相关,相关系数为0.92:;

(2)两者关系可以用函数Y=16.62085818+5.994135470628478 来进行预测。

多模仿,多借鉴,马到功成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值