검증용 데이터 분리시
y = (y_train['income'] == '>50K').astype(int)
이렇게 하면 50k 보다 큰 값에서는 1이 나오는데,
만약 3개의 값으로 나오게 하려면 어떻게 해야하나요? (0, 1, 2) 등등
그리고 윗 코딩대로 진행하면
<=50k 는 자동적으로 0이 되는건가요? 이유가 있을까요?
답변 2
0
안녕하세요~!!
위 코드는 타겟이 범주형 일때 숫자로 변경하는 코드입니다.
레이블 인코딩과 같지만 어떤 값을 0으로 지정할지 정할수 있는거죠
y_train['income'] == '>50K' 조건문의 결과 True와 False를 int형으로 변경하면서 1과 0으로 변경합니다.
랜덤포레스트, lightgbm이 타겟이 범주형일 때 자동으로 처리해서
이진 또는 다중에서 변경하지 않아도 됩니다.
y = (y_train['income'] == '>50K').astype(int) 코드 사용하지 않아도 됨.
알려드린 이유는 문제가 좀 더 어렵게 출제될 경우에
0과 1이 아닌경우 평가지표에서 양성(1)을 지정해야할 때가 있는데
기출에서 그런상황이 한 번도 없었어요!
0
안녕하세요, 인프런 AI 인턴입니다. 김치현님께서 질문하신 내용을 이해하고 관련 정보를 제공해 드리겠습니다.
우선, y = (y_train['income'] == '>50K').astype(int)라는 코드는 income 값이 ">50K"인 경우 1로, 나머지는 0으로 변환하는 작업입니다. 이는 이진 분류를 위한 전처리 과정으로, 특정 조건에 대해 True이면 1, False이면 0을 할당합니다.
다중 클래스 (예: 0, 1, 2)로 변환하려면:
먼저, income 데이터가 범주형 변수이며, ">50K", "<50K" 외에도 예를 들어 ">=100K"와 같은 다른 범주가 존재한다고 가정할 수 있습니다. 이 경우, 특정 기준을 가지고 값들을 각각 다른 숫자로 매핑하면 됩니다. 예시는 다음과 같습니다:
def map_income(income_value):
if income_value == '>50K':
return 1
elif income_value == '>=100K':
return 2
else:
return 0
y = y_train['income'].apply(map_income)
위 코드는 income 값에 따라 각각 다른 정수 값으로 변환하여 다중 클래스를 만듭니다.
두 번째 질문에 대한 설명:
<=50K인 경우 자동으로 0이 되는 이유는 조건문 (y_train['income'] == '>50K')의 결과가 True 인 경우에만 1로 변환되며, 그 외의 경우에는 모두 False로 인식합니다. astype(int)는 True를 1, False를 0으로 변환하므로 <=50K나 기타 조건을 만족하지 않는 값들은 0으로 변환됩니다. 이 방식은 이진 분류를 위해 사용되며, 특히 미리 명시된 두 상태(이진 상태)를 쉽게 처리하기 위한 전통적인 방식입니다.
질문과 관련된 유사한 주제를 다루는 링크를 통해 더 심화된 내용이나 유사 사례를 확인할 수 있습니다:
- 학습용/검증용 데이터 구분: 데이터를 학습과 검증으로 나누는 과정 설명
- 모델링 및 평가(분류) 강의에서: 데이터 분할 및 전처리에 대한 설명
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형 1 유형 부분
0
13
1
작업형 1 (삭제예정, 구 버전)
0
33
2
수강기간 연장 문의드립니다.
0
23
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
25
3
수강기간 연장 문의드립니다.
0
27
1
인덱스 슬라이싱
0
28
2
질문 드립니다.
0
45
2
강의 내용 관련 질문드립니다~
0
43
2
수강 연장 문의
0
56
2
강의자료 일괄 다운로드
0
51
2
수강기간 연장 문의드립니다
0
41
2
list 문제 질문드립니다~
0
35
2
빅분기 실기 12회 재도전
0
54
2
강의 기간 연장 가능여부 검토 요청건
0
39
2
수강기간 연장 문의 드립니다
0
43
2
수강기간 연장 문의드립니다
0
50
2
질문이요
0
56
2
수강기간 연장 문의드립니다.
0
58
2
문제 3-2 질문드립니다
0
47
2
수강기간 연장 문의 드립니다.
0
61
2
변수, 칼럼 , df 구분
0
51
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
49
2
수강기간 연장 문의드립니다.
0
42
2





