当前位置: 首页 > news >正文

python sklearn 机器学习(1)

一、任务要求:

任务一:药品销量预测
【任务说明】
现有一医疗机构多年来的药品销售数据,基于该数据,选择合适
的算法训练模型,并对该机构的药品销量进行预测。
【任务要求】
1.读取药品销售数据;
2.提取合适的特征;
3.对数据进行编码等预处理;
4.划分训练集和测试集;
5.构建机器学习模型;
6.编写模型训练相关代码,完成模型训练;
7.将训练好的模型进行保存;
8.使用模型进行预测。

二、代码部分:

import pandas as pd
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
import joblibdata = pd.read_csv('药品销售数据.csv')
data['销售日期'] = pd.to_datetime(data['销售日期'])
data['年份'] = data['销售日期'].dt.year
data['月份'] = data['销售日期'].dt.month
data['药品编码_药品名称'] = data['商品编码'] + '_' + data['商品名称']
features = ['药品编码_药品名称', '年份', '月份']
target = '销售数量'
x = data[features]
y = data[target]label_encoder = LabelEncoder()
x.loc[:, '药品编码_药品名称'] = label_encoder.fit_transform(x['药品编码_药品名称'])# 划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(x_train, y_train)
train_score = model.score(x_train, y_train)
test_score = model.score(x_test, y_test)
print(f"训练集得分:{train_score:.2f}")
print(f"测试集得分:{test_score:.2f}")# 保存模型
joblib.dump(model, 'model.pkl')
joblib.dump(label_encoder, 'label.pkl')# 读取模型
loaded_model = joblib.load('model.pkl')
loaded_label = joblib.load('label.pkl')new_data = pd.DataFrame({'药品编码_药品名称': ['P00007_商品名称17', 'P00003_商品名称3', ],'年份': [2013, 2013],'月份': [3, 4],
})# 预测
new_data['药品编码_药品名称'] = loaded_label.transform(new_data['药品编码_药品名称'])
predictions = loaded_model.predict(new_data)
print(f"预测的销售数量:{predictions}")
print(f"预测的销售数量:{predictions[0]}")
print(f"预测的销售数量:{predictions[1]}")

三、运行结果:

http://www.lqws.cn/news/571573.html

相关文章:

  • 多模态大语言模型arxiv论文略读(143)
  • 代理模式 - Flutter中的智能替身,掌控对象访问的每一道关卡!
  • ⚙️ 深度学习模型编译器实战:解锁工业级部署新范式​​—— 基于PyTorch-MLIR的全流程优化指南(开源工具链集成)​​
  • Python银行管理系统01升级(适合初学者)
  • 【百日精通JAVA | 语法篇】static关键字
  • CppCon 2017 学习:Undefined Behavior in 2017
  • idea运行到远程机器 和 idea远程JVM调试
  • x86 rop攻击理解2
  • 设计模式-外观模式、适配器模式
  • 设备健康状态实时监测:从技术原理到中讯烛龙的智能实践
  • X-Search:Spring AI实现的AI智能搜索
  • redis延时双删,为什么第一次删除
  • 检查达梦外部表
  • ROS的可视化工具rviz介绍
  • wpf的Binding之UpdateSourceTrigger
  • PaddleNLP
  • 桌面小屏幕实战课程:DesktopScreen 18 FONTPAINT
  • RAG检索增强生成在垂类AI应用效能优化中的应用
  • 【硬核数学】6. 升级你的线性代数:张量,深度学习的多维数据语言《从零构建机器学习、深度学习到LLM的数学认知》
  • 【Java EE初阶 --- 多线程(进阶)】锁策略
  • 构建创意系统:驾驭Audition与Photoshop的AI之力,洞悉原子化设计哲学
  • Cursor1.1.6安装c++插件
  • MyBatis实战指南(八)MyBatis日志
  • 【数据集处理】基于 3D-GloBFP建筑轮廓数据 栅格化建筑数据(完整Python代码)
  • Day.46
  • 水果维生素含量排名详表
  • 【硬核数学】9. 驯服“梯度下降”:深度学习中的优化艺术与正则化技巧《从零构建机器学习、深度学习到LLM的数学认知》
  • 【JavaSE】反射学习笔记
  • 中州养老:学会设计数据库表
  • WebRTC(十三):信令服务器