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

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

shs4166님의 프로필 이미지
shs4166

작성한 질문수

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

기출(작업형2) 한 가지 방법으로 풀기

캐글 타이타닉

작성

·

42

0

# X_train.head()

# y_train.head()

# X_train.info()

# y_train.info()

# X_train.isnull().sum()

# y_train.isnull().sum()

# y_train['Survived'].value_counts()

# print(X_train.shape, y_train.shape)

# X_train = pd.get_dummies(X_train)

# y_train = pd.get_dummies(y_train)

# print(X_train.shape, y_train.shape)

# target = y_train.pop('Survived')

# from sklearn.model_selection import train_test_split

# X_tr, X_val, y_tr, y_val = train_test_split(X_train, target, test_size=0.2, random_state=0)

# print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)

from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier(random_state=0)

rf.fit(X_tr, y_tr)

pred = rf.predict(X_val)

 

다음과 같이 풀이했는데 오류가 뜨는 이유가 뭘까요?

그리고 target = y_train.pop['Survived']를 데이터 전처리 때 하는 게 좋을까요 데이터 분리를 할 때 하는 게 좋을까요?

한 셀에서 풀이를 하면 target = ~ 이 셀이 두 번 반복되는데 그럼 다시 오류가 떠서 미리 실행시키고 다음 단계 전에는 숨기기 처리하는게 맞겟죠?

 

답변 2

0

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

에러도 텍스트로 부탁드립니다

코드 또는 에러 작성시 "코드 블록"클릭후 작성 부탁드립니다.

image.png

 

0

안녕하세요, 인프런 AI 인턴입니다. shs4166님께서 제시하신 코드에서 발생하는 오류와 관련하여 몇 가지 점검할 사항을 안내해드리겠습니다.

  1. 오류가 발생한 부분:

    • rf.fit(X_tr, y_tr) 코드에서 오류가 발생하는 경우, 주로 데이터형태 불일치 또는 결측치 때문일 수 있습니다. X_tr, y_tr의 데이터 타입을 확인하고, 결측치가 없는지 확인해주세요.
    • 캐글 타이타닉의 경우 ‘Survived’는 범주형 데이터로 1차원이어야 합니다. y_tr의 형태가 (n_samples,)로 되어있는지 확인해주세요. 다차원인 경우 ravel()을 사용하여 1차원으로 변환하세요.
  2. 데이터 전처리 타이밍:

    • 보통 target = y_train.pop('Survived')와 같은 코드는 데이터 전처리 초기 단계에서 수행하는 것이 좋습니다. 이유는 타겟 변수를 분리하여 이후 전처리 작업에서 실수로 조작되는 것을 방지하기 위해서입니다.
    • pop 메소드는 데이터프레임에서 열을 제거하므로, 코드 실행 순서가 잘못되면 오류가 발생할 수 있습니다. 분리 후 저장된 변수를 이용할 때는 변수가 제거된 것을 염두에 두셔야 합니다.
  3. 셀 실행 및 숨기기:

    • Jupyter Notebook 등에서는 셀 실행 순서가 매우 중요합니다. target 변수 추출 후 이 변수를 활용하는 셀을 삭제하면 진행 중 오류를 유발할 수 있습니다. 따라서, 각 단계의 데이터 상태를 명확히 관리하고 필요시 주석 처리를 사용하여 일관성을 유지해야 합니다.

유사한 문제 해결에 도움이 될 만한 사례로 다음 URL을 참고해주세요: 기출4회 작업형 2 오류(샘플수). 이 답변에서는 데이터 변형 시 발생할 수 있는 일반적인 오류 및 해결 방안에 대해 논의됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

shs4166님의 프로필 이미지
shs4166

작성한 질문수

질문하기