회귀모델 성능 평가
1) x, y 분리
- target 변수 명확히 지정
- target을 제외한 변수를 x 데이터프레임으로 선언
- y 데이터프레임은 target변수만을 가짐
target = 'Ozone'
x = data.drop(target, axis=1)
y = data.loc[:, target]
2) 학습용, 평가용 데이터 분리
1. 모듈 불러오기
from sklearn.model_selection import train_test_split
2. 7:3으로 분리
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=1)
3) 모델링 회귀 문제
알고리즘 : LinearRegression
평가방법 : mean_absolute_error
1. 모듈 불러오기
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
2. 선언하기
model = LinearRegression()
3. 학습하기
model.fit(x_train, y_train)
4. 예측하기
y_pred = model.predict(x_test)
5. 평가하기 ⭐⭐⭐
mean_absolute_error(y_test, y_pred)
=> 순서 지키기 !
회귀 성능 평가 방법
1. MAE(Mean Absolute Error) ⭐
: 평균 절대 잔차 -> 모든 데이터에 대해 예측값과 실제값의 차이에 대해 절대값을 구하고, 이 값을 모두 더한 후에 데이터의 개수만큼 나눔
from sklearn.metrics import mean_absolute_error
만약 MAE가 300이라면 두 값의 차이가 평균적으로 300이라고 예상할 수 있음.
2. MSE(Mean Squared Error)
: 잔차제곱의 합 / 데이터의 개수
from sklearn.metrics import mean_squared_error
3. RMSE(Root Mean Squared Error)
: 평균제곱근 오차 -> 오차에 대해 제곱을 한 다음 모든값을 더하여 평균을 낸 후 제곱근을 구하는 방식
from sklearn.metrics import mean_squared_error
MAE와 유사, 만약 차이가 크게 나는 값에 대해서 패널티를 주고 싶다면 RMSE값을 사용하는 것이 더 좋음.
mse(y_test, y_pred)**0.5
4. MAPE(Mean Absolute Percentage Error)
from sklearn.metrics import mean_absolute_percentage_error
5. R2 - Score ⭐
: 두 개의 값의 증감이 얼마나 일관성을 가지는지 나타내는 지표
from sklearn.metrics import r2_score
=> SSR/SST
회귀 모델 평가)
- 정확한 값을 예측하기는 사실상 어려움
- 예측 값과 실제 값에 차이(=오차)가 존재할 것이라 예상함
- 예측 값이 셀제 값에 가까울 수록 좋은 모델이라 할 수 있음
-> 예측한 값과 실제 값의 차이로 모델 성능 평가
머신러닝 - 분류모델
분류모델 성능 평가 절차 1. x, y 분리, 2. 학습용, 평가용 데이터 분리 방법이 회귀모델 분석방법이랑 같음(회귀모델에서 더 자세하게 설명함) 머신러닝 - LinearRegression 회귀 분석 절차 1) x, y 분리 t
oaho.tistory.com
'AI > MachineLearning' 카테고리의 다른 글
의사결정트리(Decision Tree) (0) | 2023.02.24 |
---|---|
로지스틱 회귀 개념, 모델링 과정 (0) | 2023.02.23 |
K-Nearest Neighbor 개념, min-max scaling , 모델링 과정 (0) | 2023.02.23 |
선형회귀 - 단순 회귀 / 다중 회귀 (0) | 2023.02.23 |
머신러닝 - 분류모델 (Confusion Matrix, Accuracy, Precision, Recall, F1_Score) (0) | 2023.02.21 |