Reshape pandas.Df для использования в GridSearch

Я пытаюсь использовать несколько столбцов функций в GridSearch с Pipeline. Поэтому я передаю два столбца, для которых я хочу использовать TfidfVectorizer, но у меня возникают проблемы при запуске GridSearch.

Xs = training_data.loc[:,['text','path_contents']] y = training_data['class_recoded'].astype('int32') for col in Xs: print Xs[col].shape print Xs.shape print y.shape # (2464L,) # (2464L,) # (2464, 2) # (2464L,) from sklearn.pipeline import Pipeline from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.naive_bayes import MultinomialNB from sklearn.model_selection import GridSearchCV pipeline = Pipeline([('vectorizer', TfidfVectorizer(encoding="cp1252", stop_words="english")), ('nb', MultinomialNB())]) parameters = { 'vectorizer__max_df': (0.48, 0.5, 0.52,), 'vectorizer__max_features': (None, 8500, 9000, 9500), 'vectorizer__ngram_range': ((1, 3), (1, 4), (1, 5)), 'vectorizer__use_idf': (False, True) } if __name__ == "__main__": grid_search = GridSearchCV(pipeline, parameters, n_jobs=-1, verbose=2) grid_search.fit(Xs, y) # <- error thrown here print("Best score: {0}".format(grid_search.best_score_)) print("Best parameters set:") best_parameters = grid_search.best_estimator_.get_params() for param_name in sorted(list(parameters.keys())): print("\t{0}: {1}".format(param_name, best_parameters[param_name])) 

Ошибка: ValueError: найдены входные переменные с непоследовательным числом выборок: [2, 1642]

Я читал аналогичную ошибку здесь и здесь , и я попробовал предложения обоих вопросов, но безрезультатно.

Я попытался выбрать мои данные по-другому:

 features = ['text', 'path_contents'] Xs = training_data[features] 

.values этого я попытался использовать .values как показано здесь :

 grid_search.fit(Xs.values, y.values) 

но это дало мне следующую ошибку:

AttributeError: объект 'numpy.ndarray' не имеет атрибута 'lower'

Так, что происходит? Я не уверен, как продолжить с этого.

One Solution collect form web for “Reshape pandas.Df для использования в GridSearch”

TfidfVectorizer ожидает ввода списка строк. Это объясняет, что объект AttributeError: numpy.ndarray не имеет атрибута «lower», потому что вы вводите 2d-массив, что означает список массивов.

Таким образом, у вас есть 2 варианта: либо concat 2 столбца в 1 столбец заранее (в пандах), либо если вы хотите сохранить 2 столбца, вы можете использовать объединение функций в конвейере ( http://scikit-learn.org/stable/modules/ pipe.html # feature-union )

Что касается первого исключения, я предполагаю, что это вызвано связью между пандами и sklearn. Однако вы не можете точно сказать из-за вышеуказанной ошибки в коде.

  • Nu недопустимо
  • scikit-learn GridSearchCV с несколькими повторениями
  • классификаторы в scikit-learn, которые обрабатывают nan / null
  • iPython (python 2) - ImportError: нет модуля с именем model_selection
  • матрица совпадения словесного слова
  • Как функция sklearn.svm.svc функция pred_proba () работает внутри?
  • Самая быстрая реализация SVM, используемая в Python
  • Как решить переобучение в случайном лесу Python sklearn?
  •  
    Interesting Posts for Van-Lav

    Какую версию Visual Studio и / или MinGW мне нужно для создания модулей расширения для данной версии Python?

    Как читать входы как целые числа?

    Как сбросить графический интерфейс пользователя Spyder IDE (Python 2.7)?

    Как написать функцию, которая берет строку и печатает буквы в порядке убывания частоты?

    Написание декоратора класса, который применяет декоратор ко всем методам

    Pythonic способ превратить список строк в словарь со строками с нечетным индексом в качестве ключей и даже индексированными в качестве значений?

    Сохранение объекта, выбранного в Outliner, после его отмены в 3D-представлении

    Получите дублирующее значение в DuplicateKeyError

    Сохраните таблицу «Out » кадра данных pandas как фигуру

    ImportError: No Module Named bs4 (BeautifulSoup)

    когда использовать pre_save, save, post_save в django?

    Файлы, которые подаются, устаревают / кэшируются; Python как fcgi + web.py + nginx

    где хранить имя файла журнала в python?

    Как предотвратить str для кодирования символов Unicode в виде шестнадцатеричных кодов?

    Инициализировать объект datetime с секундами с эпохи

    Python - лучший язык программирования в мире.