1

3 가지 예측 모델이 있으며 혼란 행렬로 성능을 평가하고 있습니다. 3 가지 모델 각각에 대한 혼동 행렬에 대해 동일한 결과가 나타납니다. 서로 다른 모델이 다르게 수행되어 다른 혼동 행렬을 생성 할 것으로 예상됩니다. 나는 예측 모델링에 익숙하지 않으므로 "루키 실수"를하고 있다고 생각합니다. 내가 사용하고 전체 스크립트는 3 개 모델 GitHub의 here혼란 행렬 - 예측 모델로 변경하지 않음 (Sklearn)

에 Jupyter 노트북의 코드의 스크린 샷을 앉아있다가 어떤 하나 무슨 일이 잘못을 지적 할 수

이하? 당신이 예측을 동일한 교육 자료를 사용하고 있기 때문에 단순히 건배 마이크

enter image description here

+0

[grid-search] (http://scikit-learn.org/stable/auto_examples/model_selection/plot_grid_search_digits.html#sphx-glr-auto-examples-model-selection-plot-grid-search-digits- py)를 사용하여 하이퍼 매개 변수를 조정하십시오. –

+0

작은 말은 기차에 적합해야하지만 테스트를 통해 예측할 수 있어야 의미있는 데이터를 얻을 수 있습니다. 또한 모든 다른 모델의 모든 예측이 정확히 같은 값을 가지고 있는지 확인해 주시겠습니까? – Tbaki

+0

@Tbaki 그래, 이상하게도 3 개의 모델 모두에 대한 행 값 예측은 동일합니다. 모하메드 카시프 (Mohammed Kashif)의 제안에 따라 나는 더 의미있는 데이터를 얻기 위해 train_test_split 방식을 사용하여 데이터를 분리하고 예측을 다시 실행합니다. – Mike

답변

-1

. 모델은 이미 예측 한 것과 동일한 데이터에 대해 교육을 받았기 때문에 동일한 결과 (궁극적으로 동일한 혼동 행렬)를 반환합니다. 데이터 세트를 교육 및 테스트 세트로 분리해야합니다. 그런 다음 훈련에 대한 분류기를 훈련시키고 시험 세트에 대한 예측을하십시오.

Sklearn에서 train_test_split을 사용하여 데이터 세트를 교육 또는 테스트 세트로 분리 할 수 ​​있습니다.

1

언급 한 바와 같이 : 테스트 데이터에 대한 예측을하십시오. 그러나 목표가 왜곡되어 있다는 것을 명심하십시오! 따라서 StratifiedKFolds 또는 이와 유사한 것을 사용하십시오.

또한 데이터가 약간 손상된 것 같습니다. 모든 모델이 동일한 결과를 보여 주지만 큰 실수가 될 수 있습니다.

몇 가지 질문/권고 사항 : 1. 데이터를 확장 했습니까? 2. 원 핫 인코딩을 사용 했습니까? 2. 의사 결정 트리가 아닌 포리스트/XGBoost를 사용하십시오. DT를 사용하기 쉽습니다. 3. NN에서 숨겨진 레이어를 2 개 이상 사용하지 마십시오. overfit하기 쉽기 때문에. 먼저 2를 사용하십시오. 2 개의 목표 클래스가있는 아키텍처 (30, 30, 30)가 이상하게 보입니다. 4.> 숨겨진 레이어 2 개 이상을 사용하려면 Keras 또는 TF로 이동하십시오. 당신은 과장하지 않기 위해 당신을 도울 수있는 많은 특징을 발견 할 것입니다.