Python 绘制线性回归时如何确定正确的形状?
我试图将我的线性回归模型可视化,但不幸的是,我不太明白如何管理数据以正确绘制回归结果。 下面是我执行线性回归模型的步骤、数据的外观以及我得到的错误Python 绘制线性回归时如何确定正确的形状?,python,pandas,plotly,linear-regression,Python,Pandas,Plotly,Linear Regression,我试图将我的线性回归模型可视化,但不幸的是,我不太明白如何管理数据以正确绘制回归结果。 下面是我执行线性回归模型的步骤、数据的外观以及我得到的错误 X=销售额[['2018年12月'、'2018年11月'、'2018年10月'、'2018年9月'、'2018年8月'、'2018年7月]] y=销售额[['CLV']] 从sklearn.model\u选择导入列车\u测试\u拆分 X_序列,X_测试,y_序列,y_测试=序列测试分割(X,y,测试大小=0.25,随机状态=0) 从sklearn.l
X=销售额[['2018年12月'、'2018年11月'、'2018年10月'、'2018年9月'、'2018年8月'、'2018年7月]]
y=销售额[['CLV']]
从sklearn.model\u选择导入列车\u测试\u拆分
X_序列,X_测试,y_序列,y_测试=序列测试分割(X,y,测试大小=0.25,随机状态=0)
从sklearn.linear\u模型导入线性回归
linreg=线性回归()
linreg.fit(X_系列、y_系列)
y_pred=linreg.predict(X_检验)
打印(X)
打印(y)
X.iloc[:,:]=labelencoder_X.fit_变换(X.iloc[:,:])
y、 iloc[:,:1]=labelencoder\u y.fit\u变换(y.iloc[:,:1])
plt.散射(X_测试,y_测试,颜色='黑色')
plt.绘图(X_列,y_pred,颜色为“绿色”,线宽为3)
产品名称(“CLTV(培训集)”
plt.xlabel(“时间”)
plt.ylabel('CLV')
plt.show()
下面是数据的状态和我得到的错误:
month_year Dec-2018 Nov-2018 Oct-2018 Sep-2018 Aug-2018 Jul-2018
0 0.00 0.00 0.00 0.00 0.00 0.00
1 0.00 0.00 0.00 0.00 0.00 0.00
2 0.00 286.40 0.00 825.92 0.00 902.09
3 0.00 0.00 0.00 521.50 0.00 0.00
4 0.00 6354.88 16471.77 2941.72 21706.44 2796.36
5 0.00 0.00 0.00 147.70 0.00 0.00
6 0.00 0.00 0.00 0.00 0.00 0.00
7 0.00 601.44 678.76 0.00 608.76 1064.08
8 0.00 0.00 0.00 519.89 0.00 0.00
9 438.50 312.73 675.38 0.00 301.70 0.00
10 998.61 9053.83 2149.30 5999.50 654.37 1070.59
11 763.06 572.59 0.00 0.00 1724.95 0.00
12 210.35 0.00 343.76 217.77 0.00 0.00
13 0.00 0.00 0.00 0.00 0.00 0.00
14 0.00 0.00 0.00 918.98 0.00 0.00
15 0.00 0.00 0.00 535.50 229.50 0.00
16 0.00 0.00 392.08 0.00 0.00 0.00
17 142.60 279.50 0.00 234.00 0.00 0.00
18 111.45 100.95 217.75 0.00 0.00 0.00
19 327.40 0.00 245.80 77.31 338.20 0.00
20 0.00 0.00 0.00 0.00 0.00 0.00
21 0.00 400.32 0.00 1210.32 0.00 2915.92
22 0.00 0.00 0.00 0.00 0.00 0.00
23 0.00 115.23 0.00 267.80 0.00 0.00
24 0.00 0.00 0.00 0.00 0.00 417.38
25 0.00 0.00 0.00 0.00 0.00 0.00
26 0.00 0.00 497.83 0.00 0.00 446.09
27 0.00 0.00 0.00 0.00 0.00 0.00
28 0.00 279.86 0.00 0.00 0.00 0.00
29 752.39 1070.14 387.80 692.24 330.44 653.00
... ... ... ... ... ... ...
3898 0.00 117.54 311.63 438.14 537.95 165.00
3899 0.00 0.00 0.00 1538.41 0.00 0.00
3900 874.45 0.00 0.00 0.00 0.00 361.48
3901 0.00 363.20 0.00 0.00 0.00 0.00
3902 0.00 0.00 0.00 0.00 297.06 0.00
3903 0.00 95.34 0.00 0.00 0.00 0.00
3904 0.00 0.00 0.00 0.00 0.00 0.00
3905 0.00 0.00 0.00 4314.72 0.00 0.00
3906 0.00 0.00 448.37 0.00 0.00 0.00
3907 0.00 0.00 0.00 103.30 0.00 0.00
3908 0.00 0.00 774.76 0.00 627.27 0.00
3909 0.00 1070.40 0.00 891.90 0.00 0.00
3910 0.00 0.00 0.00 0.00 0.00 0.00
3911 0.00 0.00 99.44 224.80 0.00 0.00
3912 0.00 0.00 0.00 0.00 0.00 149.48
3913 0.00 399.68 0.00 0.00 0.00 503.80
3914 0.00 0.00 0.00 312.96 0.00 488.55
3915 0.00 0.00 0.00 0.00 0.00 25.50
3916 0.00 0.00 0.00 0.00 0.00 0.00
3917 0.00 171.20 0.00 0.00 0.00 0.00
3918 367.88 0.00 604.25 0.00 372.25 753.66
3919 0.00 0.00 0.00 0.00 0.00 0.00
3920 0.00 0.00 329.61 0.00 0.00 0.00
3921 0.00 0.00 110.38 0.00 0.00 0.00
3922 0.00 0.00 0.00 173.90 0.00 0.00
3923 0.00 0.00 0.00 0.00 0.00 0.00
3924 0.00 0.00 0.00 0.00 0.00 0.00
3925 77.84 0.00 0.00 0.00 98.76 0.00
3926 208.00 637.71 112.99 134.90 0.00 139.89
3927 0.00 0.00 1072.00 0.00 0.00 0.00
[3928 rows x 6 columns]
month_year CLV
0 0.00
1 401.90
2 2780.66
3 1150.80
4 121869.86
5 386.20
6 1760.96
7 5371.07
8 792.94
9 4196.01
10 29748.44
11 3822.90
12 942.34
13 92.72
14 918.98
15 1759.50
16 392.08
17 1468.12
18 430.15
19 988.71
20 253.05
21 6748.40
22 215.05
23 383.03
24 417.38
25 312.38
26 2595.24
27 134.10
28 670.65
29 5578.04
... ...
3898 2058.09
3899 2232.49
3900 2527.10
3901 363.20
3902 793.52
3903 95.34
3904 342.92
3905 4314.72
3906 518.27
3907 103.30
3908 2274.03
3909 2338.60
3910 2128.57
3911 324.24
3912 149.48
3913 903.48
3914 801.51
3915 25.50
3916 138.90
3917 244.90
3918 2098.04
3919 0.00
3920 329.61
3921 110.38
3922 173.90
3923 180.60
3924 80.82
3925 176.60
3926 1929.93
3927 1837.28
[3928 rows x 1 columns]
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-197-44d25a827a36> in <module>
2 print (X)
3 print (y)
----> 4 X.iloc[:,:] = labelencoder_X.fit_transform(X.iloc[:,:])
5 y.iloc[:,:1] = labelencoder_y.fit_transform(y.iloc[:,:1])
6 plt.scatter(X_test, y_test, color='black')
/anaconda3/lib/python3.7/site-packages/sklearn/preprocessing/label.py in fit_transform(self, y)
233 y : array-like of shape [n_samples]
234 """
--> 235 y = column_or_1d(y, warn=True)
236 self.classes_, y = _encode(y, encode=True)
237 return y
/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in column_or_1d(y, warn)
795 return np.ravel(y)
796
--> 797 raise ValueError("bad input shape {0}".format(shape))
798
799
ValueError: bad input shape (3928, 6)
2018年12月2018年11月2018年10月2018年9月2018年8月2018年7月
0 0.00 0.00 0.00 0.00 0.00 0.00
1 0.00 0.00 0.00 0.00 0.00 0.00
2 0.00 286.40 0.00 825.92 0.00 902.09
3 0.00 0.00 0.00 521.50 0.00 0.00
4 0.00 6354.88 16471.77 2941.72 21706.44 2796.36
5 0.00 0.00 0.00 147.70 0.00 0.00
6 0.00 0.00 0.00 0.00 0.00 0.00
7 0.00 601.44 678.76 0.00 608.76 1064.08
8 0.00 0.00 0.00 519.89 0.00 0.00
9 438.50 312.73 675.38 0.00 301.70 0.00
10 998.61 9053.83 2149.30 5999.50 654.37 1070.59
11 763.06 572.59 0.00 0.00 1724.95 0.00
12 210.35 0.00 343.76 217.77 0.00 0.00
13 0.00 0.00 0.00 0.00 0.00 0.00
14 0.00 0.00 0.00 918.98 0.00 0.00
15 0.00 0.00 0.00 535.50 229.50 0.00
16 0.00 0.00 392.08 0.00 0.00 0.00
17 142.60 279.50 0.00 234.00 0.00 0.00
18 111.45 100.95 217.75 0.00 0.00 0.00
19 327.40 0.00 245.80 77.31 338.20 0.00
20 0.00 0.00 0.00 0.00 0.00 0.00
21 0.00 400.32 0.00 1210.32 0.00 2915.92
22 0.00 0.00 0.00 0.00 0.00 0.00
23 0.00 115.23 0.00 267.80 0.00 0.00
24 0.00 0.00 0.00 0.00 0.00 417.38
25 0.00 0.00 0.00 0.00 0.00 0.00
26 0.00 0.00 497.83 0.00 0.00 446.09
27 0.00 0.00 0.00 0.00 0.00 0.00
28 0.00 279.86 0.00 0.00 0.00 0.00
29 752.39 1070.14 387.80 692.24 330.44 653.00
... ... ... ... ... ... ...
3898 0.00 117.54 311.63 438.14 537.95 165.00
3899 0.00 0.00 0.00 1538.41 0.00 0.00
3900 874.45 0.00 0.00 0.00 0.00 361.48
3901 0.00 363.20 0.00 0.00 0.00 0.00
3902 0.00 0.00 0.00 0.00 297.06 0.00
3903 0.00 95.34 0.00 0.00 0.00 0.00
3904 0.00 0.00 0.00 0.00 0.00 0.00
3905 0.00 0.00 0.00 4314.72 0.00 0.00
3906 0.00 0.00 448.37 0.00 0.00 0.00
3907 0.00 0.00 0.00 103.30 0.00 0.00
3908 0.00 0.00 774.76 0.00 627.27 0.00
3909 0.00 1070.40 0.00 891.90 0.00 0.00
3910 0.00 0.00 0.00 0.00 0.00 0.00
3911 0.00 0.00 99.44 224.80 0.00 0.00
3912 0.00 0.00 0.00 0.00 0.00 149.48
3913 0.00 399.68 0.00 0.00 0.00 503.80
3914 0.00 0.00 0.00 312.96 0.00 488.55
3915 0.00 0.00 0.00 0.00 0.00 25.50
3916 0.00 0.00 0.00 0.00 0.00 0.00
3917 0.00 171.20 0.00 0.00 0.00 0.00
3918 367.88 0.00 604.25 0.00 372.25 753.66
3919 0.00 0.00 0.00 0.00 0.00 0.00
3920 0.00 0.00 329.61 0.00 0.00 0.00
3921 0.00 0.00 110.38 0.00 0.00 0.00
3922 0.00 0.00 0.00 173.90 0.00 0.00
3923 0.00 0.00 0.00 0.00 0.00 0.00
3924 0.00 0.00 0.00 0.00 0.00 0.00
3925 77.84 0.00 0.00 0.00 98.76 0.00
3926 208.00 637.71 112.99 134.90 0.00 139.89
3927 0.00 0.00 1072.00 0.00 0.00 0.00
[3928行x 6列]
月/年CLV
0 0.00
1 401.90
2 2780.66
3 1150.80
4 121869.86
5 386.20
6 1760.96
7 5371.07
8 792.94
9 4196.01
10 29748.44
11 3822.90
12 942.34
13 92.72
14 918.98
15 1759.50
16 392.08
17 1468.12
18 430.15
19
X_transf = labelencoder_X.fit_transform(X)
y_transf = labelencoder_y.fit_transform(y)