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

本站现有博文311篇,共被浏览742181

本站已经建立2381天!

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