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

kdmin88님의 프로필 이미지
kdmin88

작성한 질문수

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

작업형2 모의문제1

섹션5. 문제1

해결된 질문

작성

·

402

·

수정됨

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

아래 코드 실행시, RandomForestRegressor' object has no attribute 'predict_proba'에러가 발생하는데, 원인이 무엇인지궁금합니다.

 

# data 불러오기

import pandas as pd


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

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

y_test = pd.read_csv('y_test.csv')

# EDA

train.shape

# 전처리

#test.isnull().sum()

 

# 피처엔지니어링

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

#train = train.drop(cols, axis = 1)

#test = test.drop(cols, axis = 1)

# 라벨 인코딩

from sklearn.preprocessing import LabelEncoder

for col in cols:

    le = LabelEncoder()

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

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

train = train.drop('CLIENTNUM', axis = 1)

test_id = test.pop('CLIENTNUM')


# 검증데이터 분리

from sklearn.model_selection import train_test_split

x_tr,x_val, y_tr, y_val = train_test_split(train.drop('Attrition_Flag', axis = 1), train['Attrition_Flag'], test_size = 0.2, random_state= 2022)

 

# 모델, 평가

from sklearn.ensemble import RandomForestRegressor

rd = RandomForestRegressor()

rd.fit(x_tr, y_tr)

pred = rd.predict(x_val)

 

# 예측, 제출

pred = rd.predict_proba(test)

submit = pd.DataFrame({

    'CLIENTNUM' : test_id,

    'Attrition_Flag' : pred[:, 1]

})

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

 

 

답변 1

0

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

RandomForestRegressor는 predict만 있고 predict_proba는 없습니다. 분류모델에만 있습니다.

검증데이터를 예측할 때는 pred = rd.predict(x_val)로 잘 사용했어요 👍

그런데 테스트데이터를 예측할 때는 pred = rd.predict_proba(test)로 잘못 사용했어요!

kdmin88님의 프로필 이미지
kdmin88

작성한 질문수

질문하기