900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 线性回归多项式拟合——家庭用电预测

线性回归多项式拟合——家庭用电预测

时间:2019-02-08 00:22:56

相关推荐

线性回归多项式拟合——家庭用电预测

LinearRegression模型参数

fit_intercept: 训练的模型是否包含截距,默认为为True,表示包含

LinearRegression模型属性

coef_ :模型训练好后的参数列表

intercept_: 截距值

train_test_split方法参数

数据参数:第一个参数是X,第二个参数为Y;

test_size:进行数据划分的时候,测试集占用的比例

train_size: 进行数据划分的时候,训练集占用的比例

要求test_size和train_size只能给定一个

random_state: 随机数种子,所有的随机数种子如果给定的时候都是为了保证多次操作的结果是完全一致的;默认情况下的随机数种子是当前的时间

StandardScaler模型参数

with_mean:在进行数据转换的过程中,是否将数据转换为均值为0的数据(默认为True,表示是)

with_std:在进行数据转换的过程中,是否将数据转换为标准差为1的数据(默认为True,表示是)

StandardScaler模型的属性

mean_:均值

var_:方差

PolynomialFeatures模型参数

degree:给定进行最高多次次幂的扩展

interaction_only: 默认为False;在多项式扩展过程中,

是否考虑同一个特征的多次相乘,是否扩展x1^2或者

x1^2*x2;默认为False,表示扩展;True表示不进行扩展

include_bias:默认为True,是否在多项式扩展的过程中,加入一个常数项,常数项值为1.默认加入

02_家庭用电预测:线性回归算法(时间与电压的多项式关系)

具体过程如下:

import sklearnfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LinearRegressionfrom sklearn.preprocessing import StandardScalerfrom sklearn.preprocessing import PolynomialFeatures #特征构造 from sklearn.pipeline import Pipelineimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline%config InlineBackend.figure_format = 'svg'import pandas as pdimport time

## 创建一个时间字符串格式化字符串def date_format(dt):import timet = time.strptime(' '.join(dt), '%d/%m/%Y %H:%M:%S')return (t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)## 设置字符集,防止中文乱码mpl.rcParams['font.sans-serif']=[u'simHei']mpl.rcParams['axes.unicode_minus']=False

# 加载数据path = 'datas\household_power_consumption_200.txt' ## 200行数据path = 'datas\household_power_consumption_1000.txt' ## 1000行数据df = pd.read_csv(path, sep=';', low_memory=False)# 日期、时间、有功功率、无功功率、电压、电流、厨房用电功率、洗衣服用电功率、热水器用电功率names2=df.columnsnames=['Date', 'Time', 'Global_active_power', 'Global_reactive_power', 'Voltage', 'Global_intensity', 'Sub_metering_1', 'Sub_metering_2', 'Sub_metering_3']# 异常数据处理(异常数据过滤)new_df = df.replace('?', np.nan)datas = new_df.dropna(axis=0,how = 'any') # 只要有数据为空,就进行删除操作

## 时间和电压之间的关系(Linear)# 获取x和y变量, 并将时间转换为数值型连续变量X = datas[names[0:2]]X = X.apply(lambda x: pd.Series(date_format(x)), axis=1)Y = datas[names[4]].values# 对数据集进行测试集合训练集划分 X_train,X_test,Y_train,Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)# 数据标准化ss = StandardScaler()X_train = ss.fit_transform(X_train) # 训练并转换X_test = ss.transform(X_test) ## 直接使用在模型构建数据上进行一个数据标准化操作 # 模型训练lr = LinearRegression()lr.fit(X_train, Y_train) ## 训练模型# 模型校验y_predict = lr.predict(X_test) ## 预测结果# 模型效果print("准确率:",lr.score(X_test, Y_test))## 预测值和实际值画图比较t=np.arange(len(X_test))plt.figure(facecolor='w')plt.plot(t, Y_test, 'r-', linewidth=2, label=u'真实值')plt.plot(t, y_predict, 'g-', linewidth=2, label=u'预测值')plt.legend(loc = 'lower right')plt.title(u"线性回归预测时间和功率之间的关系", fontsize=20)plt.grid(b=True)#网格plt.show()

