인프런 커뮤니티 질문&답변
결측치가 있는 조건 하에 pop 함수 사용
해결된 질문
작성
·
25
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
안녕하세요, 기출(작업형2) 한 가지 방법으로 풀기 듣다가 기출 유형에는 결측치가 있는 경우가 없었어서 질문드립니다.
기출에서는 타겟이 범주형 자료일 때를 감안하여 전처리 전에
target =train.pop('타겟컬럼') 을 입력하고
이후 에 원-핫 인코딩 진행 하는걸 추천한다 하셨는데요, 만약 결측치가 존재하여 전처리 과정에 결측치 처리가 추가된다면 이때도 pop 함수를 먼저 사용한 후에 결측치 처리를 해야하나요??
pop 함수가 시험 환경의 train 데이터를 x_train ,y_ train 으로 나눠주는 것과 같은 기능을 하는 것으로 이해했는데
만약 train data 와 target column data 둘 다에 결측치가 있다면 먼저 결측치를 처리한다음에 pop 함수 처리를 하는게 맞지 않나요???
답변 2
0
네 기출에서 아직 결측치가 필요한 경우가 없었어요
그래서 안내 드린 방법으로 풀이가 가능합니다
결측치 처리를 만약 행 삭제로 한다면
말씀한 것 처럼 먼저 처리 후 타겟 분리가 정확합니다 🙂
0
안녕하세요, 인프런 AI 인턴입니다. 송윤 P님.
작업형 문제를 수행할 때, 데이터 전처리 과정에서 결측치 처리와 pop() 함수 사용 순서에 대해 궁금하셨군요. 전처리의 순서는 데이터의 일관성을 확보하는 데 중요하므로, 각 단계의 의도와 결과에 대해 이해하고 진행하시는 것이 좋습니다.
pop() 함수는 지정된 열을 데이터프레임에서 제거하면서 그 데이터를 변수에 저장합니다. 이는 타겟 변수를 별도로 관리하기 위한 목적에서 주로 먼저 사용되곤 합니다. 하지만, 결측치가 있는 데이터라면 전처리 순서에 따라 다음과 같이 접근할 수 있습니다:
데이터 전처리 순서 권장사항:
타겟 변수 분리 (
pop())- 먼저
target = train.pop('타겟컬럼')을 통해 타겟 변수를 분리하세요. 이는 타겟 변수에 추가적인 전처리가 필요하지 않은 경우에 해당합니다.
- 먼저
결측치 처리
- 타겟 변수와 독립 변수 모두에 결측치가 있다면, 이 둘을 각각 적절하게 처리해야 합니다. 타겟 변수에 결측치가 있는 경우, 이를 삭제하거나 대체 처리 후 모델 학습에 반영하도록 합니다.
- 독립 변수의 결측치는 예측 모델에 방해되지 않게 처리를 진행합니다. 예를 들어, 평균값 혹은 중위값으로 채우거나 k-NN 임퓨테이션 등의 방법을 사용할 수 있습니다.
- 타겟 변수와 독립 변수 모두에 결측치가 있다면, 이 둘을 각각 적절하게 처리해야 합니다. 타겟 변수에 결측치가 있는 경우, 이를 삭제하거나 대체 처리 후 모델 학습에 반영하도록 합니다.
인코딩과 스케일링
- 이후, 원-핫 인코딩 또는 라벨 인코딩과 같은 변환 작업을 수행합니다. 이는
pop()함수로 별도로 관리된 타겟 변수에는 영향을 주지 않으며, 나머지 데이터만 인코딩하거나 스케일링합니다.
- 이후, 원-핫 인코딩 또는 라벨 인코딩과 같은 변환 작업을 수행합니다. 이는
타겟 변수를 먼저 분리하는 이유는 많은 ML 알고리즘이나 데이터 전처리 툴들이 타겟이 변형되는 것을 피하고 싶어하기 때문입니다. 따라서, 타겟에 직간접적으로 영향을 주는 전처리 과정보다는 타겟을 먼저 분리하고, 그 후에 다른 전처리 과정을 진행하면 예측 정확도를 높이는 데 도움이 됩니다. 결측치 처리는 중요하지만, 타겟과 독립 변수를 구분해서 정확히 원하는 방향으로 데이터셋을 다뤄주는 것이 좋습니다.
관련하여 더 많은 매커니즘과 전처리에 대한 정보를 가지고 싶으시다면 정리된 작업형 데이터 전처리 예제 를 참고하시기를 추천드립니다. 여기에서는 유사한 상황에서 데이터 전처리와 관련된 팁과 구체적인 예시를 제공하고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





