决定系数:即R平方值,也称判定系数、拟合优度。反应因变量的全部变异能通过回归关系被自变量解释的比例。
如R平方为0.8,则表示回归关系可以解释因变量80%的变异。换句话说,如果我们能控制自变量不变,则因变量的变异程度会减少80%。
如某学生在某智力量表上所得的IQ分与其学业成绩的相关系数r=0.66,则决定系数R^2=0.,即该生学业成绩约有44%可由该智力量表所测的智力部分来说明或决定。
实现方法:
#Python
fromsklearnimportlinear_model
importnumpyasnp
defpolyfit(x,y):
linear=linear_model.LinearRegression()
linear.fit(x,y)
y_hat=linear.predict(x)
y_mean=np.mean(y)
SSR=0
SST=0
foriinrange(len(y)):
SSR+=(y_hat[i]-y_mean)**2
SST+=(y[i]-y_mean)**2
returnSSR/SST
train_x=[1,3,8,7,9]
train_x_2d=[[x]forxintrain_x]#通用的方式,训练集至少是二维的
train_y=[10,12,24,21,34]
print(polyfit(train_x_2d,train_y))