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

本站现有博文324篇,共被浏览821226

本站已经建立2526天!

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