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

本站现有博文328篇,共被浏览843786

本站已经建立2549天!

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