[234.84 233.63 233.29 233.74 235.68 235.02 235.09 235.22 233.99 233.86

232.86 232.78 232.99 232.91 235.24 237.14 236.73 237.06 237.13 235.84

232.69 230.98 232.21 234.19 234.96 236.66 235.84 235.6 235.49 235.28

235.06 234.17 233.77 233.62 234.68 236.94 237.52 238.2 238.28 236.93

235.01 232.93 232.12 231.85 232.25 234.66 236.2 237.07 235.78 237.43

237.26 234.25 234.2 234.31 233.29 235.61 235.25 236.04 235.51 235.68

235.2 233.74 233.84 233.79 235.5 235.84 236.15 235.81 235.41 234.82

233.76 232.48 233.54 232.32 234.02 234.76 234.67 235.27 235.12 235.8

234.81 234.38 234.2 233.98 234.99 234.67 233.92 233.51 233.44 233.64

232.39 232.25 232.32 232.79 232.09 231.96 231.99 232.36 232.71 232.01

232.78 233.08 233.69 234.44 234.6 235.12 234.28 234.19 234.69 234.26

233.3 233.43 233.45 233.91 234.43 234.34 234.58 234.02 234.29 234.36

232.64 232.96 233.47 234.98 234.34 233.92 233.94 233.72 233.2 233.1

232.29 232.45 231.97 232.42 233.38 232.69 233.2 233.26 232.84 232.39

232.14 231.57 231.66 232.22 232.81 233.77 232.82 233.22 232.84 232.75

232.64 232.2 232.2 232.58 232.4 232.66 232.43 233.02 232.8 232.79

231.98 232.88 232.52 232.87 233.78 233.69 234.04 233.93 233.62 233.64

233.26 233.9 233.68 232.83 233. 233.08 232.69 232.91 232.87 232.42

232.31 232.79 233.05 234.57 234.79 234.6 234.54 234.6 233.77 233.5

233.27 233.37 232.64 231.95 232.21 232.5 233.63 234.43 234.63 235.05

234.96 235.77 236.76 234.59 235.13 235.14 235.75 235.69 236.86 236.72

236.05 237.54 237.44 237. 235.55 236.51 236.76 237.11 238.72 237.66

238.2 237.46 237.36 238.13 237.74 237.26 237.69 236.44 236.23 237.7

235.73 236.51 237.11 237.06 238.63 237.58 236.87 236.94 238.17 237.42

236.91 236.24 237.17 238.59 237.43 237.73 237.2 238.41 236.6 236.12

236.54 238.48 237.27 237.06 236.49 236.28 236.89 236.64 236.58 236.83

237.75 239.69 238.95 236.46 235.98 235.85 238.19 236.28 236.4 236.46

236.28 237.33 237.09 236.39 236.75 235.73 236.03 237.68 235.99 236.26

236.03 235.7 236.08 237.31 236.14 236.61 236.93 237.97 238.02 236.06

234.45 235.31 237.1 238.68 238.76 238.59 238.87 238.97 239.93 239.05

238.46 239.68 240.72 240.87 239.71 239.89 239.48 241.64 240.07 239.77

240.05 239.75 240.58 239.2 238.84 238.39 238.39 241.06 240.89 239.46

239.27 239.57 239.99 242.04 239.89 239.91 240.02 239.97 241.27 238.64

237.47 238.05 239.03 240.28 241.36 239.42 238.9 239.13 239.37 241.58

240.11 238.73 239.52 239.74 240.96 241.64 240.05 240.07 239.99 239.74

241.17 242.39 240.41 240.5 240.55 240.97 241.58 240.21 239.98 240.65

241.68 240.7 240.7 240.11 241.71 240.13 240.24 240.53 241.36 241.02

240.06 240.09 239.49 242.16 240.95 241.74 241.18 243.73 241.48 241.13

240.96 242.94 240.74 241.23 241.79 241.83 238.71 237.99 238.89 240.26

240.88 240.69 239.43 239.81 241.27 241.63 242.73 242.2 240.14 239.97

240.39 240.59 241.14 241.62 243.75 242.09 239.45 239.44 238.71 236.95

237.55 238.48 239.79 239.47 238.51 239.03 238.37 238.38 240.56 239.84

239.11 239.99 240.64 239.45 241.4 243.68 244.03 242.07 241.86 241.7

240. 242. 242.58 242.3 241.86 240.76 241.52 241.88 243.65 242.62

241.43 241.18 240.82 240.78 242.94 243.84 243.11 241.98 242.01 241.38

240.91 242.13 241.5 240.45 240.35 240.65 242.35 243.4 240.69 239.13

238.08 237.38 241.35 240.95 239.61 239.49 239.65 240.39 240.31 238.15

237.91 237.44 238.52 239.55 238.27 237.37 237.17 237.92 239.82 241.18

239.84 239.04 240.29 239.19 240.8 241.61 240.11 239.35 240.08 242.07

241.54 239.84 240.36 239.79 239.55 242.21 241.92 240.42 241.78 243.31

242.92 241.8 240.29 240.61 242.14 243.88 241.49 240.34 239.59 240.38

242.43 243.55 242.33 241.86 242.14 241.97 242.14 244.33 245.86 244.84

244.83 245.8 247.65 247.49 244.73 244.9 244.77 247.47 248.48 247.01

246.12 246.32 248.01 248.2 245.61 245.29 243.75 246.17 246.94 245.35

244.97 244.97 246.17 247.3 244.96 244.2 243.93 244.35 246.64 246.7

244.7 245.05 246.52 248.94 247.33 245.39 245.71 246.1 249.37 249.07

247.31 247.26 245.95 246.16 244.51 243.91 243.68 244.57 245.98 244.32

244.51 244.84 247.15 246.59 244.52 243.43 244.06 245.05 247.12 246.86

245.41 245.27 245.79 247.11 244.7 243.24 243.46 243.57 246.19 247.17

245.69 245.08 243.7 243.92 245.54 244.88 243.27 242.65 243.29 243.73

245.29 245.38 243.84 242.8 242.52 244.9 244.81 243.8 244.03 244.73

244.66 246.4 245.5 243.49 243.08 243.17 244.44 244.05 242.72 243.81

244.12 245.64 245.18 243.7 243.41 243.42 245.53 246.54 244.63 244.59

244.42 244.64 245.31 243.78 242.57 243.16 243.18 245.02 244.9 242.77

242.47 242.14 245.15 245.86 243.47 243.36 243.54 245.68 245.69 243.21

243.49 243.2 244.12 246.45 245.71 243.86 243.5 243.62 243.73 245.17

245.13 243.67 244. 243.6 242.93 245.08 245.69 242.83 242.92 243.03

242.95 245.6 245.94 244.16 243.04 242.49 242.22 244.07 244.55 242.89

242.65 242.63 243.15 245.1 244.15 241.83 241.53 242.06 242.39 245.95

246.55 243.76 243.58 242.95 242.7 244.27 243.14 242.01 242.73 242.7

243.77 244.66 243.62 241.41 240.91 240.82 240.23 242.12 242.93 242.13

242.49 243.69 245.93 246.45 244.33 242.87 243.06 243.67 244.05 246.26

246.23 245.16 244.25 243.19 243.77 244.73 243.03 242.67 242.87 243.03

244.96 244.5 242.56 242.61 242.19 243.74 244.4 242.39 242.51 242.61

243.82 243.55 242.22 242.6 243.74 247.08 244.99 245.62 245.71 246.97

244.63 244.72 245.14 246.58 244.28 243.58 244.36 245.77 243.95 243.01

245.34 246. 243.7 243.53 243.92 244.99 243.06 241.95 242.35 244.82

243.99 242.91 242.84 243.09 242.41 242.63 244.86 245.05 243.36 243.66

244.02 243.85 243.73 244.93 244.83 242.05 241.89 242.62 244.76 244.4

245.39 245.94 245.84 244.5 244.02 244.13 244.35 244.3 244.14 244.49

244.14 243.94 243.58 244.64 244.26 244.46 245.54 246.01 245.94 245.22

244.45 243.96 243.39 244.35 244.26 244.62 244.67 244.23 244.87 243.64

242.49 242.25 242.08 241.89 242.08 242.57 243.04 242.59 242.55 242.8

240.97 239.16 239.21 239.79 239.78 239.92 240.03 239.9 241.23 241.35

241.01 241.57 241.27 240.92 240.04 239.39 238.93 239.46 242.27 242.22

242.55 242.88 242.18 242.16 241.97 241.71 241.53 241.3 244.31 244.83

243.37 242.04 242.24 242.1 241.56 241.57 241.33 243.28 244.95 244.83

242.85 242.06 241.04 240.31 240.95 240.67 240.9 240.97 243.21 243.6

241.99 241.62 241.37 241.44 240.62 241.27 243.88 243.68 241.11 240.67

241.1 241.84 241.48 240.97 239.37 241.48 241.86 241.11 241.06 241.06

242.36 242.66 242.06 242.4 244.02 243.78 241.39 241.03 240.69 240.11

239.68 240.17 240.34 242.65 243.51 243.08 241.42 241.94 242.68 241.02

241.32 240.08 241.7 242.47 241.27 241.03 241.14 240.7 239.73 238.57

238.51 239.96 240.25 239.1 239.27 238.94 239.09 239.63 237.9 235.57

235.35 235.15 235.22 235.32 237.44 237.25 236.34 236.82 240.88 239.37

239.17 238.36 238.96 238.59 238.48 240. 240.77 239.72 239.47 239.45

239.23 239.37 239.18 239.87 240.71 239.52 237.51 237.44 237.39 237.7

238.73 239.79 240.85 240.73 238.59 238.58 239.21 239.29 238.64 239.04

241.21 241.1 240.92 239.84 239.14 238.59 238.76 239.03 239.26 241.82

242.48 240.12 238.67 238.04 238.09 238.13 238.03 240.26 240.15 237.55]

