1. 데이터 & 라이브러리 불러오기(Load data & Library)

import pandas pd
from sklearn.ensemble import RandomForestRegressor
 :
import numpy as np

train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')

2. 탐색적 자료분석(EDA, Exploratory Data Analysis)

2.1 수치

pd.DataFrame.head()

  • 데이터 프레임의 위에서 부터 n개 행을 보여주는 함수
  • n의 기본 값(default 값)은 5

pd.DataFrame.shape

  • 데이터 프레임의 행의 개수와 열의 개수가 저장되어 있는 값

pd.DataFrame.info()

  • 데이터셋의 column별 정보를 알려주는 함수
    • 비어 있지 않은 값은 (Non-null)의 개수
    • column의 type (int, float, object, etc.)

pd.DataFrame.describe()

  • 숫자형 column들의 기술 통계량을 보여주는 함수
  • 기술통계량: column을 대표할 수 있는 통계값
    • count: non-nulld의 개수
    • mean: 평균값
    • std: 표준편차
    • min, max: 최솟, 최댓값 (이상치 포함)
    • 3분위수(quantile)
      • 25%(Q1): 1/4번째 지점에 있는 값
      • 50%(Q2): 중앙값
      • 75%(Q3): 3/4번째 지점에 있는 값
  • 이상치(Outlier): 울타리 밖에 있는 값

pd.DataFrame.groupby()

  • 집단에 대한 통계량

2.1 그래프

import matplotlib.pyplot as plt

  • 데이터를 차트나 플롯(plot)으로 그려주는 라이브러리

pltplot

함수 설명
plt.title(label, fontsize) 그래프 제목 생성
plt.xlabel(label, fontsize) x축 이름 설정
plt.ylabel(label, fontsize) y축 이름 설정
plt.axvline(x, color) 축을 가로지르는 세로선 생성
plt.text(x, y, s, fontsize) 원하는 위치에 텍스트 생성

상관계수

pd.DataFrame.corr()

  • 피어슨 상관 계수(Pearson correlation coefficient)
  • 상관계수: 두 개의 변수가 같이 일어나는 강도를 나타내는 수치
  • [-1, 1]사이의 값을 가진다
  • 분야별로 차이가 있지만, 0.4이상이면 변수간 상관성이 있다고 볼 수 있음


import seaborn as sns

sns.heatmap(train.corr(), annot=True) # annot - 상관관계 수치를 표시


3. 데이터 전처리(Pre-Processing)

pd.Series.isnull()

  • 결측치 여부를 확인 (결측치 - True, else - False)

pd.DataFrame.fillna(value)

  • NA/NAN 값을 value로 채우는 함수

4. 변수 선택 및 모델 구축(Feature Engineering & Select Algorithm)

sklearn.ensemble.RandomForestRegressor()
sklearn.linear_model.LinearRegression()
sklearn.linear_model.LogisticRegression()
:
:

5. 모델 학습 및 검증(Model Training & Evaluation)

model.fit(X_train, y_train)

  • 모델 학습

model.predict(y)

  • 모델 예측

6. 결과 및 결언