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

POMME님의 프로필 이미지
POMME

작성한 질문수

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

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

3회 기출유형(작업형)

해결된 질문

작성

·

284

0

  • 안녕하세요. 작업형2문제 시험준비를 범주형데이터는 모두 label로 인코딩하고, 모형은 randomforest를 활용하려고 합니다.

  • 강의해주신 내용은 수치형을 분리해서 작업을 하는데 만약, 제가 한 것처럼 하면 문제는 없는지 궁금합니다.(그냥 무턱대고 외워서 진행한거라서... 오류가 안난다 뿐인지, 코딩이 맞는지 확신이 없습니다.)

  • 추가적으로, 원래는 index 이름이 없는 첫번째 열을 삭제 하고싶엇는데... 삭제를 못하겠더라구요 이럴경우 함수를 어떻게 적어야하는지 궁금합니다.

import pandas as pd

train = pd.read_csv("train.csv")

test = pd.read_csv("test.csv")

 

# print(train.shape, test.shape)  # (1490, 10) (497, 9)

# print(train.info(), test.info()) # object 4개

# print(train.select_dtypes(include='object').columns) # 'Employment Type', 'GraduateOrNot', 'FrequentFlyer', 'EverTravelledAbroad'

# print(test.select_dtypes(include='object').columns)

# print(train.isnull().sum()) # 결측치x

# print(test.isnull().sum()) # 결측치x

 

# print(train['TravelInsurance'].value_counts()) # target 변수 값 확인


from sklearn.preprocessing import LabelEncoder

cols=train.select_dtypes(include='object').columns

# print(cols)


for col in cols :

  le=LabelEncoder()

  train[col]=le.fit_transform(train[col])

  test[col]=le.transform(test[col])


from sklearn.model_selection import train_test_split

X_tr, X_val, y_tr, y_val=train_test_split(train.drop('TravelInsurance',axis=1), train['TravelInsurance'], test_size=0.2, random_state=2023)


# print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) # (1192, 9) (298, 9) (1192,) (298,)


from sklearn.ensemble import RandomForestClassifier

model=RandomForestClassifier()

model.fit(X_tr, y_tr)

pred=model.predict_proba(X_val)


# print(pred[:,1])


from sklearn.metrics import roc_auc_score

roc_auc_score(y_val, pred[:,1]) # 0.7817398927392739 검증용


y_pred=model.predict_proba(test)


submit=pd.DataFrame({

    'index' : test.index,

    'y_pred': y_pred[:,1]

})


# print(submit)

submit.to_csv('result.csv',index=False)

print(pd.read_csv('result.csv'))

 

답변 1

1

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

네 분리하지 않아도 됩니다. 🙂

작업형 2 문제를 해결하기 위한 기본적인 프로세스를 잘 따르고 있습니다.

7회 시험에서는 'index' : test.index 컬럼은 제출하지 않고 예측컬럼만 제출하는 것으로 가이드 되었습니다. 참고해주세요 !!

응원합니다 !!!!🔥

POMME님의 프로필 이미지
POMME

작성한 질문수

질문하기