Titani c Dataset - Особенности разработки - Функция билета - PullRequest
0 голосов
/ 06 марта 2020

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

  • Is_Group ->, чтобы указать, представляет ли билет групповое бронирование
  • Group_Size -> количество пассажиров в каждой группе.
# save the tickets that appear more than once (i.e. group tickets)
_ = (data.Ticket.value_counts()>1).to_dict()
ls = []
for key in _:
    if _[key]==True:
        ls.append(key)
#extract the feature
data['Is_Group'] = data['Ticket'].apply(lambda x: 1 if x in(ls) else 0)

# create another dict containing the number of counts per each ticket
group_size = (data.Ticket.value_counts()).to_dict()
# extract the feature from the mapping
data['Group_Size'] = data['Ticket'].map(group_size).fillna(0)

Причина, по которой я это делаю, заключается в том, что я хотел изучить природу взаимосвязи между извлеченными функциями из Ticket и целью Survived (а позже решил, как поступить с выбросами в функции SibSp и Parch):

data.groupby(['Is_Group','Group_Size'])['Survived'].describe()

Ссылка на df: enter image description here

Из приведенной таблицы видно, что размер группы 2 / 3 имеет почти 60% и 70% шанс на выживание. Теперь это привело меня к мысли, что существует корреляция (или, по крайней мере, какая-то связь между размером группы и выжившим). Поэтому я решил создать корреляционную матрицу, чтобы убедиться в этом.

ссылка на df: enter image description here

Как я и ожидал, существует корреляция между Is_Group и Group_Size (поскольку они были извлечены из одной и той же функции), но между этими извлеченными функциями и Survived нет корреляции . Отсюда и моя путаница. Я подумал, что учитывая высокие средние значения Survived для Group_Size (2,3), была связь, но ясно, что я что-то здесь не так делаю.

Может кто-нибудь помочь избавиться от моих сомнений?

1 Ответ

2 голосов
/ 06 марта 2020

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

Также имейте в виду, что вы игнорируете сильные факторы пола, возраста и класса. Например, размер группы из трех может указывать на взрослую пару из высшего класса с одним ребенком, причем женщина и ребенок, вероятно, выживут, но не мужчина. Это объясняет наблюдаемую выживаемость около 2/3 для этого размера группы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...