线性回归一是能够定量的解释因变量与解释变量间的相互关系,二是用来预测因变量。
本文通过Python拟合一元线性回归模型,实现对一元线性回归的学习,过程较简单。
主要知识点:
1、散点图绘制,查看变量间关系;
2、导入模型并建模:model=LinearRegression(),model.fit(x,y)
3、z=a+bx,截距a=model.intercept_ ,回归系数b=model.coef_
4、预测值 pred_y=model.predict(x)
5、rDf=Df.corr()
6、R平方:model.score(x,y)
7、简单线性回归特征只有1个时,构建模型,需要将数组转换为x行1列,numpy包中array.reshape(-1,1)改变数组形状
接下来进行案例的练习和实践。
从散点图可以看出,学习时间与分数有明显的正线性相关关系,接下来构建训练数据集和测试数据集,使用train_test_split函数;绘制这2个数据集的散点图。
拟合线性回归模型
出现报错,ValueError: Expected 2D array, got 1D array instead: array=[3.5 4.5 4.75 2.75 5.5 2.5 1. 1.75 0.75 0.5 3. 2. 5. 4.25 1.5 2.25]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 报错是因为只有1个特征,需要用array.reshape(-1,1)来改变数组的形状。
接下来继续建模
最佳拟合线:z=a+bx,截距 intercept:a,回归系数:b
最后,结果可视化
查看相关系数,rDf返回的是矩阵数据框,查看决定系数R平方,score()
R平方为0.87说明拟合优度还不错。
了解更多分析及数据抓取可查看:
http://cloud.yisurvey.com:9081/html/d8acf20b-342f-4806-8dcc-5e6a8d00881d.html?ly=csdn
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。