Python: массив 2 тусклой формы (1,1024) читается как массив 3 тусклой - PullRequest
1 голос
/ 14 февраля 2020

В python у меня есть список a массивов, каждый из которых имеет форму (1, 1024) и список b целых {1,0,0,1…] Теперь я хочу обучить основам c SVM с этим. Я всегда получаю это сообщение об ошибке:

ValueError: Found array with dim 3. Estimator expected <= 2.

Но разве форма не говорит мне, что у меня фигура 2 Dim? Возможно, что-то не так с моим массивом, но я не понимаю, что. Я рад за любую помощь.

clf = svm.SVC(kernel='linear')
clf.fit(lista, listb)

Первые 10 элементов массива:

[array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.03608917,
         0.06382023,  0.02493868]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.00363029,
         0.04429551,  0.04517733]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.01848865,
         0.03857033, -0.04184096]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.00812042,
        -0.01121382, -0.07293765]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ...,  0.0026521 ,
        -0.00911874,  0.02558753]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ...,  0.0128456 ,
        -0.00659914, -0.05465406]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.00801555,
        -0.06554729, -0.04112517]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ...,  0.0015485 ,
        -0.03974668,  0.03871798]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ...,  0.03571296,
         0.0097717 , -0.02939025]], dtype=float32), array([[-0.00381735, -0.02317988, -0.06664753, ..., -0.00178309,
        -0.00751928, -0.00501447]], dtype=float32)]

1 Ответ

0 голосов
/ 14 февраля 2020

Просто подумайте так:

[(1, 1024),(1, 1024),(1, 1024)...(1, 1024)]

, чтобы выбрать здесь один элемент, вам понадобится 3 вещи: позиция в списке, n in (n, 1024) и k в (1, к). Это трехмерная структура данных.

используйте np.stack или конвертируйте ваш список с np.array и np.reshape(len(list),1024). Таким образом, вы получите уникальный массив фигур (n, 1024).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...