해결된 질문
작성
·
85
0
https://www.kaggle.com/code/agileteam/mock-exam-t2-exam-template
이 문제를 풀고 있는데,
코랩과 캐글 모두 코드가 안돌아갑니다(RAM을 모두 사용했다고 실행이 멈춥니다)
코드가 잘못된 부분이 있어서 그럴까요??
# your code
# 라이브러리 불러오기
import pandas as pd
X_test = pd.read_csv("../input/hr-data/X_test.csv")
X_train = pd.read_csv("../input/hr-data/X_train.csv")
y_train = pd.read_csv("../input/hr-data/y_train.csv")
# EDA
# X_train.info()
# y_train.info()
# X_test.info()
# X_train.shape, y_train.shape
# 전처리(타겟, 결측치, 인코딩, 스케일링)
# X_train.isnull().sum() # 결측치가 모두 범주형 컬럼이므로 특정값 "x"로 채워주기
# gender 4508 object
# enrolled_university 386 object
# education_level 460 object
# major_discipline 2813 object
# experience 65 object
# company_size 5938 object
# company_type 6140 object
# last_new_job 423 object
# X_test.isnull().sum() # 결측치가 모두 범주형 컬럼이므로 특정값 "x"로 채워주기
# gender 510 object
# enrolled_university 31 object
# education_level 52 object
# major_discipline 310 object
# experience 5 object
# company_size 621 object
# company_type 634 object
# last_new_job 40 object
# y_train.isnull().sum()
X_train = X_train.fillna("x")
X_test = X_test.fillna("x")
# X_train.shape # (8955, 13)
# 학습, 예측에 사용되는 데이터만 인코딩(정답지인 y_test는 인코딩x)
X_train = pd.get_dummies(X_train)
X_test = pd.get_dummies(X_test)
# # X_train.shape, y_train.shape # ((19158, 187), (19158, 1))
# 모델링(학습, 예측, 평가)
# 평가지표를 사용할거면 train_test_split 해야 함
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
rf = RandomForestClassifier(random_state = 42)
rf.fit(X_train, y_train)
pred = rf.predict_proba(X_test)[:, 1]
# predict_proba : 분류 문제에서 확률을 예측할 때
# roc_auc_score, accuracy, f1 : 분류에서만 사용
# error가 들어가는 지표 : 회귀에서 사용
# 제출
result = pd.DataFrame({
"pred" : pred
})
result.to_csv("result.csv", index = False)
답변 1
0
카테고리가 10개 이상이면 레이블 인코딩
카테고리가 10개 미만이면 레이블 또는 원핫 진행하시죠!
데이터를 살펴보진 않았지만 카테고리가 많은데 원핫인코딩하면 학습시 램 초과로 다운될 수 있어요!