1. Data and Library import

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import RandomForestClassifier

from sklearn.preprocessing import LabelEncoder

from sklearn.metrics import mean_squared_error , mean_absolute_error , mean_absolute_percentage_error ,r2_score
from sklearn.metrics import accuracy_score, recall_score, roc_auc_score, precision_score
import numpy as np

import warnings
warnings.filterwarnings("ignore")

2. EDA (Exploratory Data Analysis)

test에 있는 데이터가 train 데이터에는 없는 경우도 있기 때문에 object 타입 값을 직접 확인해주어야 한다.

a = set(train['A'])
b = set(train['B'])

print("학습 데이터에만 있는 것 ", a - b)
print("적합 데이터에만 있는 것 ", b - a)

2-1. 데이터 크기, 타입, 분포 확인

변동계수(Coefficient of Variation, CV )

표준편차 / 평균

age bmi children charges
count 1338.000000 1338.000000 1338.000000 1338.000000
mean 39.207025 30.663397 1.094918 13270.422265
std 14.049960 6.098187 1.205493 12110.011237
min 18.000000 15.960000 0.000000 1121.873900
25% 27.000000 26.296250 0.000000 4740.287150
50% 39.000000 30.400000 1.000000 9382.033000
75% 51.000000 34.693750 2.000000 16639.912515
max 64.000000 53.130000 5.000000 63770.428010

describe 메소드는 기본적으로 숫자형 데이터에 대해서만 작동합니다. 살펴보니 다음과 같은 특징들이 보입니다.

2-2. 상관관계 파악 및 구간 만들기

숫자형 변수들에 대해 df.corr()