机器学习算法-线性回归

机器学习算法-线性回归

1.K-近邻算法

(略)

2.线性回归

2.1线性回归简介
1.线性回归应用场景
  • 房价预测
  • 销售额度预测
  • 贷款额度预测
2.什么是线性回归
2.1定义与公式

线性回归(Linear regression)是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方法.

特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况叫做多元回归

通用公式:
h ( w ) = w 1 x 1 + w 2 x 2 + w 3 x 3 . . . + b = w T x + b h(w)=w_1x_1+w_2x_2+w_3x_3...+b=w^Tx+b h(w)=w1x1+w2x2+w3x3...+b=wTx+b
其中w,x可以理解为矩阵:
w = ( b w 1 w 2 ) , x = ( 1 x 1 x 2 ) w=\bigg( \begin{smallmatrix} b\\w_1\\w_2 \end{smallmatrix} \bigg),x=\bigg( \begin{smallmatrix} 1\\x_1\\x_2 \end{smallmatrix} \bigg) w=(bw1w2),x=(1x1x2)

  • 线性回归用矩阵表示举例
    { 1 × x 1 + x 2 = 2 0 × x 1 + x 2 = 2 2 × x 1 + x 2 = 3 \left\{ \begin{matrix} 1 \times x_1 + x_2=2\\ 0 \times x_1 + x_2=2\\ 2 \times x_1 + x_2=3 \end{matrix} \right. 1×x1+x2=20×x1+x2=22×x1+x2=3

  • 写成矩阵形式:
    [ 1 1 0 1 2 1 ] [ x 1 x 2 ] = [ 2 2 3 ] ↑ ↑ ↑ A × x = b \left[\begin{matrix}1&1\\0&1\\2&1\end{matrix}\right] \left[\begin{matrix}x_1\\x_2\end{matrix}\right] =\left[\begin{matrix}2\\2\\3\end{matrix}\right]\\ \uparrow \quad \quad \quad \uparrow \quad \quad \quad \uparrow\\ A \quad \times \quad x\quad = \quad b 102111 [x1x2]= 223 A×x=b

2.2线性回归api初步使用
code
from sklearn.linear_model import LinearRegression

# 1.获取数据
X = [[80, 86],
     [82, 80],
     [90, 90],
     [85, 78],
     [86, 82],
     [82, 90],
     [78, 80],
     [92, 94]
     ]
y = [84.2, 80.6, 80.1, 90, 83.2, 86.6, 79.4, 93.4]

# 2.模型训练
# 2.1实例化一个估计器
estimator = LinearRegression()
# 2.2使用fit方法进行训练
estimator.fit(X, y)
# 打印对应的系数
print("线性回归的系数是:\n", estimator.coef_)
# 打印预测结果
print("输出预测结果:\n", estimator.predict([[100, 80]]))

# D:\Python\Python311\python.exe D:\work\pyprj\ml\linser_demo.py
# 线性回归的系数是:
#  [0.41212411 0.13044053]
# 输出预测结果:
#  [90.47473664]

2.3数学:求导
1、常见的函数导数

n 公式 例子 1 ( 常数 ) ′ = 0 ( 5 ) ′ = 0 ( 10 ) ′ = 0 2 ( x a ) ′ = a x a − 1 ( x 3 ) ′ = 3 x 2 3 ( a x ) ′ = a x l n a ( 2 x ) ′ = 2 x l n 2 4 ( e x ) ′ = e x ( e x ) ′ = e x 5 ( l o g a x ) ′ = 1 x l n a ( l o g 10 x ) ′ = 1 x l n 10 6 ( l n x ) ′ = 1 x ( l n x ) ′ = 1 x 7 ( s i n x ) ′ = c o s x ( s i n x ) ′ = c o s x 8 ( c o s x ) ′ = − s i n x ( c o s x ) ′ = − s i n x \begin{array} {|c|l|l|} \hline n & \text{公式} & \text{例子} \\ \hline 1 & (常数)'=0 & (5)'=0 (10)'=0 \\ \hline 2 & (x^a)'=ax^{a-1} & (x^3)'=3x^2 \\ \hline 3 & (a^x)'=a^xlna & (2^x)'=2^xln2 \\ \hline 4 & (e^x)'=e^x & (e^x)'=e^x\\ \hline 5 & (log_ax)'= \frac{1}{xlna} & (log_{10}x)'= \frac{1}{xln10}\\ \hline 6 & (lnx)'= \frac{1}{x} & (lnx)'= \frac{1}{x}\\ \hline 7 & (sinx)'= cosx & (sinx)'= cosx \\ \hline 8 & (cosx)'= -sinx & (cosx)'= -sinx\\ \hline \end{array} n12345678公式(常数)=0(xa)=axa1(ax)=axlna(ex)=ex(logax)=xlna1(lnx)=x1(s

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值