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

问题

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


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()

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

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

结果如图


结论

R2不高,模型并不太好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容