Корреляционная матрица с использованием панд

У меня есть набор данных с огромным количеством функций, поэтому анализ корреляционной матрицы стал очень сложным. Я хочу построить матрицу корреляции, которую мы получаем с помощью функции dataframe.corr() из библиотеки pandas. Есть ли встроенная функция, предоставляемая библиотекой pandas для построения этой матрицы?

4 Solutions collect form web for “Корреляционная матрица с использованием панд”

Вы можете использовать matshow() из matplotlib:

plt.matshow(dataframe.corr())

Попробуйте эту функцию, которая также отображает имена переменных для корреляционной матрицы:

 def plot_corr(df,size=10): '''Function plots a graphical correlation matrix for each pair of columns in the dataframe. Input: df: pandas DataFrame size: vertical and horizontal size of the plot''' corr = df.corr() fig, ax = plt.subplots(figsize=(size, size)) ax.matshow(corr) plt.xticks(range(len(corr.columns)), corr.columns); plt.yticks(range(len(corr.columns)), corr.columns); данные def plot_corr(df,size=10): '''Function plots a graphical correlation matrix for each pair of columns in the dataframe. Input: df: pandas DataFrame size: vertical and horizontal size of the plot''' corr = df.corr() fig, ax = plt.subplots(figsize=(size, size)) ax.matshow(corr) plt.xticks(range(len(corr.columns)), corr.columns); plt.yticks(range(len(corr.columns)), corr.columns); 

Версия для тепловой карты Seaborn:

 import seaborn as sns corr = dataframe.corr() sns.heatmap(corr, xticklabels=corr.columns.values, yticklabels=corr.columns.values) 

Вы можете наблюдать взаимосвязь между чертами либо путем рисования карты тепла из морской или рассеивающей матрицы из панд.

Матрица рассеяния:

 pd.scatter_matrix(dataframe, alpha = 0.3, figsize = (14,8), diagonal = 'kde'); 

Если вы хотите визуализировать асимметрию каждой функции, также используйте морские пары.

 sns.pairplot(dataframe) 

Sns Heatmap:

 import seaborn as sns f, ax = pl.subplots(figsize=(10, 8)) corr = dataframe.corr() sns.heatmap(corr, mask=np.zeros_like(corr, dtype=np.bool), cmap=sns.diverging_palette(220, 10, as_cmap=True), square=True, ax=ax) 

Результатом будет корреляционная карта функций. т.е. см. приведенный ниже пример.

введите описание изображения здесь

Корреляция между продуктом и моющими средствами высока. По аналогии:

Pdoducts с высокой корреляцией:

  1. Бакалея и моющие средства.

Продукты со средней корреляцией:

  1. Молоко и бакалейные товары
  2. Молоко и моющие средства

Продукты с низкой корреляцией:

  1. Молоко и гастрономы
  2. Замороженные и свежие.
  3. Замороженные и гастрономы.

From Pairplots: вы можете наблюдать один и тот же набор отношений от парных или матриц рассеяния. Но из этого можно сказать, что данные обычно распределяются или нет.

введите описание изображения здесь

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

  • pandas read_csv column dtype устанавливается в десятичное число, но преобразуется в строку
  • Как объединить несколько столбцов в группе pandas groupby
  • Pandas Dataframe добавить заголовок без замены текущего заголовка
  • Groupby с пользовательскими функциями Pandas
  • Почему я не могу назначить часть моего Pandas DataFrame?
  • Обновление Pandas sql
  • pandas создает именованные столбцы в dataframe из dict
  • Как добавить суффикс к каждому имени столбца?
  • numpy corrcoef - вычислить матрицу корреляции при игнорировании отсутствующих данных
  • Python: получить частоту, основанную на двух столбцах (переменных) в pandas dataframe
  • Как обрабатывать заголовки файлов excel с помощью pandas / python
  • Python - лучший язык программирования в мире.