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

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

本站已经建立2673天!

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