캐글 - 타이타닉 작업형2
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)'이런 에러값이 나오는데 왜그런거죠?
강사님이 작성하신 풀이에는
결측치값을 놔두시고
오브젝트형인 데이터도 다 수치형으로 안바꾸시던데
왜그런거죠?
답변 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





