Bootstrap

机器学习实战笔记4线性回归

线性回归

首先看一下线性回归方程,就是用代码来编写方程

1.numpy正规方程线性回归

import numpy as np
import pandas as pd
df = pd.DataFrame({'years':[1,2,3,4,5,6],
                   'salary':[4000,4250,4500,4750,5000,5250]})
df

生成df

m = len(df)
m

输出:6

x1=df["years"].values#方程中01
x1

输出:array([1, 2, 3, 4, 5, 6], dtype=int64)

x=np.append(np.ones((m,1)),x1.reshape(m,1),axis=1)
x

y=df["salary"]
np.dot(x.T,y)#x转置矩阵与y相乘

输出:array([ 27750., 101500.])

coefs = np.dot(np.linalg.inv(np.dot(x.T,x)),np.dot(x.T,y))
coefs

输出:array([3750., 250.])

f"y={coefs[0]}+{coefs[1]}x"

2.格式化函数。输出:'y=3749.9999999999964+250.0x',将方程中所需要的系数都表示好

3.sklearn实现线性回归

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(
    df[["years"]],
    df[["salary"]]
)

model.intercept_

输出:array([3750.])

model.coef_

输出:array([[250.]])

在机器学习中,model.intercept_ 属性通常用于获取模型的截距项。这个属性在许多线性模型中都存在,例如线性回归、逻辑回归等。截距项是模型方程中的常数项,表示当所有特征值都为零时,模型预测的输出值。

在机器学习模型中,特别是在线性模型中,model.intercept_ 和 model.coef_ 是两个常用的属性,它们分别表示模型的截距项和系数。

f"y={model.intercept_[0]}+{model.coef_[0][0]}x"

输出:'y=3750.0+250.0x'

;