Я работаю с набором данных 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.
Я не понимаю значения Order здесь.
На заметку: Как мне отсортировать введенный индекс, чтобы сказать 'S', 'C' и 'Q'.