准确率: 0.48506578175142084

## 时间和电压之间的关系(Linear-多项式)# Pipeline:管道的意思,讲多个操作合并成为一个操作# Pipleline总可以给定多个不同的操作,给定每个不同操作的名称即可,执行的时候,按照从前到后的顺序执行# Pipleline对象在执行的过程中,当调用某个方法的时候,会调用对应过程的对应对象的对应方法# eg:在下面这个案例中,调用了fit方法,# 那么对数据调用第一步操作:PolynomialFeatures的fit_transform方法对数据进行转换并构建模型# 然后对转换之后的数据调用第二步操作: LinearRegression的fit方法构建模型# eg: 在下面这个案例中,调用了predict方法,# 那么对数据调用第一步操作:PolynomialFeatures的transform方法对数据进行转换# 然后对转换之后的数据调用第二步操作: LinearRegression的predict方法进行预测models = [Pipeline([('Poly', PolynomialFeatures()), # 给定进行多项式扩展操作, 第一个操作:多项式扩展('Linear', LinearRegression(fit_intercept=False)) # 第二个操作,线性回归])]model = models[0]# 获取x和y变量, 并将时间转换为数值型连续变量X = datas[names[0:2]]X = X.apply(lambda x: pd.Series(date_format(x)), axis=1)Y = datas[names[4]]# 对数据集进行测试集合训练集划分X_train,X_test,Y_train,Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)# 数据标准化ss = StandardScaler()X_train = ss.fit_transform(X_train) # 训练并转换X_test = ss.transform(X_test) ## 直接使用在模型构建数据上进行一个数据标准化操作 # 模型训练t=np.arange(len(X_test))N = 5d_pool = np.arange(1,N,1) # 阶m = d_pool.sizeclrs = [] # 颜色for c in np.linspace(16711680, 255, m):clrs.append('#%06x' % int(c))line_width = 3plt.figure(figsize=(12,6), facecolor='w')#创建一个绘图窗口,设置大小,设置颜色for i,d in enumerate(d_pool):plt.subplot(N-1,1,i+1)plt.plot(t, Y_test, 'r-', label=u'真实值', ms=10, zorder=N)### 设置管道对象中的参数值,Poly是在管道对象中定义的操作名称, 后面跟参数名称;中间是两个下划线model.set_params(Poly__degree=d) ## 设置多项式的阶乘model.fit(X_train, Y_train) # 模型训练# Linear是管道中定义的操作名称# 获取线性回归算法模型对象lin = model.get_params('Linear')['Linear']output = u'%d阶,系数为:' % d# 判断lin对象中是否有对应的属性if hasattr(lin, 'alpha_'):idx = output.find(u'系数')output = output[:idx] + (u'alpha=%.6f, ' % lin.alpha_) + output[idx:]if hasattr(lin, 'l1_ratio_'):idx = output.find(u'系数')output = output[:idx] + (u'l1_ratio=%.6f, ' % lin.l1_ratio_) + output[idx:]print (output, lin.coef_.ravel())# 模型结果预测y_hat = model.predict(X_test)# 计算评估值s = model.score(X_test, Y_test)# 画图z = N - 1 if (d == 2) else 0label = u'%d阶, 准确率=%.3f' % (d,s)plt.plot(t, y_hat, color=clrs[i], lw=line_width, alpha=0.75, label=label, zorder=z)plt.legend(loc = 'upper left')plt.grid(True)plt.ylabel(u'%d阶结果' % d, fontsize=12)## 预测值和实际值画图比较plt.suptitle(u"线性回归预测时间和功率之间的多项式关系", fontsize=20)plt.grid(b=True)plt.show()

