Pull to refresh

Comments 7

Хорошая статья, спасибо! Какое место заняло ваше решение на Kaggle?
Хотелось бы продолжения как раз по прикладной работе с инструментарием.
Вопрос: для чего нужно кодировать строковые данные? Алгоритмы sklearn не работают с factors?
Задача заняла 545 и 919. Насколько я знаю на данный момент указанные алгоритмы из sklearn могут работать только с числовыми значениями.
В дальнейшем планирую написать аналогичную статью про задачу распознования символов также с Kaggle.
Мне кажется, правильнее поле Embarked было закодировать с помощью OneHotEncoder, т.к. цифры сами по себе там никакого смысла не несут (2 не больше 0), и это будет вредить классификации, как минимум SVM, LogisticRegression и KNN, да и RF, вроде, тоже.
Возможно, как-то не подумал об этом. Но после написания поста я продолжил эксперимент и понял, что Embarked и Fare вообще не нужны, а модель для классификации будет такой:

RandomForestClassifier(n_estimators = 80, max_features='auto', criterion='entropy',max_depth=4)

После данных манипуляций точность получилась 0.78947. Но в любом случае спасибо за подсказку.
А вы не пробовали заполнять пустые поля не общей медианой, а по группам?

Например, для Fare брать медианы по классу. Для возраста, если Mrs. то брать медиану по взрослым женщинам, если Mr. но Parch 0 или больше 2 (явно с детьми) — то медиану по взрослым мужчинам, и так далее.

Еще там у некоторых пассажиров цена за билеты сразу на всю семью. (поэтому в Cabin у каждого из группы указан список 'C25 C27 C29').

Честно говоря, лучше от этого не становится. :)
При таком допиливании серьезный вес почему-то забирает Fare. Если убрать Fare и Embarked, тогда порядок важности становится совершенно логичный и наиболее близкий к правде.

image

Вот только результат слабее. :/
Sign up to leave a comment.

Articles