用python写一份药品销售预测
时间: 2023-06-30 14:22:37 浏览: 53
药品销售预测是一项复杂的任务,需要考虑许多因素,例如历史销售数据、季节性因素、促销活动等。以下是一个简单的药品销售预测的代码示例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
# 读入数据
data = pd.read_csv('drug_sales.csv')
# 数据清洗和预处理
data = data.dropna() # 删除缺失值
X = data.drop('sales', axis=1) # 特征矩阵
y = data['sales'] # 目标变量
# 特征工程
X = pd.get_dummies(X) # 对类别变量进行独热编码
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 建立模型
model = LinearRegression()
model.fit(X_train, y_train)
# 模型评估
score_train = model.score(X_train, y_train)
score_test = model.score(X_test, y_test)
print('训练集得分:%f,测试集得分:%f' % (score_train, score_test))
# 模型预测
X_new = np.array([2022, 3, 2, 1, 0, 1, 0, 1]).reshape(1, -1) # 新数据
y_pred = model.predict(X_new)
print('预测结果:%f' % y_pred)
# 可视化预测结果
plt.plot(y_test.values, label='true')
plt.plot(model.predict(X_test), label='predicted')
plt.legend()
plt.show()
```
该代码以线性回归模型为例,使用了 Sklearn 库进行实现。其中,首先读入数据,然后进行数据清洗和预处理,对类别变量进行独热编码。接着,使用 train_test_split 函数将数据划分为训练集和测试集,然后建立线性回归模型并进行模型评估。最后,使用新数据进行预测,并可视化预测结果。
需要注意的是,药品销售预测是一个复杂的任务,需要考虑许多因素,因此模型的预测结果可能存在误差。在实际应用中,应该结合实际情况进行分析和判断。