기계 학습 도구 인 Weka 사용에 대한 질문
-
05-07-2019 - |
문제
분류에 Weka의 Explorer 기능을 사용하고 있습니다.
따라서 숫자 값의 두 가지 기능이있는 .ARFF 파일이 있고 클래스는 이진 0 또는 1 (예 : {0,1})입니다.
견본:
@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}
@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....
이 .Arff 파일을로드하고 10 배 크로스 검증 (테스트 파일 없음)을 사용한 다음 순수대를 선택한 다음 데이터를 분류 한 다음 다음과 같이 표시합니다. 여태까지는 그런대로 잘됐다.
이제 .ARFF 파일을 크게 변경합니다 (기능 속성에 대해 완전히 무작위 값을 제공합니다). 위의 것을 반복하면 분류 할 때 정확히 동일한 통계를받습니다.
.ARFF 파일, 다른 분류 알고리즘을 더 변경하여 이것을 시도했습니다. 그럼에도 불구하고, 내가 .arff 파일에 어떤 값을 제공하든 동일한 통계 (동일한 알고리즘 내).
내가 여기서 뭔가 잘못하고 있는가?
해결책
더 많은 정보 없이는 말하기는 어렵지만 두 가지 제안이 있습니다.
두 클래스의 상대적 비율은 무엇입니까? 5 ~ 100입니까? 많은 알고리즘은 고도로 왜곡 된 클래스 레이블 분포에서 잘 작동하지 않습니다.
직감에 불과하지만 클래스 레이블을 숫자에서 문자열로 변경하십시오 (예 : 'class1'및 'class2'). Weka는 이러한 '공칭'속성을 호출하므로 숫자를 사용하는 것이 허용되지 않을 수 있습니다.
다른 팁
또한 : 교차 검증은 UI에서 원래 나무 만 보여주기 때문에 UI에서 꽤 끔찍하다는 점을 명심하십시오 (다른 데이터로 접기 전에). 최종 트리를 생성하려면 프로그래밍 방식 API가 필요합니다. 분할 교육/테스트 데이터 세트를 사용하는 것이 좋습니다.
당신은 변화를 시도 했습니까?
@ATTRIBUTE class {1,0}
~와 함께
@ATTRIBUTE class {yes,no}