преобразовать последовательность в элемент массива - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь ввести данные в классификатор случайного леса, но он постоянно говорит мне, что я использую последовательность. Я не уверен, как преобразовать последовательность во что-нибудь приемлемое

Я попытался ввести его в классификатор внутри list(), но это тоже не сработало.

это пример X_train [1]:

array([30, array([[0, 0, 1]]), 5.2304265, 7.233890799999999,
       array([[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]),
       array([[0, 1, 0, 0, 0, 0, 0]]), array([[0, 0, 0, 0, 1]]), 0, 0, 0,
       2, 10000.0, 13000.0, 30, 1], dtype=object)

.

clf = RandomForestClassifier(n_estimators=100, max_depth=2, random_state=0)
clf.fit(X_train, y_train)

... производит ... ValueError: setting an array element with a sequence.

Я ожидал, что он примет данные, поскольку они числовые, но, похоже, данные отклоняются

1 Ответ

1 голос
/ 20 июня 2019

Посмотрите документацию для метода fit() из sci-kit learn.

В нем четко указано, что обучающие функции X должны иметь следующий формат

X : array-like or sparse matrix of shape = [n_samples, n_features]

Ожидается двумерный массив. Вам нужно будет изменить данные тренировки, чтобы они соответствовали требуемому формату.

...