수영장의 수영_데이터 분석 블로그

[빅분기 실기] 하루에 끝내는 작업형 1유형 - 기술통계, PCA 본문

자격증/빅데이터분석기사

[빅분기 실기] 하루에 끝내는 작업형 1유형 - 기술통계, PCA

슈빔멘 2021. 11. 28. 21:23

데이터셋 

mtcars

 

 

이상치, IQR

q75,q50 ,q25 = np.percentile(df.wt, [75 ,50,25])
iqr = q75 - q25

outlier = df.wt[(df.wt>= q75 + iqr*1.5) | (df.wt <= q25 - iqr*1.5)].values

wt : 

 

상관계수

df.corr() # 전체 상관계수

df.corr()[['비교 열1']][['비교 열2']]

df.corr()[['비교 열1']][1:] # 열1과 1~끝 열까지의 상관계수

 

p-value

# scipy로 상관계수, p-value 구하기

from scipy import stats
corr_by_scipy, p_val= stats.pearsonr(df['열1'],df['열2'])

# pearsonr : 피어슨 상관계수

 

PCA

brand 컬럼을 제외한 모든 컬럼을 통해 pca를 실시한다.

2개의 주성분과 brand컬럼으로 구성된 새로운 데이터 프레임을 출력하라

from sklearn.decomposition import PCA

pca_df = df.drop('brand', axis=1)

pca = PCA(n_components = 2)
pca_components = pca.fit_transform(pca_df)

principal_df = pd.DataFrame(data=pca_components, columns=['component' + str(x) for x in range(2)])

principal_df['brand'] = df['brand'].values