오답노트

[데이터 분석] 이변량 분석 - 총 정리 본문

Python/데이터 분석

[데이터 분석] 이변량 분석 - 총 정리

권멋져 2022. 8. 12. 21:08

수치 → 수치

시각화

[matplotlib] scatter (산점도)

plt.scatter(dataframe['feature'], dataframe['target'])
# plt.scatter('feature', 'target', data = dataframe)
plt.show()

수치화

[데이터 분석] 이변량 분석 - 수치 데이터와 수치 데이터 1

import scipy.stats as spst
spst.pearsonr(dataframe['feature'], dataframe['target'])

 

수치 → 범주

[데이터 분석] 이변량 분석 - 수치 데이터와 범주 데이터

시각화

kdeplot (밀도함수 그래프)

sns.kdeplot(x='feature', data = dataframe, hue ='target', common_norm = False)
plt.show()
sns.kdeplot(x='feature', data = dataframe, hue ='target', multiple = 'fill')
plt.show()

hist (히스토그램)

sns.histplot(x='feature', data = dataframe, hue = 'target')
plt.show()
sns.histplot(x='feature', data = dataframe, bins = 16, hue ='target', multiple = 'fill')
plt.show()

수치화

import statsmodels.api as sm

model = sm.Logit(titanic['target'], titanic['feature'])
result = model.fit()
print(result.pvalues)

 

범주 → 범주

[데이터 분석] 이변량 분석 - 범주 데이터와 범주 데이터

시각화

mosaic(dataframe, ['feature','target'])
plt.show()

수치화

table = pd.crosstab(dataframe['feature'], titanic['target'])
result = spst.chi2_contingency(table)

 

범주 → 수치

[데이터 분석] 이변량 분석 - 범주 데이터와 수치 데이터

시각화

import seaborn as sns
sns.barplot(x='feature',y='target',data=dataframe)
plt.grid()
plt.show()

수치화

t - test

male = dataframe.loc[dataframe['feature']== 'unique1','target']
female = dataframe.loc[dataframe['feature']== 'unique2','target']

spst.ttest_ind(male,female)

anova

import scipy.stats as spst

P_1 = dataframe.loc[dataframe.feature == unique1, 'target']
P_2 = dataframe.loc[dataframe.feature == unique2, 'target']
P_3 = dataframe.loc[dataframe.feature == unique3, 'target']

spst.f_oneway(P_1, P_2, P_3)