해결된 질문
작성
·
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이라는 점수는 상당히 나쁘지 않은 결과입니다. 하지만 몇 가지 개선점을 제안드리겠습니다.
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])
pd.get_dummies()
를 사용해 데이터 프레임에 적용할 수 있습니다. train = pd.get_dummies(train, columns=cols)
test = pd.get_dummies(test, columns=cols)
모델 튜닝: 사용 중인 RandomForestClassifier
의 파라미터를 튜닝해보는 것도 좋은 방법입니다. n_estimators
, max_depth
등을 조정하여 성능을 개선할 수 있습니다.
안전한 구역 여부: 로지스틱 회귀, 서포트 벡터 머신과 같은 다양한 모델을 실험해 보고, 각 모델 별로 평가된 점수를 비교하는 것은 매우 중요합니다. 특히, 실전에서는 다양한 접근을 시도해 보는 것이 높은 점수를 얻는 데에 도움됩니다.
이러한 개선점을 통해 더 나은 성능을 확인해 보시길 바랍니다. 아래 유사한 질문에 대한 답변 링크를 통해 더 많은 예제를 살펴보실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.