Home 빅분기-실기-2유형
Post
Cancel

빅분기-실기-2유형

2 유형 분석 순서

  1. 라이브러리 및 데이터 확인
  2. 데이터 탐색(EDA)
    • 데이터타입, 결측치, 기초통계량 등
  3. 데이터 전처리 및 분리
    • 결측치/이상치: 대체 or 삭제
    • 변수처리
  4. 모델링 및 성능 평가
    • 분류: RandomForestClassifier
      • Accuracy, F1 score
    • 회귀: RandomForestRegressor
      • R2, MSE, RMSE
  5. 예측값 제출

2. 데이터 탐색(EDA)

명령어설명
.shape데이터의 행과 열의 수를 확인
.head()데이터의 처음 몇 줄(기본적으로 5줄)을 보여줌
.info()각 변수의 데이터 타입과 결측치 여부를 확인
.describe()데이터의 기초 통계량(평균, 최소값, 최대값 등) 확인
.value_counts()각 변수의 고유값들의 빈도수를 확인

3. 데이터 전처리 및 분리(결측치, 이상치, 변수 처리)

명령어설명
.isnull().sum()결측치의 갯수 확인
.dropna()결측치가 있는 행 또는 열을 제거
.fillna()결측치를 특정 값으로 대체 (예: 중앙값(median), 평균(mean), 최빈값(mode))
np.where()조건에 따라 값을 대체
df.drop(columns=['col1', 'col2'])지정된 열을 제거
pd.get_dummies()범주형 변수를 원-핫 인코딩으로 변환
x_train = x_train.reindex(columns=x_test.columns, fill_value=0)원핫인코딩 후 변수의 수가 다른 경우(x_test의 변수가 x_train보다 많은 경우)

4. 모델링 및 성능 평가

주요 라이브러리:

| 분류 | 라이브러리 | |——|————| | 전처리 | from sklearn.model_selection import train_test_split | | 모델(분류) | from sklearn.ensemble import RandomForestClassifier | | 모델(회귀) | from sklearn.ensemble import RandomForestRegressor | | 성능평가(분류) | from sklearn.metrics import accuracy_score, f1_score, recall_score, precision_score, roc_auc_score, confusion_matrix | | 성능평가(회귀) | from sklearn.metrics import mean_squared_error, r2_score |

순서:

단계설명
1. train, test, val로 splitx_train, x_val, y_train, y_val = train_test_split(x_train, y_train['target'], stratify=y_train['target'], random_state=2023, test_size=0.2)
2. model 호출, fitmodel = RandomForestClassifier()
model.fit(x_train, y_train)
3. val predicty_pred = model.predict(x_val)
4. 성능평가(분류)acc = accuracy_score(y_val, y_pred)
f1 = f1_score(y_val, y_pred, average='macro')
print(acc, f1)
4. 성능평가(회귀)mse = mean_squared_error(y_val, y_pred)
r2 = r2_score(y_val, y_pred)
5. test predicty_result = model.predict(x_test)
y_result_prob = model.predict_proba(x_test) : 특정 클래스로 분류될 확률을 구할 경우
6. 결과 제출pd.DataFrame({'pred': y_result,
'prob_0': y_result_prob[:0],
'prob_1':y_result_prob[:1],
'prob_2':y_result_prob[:2]
}).to_csv('수험번호.csv', index=False)

result = pd.read_csv('수험번호.csv')
print(result)

추가 노트:

모델링 및 평가

분석모형 평가_분류 성능

  1. 정확도(Accuracy): 전체 중에서 올바르게 예측한 비율
    • 공식:\(\frac{(TP + TN)}{(TP + TN + FP + FN)}\)
  2. 민감도(Sensitivity) 또는 재현율(Recall): 실제 양성 샘플 중 올바르게 예측된 샘플의 비율
    • 공식: \(\frac{TP}{(TP + FN)}\)
  3. 특이도(Specificity) 또는 진짜 음성 비율(True Negative Rate): 실제 음성 샘플 중 올바르게 예측된 샘플의 비율
    • 공식: \(\frac{TN}{(TN + FP)}\)
  4. 정밀도(Precision) 또는 양성 예측 값(Positive Predictive Value): 양성으로 예측된 샘플 중 실제로 양성인 샘플의 비율
    • 공식: \(\frac{TP}{(TP + FP)}\)
  5. F1 점수(F1 Score): 정밀도와 재현율(Recall)의 조화 평균
    • 공식: \(2 \times \frac{(Precision \times Recall)}{(Precision + Recall)}\)
    • 여기서 Precision은 정밀도, Recall은 민감도를 의미함
This post is licensed under CC BY 4.0 by the author.

Transformers 실습

빅분기-실기-3유형