Лицевая сетка и точечный график не дают точных результатов - PullRequest
0 голосов
/ 14 июня 2019

Я работаю с набором данных Titanic Kaggle . Я пытаюсь визуализировать корреляцию между всеми категориальными переменными. Для этого я использую точечный график вместе с FaceGrid. Некоторые части графиков противоречат данным.

Для генерации точки я использовал

grid = sns.FacetGrid(train, row='Embarked', size=2.2, aspect=1.6)
grid.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep')
grid.add_legend()

Точечный график показывает, что почти каждый мужчина, вышедший из «C» с Pclass = 1 и 2, выжил. Это очень маловероятно. Я попытался проверить это с помощью сводной таблицы:

temp = round(pd.pivot_table(train_df, values='Survived', index=['Embarked','Sex'], columns='Pclass', aggfunc=[lambda x: len(x), np.sum,'mean'] ),2)

42 из 1 класса, 10 из класса 2, и 43 из 3 класса начали с «C».

Но только 17, 2, 10 выжили. Поэтому средние вероятности должны быть 0,40, 0,20 и 0,23.

Я думаю, что главная проблема - это предупреждение, которое оно выдает:

UserWarning: Using the pointplot function without specifying `order` is likely to produce an incorrect plot.
UserWarning: Using the pointplot function without specifying `hue_order` is likely to produce an incorrect plot.

Pointplot and the Pivot table

Я не понимаю значения Order здесь. На заметку: Как мне отсортировать введенный индекс, чтобы сказать 'S', 'C' и 'Q'.

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