Я пытаюсь обучить модель с помощью train_test_split (). Мне это удалось, но когда я пытаюсь использовать fit.transform (), это показывает ошибку. У меня есть файл CSV с 4521 наборами данных и 16 функциями.
Это код, который я использовал:
from sklearn.model_selection import train_test_split
x=banks.balance
y=banks.duration
X_train, X_test, y_train, y_test = train_test_split(x, y, random_state=0)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
И я получаю сообщение об ошибке:
----> 9 X_train = scaler.fit_transform(X_train)
Ошибка говорит:
Expected 2D array, got 1D array instead:
, а затем предлагает использовать функцию изменения формы. Я также использовал функцию rehape, но она не работает, так как переменная x становится 4521x1. x имеет значение:
0 1787
1 4789
2 1350
3 1476
4 0
5 747
6 307
7 147
8 221
9 -88
10 9374
11 264
12 1109
13 502
14 360
15 194
16 4073
17 2317
18 -221
19 132
20 0
21 16
22 106
23 93
24 543
25 5883
26 627
27 696
28 784
29 105
...
4491 0
4492 309
4493 0
4494 668
4495 1175
4496 363
4497 38
4498 1183
4499 942
4500 4196
4501 297
4502 -91
4503 362
4504 1080
4505 620
4506 -166
4507 288
4508 642
4509 2506
4510 566
4511 668
4512 1100
4513 322
4514 1205
4515 473
4516 -333
4517 -3313
4518 295
4519 1137
4520 1136
Name: balance, Length: 4521, dtype: int64
, а y имеет следующие значения:
0 79
1 220
2 185
3 199
4 226
5 141
6 341
7 151
8 57
9 313
10 273
11 113
12 328
13 261
14 89
15 189
16 239
17 114
18 250
19 148
20 96
21 140
22 109
23 125
24 169
25 182
26 247
27 119
28 149
29 74
...
4491 169
4492 346
4493 205
4494 576
4495 1476
4496 171
4497 185
4498 676
4499 362
4500 193
4501 63
4502 43
4503 816
4504 951
4505 1234
4506 85
4507 306
4508 509
4509 210
4510 129
4511 1263
4512 660
4513 356
4514 45
4515 624
4516 329
4517 153
4518 151
4519 129
4520 345
Name: duration, Length: 4521, dtype: int64
Итак, пожалуйста, помогите мне масштабировать данные для обучения модели