前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[scikit-learn 机器学习] 2. 简单线性回归

[scikit-learn 机器学习] 2. 简单线性回归

作者头像
Michael阿明
发布2020-07-13 15:51:04
8190
发布2020-07-13 15:51:04
举报
文章被收录于专栏:Michael阿明学习之路

1. 简单线性回归

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

X = np.array([[6],[8],[10],[14],[18]])
y = np.array([7,9,13,17.5,18])
plt.title("pizza diameter vs price")
plt.xlabel('diameter')
plt.ylabel('price')
plt.plot(X,y,'r.') # r表示颜色红
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X,y)

test_pizza = np.array([[12]])
pred_price = model.predict(test_pizza)
pred_price
# array([13.68103448])
  • 误差
\sum(y_i-f(x_i))^2
代码语言:javascript
复制
print("误差平方和:%.2f" % np.mean((model.predict(X)-y)**2))
误差平方和:1.75
  • 方差
var(x) = \frac{\sum(x_i-\bar x)^2}{n-1}
代码语言:javascript
复制
# 方差
x_bar = X.mean() # 11.2
variance = ((X-x_bar)**2).sum()/(len(X)-1)
variance # 23.2

np.var(X, ddof=1) # np内置的方差,ddof为校正选项
###################
ddof : int, optional
        "Delta Degrees of Freedom": the divisor used in the calculation is
        ``N - ddof``, where ``N`` represents the number of elements. By
        default `ddof` is zero.
  • 协方差
cov(x,y) = \frac{\sum(x_i-\bar x)(y_i - \bar y)}{n-1}
代码语言:javascript
复制
# 协方差,两个变量之间的相关性
y_bar = y.mean()
covariance = np.multiply((X-x_bar).transpose(), y-y_bar).sum()/(len(X)-1)
covariance # 22.65

np.cov(X.transpose(), y)
代码语言:javascript
复制
array([[23.2 , 22.65],
       [22.65, 24.3 ]])

假设模型为

y = a+bx
b = \frac{cov(x,y)}{var(x)} = 22.65/23.2 = 0.98
a = \bar y - b \bar x = 12.9-0.98*11.2=1.92

模型为

y = 1.92+0.98x

2. 评价模型

R^2 = 1-\frac{\sum(y_i-f(x_i))^2}{\sum(y_i-\bar y)^2}
代码语言:javascript
复制
X_test = np.array([8,9,11,16,12]).reshape(-1,1)
y_test = [11,8.5,15,18,11]
r_squared = model.score(X_test, y_test)
r_squared # 0.6620052929422553
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/06/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简单线性回归
  • 2. 评价模型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档