나는 마지막 속성으로 카운트을 가진 데이터 세트로 weka에서 일하고 있습니다. 숫자 데이터 유형 인 계수 속성은 해당 날짜에 대여 된 자전거의 수를 나타냅니다. 예 : 12, 15, 30, 11, 45. 테스트 데이터 세트에서이 값을 예측하고 싶었습니다.Weka에서 작업하는 동안 마지막 속성 데이터 유형이 공칭이어야합니까?
답변
이것은 알고리즘에 따라 다릅니다.
분류 알고리즘에는 일반적으로 공칭 또는 2 진 "대상"값이 필요합니다.
회귀 알고리즘에는 수치 대상이 필요합니다.
숫자 타겟 속성과 함께 선형 회귀 분석을 사용할 수 있습니다 (Weka는 이것을 "클래스 속성"이라고 부릅니다). 사실 "분류"탭 아래에있는 숫자 클래스 속성 때문에 사용할 수없는 Weka의 모든 알고리즘은 회색으로 표시됩니다.
많은 독립된 독립 변수가있는 경우 "weather", "is_weekend", "payment mode", "customer_gender"... Weka의 "Discretize"필터를 사용하여 숫자 클래스 속성을 개별 클래스로 변환 할 수도 있습니다. 0-10 자전거/일, 10-20 b./day와 같은 간격 수업.
이렇게하려면 속성을 다른 속성에 일시적으로 할당해야합니다. 필터 탭의 오른쪽 하단에 있습니다. 그런 다음 이산화 필터를 적용하고 클래스 bikes_per_day 속성에만 적용하십시오 (기본적으로 필터는 모든 속성을 비관 등화합니다). 그런 다음 클래스 속성을 마지막으로 이산화 된 속성으로 다시 지정하십시오.
그런 다음 J48과 같은 Weka의 분류 알고리즘을 사용할 수 있습니다 (더 이상 회색으로 표시되지 않음). 그들은보다 간결하고 해석 가능한 결과를 줄 수 있습니다. 예 : season = summer and day = weekend and weather_forecasted = sunny then forecast_rented_class = 40-50 자전거/일
Weka는 일반적으로 마지막 속성이 대상 속성이라고 가정합니다. 분류 알고리즘은 표적을 명목상으로 요구하지만 예측 알고리즘 (예 : 선형 회귀)은 수치 클래스를 허용합니다. Weka Explorer의 전처리 탭에서 대상 속성을 변경할 수도 있습니다. – Walter