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

本站现有博文318篇,共被浏览749456

本站已经建立2402天!

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