Читаем Искусственный интеллект полностью

print (train [ «Survived»] [train [ «Sex»] = ‘female’].value_counts (normalize=True))

1 0.742038

0 0.257962

Name: Survived, dtype: float64

Мы видим, что 74 % женщин и 18 % мужчин выжили. Так мы можем еще более точно определить нашу гипотезу, предположив, что, вероятнее всего, в катастрофе выжила бы женщина, а не мужчина.

Помните, что изначально нашей целью было создать колонку данных о выживших? Так вот, на основе новой информации мы можем создать ее и поставить «1» (значит «да, пассажир выжил») напротив тех 74 % женщин и «0» (то есть «нет, пассажир не выжил») у оставшихся женщин. Мы также могли бы поставить «1» у 18 % и «0» у 81 % мужчин.

Однако мы не будем так делать, поскольку это означало бы, что мы совершаем поверхностные предположения на основе только лишь пола. Известно, что в данных можно обнаружить факторы, существенно влияющие на результаты. (Если же вам действительно интересна внутренняя кухня этих процессов, я советую найти это упражнение на DataCamp либо что-то подобное в интернете.) А как насчет женщин, путешествующих третьим классом? Или первым классом? Женщин с детьми? И вот уже ручной подсчет кажется весьма трудоемким, потому давайте научим нашу модель, опираясь на известные факторы, угадывать за нас.

Для этого нам понадобится алгоритм decision tree. Помните, в машинном обучении существуют весьма полезные базовые алгоритмы? У них есть названия, такие как «дерево решений» (decision tree), «случайный лес» (random forest), «искусственная нейронная сеть» (artificial neural network), «наивный байесовский классификатор» (naive Bayes), «метод k ближайших соседей» (k-nearest neighbor) или «глубокое обучение» (deep learning). Список алгоритмов машинного обучения, представленный в Википедии, достаточно полный.

Алгоритмы поставляются пользователям в пакетах вроде того, что мы уже использовали, – pandas. На самом деле немногие самостоятельно пишут алгоритмы, гораздо проще воспользоваться уже существующими. Процесс написания алгоритма похож на изобретение нового языка программирования. Это действительно очень важно, кроме того, требует много времени. «Математика, – скажу я и всплесну руками, – это лучшее объяснение того, что задействовано во время разработки алгоритма». Извините. Если хотите знать больше, я советую почитать об этом. Это, конечно, очень интересно, но написание алгоритма не относится к нашим актуальным задачам.

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

Открою вам секрет из мира больших данных: все данные – «грязные». Абсолютно все. Они собраны людьми, подсчитывающими все вокруг, либо посредством сенсоров – тоже созданных людьми. В каждой, казалось бы, упорядоченной колонке чисел присутствует шум, искажения. Это беспорядок. Это незавершенность. Это жизнь. Проблема заключается в том, что некорректные данные не следует учитывать. Больше того, иногда для того, чтобы алгоритмы заработали как надо, нам приходится подправлять данные.

Еще не страшно? Мне было страшно, когда я поняла это. Как журналист я не склонна подправлять что-либо. Мне необходимо проверить каждую строчку и представить подтверждения для проверяющего, редактора, или читателей – однако в машинном обучении приходится частенько делать так, чтобы все сходилось.

К физике это тоже применимо. Например, если нужно измерить температуру в конкретной точке А закрытого контейнера, необходимо измерить температуру в двух равноудаленных точках (В и С) и предположить, что температура в точке А примерно соответствует средней температуре между В и С. В статистике… ну, так это и происходит, а недостаток данных способствует неуверенности в подсчетах. Мы все пользуемся функцией fillna, чтобы заполнить пустующие значения:

train [“Age”] = train [“Age”].fillna (train [“Age”].median ())

Алгоритм не работает при отсутствующих значениях. Поэтому придется исправить ситуацию. Создатели упражнения на DataCamp советуют воспользоваться медианой.

Посмотрим на данные.

# Напечатать данные, чтобы увидеть доступные признаки

print (train)

Перейти на страницу:

Похожие книги

Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам
Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам

Прочтя эту книгу, вы узнаете, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее. Кроме того, в издании рассказано о неполадках в работе BIOS, которые приводят, например, к тому, что ваш компьютер не загружается, или к возникновению ошибок в BIOS. Что делать в этот случае? Как устранить проблему? В книге рассказывается об этом и даже приводится описание загрузки BIOS во флэш-память.Также вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы. Вы поймете, почему рекомендуемые установки являются оптимальными.После прочтения книги вы сможете оптимизировать BIOS не хуже профессионала!Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Книги по IT
С компьютером на ты. Самое необходимое
С компьютером на ты. Самое необходимое

Рассказывается о работе в операционной системе Windows (на примере версий XP и 7), текстовом редакторе Word 2010 и других приложениях, необходимых каждому пользователю: архиваторах, антивирусах и программах для просмотра видео и прослушивания музыки (Winamp, QuickTime Pro). Большое внимание уделяется работе в Интернете. Рассказывается о программах для просмотра Web-страниц, об электронной почте, а также о различных полезных приложениях для работы в сети — менеджерах закачек файлов, ICQ, Windows Live Messenger, MSN и многих других. Во втором издании рассмотрена новая ОС — Windows 7, а также последние версии приложений для пользователей.Для начинающих пользователей ПК.

Андрей Александрович Егоров , Андрей Егоров

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT