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

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

本站已经建立2577天!

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