ChicoId
@ChicoId
IT Specialist

Как построить регрессию на данных типа string (машинное обучение)?

Алгоритмы регрессии работают с данными характеристик представленных в виде чисел. Например:
49efebc654bb42a5af9a86d0a72b9213.jpg
Довольно понятно, как построить модель регрессии на этих данных и предсказывать цену.

Но на данный момент я бы хотел построить модель регрессии на данных, которые содержат строки (тип string):
88427f276b63424cb322569ebaef2390.jpg

Как строить регрессию на таких данных? Я должен перевести эти строковые данные в числа вручную? Имею ввиду должен ли я сам создать какие-либо правила кодирования, и согласно этим правилам конвертировать все данные в численный формат? Есть ли более менее простой способ конвертирования строковых данных в численный формат без необходимости создавать свои правила кодирования, и конвертировать данные вручную. Может есть какие-либо библиотеки на Python, которые бы помогли выполнить эту рутину? Есть ли риски что модель регрессии будет в какой-то степени неверной ввиду "плохой конвертации" в численный формат?
  • Вопрос задан
  • 705 просмотров
Решения вопроса 1
@SeptiM
Можно попробовать сделать следующее. Берем каждую колонку, по сути категорию. Смотрим сколько значений она имеет. Пусть это будет k. Заводим k переменных, которые будут принимать значения либо 0, либо 1.

Если, скажем, дом был построен из кирпича, то ставим переменной x_кирпич = 1, а x_бетон и x_дерево равным 0. Ну и обучаем веса.

P.S. Можно сделать k - 1 переменную, проставляя нули всем переменным для одного из значений.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@southsoutheast
Мне интересно.
Подозреваю, то, что вам нужно, умеют некоторые алгоритмы деревьев решений (decision trees).
Если я правильно помню, то скорее всего CART, но скорее всего не только он.
На питоне посмотрите библиотеки scikit, spark, но ими мне пользоваться не приходилось.
На всякий случай, точно знаю, что этот и много других алгоритмов деревьев есть в WEKA (отдельная программа для дата майнинга со своими форматами и т.д.).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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