Модели машинного обучения не работают с непрерывными данными - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь получить модель машинного обучения, чтобы предсказать средний уровень игроков в бейсболе, основываясь на их показателях At Bats and Hits.Поскольку:

Batting Average = Hits/At Bats

Я думаю, что эти отношения будет относительно легче обнаружить.Однако, поскольку Batting Average - это число с плавающей запятой (то есть 0,300), все модели, которые я пробую, возвращают следующую ошибку:

ValueError: Unknown label type: 'continuous'

Я использую модели sklearns.Я пробовал LogisticRegression, RandomForestClassifier, LinearRegression.У них у всех одна и та же проблема.

После прочтения других сообщений StackOverflow об этой ошибке я начал делать следующее:

lab_enc = preproccessing.LabelEncoder()
y = pd.DataFrame(data=lab_enc.fit_transform(y))

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

Есть ли способ получить модели, с которыми я пытался работать, при прогнозировании непрерывных значений?

1 Ответ

0 голосов
/ 24 февраля 2019

Проблема, которую вы пытаетесь решить, относится к контексту регрессии (т.е. числового прогнозирования), и ее, безусловно, можно решить с помощью алгоритмов ML.

Я используюсклеарнс модели.Я пробовал LogisticRegression, RandomForestClassifier, LinearRegression.Все они имеют одну и ту же проблему.

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

Для начала, пожалуйста, придерживайтесь линейной регрессии, чтобы убедить себя, что она действительно может решить проблему;впоследствии вы можете перейти к другим алгоритмам scikit-learn, таким как RandomForest Regressor и т. д. Если у вас возникнут какие-либо проблемы, откройте новый вопрос с помощью специфического кода и ошибок (ошибок) ...

...