인프런 커뮤니티 질문&답변

Bomi님의 프로필 이미지
Bomi

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

4.2 결정트리 Jupyter notebook 에러 관련 문의드립니다.

작성

·

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'

혹시 몰라 사진을 함께 첨부하였습니다.

늘 감사합니다.Screenshot 2023-04-25 214453.png

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

도움이 되고 있다니, 저도 기쁘군요 ^^

지금 어떤 강의 영상의 실습코드를 사용하고 계시는 건지요? 오류로 봐서는 Human Activiy Recognition 데이터 세트를 이용하고 계신것 같습니다.

뭔가 실습 코드를 순차적으로 수행하지 않고 빼먹은 부분이 있는 것 같습니다.

주피터 노트북을 종료 후에 다시 기동하시고, Human Acitivity Recognition 실습 코드를 하나씩 수행해 보셨으면 합니다.

안되면 다시 글 부탁드립니다.

감사합니다.

Bomi님의 프로필 이미지
Bomi

작성한 질문수

질문하기