EADST

Using SVR to Do Sales Forecasts

I used python pandas package to load the data, and sklearn package to do predictions.

# -*- coding: UTF-8 -*-
import pandas as pd

data_frame = pd.read_excel('sample.xlsx',
                         sheet_name='xdata-1')

days = data_frame['day_of_year'].unique()
# pay_time = data_frame['pay_time'].unique()
# day_of_week = data_frame['day_of_week'].unique()
# week_of_year = data_frame['month_of_year'].unique()
# act_class = data_frame['act_class'].unique()

x, y = [], []
for day in days:
    df1 = data_frame[(data_frame['day_of_year'] == day)]['num'].sum()
    df2 = data_frame[(data_frame['day_of_year'] == day)]['pay_price'].sum()
    df3 = data_frame[(data_frame['day_of_year'] == day)]['act_class'].sum()
    df4 = data_frame[(data_frame['day_of_year'] == day)]['month_of_year'].sum()
    df5 = data_frame[(data_frame['day_of_year'] == day)]['week_of_year'].sum()
    df6 = data_frame[(data_frame['day_of_year'] == day)]['day_of_month'].sum()
    df7 = data_frame[(data_frame['day_of_year'] == day)]['day_of_week'].sum()
    # x.append([day, round(df2/float(df1), 2), round(df3/float(df1), 2)])
    x.append([day, round(df2 / float(df1), 2), round(df3 / float(df1), 2),
              df4, df5, df6, df7])
    y.append(df1)

import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.svm import SVR
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error, accuracy_score
np.random.seed(0)
x.extend(x[-3:])
y.extend(y[-3:])

x = np.array(x)
y = np.array(y)

clf = SVR(kernel='linear', C=20)
# x_tran, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)


x_tran, x_test, y_train, y_test = x[:-3], x[-3:], y[:-3], y[-3:]
clf.fit(x_tran, y_train)
y_hat = clf.predict(x_test)
print(y_hat)
print("R2:", r2_score(y_test, y_hat))
print("RMSE:", np.sqrt(mean_squared_error(y_test, y_hat)))
print("MAE:", mean_absolute_error(y_test, y_hat))
# print("Accuracy: ", accuracy_score(y_test, y_hat))
r = len(x_test) + 1
# print(y_test)
plt.plot(np.arange(1,r), y_hat, 'go-', label="predict")
plt.plot(np.arange(1,r), y_test, 'co-', label="real")
plt.legend()
plt.show()

相关标签
About Me
XD
Goals determine what you are going to be.
Category
标签云
Pandas 报税 Distillation Magnet Hungarian Heatmap Template ms-swift FP64 飞书 Tensor DeepStream Breakpoint GPTQ CUDA Statistics NameSilo Datetime VPN Video Qwen Excel Proxy Algorithm WAN 域名 mmap Clash Hilton API Nginx HuggingFace Bin Card Qwen2 Input SAM Shortcut 顶会 RL CLAP Llama Safetensors Windows LLAMA Review VSCode 阿里云 PIP tqdm GGML PDB C++ ChatGPT HaggingFace Crawler WebCrawler RAR Rebuttal Tracking GoogLeNet Jupyter LoRA Paper 签证 XML CSV Logo News LLM Git EXCEL Plotly FP32 Interview Food 多进程 diffusers Math 搞笑 uWSGI Baidu icon SPIE Michelin OpenCV git Translation PDF 论文 CV Base64 算法题 公式 InvalidArgumentError Mixtral ONNX Pytorch Data hf Zip Sklearn GIT v0.dev llama.cpp BeautifulSoup 音频 Attention TensorFlow Password Domain Agent DeepSeek 多线程 FastAPI git-lfs 第一性原理 Use 继承 Vim Anaconda YOLO Permission Github OpenAI GPT4 FP16 Color AI SVR Google Pillow scipy ResNet-50 CEIR Diagram logger ModelScope NLTK Gemma Plate Bert CTC LaTeX UNIX Ubuntu 财报 Hotel VGG-16 QWEN SQLite Paddle Quantization Bipartite Knowledge BTC Disk Search v2ray Website Augmentation Tiktoken XGBoost Streamlit Firewall Markdown Random PyCharm tar 图标 TSV 递归学习法 Bitcoin Docker printf 证件照 Cloudreve CC Conda 净利润 强化学习 NLP COCO JSON Django FlashAttention Ptyhon Dataset CAM BF16 Linux MD5 Vmess IndexTTS2 PyTorch LeetCode Qwen2.5 云服务器 Land Numpy SQL Freesound Transformers 图形思考法 Animate 腾讯云 Image2Text transformers 关于博主 UI RGB TTS 版权 Python FP8 TensorRT Web Claude OCR torchinfo Pickle 论文速读 uwsgi Miniforge Quantize Jetson
站点统计

本站现有博文332篇,共被浏览875722

本站已经建立2583天!

热门文章
文章归档
回到顶部