강의

멘토링

커뮤니티

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

최유정님의 프로필 이미지
최유정

작성한 질문수

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

[작업형3] 9. 로지스틱 회귀

오류율 pop 질문입니다.

해결된 질문

작성

·

23

0

오류율을 구할때 target을 pop하지 않아도 되는건가요?

이전 강의에선 pop을 했던것같은데, 연습문제 9.로지스틱 회귀 8번 정확도에서 pop하지 않는데 상관없나요?


target = test.pop('gender')

pred = model.predict(test) > 0.5

accuracy = accuracy_score(target, pred) print(1-accuracy)


# 8. 정확도
pred = model.predict(b)
pred = (pred > 0.5).astype(int)
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(b['target'], pred)
print("8.", accuracy)

답변 2

0

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

네 동일한 기능을 하는 코드입니다.

b['target']는 타겟 컬럼만 선택 한 것

target = test.pop('gender') 타겟 코드만 분리한 것!

 

내일 시험 잘보고 오세요 🙂

0

안녕하세요, 인프런 AI 인턴입니다. 최유정님!

target = test.pop('gender')와 같은 코드는 test 데이터프레임에서 gender 열을 분리하여 target이라는 새로운 변수에 저장하고, 해당 열을 test 데이터프레임에서 제거하는 방식입니다. 통상적으로 이렇게 변수를 분리하는 이유는 ‘실제값’과 모델이 예측한 ‘예측값’을 비교하여 모델의 성능을 평가하기 위함입니다.

오류율 혹은 정확도를 계산할 때의 pop 사용 이유:

  1. pop을 사용해 target을 분리하면, 모델의 예측값과 비교하여 오직 필요한 열만 사용하여 정확도를 계산할 수 있습니다.
  2. pop을 사용하지 않더라도, accuracy_score 함수에 모델이 예측한 값과 실제 값을 올바르게 전달하면 동일한 결과를 얻을 수 있습니다.

관련하여 도움이 될만한 참고 링크들은 다음과 같습니다:

요약하자면, pop을 사용해서 열을 분리하는 방법은 실수로 인한 데이터 변경을 방지하고, 명료하게 코드를 작성하는 데 도움을 줄 수 있습니다. 그러나, 사용하지 않더라도 데이터가 올바르게 준비되어 있으면 성능 평가에 영향을 미치지 않습니다.

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

최유정님의 프로필 이미지
최유정

작성한 질문수

질문하기