Kaggle/Intro to Machine Learning

4. Model Validation

RiLLa_0511 2023. 8. 3. 12:38
728x90

MAE (Mean Absolute Error, 평균 절대 오차) : 모든 절대 오차의 평균

☞ 여기서 Error = Actual - Predicted (실제 값과 예측 값과의 차이)

 

● 데이터 나누기

 

→ train_test_split() 함수

→ scikit-learn 라이브러리의 함수이며, 데이터를 두 개로 분리해 줌

→ 훈련세트(training data)와 평균 절대 오차 값을 계산하기 위한 검증 세트(validation data)로 분리

 

→ random_state : 호출할 때마다 동일한 훈련 데이터 세트와  테스트 데이터 세트를 생성하기 위한 난수 시드(seed) 값

from sklearn.model_selection import train_test_split

train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=1)

train_X : 훈련 데이터의 입력 특성

val_X : 검증 데이터의 입력 특성

train_y : 훈련 데이터의 타겟값

val_y : 검증 데이터의 타겟값

 

● 모델 설정 및 학습

 

→ train_X, train_y 를 사용하여 모델을 학습하는 과정

→ 모델은 특성과 타겟값 사이의 관계를 학습하며, 결정 트리의 형태로 만들어짐

from sklearn.tree import DecisionTreeRegressor # 3단계에서 실행한 코드

iowa_model = DecisionTreeRegressor(random_state=1) # 3단계에서 실행한 코드

iowa_model.fit(train_X, train_y)

 

 

● 검증 데이터를 이용하여 예측하기

 

→ 학습된 모델을 사용하여 검증 데이터에 대한 예측값을 계산

val_predictions = iowa_model.predict(val_X)

 

 

● 검증 데이터에서의 평균 절대 오차 계산

 

mean_absolute_error() 함수를 사용하여 검증 데이터의 실제 타겟값(val_y)과 모델의 예측 값(val_predictions) 간의 평균 절대 오차를 계산 후, val_mae 변수에 저장

from sklearn.metrics import mean_absolute_error

val_mae = mean_absolute_error(val_y, val_predictions)

'Kaggle > Intro to Machine Learning' 카테고리의 다른 글

6. Random Forests  (0) 2023.08.11
5. Underfitting and Overfitting  (0) 2023.08.04
3. Your First Machine Learning Model  (0) 2023.08.02
2. Basic Data Exploration  (0) 2023.08.02