from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import SGDRegressor
from sklearn.model_selection import RandomizedSearchCV
train,test,train_label,test_label=train_test_split(feature_data,target_data,test_size=0.20,random_state=3)
sc=StandardScaler()
train_std=sc.fit_transform(train)
test_Std=sc.transform(test)
pipe=SGDRegressor()
parameters = {'sgd__loss':['squared_loss','huber'],
'sgd__n_iter':np.ceil(106/len(train_label)),
'sgd__alpha':10.0**np.arange(1,7),
}
g_search=RandomizedSearchCV(pipe,param_distributions=parameters,random_state=2)
g_fit=g_search.fit(train_std,train_label)
Данные обучения:
train_std
Out[46]:
array([[ 1.99470848, 2.39114909, 0.96705 , ..., 0.23698853,
0.89215521, -0.74111955],
[-0.50742363, -0.54567689, -0.29516734, ..., 0.00491999,
-0.73959331, 0.42680023],
[-0.46965669, -0.10483307, 0.90566027, ..., -0.34272278,
0.69705485, 0.56151837],
...,
[-0.05849323, 0.11803686, 0.45737245, ..., 0.24026818,
0.75026404, -0.3829142 ],
[ 0.83045625, 0.66257208, -0.01582026, ..., 0.32870492,
-0.27844698, -0.83648146],
[-0.0886727 , 0.46158079, 1.36521081, ..., -0.10050365,
-0.68638412, -0.04006983]])
Учебная этикетка
train_label
Out[47]:
24429 1.863
32179 18.296
42715 1.417
6486 6.562
39407 18.669
...
42602 6.002
6557 2.921
30305 11.835
4718 1.212
Ошибка: объект типа 'numpy.float64' не имеет len ()
g_fit вызывает ошибку при подборе обучающих данных
Я пытаюсь использовать SGDRegressor от RandomizedSearchCV, но получаю
ошибка при отправке данных тренировки