Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

TensorFlow와 Auto MPG 데이터셋으로 회귀 모델 성능 평가하는 방법

TensorFlow는 구글(Google)이 제공하는 머신러닝 프레임워크입니다. 오픈소스로 공개되어 있으며, Python과 함께 사용하여 알고리즘 구현, 딥러닝 애플리케이션 개발 등 다양한 작업을 수행할 수 있습니다. 연구 목적과 실제 프로덕션 환경 모두에서 널리 활용되고 있습니다.

TensorFlow 설치하기

'tensorflow' 패키지는 Windows 환경에서 아래 명령어 한 줄로 간단히 설치할 수 있습니다.

pip install tensorflow

텐서(Tensor)는 TensorFlow에서 사용되는 핵심 데이터 구조입니다. 데이터 흐름 그래프(Data Flow Graph) 내의 엣지(edge)를 연결하는 역할을 하며, 본질적으로는 다차원 배열 또는 리스트라고 할 수 있습니다.

회귀 문제란 무엇인가?

회귀(regression) 문제의 목표는 가격, 확률, 비가 올지 여부 등 연속형 또는 이산형 변수의 출력값을 예측하는 것입니다. 분류 문제가 범주를 예측한다면, 회귀는 수치 자체를 예측한다는 점에서 차이가 있습니다.

Auto MPG 데이터셋 소개

이 튜토리얼에서 사용하는 데이터셋은 'Auto MPG'입니다. 이 데이터셋은 1970년대와 1980년대 자동차들의 연비 정보를 담고 있으며, 무게(weight), 마력(horsepower), 배기량(displacement) 같은 특성들을 포함합니다. 우리의 목표는 이러한 특성들을 바탕으로 특정 차량의 연비를 예측하는 것입니다.

Google Colaboratory 활용

아래 코드는 Google Colaboratory(Colab)에서 실행됩니다. Colab은 브라우저에서 바로 Python 코드를 실행할 수 있게 해주며, 별도의 설정이 필요 없고 GPU(그래픽 처리 장치)에 무료로 접근할 수 있다는 장점이 있습니다. Jupyter Notebook을 기반으로 만들어졌습니다.

예제 코드

def plot_loss(history):
    plt.plot(history.history['loss'], label='loss')
    plt.plot(history.history['val_loss'], label='val_loss')
    plt.ylim([0, 10])
    plt.xlabel('Epoch')
    plt.ylabel('Error [MPG]')
    plt.legend()
    plt.grid(True)

plot_loss(history)
test_results = {}

test_results['hrspwr_model'] = hrspwr_model.evaluate(
    test_features['Horsepower'],
    test_labels, verbose=0)

코드 출처 − https://www.tensorflow.org/tutorials/keras/regression

출력 결과

TensorFlow와 Auto MPG 데이터셋으로 회귀 모델 성능 평가하는 방법

코드 설명

  • 'evaluate' 함수는 모델이 학습 과정에서 한 번도 보지 못한 새로운 데이터에 얼마나 잘 일반화(generalization)되는지를 측정하는 데 사용됩니다.

  • 평가 결과는 콘솔에 시각화되어 출력되며, 이를 통해 손실(loss) 값과 검증 손실(val_loss) 값을 에포크(epoch)별로 비교할 수 있습니다.

  • 학습 곡선과 검증 곡선의 격차가 크다면 과적합(overfitting)을 의심해볼 수 있으며, 두 곡선이 함께 수렴한다면 모델이 안정적으로 학습되었다고 판단할 수 있습니다.