Мы только что импортировали необходимые нам библиотеки. Каждой библиотеке мы дали собственные названия – pd для pandas, np для numpy. Теперь у нас есть доступ ко всем функциям обеих библиотек, и мы можем решить, какие из них нам нужны. Из библиотеки scikit-learn мы возьмем только две: первая называется tree, вторая – preprocessing.

Затем импортируем данные из файла. CSV (comma-separated values), который также можно найти в интернете. В частности, нужный нам. CSV-файл находится на сервере Web Services (AWS), принадлежащем Amazon. Нам это известно потому, что ссылка файла (которая начинается с http://) выглядит как s3.amazonaws.com. Файл. CSV представляет собой структурированные данные, где каждая колонка отделена запятой. Мы скачаем с AWS два файла с данными о «Титанике» – обучающий и тестовый, и они оба будут в формате. CSV. Импортируем их:

train_url =

«http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/train.csv»

train = pd.read_csv (train_url)

test_url = «http://s3.amazonaws.com/assets.datacamp.com/course/Kaggle/test.csv»

test = pd.read_csv (test_url)

pd.read_csv () означает «Пожалуйста, выполни функцию read_csv (), которая обитает в библиотеке pd (pandas)». Фактически мы только что создали DataFrame (структуру данных) и обратились к одной из встроенных функций. Итак, теперь данные импортированы в виде двух наборов – обучающего и тестового. Мы используем данные переменной train, чтобы создать модель, и затем при помощи переменной test протестируем ее точность.

Посмотрим, что в заголовках первых строк обучающего набора данных:

print (train.head ())

Итак, перед нами данные в 12 колонках: PassengerId, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, и Embarked. Что же это все означает?

Чтобы ответить на этот вопрос, нам понадобится словарь данных, который обычно имеется в каждом пакете данных. Заглянув в него, мы выясняем:

Pclass = пассажирский класс (1 = 1-й; 2 = 2-й; 3 = 3-й)

Survived = выжил (0 = нет; 1 = да)

Name = имя

Sex = пол

Age = возраст (в годах жизни; выражен дробью, если возраст меньше единицы (1), если данные приблизительны, они выражены в виде хх.5)

SibSp = количество родственников / супругов на борту

Parch = количество родителей / детей на борту

Ticket = номер билета

Fare = пассажирский тариф (до 1970-го считались в британских фунтах)

Cabin = номер каюты

Embarked = в каком порту сел (а) на борт корабля (C = Чербург; Q = Квинстаун; S = Саутгемптон)

В большинстве колонок есть информация, в иных – нет. Так, например, у пассажира с идентификатором 1, мистера Оуэна Харриса Брода, в графе «Номер каюты» зафиксировано значение NaN, что означает «нечисленное выражение». NaN также не равняется нулю, поскольку 0 – это число. Таким образом, NaN подразумевает, что для этой переменной отсутствует значение. В обычной жизни разница может быть несущественной, однако она принципиально важна для компьютерных вычислений. Вспомните, насколько точность важна для языка математики. Например, значение NULL – пустое множество, оно не синонимично NaN или нулю.

Посмотрим на первые строки тестового пакета данных:

print (test.head ())

Как мы видим, в пакете тестовых данных все те же графы, что и в обучающем, с той лишь разницей, что нет информации о выживших. Хорошо! Наша задача заключается в том, чтобы создать в тестовом пакете колонку Survived («Выжил»), в которой будут содержаться прогностические данные о каждом пассажире. (Конечно, кому-то уже может быть известен результат, но, если бы у нас на руках уже были ответы, это не было бы похоже на упражнение, не так ли?)

Итак, теперь нам предстоит запустить на обучающем наборе сводную статистическую обработку – это позволит лучше понять имеющуюся информацию. Интервьюирование данных – так мы это называем в дата-журналистике. По сути, мы «опрашиваем» данные так же, как опрашивали бы человека, у которого есть имя, возраст, собственная история. В свою очередь, у пакета с данными есть размер и набор колонок. Выяснение среднего значения колонки с данными напоминает ситуацию, в которой мы попросили бы человека написать его фамилию.

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

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