机器学习:一般的线性模型

本次展示的模型:

目的:根据天气数据和对应的工单数来预测下一天的工单数

使用的模型:LinearRegression

数据文件

链接:百度网盘 请输入提取码 提取码:1221

导入包

from sklearn.model_selection import train_test_split  # 用于数据集拆分
from sklearn.linear_model import LinearRegression  # 导入线性回归模型
from sklearn.metrics import mean_squared_error  # 导入均方误差指标
import pandas as pd
import joblib #打包模型的库

1.获取数据

weather_data=pd.read_csv('data/weather_data.csv')
work_order_data=pd.read_csv('data/work_order_data.csv')

2.处理数据

# 2.处理数据
# 将天气数据与工单数据通过 timestamp 连接起来 类似于myssql中的主键连接
merged_data = pd.merge(weather_data, work_order_data, on='timestamp')
​
# 特征提取(把可能影响结果的变量提取出来作为X,把结果值取出来作为y)
featrues=['temperature','humidity','wind_speed','precipitation']
X=merged_data[featrues]
y=merged_data['work_order_count']
​
#拆分数据集(将数据集拆分为训练集和测试集,比例为8/2,固定随机种子为102)
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=100)

3.训练模型

model=LinearRegression() #创建一个线性回归模型
model.fit(X_train,y_train) #使用训练集训练模型

4.使用模型预测

#把X的测试集给模型进行预测
y_pred=model.predict(X_test)

5.评估模型

#将预测的数据于测试数据进行对比,求出标准差,标准差越小越准确
rmse = mean_squared_error(y_test, y_pred, squared=False)
print(rmse)

6.打包模型

#将模型打包并且命名为:weather_order_model.pkl
joblib.dump(model,"weather_order_model.pkl")

要是想要调用这个打包文件的模型

# 加载模型
loaded_model = joblib.load('weather_order_model.pkl')
​
# 使用加载的模型进行预测
new_data = pd.DataFrame({
    'temperature': [25.0],
    'humidity': [60.0],
    'wind_speed': [10.0],
    'precipitation': [0.2]
})
​
reust = loaded_model.predict(new_data)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值