작성
·
328
0
4.2 결정트리 Jupyter notebook 에러
안녕하세요?
올려주신 강의 덕분에 도움을 참 많이 받고 있습니다. 정말 감사드립니다.
다름이 아니라, 수업 중 결정트리 실습 강의 첫번째 부분 강의를 들으며 코드실행을 진행하던 중 다음과 같은 에러가 발생하며, 결과값 도출이 되지 않아 문의를 드립니다.
에러코드는 다음과 같습니다.
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# 예제 반복 시 마다 동일한 예측 결과 도출을 위해 random_state 설정
dt_clf = DecisionTreeClassifier(random_state=156)
dt_clf.fit(X_train , y_train)
pred = dt_clf.predict(X_test)
accuracy = accuracy_score(y_test , pred)
print('결정 트리 예측 정확도: {0:.4f}'.format(accuracy))
# DecisionTreeClassifier의 하이퍼 파라미터 추출
print('DecisionTreeClassifier 기본 하이퍼 파라미터:\n', dt_clf.get_params())
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_25120\762432765.py in <module>
4 # 예제 반복 시 마다 동일한 예측 결과 도출을 위해 random_state 설정
5 dt_clf = DecisionTreeClassifier(random_state=156)
----> 6 dt_clf.fit(X_train , y_train)
7 pred = dt_clf.predict(X_test)
8 accuracy = accuracy_score(y_test , pred)
~\anaconda3\lib\site-packages\sklearn\tree\_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
935 """
936
--> 937 super().fit(
938 X,
939 y,
~\anaconda3\lib\site-packages\sklearn\tree\_classes.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
163 check_X_params = dict(dtype=DTYPE, accept_sparse="csc")
164 check_y_params = dict(ensure_2d=False, dtype=None)
--> 165 X, y = self._validate_data(
166 X, y, validate_separately=(check_X_params, check_y_params)
167 )
~\anaconda3\lib\site-packages\sklearn\base.py in _validate_data(self, X, y, reset, validate_separately, **check_params)
576 # :(
577 check_X_params, check_y_params = validate_separately
--> 578 X = check_array(X, **check_X_params)
579 y = check_array(y, **check_y_params)
580 else:
~\anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)
744 array = array.astype(dtype, casting="unsafe", copy=False)
745 else:
--> 746 array = np.asarray(array, order=order, dtype=dtype)
747 except ComplexWarning as complex_warning:
748 raise ValueError(
~\anaconda3\lib\site-packages\pandas\core\generic.py in __array__(self, dtype)
2062
2063 def __array__(self, dtype: npt.DTypeLike | None = None) -> np.ndarray:
-> 2064 return np.asarray(self._values, dtype=dtype)
2065
2066 def __array_wrap__(
ValueError: could not convert string to float: 'tBodyAcc-mean()-X'
혹시 몰라 사진을 함께 첨부하였습니다.
늘 감사합니다.
답변 1
0
안녕하십니까,
도움이 되고 있다니, 저도 기쁘군요 ^^
지금 어떤 강의 영상의 실습코드를 사용하고 계시는 건지요? 오류로 봐서는 Human Activiy Recognition 데이터 세트를 이용하고 계신것 같습니다.
뭔가 실습 코드를 순차적으로 수행하지 않고 빼먹은 부분이 있는 것 같습니다.
주피터 노트북을 종료 후에 다시 기동하시고, Human Acitivity Recognition 실습 코드를 하나씩 수행해 보셨으면 합니다.
안되면 다시 글 부탁드립니다.
감사합니다.