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

김치현님의 프로필 이미지
김치현

작성한 질문수

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

모델링 및 평가(분류)

ndarray로 바뀐 사유가 궁금합니다..

해결된 질문

작성

·

22

0

  • Labels in y_true and y_pred should be of the same type. Got y_true=[0 1] and y_pred=['0' '1']. Make sure that the predictions provided by the classifier coincides with the true labels.

이런 문장이 뜨던데 accuracy_score(ans, pred) 중 pred가 numpy.ndarray 배열이 된 것 같거든요..

잘 따라한 것 같은데 선생님이 한건 바로 accuracy_score를 바로 볼 수 있고, 제거는 못보여 지네요..

pd.DataFrame(pred) 사용해서 해결하긴 했는데,, numpy배열로 바뀐 사유가 궁금합니다.

 

 

y_train['income'] = y_train['income'].str.replace(">50K", '1')
y_train['income'] = y_train['income'].str.replace("<=50K", '0')

y_train['income'].astype(int)
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(X_train[list], target)
pred = rf.predict(X_test[list])

submit = pd.DataFrame(
    {
        'id' : X_test['id'],
        'income' : pred
    }
)

submit.to_csv("1111.csv", index = False)

y_test.head()
(y_test['income']=='>50K').astype(int)
from sklearn.metrics import accuracy_score
y_test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/data_atype_y/y_test.csv")
ans = (y_test['income'] == '>50K').astype(int)
pred = pred.astype(int)
accuracy_score(ans, pred)

 

답변 1

0

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

원래 pred는 ndarray가 맞습니다.

이를 데이터프레임으로 변환하는 코드를 통해서 데이터프레임으로 보이는 것이에요

submit = pd.DataFrame( { 'id' : X_test['id'], 'income' : pred } )
김치현님의 프로필 이미지
김치현

작성한 질문수

질문하기