перебрать уже подготовленные партии для инкрементального обучения
У меня очень большие данные, поэтому я предпочитаю использовать инкрементное обучение вместо ранее разбитых пакетов.
Я начал с определения партий - их обучения и тестирования x и y:
result = [{'X_train':X_train_1, 'y_train': y_train_1, 'X_test': X_test_1, 'y_test': y_test_2},
{'X_train':X_train_2, 'y_train': y_train_2, 'X_test': X_test_2, 'y_test': y_test_2},
{'X_train':X_train_3, 'y_train': y_train_3, 'X_test': X_test_3, 'y_test': y_test_3},
{'X_train':X_train_4, 'y_train': y_train_4, 'X_test': X_test_4, 'y_test': y_test_4}]
а также
from sklearn.linear_model import SGDClassifier
from dask_ml.wrappers import Incremental
est =SGDClassifier(loss='log',random_state=0)
inc = Incremental(est, scoring='accuracy')
наконец, цикл по партиям, используя:
for X_train,y_train,X_test,y_test in result:
inc.partial_fit(X_train, y_train, classes=[0, 1,2,3])
print('Score:', inc.score(X_test, y_test))
но я столкнулся с этой ошибкой:
ValueError Traceback (most recent call last)
<ipython-input-73-84adb3bc6e7e> in <module>()
19
20 for X_train,y_train,X_test,y_test in result:
---> 21 inc.partial_fit(X_train, y_train, classes=[0, 1,2,3])
22 print('Score:', inc.score(X_test, y_test))
7 frames
/usr/local/lib/python3.7/dist-packages/numpy/core/_asarray.py in asarray(a, dtype, order)
81 UPDATEIFCOPY : False
82
---> 83 >>> y = np.require(x, dtype=np.float32, requirements=['A', 'O', 'W', 'F'])
84 >>> y.flags
85 C_CONTIGUOUS : False
ValueError: could not convert string to float: 'X_train'
что вы предлагаете для решения этой ошибки?