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

У меня есть набор данных с огромным количеством функций, поэтому анализ корреляционной матрицы стал очень сложным. Я хочу построить матрицу корреляции, которую мы получаем с помощью функции 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: вы можете наблюдать один и тот же набор отношений от парных или матриц рассеяния. Но из этого можно сказать, что данные обычно распределяются или нет.

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

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

  • Как я могу рассчитать стандартное отклонение для строк данных?
  • Переименование столбцов при запросе SQLAlchemy в Pandas DataFrame
  • Как использовать Pandas Write_Frame для экспорта результатов в Oracle Database в cx_Oracle
  • Как эффективно пробовать комбинации строк в pandas DataFrame
  • pandas, применять несколько функций из нескольких столбцов для группировки объекта
  • Получить сопоставление категориальных переменных в пандах
  • Как изменить размер корзины при группировке данных по диапазонам?
  • Группировка / Изменение данных в пандах
  • Python - лучший язык программирования в мире.