AWS AutoGluon 샘플( Tabular Prediction( 소득 예측 ) )

2022. 4. 26. 12:54it

반응형

0. auto gluon 이란 ?

- aws에서 개발한 ML 이다.

- 무슨 모델을 선택할지 정하지 않고 ML를 만들 수 있다.

- 특정 모델을 선택해서 ML를 만들 수 있다.

 
from autogluon.tabular import TabularDataset, TabularPredictor
 
 

1-1. 학습 데이터를 불러온다.

train_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv')
subsample_size = 500
train_data = train_data.sample(n=subsample_size, random_state=0)
train_data.head()
 

 

 

 train_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv') 부분을 pandas로 수정해도 잘 돌아감

 

728x90

1-2. Y라벨 설정

Y 라벨을 선택한다. -> Y 라벨의 구성을 확인한다.

label = 'class'
print("Summary of class variable: \n", train_data[label].describe())
 

 

 

 

1-3. 모델을 저장할 위치와 데이터를 학습한다. ( 학습 데이터 )

학습 데이터를 저장할 폴더를 지정 -> 학습 데이터 저장

save_path = 'agModels-predictClass'  # specifies folder to store trained models
predictor = TabularPredictor(label=label, path=save_path).fit(train_data)

2-1. 예측 데이터를 불러온다.

test_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/test.csv')

 

반응형

2-2. 예측 데이터의 전처리

검증을 위해, Y라벨 저장 -> 예측을 위해 Y라벨 삭제 -> 데이터 확인

y_test = test_data[label]  # values to predict
test_data_nolab = test_data.drop(columns=[label])  # delete label column to prove we're not cheating
test_data_nolab.head()
 

 

2-2. 예측 결과 확인

예측 결과 저장 위치 지정 -> 예측 실행 -> 예측 결과 -> 모델 평가

predictor = TabularPredictor.load(save_path)  # unnecessary, just demonstrates how to load previously-trained predictor from file
y_pred = predictor.predict(test_data_nolab)
print("Predictions:  \n", y_pred)

 

2-3. 모델 평가

perf = predictor.evaluate_predictions(y_true=y_test, y_pred=y_pred, auxiliary_metrics=True)
 

 

2-4. 모델별 정확도

predictor.leaderboard(test_data, silent=True)

 

반응형