Ошибка изменения формы при использовании регрессии взаимной информации для выбора объекта

Вот вариант, когда вы вставляете несколько состояний, которые не связаны иерархически, и у вас нет контроллера, доступного для представления. Вы можете использовать фильтр UI-Router includedByState, чтобы проверить ваше текущее состояние на любое количество именованных состояний.


  Items

TL; DR: множественные, несвязанные именованные состояния должны применять активный класс к тому же и у вас нет контроллера? Используйте includedByState .

0
задан Emm 2 March 2019 в 06:49
поделиться

1 ответ

Преобразователь ожидает двумерный массив формы (nxm), где n - количество выборок, а m - число объектов, и если вы посмотрите на форму features, я представлю, что она отобразит: (m,). [ 1119]

Изменение формы массивов

В общем случае для массива объектов формы (n,) вы можете сделать так, как предлагает код ошибки, и вызвать .reshape(-1,1) в вашем массиве объектов, -1 позволяет ему выводить дополнительное измерение: форма массива будет (n,m), где для случая 1 признака m = 1.

Склеарн-трансформеры

Выше сказанное, я думаю, есть дополнительные ошибки в вашем коде и понимании.

Я бы напечатал features на экране и проверил, что это то, что вам нужно, похоже, вы печатаете список всех имен столбцов, кроме sale_price. Я не знаком с SelectKBest , но для него требуется массив (n,m) Feature , а не список имен столбцов объектов.

Кроме того, target должно быть не именем целевого столбца, а массивом формы (n,), где его значения являются наблюдаемыми целевыми значениями обучающих экземпляров.

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

Извлечение функций

Ваши данные выглядят в странном формате (словарь вложен в DF-файл pandas). Тем не менее, это явный пример того, как я мог бы извлечь функции из pd.DataFrame для использования с функциями из среды SKlearn.

housing_data = pd.DataFrame({'age': [1,5,1,10], 'size':[0,1,2,0], 
                             'price':[190,100,50,100]
                            })

feature_arr = housing_data.drop('price', axis=1).values
target_values = housing_data['price']

Распечатайте feature_arr и, надеюсь, увидите свою проблему. Обычно тогда вам нужно предварительно обработать данные, чтобы, например, сбросить значения NaN или выполнить масштабирование объекта.

0
ответ дан FChm 2 March 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: