天猫双十实战

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import SGDRegressor
from sklearn.preprocessing import PolynomialFeatures

设置图像参数

# 设置字体的大小
# 设置图像的尺寸
plt.rcParams['font.size'] = 18
plt.figure(figsize=(9, 6))

创建数据

# 创建2009-2020年数据
X = np.arange(2009, 2020)
y = np.array([0.5, 9.36, 52, 191, 350, 571, 912, 1207, 1682, 2135, 2684])
plt.bar(X, y, width=0.5, color='green')
plt.plot(X, y, color='red')
# ticks:横轴的值    rotation:标签的旋转读书
_ = plt.xticks(ticks=X, rotation=60)

在这里插入图片描述

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import SGDRegressor
from sklearn.preprocessing import PolynomialFeatures
# 创建2009-2020年数据
X = np.arange(2009, 2020)
y = np.array([0.5, 9.36, 52, 191, 350, 571, 912, 1207, 1682, 2135, 2684])

均值移除

# 均值移除
X_ = X - X.mean()
X_ = X_.reshape(-1, 1)

构建多项式

# 对创建的数据进行升维    interaction_only设置为false 只进行自乘
# 构建多项式特征 3 次幂
poly = PolynomialFeatures(degree=3, interaction_only=False)
X_poly = poly.fit_transform(X_)
from sklearn.preprocessing import StandardScaler

归一化

scaler = StandardScaler()
x_norm = scaler.fit_transform(X_poly)

创建模型

model = SGDRegressor(penalty='l2', eta0=0.5, max_iter=5000)
model.fit(x_norm, y)

模型预测

# 模型预测
#  6 代表2020年
X_test = np.linspace(-5, 6, 100).reshape(-1, 1)
X_test_poly = poly.transform(X_test)
x_test_norm = scaler.transform(X_test_poly)
y_pred = model.predict(x_test_norm)

对数据进行可视化

# 可视化
plt.figure(figsize=(12, 9))
plt.plot(X_test_poly[:, 1], y_pred, color='g')
plt.bar(X_poly[:, 1], y)  #2009,2019 历史数据
# 2020年预测的结果
plt.bar(6, y_pred, color='red')
# 显示预测的结果
plt.text(6, y_pred[-1] + 100, round(y_pred[-1],1),ha='center')
plt.ylim(0,     4096)
_ = plt.xticks(np.arange(-5, 7), np.arange(2009, 2021))

在这里插入图片描述

坚持学习,整理复盘
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿龙的代码在报错

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值