작성
·
840
0
안녕하세요!
생존자 예측할때 여러 classifier를 사용하고 학습, 예측, 평가 과정에서 다음과 같은 오류가 발생했습니다.
코드는 선생님이 적어주신 대로 확인하였는데, 무엇이 문제인지 알고 싶습니다.
오류의 윗부부는 다음과 같습니다.
추가로, randomforest 평가 수치가 선생님께서 보여주신 수치와 다른데, 이것도 코드의 문제인가요?
답변 5
0
이유를 모르겠군요.
뭔가 다른 패키지랑 충돌이 나는것 같습니다만,,
일단 pip install -U scikit-learn으로 0.24 로 upgrade를 해보시지요.
이것도 안되면 conda 가상환경을 새로 생성하셔서 여기에 처음부터 sklearn을 설치를 해보시지요.
conda create -n new_env python==3.6
하신 뒤 conda command console에서 conda activate new_env
그런 다음에 sklearn 을 new_env 가상환경에서 한번 설치 하셔서 테스트 해보시는 게 좋을 것 같습니다.
이게 어려우시면, google colab 환경으로 실습 환경을 바꾸어 보시지요.
colab에서 Google drive에 있는 파일을 연동하는 부분은 섹션 8 텍스트 분석에
0
당뇨병 실습 코드에서도 로지스틱 회귀를 이용하였으나 오류가 생겼습니다.
sklearn 버젼은 다음과 같습니다.
X_train 만드는 소스코드는 다음과 같습니다.
# 피쳐 데이터 세트 X, 레이블 데이터 세트 y를 추출
# 맨 끝이 outcome column으로, label 값임. 컬럼 위치 -1이용해 추출
X = diabetes_data.iloc[:, :-1]
y = diabetes_data.iloc[:, -1]
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size = 0.2, random_state = 156, stratify = y)
# 로지스틱 회귀로 학습 예측 평가 수행
lr_clf = LogisticRegression()
lr_clf.fit(X_train, y_train)
pred = lr_clf.predict(X_test)
0
흠, 이유를 잘 모르겠군요.
현재 Scikit learn 버전을 알려 주시겠습니까?
import sklearn
print(sklearn.__version__)
그리고 X_train 만드는 소스코드도 아래 글로 올려 주십시요.
0
다른 분류기는 제대로 실행되는데, 로지스틱회귀만 오류가 나타나는 것 같습니다!
<실행 코드>
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 결정틀, 랜덤포레스트, 로지스틱 회귀를 위한 사이킷런 Classifier 클래스 형성
dt_clf = DecisionTreeClassifier(random_state = 11)
rf_clf = RandomForestClassifier(random_state = 11)
lr_clf = LogisticRegression()
# DecisionTreeClassifier 학습/예측/평가
dt_clf.fit(X_train, y_train)
dt_pred = dt_clf.predict(X_test)
print('DecisionTreeClassifier 정확도: {0:.4f}'.format(accuracy_score(y_test, dt_pred)))
# RandomForestClassifier 학습/예측/평가
rf_clf.fit(X_train, y_train)
rf_pred = rf_clf.predict(X_test)
print('RandomForestClassifier 정확도: {0:.4f}'.format(accuracy_score(y_test, rf_pred)))
# LogisticRegression 학습/예측/평가
lr_clf.fit(X_train, y_train)
lr_pred = lr_clf.predict(X_test)
print('LogisticRegression 정확도: {0:.4f}'.format(accuracy_score(y_test, lr_pred)))
--
<출력 결과>
0
안녕하십니까,
뭔가 학습 데이터 세트에 문제가 있어 보입니다만,
실습용 소스코드 커널을 재 기동을 시키고 다시 수행을 해보십시요. 그래도 오류가 발생하면, 전체 출력 메시지를 여기에 텍스트 형식으로 올려 주십시요. 현재는 오류 메시지가 잘려서 확인이 어렵습니다.
그리고 소스코드 전체 역시 여기에 텍스트 형식으로 올려 주십시요.