inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[작업형1] 연습문제 섹션1 ~ 10

103강 작업2형 전처리(레이블인코딩 부분) 오류

32

kshwin77

작성한 질문수 2

0

import pandas as pd
train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/hr_train.csv")
test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p2/hr_test.csv")


# 4. 데이터 전처리

target = train.pop('target')


train = train.fillna('X')
test = test.fillna('X')

com = pd.concat([train, test])


from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
cols = train.select_dtypes(include='object').columns
for col in cols:
  # com[col] = le.fit.transform(com[col])

# n_train = len(train)

# train = com[:n_train]
# test = com[n_train:]

# # 5. 검증 데이터 나누기
# from sklearn.model_selection import train_test_split
# X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)
# print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)


# # 6. 학습 및 평가
# from sklearn.ensemble import RandomForestClassifier
# rf = RandomForestClassifier(random_state=0)
# rf.fit(X_tr, y_tr)
# pred = rf.predict_proba(X_val)

# from sklearn.metrics import roc_auc_score
# ras = roc_auc_score(y_val, pred[:,1])
# print("랜덤ras:", ras)

# import lightgbm as lgb
# lg = lgb.LGBMClassifier(random_state=0, verbose=-1)
# lg.fit(X_tr, y_tr)
# pred = lg.predict_proba(X_val)

# from sklearn.metrics import roc_auc_score
# ras = roc_auc_score(y_val, pred[:,1])
# print("엘지비ras:", ras)

# # 7. 제출파일 생성
# pred = rf.predict_proba(test)
# result = pd.DataFrame({"pred":pred[:,1]})
# result.to_csv("result.csv", index=False)




**레이블인코딩 부분이 오류가 계속 나는데 어디가 잘못 됐는지 찾지를 못합니다.

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 3

1

퇴근후딴짓

fit.transform

대부분의 오류는 오타입니다.

fit_transform가 올바른 표기입니다.


1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. kshwin77님.

레이블 인코딩 부분에서 오류가 발생하는 이유는 주석 처리된 라인에서 le.fit 대신 le.fit_transform을 사용해야 하는 점 때문일 수 있습니다. 주석을 풀고 아래의 코드로 수정해 보세요:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
cols = train.select_dtypes(include='object').columns
for col in cols:
    com[col] = le.fit_transform(com[col])

이렇게 하면 데이터 프레임의 모든 범주형 열을 라벨 인코딩 하게 됩니다. fit_transform은 데이터에 맞춰 LabelEncoder를 학습시키고 변환된 데이터를 반환하는 메소드입니다.

이와 관련된 자세한 설명과 유사한 문제 해결 방법들은 다음 답변에서 확인할 수 있습니다.

레이블 인코딩 작업은 데이터를 수치형으로 변환하여 모델이 학습할 수 있도록 하기 때문에 중요한 전처리 단계인데, com과 같은 데이터를 범주형 컬럼들이 올바르게 변환되었는지 확인하는 것이 중요합니다.

추가적으로, traintest 데이터 프레임의 구조가 변하지 않도록 전처리 시 항상 반영 범위를 정확히 지정해 주시기 바랍니다. com[col]와 같이 데이타프레임에 직접적으로 변환을 적용할 때는 traintest 데이터를 분할하여 다시 사용하는 로직도 주의해야 합니다.

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

0

kshwin77

네~ 감사합니다.

해결했습니다.

아무래도 다음 시험 연장은 어렵겠죠?

0

16

1

빅분기 12회 결과 관련 문의

0

55

1

책이랑 강의랑 순서나 예제가 다른것 같네요

0

52

2

수강연장 문의

0

57

1

재검토 요청 방법 좀 알려주셔요...-.-;;

0

87

2

12회 실기 질문(작업형 2)

0

67

2

뒤로가기 버튼 같은 것이 있나요?

0

49

1

강의 연장 문의

0

69

2

출력값 질문

0

47

2

수업노트가 어디에 있나요?

0

44

1

실기시험 제출관련

0

207

3

6.20 작업형 2 과적합

0

199

3

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

68

2

로지스틱회귀, 회귀

0

59

2

회귀 문제를 풀때 질문입니다.

0

66

1

불균형 처리 후 성능이 더 낮아졌다면,

0

74

2

실기 체험 제2유형 에러 문의

0

74

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

64

2

3번문제 등분산 가정

0

58

2

작업형3 target 형 변환 질문

0

44

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

61

3

원핫인코딩과 레이블 인코딩에서 concat

0

68

2

제2유형 질문입니다.

0

53

2

C()

0

52

2