inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐글(kaggle) 필사 전략

캐글 - 타이타닉 작업형2

해결된 질문

245

munjihey1127

작성한 질문수 20

0

train=pd.read_csv("/kaggle/input/titanic/train.csv")

test=pd.read_csv("/kaggle/input/titanic/test.csv")

 

#전처리

train= train.fillna(0)

test= test.fillna(0)

 

from sklearn.preprocessing import LabelEncoder

le=LabelEncoder()

cols = ['Name','Sex','Ticket','Cabin','Embarked']

for col in cols:

train[col]= le.fit_transform(train[col])

test[col]=le.transform(test[col])

 

이렇게 실행했더니

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_encode.py:224, in _encode(values, uniques, check_unknown)
    223 try:
--> 224     return _map_to_integer(values, uniques)
    225 except KeyError as e:

File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_encode.py:164, in _map_to_integer(values, uniques)
    163 table = _nandict({val: i for i, val in enumerate(uniques)})
--> 164 return np.array([table[v] for v in values])

File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_encode.py:164, in <listcomp>(.0)
    163 table = _nandict({val: i for i, val in enumerate(uniques)})
--> 164 return np.array([table[v] for v in values])

File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_encode.py:158, in _nandict.__missing__(self, key)
    157     return self.nan_value
--> 158 raise KeyError(key)

KeyError: 'Wilkes, Mrs. James (Ellen Needs)'

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
Cell In[58], line 22
     20 for col in cols:
     21     train[col]= le.fit_transform(train[col])
---> 22     test[col]=le.transform(test[col])

File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_set_output.py:140, in _wrap_method_output.<locals>.wrapped(self, X, *args, **kwargs)
    138 @wraps(f)
    139 def wrapped(self, X, *args, **kwargs):
--> 140     data_to_wrap = f(self, X, *args, **kwargs)
    141     if isinstance(data_to_wrap, tuple):
    142         # only wrap the first output for cross decomposition
    143         return (
    144             _wrap_data_with_container(method, data_to_wrap[0], X, self),
    145             *data_to_wrap[1:],
    146         )

File /opt/conda/lib/python3.10/site-packages/sklearn/preprocessing/_label.py:139, in LabelEncoder.transform(self, y)
    136 if _num_samples(y) == 0:
    137     return np.array([])
--> 139 return _encode(y, uniques=self.classes_)

File /opt/conda/lib/python3.10/site-packages/sklearn/utils/_encode.py:226, in _encode(values, uniques, check_unknown)
    224         return _map_to_integer(values, uniques)
    225     except KeyError as e:
--> 226         raise ValueError(f"y contains previously unseen labels: {str(e)}")
    227 else:
    228     if check_unknown:

ValueError: y contains previously unseen labels: 'Wilkes, Mrs. James (Ellen Needs)'

이런 에러값이 나오는데 왜그런거죠?

강사님이 작성하신 풀이에는

결측치값을 놔두시고

오브젝트형인 데이터도 다 수치형으로 안바꾸시던데

왜그런거죠?

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

답변 1

0

퇴근후딴짓

Name은 train과 test에서의 종류가 많이 다릅니다. Name은 입력데이터로 사용하기 위해서는 다른방법을 사용해야 해요(예를들면 이름의 길이도 될 수 있고요) 입문자에게는 버리는 것을 추천합니다.

 

캐글에서의 코드는 예시일 뿐입니다. 무료로 오픈한 내용으로 꼼꼼히 작업하진 않았습니다.

작업을 초소화한 형태로 수치형만 사용해서 모델을 만들었어요 (간단한 모델로 생각해주세요)

추가질문 합니다

0

9

1

시험환경 구름

0

10

1

2유형 질문드려요

0

8

1

RandomForest vs lgb

0

18

1

전처리 관련질문

0

13

2

작업형3 기출

0

12

1

유형2에서 데이터분할 생략 가능여부

0

20

2

9회 기출 유형3 질문

0

15

1

lgb 기초편

0

10

1

괄호 사용

0

15

1

작업형 2 데이터 전처리 질문

0

18

1

11회 기출 유형 작업형1 문제 3-1

0

15

0

예시문제 작업형2 (ver2023) 질문입니다

0

16

1

Data type에 따른 처리

0

15

2

데이터 전처리 관련

0

16

2

시험에서 문제 불러오기

0

18

2

2번문제 출력값 질문

0

22

2

pd.get_dummies()가 bool로 반환

0

18

2

대응표본검정 레빈

0

23

3

단일표본검정 문제 유형

0

23

2

[작업형 3] 6~7. 카이제곱 검정

0

22

2

9회 작업형3 문제 1-1

0

37

2

최종답안 계산 방식 질문

0

25

1

시험 치기 전 급하게 질문 사항

0

41

2