Python数据分析之一元线性回归问题Python方差分析结论

2018-07-03 14:01:32 浏览数 (1)

问题

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

Python方差分析

  1. 导入库和数据
代码语言:javascript复制
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. 绘制散点图
代码语言:javascript复制
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. 一元回归模型
代码语言:javascript复制
clf = linear_model.LinearRegression()
clf.fit(X,Y)
print(clf.coef_,clf.intercept_)
print(clf.score(X,Y))

结果如图

结论

R2不高,模型并不太好。

0 人点赞