目录
1.概览
2代码实现
2.1一元线性回归python代码
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 19 11:12:27 2018
一元线性回归
数据:一组房屋面积和房价变化的示例数据。x 为房屋面积,单位是平方米; y 为房价,单位是万元。
"""
import numpy as np
x = np.array([56, 72, 69, 88, 102, 86, 76, 79, 94, 74])
y = np.array([92, 102, 86, 110, 130, 99, 96, 102, 105, 92])
"""一元函数式代码实现
"""
def f(x, w0, w1):
y = w0 + w1 * x
return y
"""平方损失函数实现
"""
def square_loss(x, y, w0, w1):
loss = sum(np.square(y - (w0 + w1*x)))
return loss
"""最小二乘法代数求解平方损失函数最小值
"""
def w_calculator(x, y):
n = len(x)
w1 = (n*sum(x*y) - sum(x)*sum(y))/(n*sum(x*x) - sum(x)*sum(x))
w0 = (sum(x*x)*sum(y) - sum(x)*sum(x*y))/(n*sum(x*x)-sum(x)*sum(x))
return w0, w1 #(41.33509168550616, 0.7545842753077117)
w0 = w_calculator(x, y)[0]
w1 = w_calculator(x, y)[1]
"""拟