본문 바로가기
IT&게임/빅데이터분석기사(빅분기)

빅데이터분석기사 제2유형 : ① EDA

by 푸루루 2024. 6. 4.
728x90
반응형

👍2유형 맛보기 

머신러닝은 지도(분류/회귀), 비지도(군집/차원축소), 강화학습 세가지로 나뉜다. 

빅데이터분석기사의 주요 유형은 '지도학습'에서 나온다. 

 

분류 문제는 ➡️ RandomForest, Decision Tree, XGBoost

회귀 문제는 ➡️ RandomForest, Linear Regression, XGBoost

 

👍 분석의 흐름 

- 일반적으로 아래 3개면 모든 분석이 끝난다. 

model = 어떤 모델을 쓸 것인가? // Train

model.fit()  // Train

model.predict() // 예측 validation&test

 

👍 분석 프로세스

 

정의(data) ➡️ EDA ➡️ 전처리(결측치/이상치)
➡️피처 엔지니어링(Min-max 스케일링, 인코딩, Z-score 등)

➡️ 모델링 ➡️ 예측 ➡️ csv file 제출 

 

👍Train데이터와 Test 데이터 용어 익숙해지기

 

                          Train Data (학습)              Test Data(평가)                 

             |<------------------------|<------------>|<----------------------->

X(독립)                   X_train        (검증)                X_test

T(종속)                    y_train                            (우리가 찾는 값)

 

*피처=컬럼

 

 

🤓데이터불러오기 -  pd.read_csv("")

# 데이터 불러오기
X_train=pd.read_csv('X_train.csv')
y_train=pd.read_csv('y_train.csv')
X_test=pd.read_csv('X_test.csv')

 

샘플을 head / tail / sample 함수를 활용해 확인해 본다 

 

 데이터의 크기 - X_train.shape

 데이터의 타입 - X_train.info()

 수치형 컬럼 통계 값 확인 (int, float) - X_train.describe()

나이가 음수구나! 이정도만 파악한다

 범주형 컬럼 통계 값 확인 (object) - X_train.describe(include='object')

학습데이터와 평가데이터를 비교 했을떄 고유값의 개수가 다른걸 확인

 

 결측치 확인 - X_train.isnull().sum()

 타겟 별 개수 확인 - y_train['income'].value_counts()

 상관관계 구하기 - X_train.corr(numeric_only=True) // numeric_only는 오류가 날때 적어줘야함 sum,mean도 

 

 

🤓 아래 추가 EDA를 확인 할 수 있다.

  • 성별에 따른 소득 수준
  • 결혼 유무에 따른 소득 수준
  • 직업에 따른 소득 수준
  • 가족 관계에 따른 소득 수준
  • 국적/백인에 따른 소득 수준 (불균형 미국, 백인 데이터가 대부분임)

 

🤓 데이터 합치기/분리하기

 

합치기 - concat()

# X_train y_train 합치는 것 예시
df = pd.concat([X_train,y_train['income']], axis=1)
df.shape

 

 

분리하기 - iloc / loc  + copy()

iloc[행인덱스, 열인덱스]

# train 분리 예시
#전체부터 마지막까지 
#copy()를 안쓰면 워닝이 가끔 뜸 copy()를 쓰면 이 데이터는 사본이라는걸 명시하는 것 그냥 쓰자! 
X_tr=train.iloc[:,:-1].copy()
y_tr=train.iloc[:,[0,-1]].copy()
X_tr.shape, y_tr.shape

 

728x90

댓글