Python 데이터 분석 템플릿
4613 단어 파이썬seabornmatplotlib
Python 데이터 분석 템플릿
kaggle에서 작업하고 있다면 데이터를 분석하여 자신으로부터 특징량을 만들어낼 필요가 있다.
이 때 그래프를 사용하여 데이터 분석을 수행합니다.
이 기사에서는 데이터 분석을 목적으로 그래프를 만드는 템플리를 올린다.
사용 라이브러리
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns
상관관찰 관찰
모든 변수 사이의 산점도
pandas를 사용하면 한 번에 산포도가 나온다.
같은 변수끼리에서는 히스토그램을 그렸다. (같은 변수끼리에서는 직선이 될 뿐이므로)
from pandas.plotting import scatter_matrix
scatter_matrix(df)
산점도
또한, 특정 변수끼리의 산점도는 다음과 같이 간단하게 작성 가능
df.plot(kind='scatter',x='Age',y='Survived',alpha=0.1,figsize=(4,3))
상관 계수 계산
상관 계수
Pearson의 상관 계수를 corr()로 한 번에 표시할 수 있다. 매우 편리.
data1.corr()
상관 계수의 히트 맵
def correlation_heatmap(df):
_ , ax = plt.subplots(figsize =(14, 12))
colormap = sns.diverging_palette(220, 10, as_cmap = True)
_ = sns.heatmap(
df.corr(),
cmap = colormap,
square=True,
cbar_kws={'shrink':.9 },
ax=ax,
annot=True,
linewidths=0.1,vmax=1.0, linecolor='white',
annot_kws={'fontsize':12 }
)
plt.title('Pearson Correlation of Features', y=1.05, size=15)
correlation_heatmap(data1)
목적 변수에 대한 상관 계수
corr_matrix = data1.corr()
fig,ax=plt.subplots(figsize=(15,6))
y=pd.DataFrame(corr_matrix['Survived'].sort_values(ascending=False))
sns.barplot(x = y.index,y='Survived',data=y)
plt.tick_params(labelsize=10)
히스토그램
모든 변수의 히스토그램
hist() 로 한번에 낼 수 있다.
df.hist()
히스토그램을 겹치다
plt.figure(figsize=[8,6])
plt.subplot(222)
plt.hist(x = [data1[data1['Survived']==1]['Age'], data1[data1['Survived']==0]['Age']], stacked=True, color = ['g','r'],label = ['Survived','Dead'])
plt.title('Age Histogram by Survival')
plt.xlabel('Age (Years)')
plt.ylabel('# of Passengers')
plt.legend()
변수 분포 설명
include = 'all'로 하면 수치가 아닌 특징량도 표시된다.
data1.describe(include = 'all')
사분위수
plt.figure(figsize=[8,6])
"""
o is treated as a Outlier.
minimun
25パーセンタイル 第一四分位数
50パーセンタイル 第二四分位数(中央値)
75パーセンタイル 第三四分位数
maximum
"""
plt.subplot(221)
plt.boxplot(data1['Age'], showmeans = True, meanline = True)
plt.title('Age Boxplot')
plt.ylabel('Age (Years)')
Boxplot을 보고 이상값이 있는지 검토할 수 있습니다.
이것은 누락 값의 구멍 채우기에도 사용할 수 있습니다.
이상치가 맞거나 분포가 치우치거나 할 때는 평균을 사용하는 것보다 중앙값을 사용하는 것이 좋다.
한편, 좌우 대상으로, 편향이 없는 분포가 되어 있으면 평균치를 사용하는 것이 좋을지도.
Reference
이 문제에 관하여(Python 데이터 분석 템플릿), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/taruto1215/items/a8adc7a033ceb90a599f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns
from pandas.plotting import scatter_matrix
scatter_matrix(df)
df.plot(kind='scatter',x='Age',y='Survived',alpha=0.1,figsize=(4,3))
data1.corr()
def correlation_heatmap(df):
_ , ax = plt.subplots(figsize =(14, 12))
colormap = sns.diverging_palette(220, 10, as_cmap = True)
_ = sns.heatmap(
df.corr(),
cmap = colormap,
square=True,
cbar_kws={'shrink':.9 },
ax=ax,
annot=True,
linewidths=0.1,vmax=1.0, linecolor='white',
annot_kws={'fontsize':12 }
)
plt.title('Pearson Correlation of Features', y=1.05, size=15)
correlation_heatmap(data1)
corr_matrix = data1.corr()
fig,ax=plt.subplots(figsize=(15,6))
y=pd.DataFrame(corr_matrix['Survived'].sort_values(ascending=False))
sns.barplot(x = y.index,y='Survived',data=y)
plt.tick_params(labelsize=10)
df.hist()
plt.figure(figsize=[8,6])
plt.subplot(222)
plt.hist(x = [data1[data1['Survived']==1]['Age'], data1[data1['Survived']==0]['Age']], stacked=True, color = ['g','r'],label = ['Survived','Dead'])
plt.title('Age Histogram by Survival')
plt.xlabel('Age (Years)')
plt.ylabel('# of Passengers')
plt.legend()
data1.describe(include = 'all')
plt.figure(figsize=[8,6])
"""
o is treated as a Outlier.
minimun
25パーセンタイル 第一四分位数
50パーセンタイル 第二四分位数(中央値)
75パーセンタイル 第三四分位数
maximum
"""
plt.subplot(221)
plt.boxplot(data1['Age'], showmeans = True, meanline = True)
plt.title('Age Boxplot')
plt.ylabel('Age (Years)')
Reference
이 문제에 관하여(Python 데이터 분석 템플릿), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taruto1215/items/a8adc7a033ceb90a599f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)