1阶,系数为: [ 2.39926650e+02 0.00000000e+00 -1.11022302e-16 3.97781449e+00

8.73334650e-01 1.70647992e-01 0.00000000e+00]

2阶,系数为: [ 1.23998300e+02 1.42108547e-14 -1.42108547e-14 5.34497071e+01

2.95068077e+00 2.69407641e-01 -7.10542736e-15 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 1.02461452e+02 -2.50100464e+01

-5.18469319e-01 0.00000000e+00 -1.02427364e+01 -4.65982219e-01

0.00000000e+00 -3.55472266e-02 0.00000000e+00 0.00000000e+00]

3阶,系数为: [-3.48923835e+11 1.08969903e+10 5.53138831e+11 -1.46880239e+12

-8.25259762e+10 3.19287036e+10 1.98804398e+11 1.70194093e+09

8.85656970e+10 -1.54916033e+10 -7.53209551e+10 8.67554136e+10

2.60556376e+10 1.63933079e+10 -3.57894606e+10 5.74033329e+10

-3.94728071e+09 2.44140625e-04 9.97408775e+11 3.32527437e+10

-1.28652461e+10 0.00000000e+00 1.09942627e+00 3.41613770e-01

0.00000000e+00 9.15527344e-03 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

1.60939660e+12 8.25259762e+10 -3.19287036e+10 0.00000000e+00

-6.60848999e+00 -6.98020935e-01 0.00000000e+00 -1.81808472e-01

0.00000000e+00 0.00000000e+00 4.41369629e+00 2.45346069e-01

0.00000000e+00 -2.66296387e-01 0.00000000e+00 0.00000000e+00

-2.43545532e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00]

