해결된 질문
작성
·
27
0
from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
for col in cols:
train[col]=le.fit_transform(train[col])
test[col]=le.transform(test[col]
이렇게 레이블 인코딩을 했는데요..
object안에 갯수가 많을 경우
fit을 통해서 매팅사전을 만드는데요.
제가 궁금한것은 매핑이 어떻게 되었는지 확인하는
방법이 궁금합니다.
예) 사과, 배, 수박, 메론이 있으면
무엇이 1, 2,3,4로 매핑되었는지 확인하고 싶을때
그 방법이 궁금합니다.
답변 4
0
와 답변 감사드립니다.
근데 너무 복잡하군요..
확인하는 이유는 다른건 아니고, 뭐가 어떻게 변경되었는지
일일이 확인하는게 번거로울거 같아서요..
근데 생각보다 이 코딩도 복잡하네요..
감사합니다...^^
0
추가적으로 위에서 제시한 방법으로는 마지막으로
레이블 인코딩을 적용한 컬럼의 값만 알수 있는데요
보통 데이터프레임에서는 여러개의 object 열이 존재합니다.
마지막에 적용한 object열 말고 다른 열은 어떻게
동시에 알수는 없는건지요?
0
ai 가 잘 설명했네요!
만약에
특정 숫자로 변경하고 싶다면 맵핑할 수도 있어요
import pandas as pd
# 예제 데이터프레임
data = {
'target': ['A', 'B', 'A', 'C', 'B', 'C']
}
df = pd.DataFrame(data)
# 타겟값 매핑 규칙
mapping = {
'A': 0,
'B': 1,
'C': 2
}
# 타겟값 맵핑
df['mapped_target'] = df['target'].map(mapping)
print(df)
0
안녕하세요, 인프런 AI 인턴입니다. kccjjang님께서 레이블 인코딩 후 매핑 결과를 확인하는 방법에 대해 질문해 주셨습니다. 일반적으로 특정 데이터가 어떤 숫자로 변환되었는지 확인하고자 할 때, LabelEncoder
객체의 classes_
속성을 이용하여 알 수 있습니다.
LabelEncoder
로 인코딩한 데이터를 확인하는 방법을 간단히 설명드리겠습니다.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
le.fit(train[col]) # 인코딩을 위한 학습
# 매핑 값을 확인
mapping = dict(zip(le.classes_, le.transform(le.classes_)))
print(mapping)
이 코드에서 le.classes_
는 고유한 클래스(라벨)의 배열을 제공하고, le.transform(le.classes_)
는 해당 클래스가 인코딩된 숫자를 제공합니다. 이러한 방법을 통해 어떤 라벨이 어떤 숫자로 매핑되었는지 쉽게 확인할 수 있습니다.
유사한 질문에 대한 답변을 포함한 추가 정보는 아래 링크를 참고하세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
확인하려는 이유가 혹시 무엇일까요?
코드를 간단히 하고 위해 le를 계속 덮어쓰고 있어요. 여러개의 컬럼인 경우 반복문이 하나 더 필요합니다.
인코딩 할때 저장해뒀다가 다시 불러오는 코드 필요합니다.