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

本站现有博文337篇,共被浏览957769次

本站已经建立2669天!

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