Python数据分析之一元线性回归

问题

制作一元材积表,不懂林学的可能不知道,如图,也就是构造材积和胸径间的关系,这里采用了python的一元线性回归方法(本人用spss做了幂函数非线性回归,效果最好)。


img_0c969eb85d47af6c88d4bc0ea83b865e.png

Python方差分析

  1. 导入库和数据
from sklearn import linear_model
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df1 = pd.read_excel('C:/Users/Administrator/Desktop/一元材积表.xlsx')
  1. 绘制散点图
X = np.array(df1[['胸径']])
Y = np.array(df1[['材积']])
plt.rc('font',family='STXihei',size=15)
plt.scatter(X,Y,60,color='blue',marker='o',linewidths=3,alpha=0.4)
plt.xlabel('胸径')
plt.ylabel('材积')
plt.title('一元材积表')
plt.show()
img_340b4df17257f4463eec96b612b06fcf.png

可以看出,用一元线性回归是不太理想的,不过为了给老师交作业,还是做一下好了。

  1. 一元回归模型
clf = linear_model.LinearRegression()
clf.fit(X,Y)
print(clf.coef_,clf.intercept_)
print(clf.score(X,Y))

结果如图


img_922e50d33aab6961ab2d0a01161b23ab.png

结论

R2不高,模型并不太好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值