강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

이선희님의 프로필 이미지
이선희

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

3회 기출유형(작업형2)

정말 기본적인것만 외우고 레이블인코딩으로 해서 돌려봤는데요

해결된 질문

작성

·

74

0

혼자 드디어 처음으로 외워서 작성해본 2유형코드입니다~ 평가점수가 저정도 나오는데

아무래도 수치형을 스케일링하지않아서 일까요? 아니면 원핫인코딩이 더 적절한거였을까요?

아니면 저정도 점수여도 안전한 구역일까요?

import pandas as pd
train=pd.read_csv("train.csv")
test=pd.read_csv("test.csv")
print(train.shape)
print(test.shape)
train.info()

cols=train.select_dtypes(include="O").columns
cols
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
for col in cols:
  train[col] = le.fit_transform(train[col])
  test[col] = le.transform(test[col])
target=train.pop("TravelInsurance")
#데이터분할하기
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=2022)
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_tr,y_tr)
pred=model.predict_proba(X_val)
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_val,pred[:,1]))

#0.7486363636363635

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

작업형2 점수는 데이터에 따라 상대적이어서 기준이 없어요!

회차에 따라 점수가 0.9일때도 있었고 0.6일 때도 있어서 수험생을 많이 당황시키기도 해요

 

본인 베이스라인 점수를 기준으로 더 나은 점수가 나온다면 그것을 선택하고 아니라면 베이스라인 점수로 제출하면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다.

이선희님께서 처음으로 작성하신 코드와 결과 점수에 대해 고민하고 계신 점 이해됩니다. 현재 0.7486이라는 점수는 상당히 나쁘지 않은 결과입니다. 하지만 몇 가지 개선점을 제안드리겠습니다.

  1. 수치형 데이터 스케일링: 현재 코드에서는 수치형 데이터를 스케일링하지 않고 있습니다. 데이터의 스케일이 매우 다를 경우, 모델 성능에 영향을 미칠 수 있습니다. 스케일링은 데이터 정규화나 표준화를 통해 차이를 줄일 수 있습니다. StandardScaler 또는 MinMaxScaler와 같은 도구를 사용해 보세요.
   from sklearn.preprocessing import StandardScaler
   scaler = StandardScaler()
   train[train.columns] = scaler.fit_transform(train[train.columns])
   test[test.columns] = scaler.transform(test[test.columns])
  1. 원핫 인코딩: 레이블 인코딩은 범주형 데이터의 순서나 크기를 잘못 반영할 수 있습니다. 이런 경우 원핫 인코딩이 더 적절할 수 있습니다. pd.get_dummies()를 사용해 데이터 프레임에 적용할 수 있습니다.
   train = pd.get_dummies(train, columns=cols)
   test = pd.get_dummies(test, columns=cols)
  1. 모델 튜닝: 사용 중인 RandomForestClassifier의 파라미터를 튜닝해보는 것도 좋은 방법입니다. n_estimators, max_depth 등을 조정하여 성능을 개선할 수 있습니다.

  2. 안전한 구역 여부: 로지스틱 회귀, 서포트 벡터 머신과 같은 다양한 모델을 실험해 보고, 각 모델 별로 평가된 점수를 비교하는 것은 매우 중요합니다. 특히, 실전에서는 다양한 접근을 시도해 보는 것이 높은 점수를 얻는 데에 도움됩니다.

이러한 개선점을 통해 더 나은 성능을 확인해 보시길 바랍니다. 아래 유사한 질문에 대한 답변 링크를 통해 더 많은 예제를 살펴보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이선희님의 프로필 이미지
이선희

작성한 질문수

질문하기