4阶,系数为: [ 8.94311347e+12 1.08950840e+13 2.15539772e+13 -2.54105895e+13

1.18823092e+13 1.69830486e+12 -4.04838365e+11 -2.19672148e+12

7.7967e+12 -2.77613950e+12 4.66773823e+12 -5.36694929e+11

-8.94229146e+11 4.20739420e+11 -6.12116344e+12 -9.77589409e+12

4.30322625e+11 5.18240148e+10 7.53437452e+12 -1.21924723e+13

3.54983696e+12 -2.52663933e+11 8.10039348e+12 7.06623669e+10

-9.13497510e+10 1.85291208e+12 -2.13770735e+09 -1.96032217e+08

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

1.87082500e+13 -8.89870241e+12 -3.40439775e+12 0.00000000e+00

-3.26394573e+12 -2.84724602e+10 0.00000000e+00 -7.46606258e+11

0.00000000e+00 0.00000000e+00 -1.54370117e+01 -2.19799805e+00

0.00000000e+00 -5.98632812e-01 0.00000000e+00 0.00000000e+00

-2.48535156e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00 0.00000000e+00 -7.69061497e+12

7.40465397e+12 -4.23414630e+12 0.00000000e+00 -8.10039348e+12

-7.06623669e+10 0.00000000e+00 -1.85291208e+12 0.00000000e+00

0.00000000e+00 1.18496094e+01 -6.30957031e+00 0.00000000e+00

-1.14746094e-01 0.00000000e+00 0.00000000e+00 1.61132812e-02

0.00000000e+00 0.00000000e+00 0.00000000e+00 -4.02050781e+00

-3.45654297e+00 0.00000000e+00 -3.59375000e-01 0.00000000e+00

0.00000000e+00 1.92382812e-01 0.00000000e+00 0.00000000e+00

0.00000000e+00 -2.53906250e-02 0.00000000e+00 0.00000000e+00

0.00000000e+00 0.00000000e+00]

# 获取x和y变量, 并将时间转换为数值型连续变量X = datas[names[0:2]]X = X.apply(lambda x: pd.Series(date_format(x)), axis=1)Y = datas[names[4]]# 对数据集进行测试集合训练集划分X_train,X_test,Y_train,Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)# 数据标准化, 第一步:进行标准化操作ss = StandardScaler()X_train = ss.fit_transform(X_train) # 训练并转换X_test = ss.transform(X_test) ## 直接使用在模型构建数据上进行一个数据标准化操作 # 多项式扩展,第二步:进行多项式扩展poly = PolynomialFeatures(degree=3, interaction_only=True)train1 = poly.fit_transform(X_train)test1 = poly.transform(X_test)# 模型训练, 第三步:进行模型训练linear = LinearRegression(fit_intercept=False)linear.fit(train1, Y_train)print(linear.score(test1, Y_test))print(linear.coef_)print(linear.intercept_)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。