перебрать уже подготовленные партии для инкрементального обучения

У меня очень большие данные, поэтому я предпочитаю использовать инкрементное обучение вместо ранее разбитых пакетов.

Я начал с определения партий - их обучения и тестирования 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'

что вы предлагаете для решения этой ошибки?

0 ответов

Другие вопросы по тегам