본문 바로가기

제로베이스59

Python으로 다양한 함수 나타내기 (+다항함수, 지수함수, 시그모이드, 벡터 3Dscatter) 1. 함수 나타내기다항함수 방정식을 코드를 통해 그려보는 방법을 알아보겠습니다.그림 그리는 데이터는 numpy로, matplotlib로 그려보겠습니다.import numpy as npimport matplotlib.pyplot as plt x의 변화에 대한 y의 변화를 그리는 것인데, 다항식만 쓰기엔 x값이 없습니다. 이럴 땐 x값부터 정해주어야 합니다. x는 -3부터 2까지 100개의 데이터를 만든다고 생각하면 됩니다. 따라서 numpy의 linspace를 이용합니다. x = np.linspace(-3, 2, 100)y = 3 * x**2 + 2 x를 출력해보겠습니다.  함수 식에 따라 y도 정의되었으니 y도 출력해보겠습니다.  이걸 토대로 그래프를 그릴 수 있습니다.그래프는 pyplot의 plot함수.. 2024. 4. 25.
모델평가_ROC와 AUC 개념 1. ROC 커브 ROC 커브란 FPR이 변할 때 TPR의 변화를 그린 그림입니다. FPR은 Fall-out, TPR은 Recall(sensitivity) 입니다. Fall-out이 변할 때 sensitivity가 어떻게 변하냐를 관찰한 커브인데요. 1) 직선 랜덤하게 때려맞춘 모델로, 아무 의미가 없다는 뜻입니다. 2) Good 직선보다 위에 있으면 좋은 모델로 보고 완벽하게 ㄱ으로 꺾여있다면 100%의 모델을 나타냅니다. Threshold 기준으로 그래프를 그려보면, negative라고 맞추고 positive라고 맞춘 경계선이 명확하다면 ROC 곡선에서 100% 다 맞춘 모델이 됩니다. 이 때 AUC를 1이라고 합니다. AUC는 ROC의 면적을 나타냅니다. AUC가 0.7정도인 경우는 위와 같습니다... 2024. 3. 12.
모델평가_모델평가란? 우리가 지금까지 배운 것들은 머신러닝을 하기위한 것들이었습니다. 우리는 데이터를 가공하고 변환하는 작업을 하고 모델을 만들고 학습하고 예측합니다. 이 모델을 평가하고 이 과정을 계속 돕니다. 모델을 평가하고 다시 가공하고 다시 학습하고 예측하고 평가하고 다시 새로운 파라미터를 손보고 다시 학습하고 예측하는 이러한 반복작업을 합니다. 1. 회귀모델 우리는 보통 크게 회귀모델과 분류모델로 나눕니다. 먼저 회귀모델에 대해 말해보겠습니다. 회귀모델들은 실제값과 선형그래프 사이의 에러치를 가지고 계산하는 모델이라 회귀모델의 평가는 간단한 편입니다. 회귀모델의 경우 내가 가지고 있는 데이터를 어떤 직선이나 곡선으로 만들어두고 이 값들을 예측해서 사용하는겁니다. 따라서 회귀모델의 예측값은 연속된 변수값들입니다. 선 .. 2024. 3. 11.
GridSearchCV을 통한 하이퍼파라미터 튜닝 머신러닝에서는 raw data가 있고, 이 raw data를 feature engineering 시킵니다. feature engineering은 특성을 관찰하고, 머신러닝을 더 잘 수행하기 위해서 새로운 특성을 만들어내거나 가공하는 단계를 말합니다. 그 후에 train, validation, test로 데이터를 나누었습니다. train 데이터를 가지고 모델을 만들고 훈련 결과를 확인했었죠, 그리고 그 안에서 찾은 모델, validation 모델을 가지고 다시 결과를 확인합니다. 이걸 보면서 hyperparameter를 tuning합니다. 그런데 이게 말이 어려워서 그렇지 노가다를 의미합니다. 즉 손으로 하나하나 일일히 수정해야 하는 단계를 말합니다. 그리고 난 다음에 모델이 다 완료되면, test를 하는.. 2024. 3. 7.
728x90