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

soyoung an님의 프로필 이미지

작성한 질문수

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

작업형2 모의문제2

[MOCK EXAM] T2. EXAM template 코랩, 캐글에서 코드가 안돌아갑니다

해결된 질문

24.06.06 21:50 작성

·

68

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

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

2024. 06. 06. 22:23

카테고리가 10개 이상이면 레이블 인코딩

카테고리가 10개 미만이면 레이블 또는 원핫 진행하시죠!

데이터를 살펴보진 않았지만 카테고리가 많은데 원핫인코딩하면 학습시 램 초과로 다운될 수 있어요!