sklearn-LinearRegression(线性回归)

公式:y^​(w,x)=w0​+w1​x1​+...+wp​xp

代码示例:

import numpy as np
from sklearn.linear_model import LinearRegression


#是二维数组所以用两个[],传入两个特征。
x=np.array([[150,70],[160,80],[170,90],[180,98]])
# y = 1 * x_0 + 2 * x_1 + 3
#公式代码化,正常y为数值,训练模型得出系数以及偏差值,从而进行预测
y=np.dot(x, np.array([1, 2])) + 3
#调用LinearRegression类的方法fit(X,y),
# 直接实例化了一个线性回归模型,并且用上面生成的数据进行了拟合。
reg = LinearRegression().fit(x, y)
#reg = LinearRegression()
#reg.fit(X, y)

print(reg.coef_) #系数(公式中的)
print(reg.intercept_)#偏差值
new=reg.predict(np.array([[3, 5]]))#利用拟合好的线性方程,计算新输入的值
print(new)

注意事项:

线性!

格式化数据,输入为n*d的数组,其中n表示数据的个数,d是维度;输出值是一维数组。

初始化模型LinearReregression()

拟合fit(X,y)

预测predict(X_test)

实操:

根据csv文件中身高、体重、年龄、临时变量数据进行拟合线性方程,预测提供身高、年龄、临时变量下体重值。(数据量小、逻辑不合理勿怪)

代码展示:

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

np.random.seed(123)#创建随机数种子
#去除数据为空值的行、随机获取几行数据
df=pd.read_csv('cs.csv').dropna(subset=['weight','height','age','linshi'],how='any').sample(3)
#固定表头
df.head()
print(df)#打印展示
#训练模型、拟合
reg=LinearRegression().fit(X=df[['height','age','linshi']],y=df[['weight']])
print(reg.coef_) #系数(公式中的)
print(reg.intercept_)#偏差值
new=reg.predict(X=[[183,32,11]])#利用拟合好的线性方程,计算新输入的值
print(new)

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值