인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

soyoung an님의 프로필 이미지
soyoung an

작성한 질문수

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

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

캐글 T2-1 코드 봐주실 수 있나요??

해결된 질문

작성

·

106

0

아래 코드에서 잘못된 부분은 없는지, 어느 부분을 보완하면 좋을지 알고 싶습니다

 

문제 : 학습용 데이터 (X_train, y_train)을 이용하여 생존 예측 모형을 만든 후, 이를 평가용 데이터(X_test)에 적용하여 얻은 예측값을 다음과 같은 형식의 CSV파일로 생성하시오(제출한 모델의 성능은 accuracy 평가지표에 따라 채점)

 

코드 :


# 라이브러리 불러오기
import pandas as pd
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")

# EDA
train.shape, test.shape # ((891, 12), (418, 11))
train.isnull().sum()
test.isnull().sum()

# 전처리(결측치, 인코딩, 스케일링, 타겟)
train = train.dropna()
test = test.dropna()
train.shape, test.shape # ((183, 12), (87, 11))

train.describe()

train = pd.get_dummies(train)
test = pd.get_dummies(test)

target = train.pop("Survived")

# 모델링
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 = 2024)


from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state = 2024)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)

# 평가
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_val, pred)

# 제출
result = pd.DataFrame({
    "PassengerId" : X_val["PassengerId"] ,
    "Survived" : pred
})

result.to_csv("수험번호.csv", index = False)

답변 1

1

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

엄청난 실수를 했어요! 0점처리 됩니다.

1

문제가 418개의 예측입니다.

테스트 데이터 (418, 11) -> 행이 418개였으면

이대로 유지해야 합니다. 87개로 줄이면 채점이 불가능하므로 0점 처리됩니다.

절대로 test 데이터 행 수는 건들면 안 됩니다.

 

  1.  

트레인 데이터 수가 800개에서 100단위로 떨어졌어요

이렇게 되면 너무 많은 데이터가 삭제되어 학습이 제대로 이루어지지 않을 수 있어요!

결칙치를 채워서라도 살릴 수 있는 부분은 살리는 것이 좋을 것 같아요!

soyoung an님의 프로필 이미지
soyoung an

작성한 질문수

질문하기