2
nnet 패키지의 multinom을 사용하여 로지스틱 회귀 모델을 3 개의 클래스로 구성하지만 클래스의 유행이 균형을 이루지는 않습니다. 나는 특정 클래스에 대한 잘못된 분류를 피하도록 모델에 알려주기 위해 체중/벌칙을 할당하고자합니다. 여기 내 코드와 내 데이터의 조각입니다 :Rnet multiniom (다항 로지스틱 회귀 모델) - 오 분류를 피하기 위해 페널티를 할당하십시오.
mnm <- multinom(formula = cut.rank ~ ., data = training.logist, trace = FALSE, maxit = 1000, weights=c(10,5,1))
> str(head(training.logist))
'data.frame': 6 obs. of 15 variables:
$ is_top_rated_listing : Factor w/ 2 levels "0","1": 1 1 1 2 2 2
$ seller_is_top_rated_seller : int 1 1 1 1 1 1
$ is_auto_pay : Factor w/ 2 levels "0","1": 2 2 2 2 2 2
$ is_returns_accepted : Factor w/ 2 levels "0","1": 2 2 2 2 2 2
$ seller_feedback_rating_star : Factor w/ 11 levels "Blue","Green",..: 7 7 7 9 9 9
$ keywords_title_assoc : num 1 1 1 1 1 1
$ normalized.price_shipping : num 0 0 0.00871 0.01853 0.01853 ...
$ normalized.seller_feedback_score : num 0.7117 0.8791 0.0966 0.095 0.095 ...
$ normalized.seller_positive_feedback_percent: num 0.7117 0.8791 0.0966 0.095 0.095 ...
$ item_condition : Factor w/ 2 levels "New","New other (see details)": 1 1 1 1 1 1
$ listing_type : Factor w/ 2 levels "FixedPrice","StoreInventory": 2 2 2 1 1 1
$ best_offer_enabled : Factor w/ 2 levels "0","1": 1 1 1 1 1 1
$ shipping_handling_time : int 10 10 10 1 1 1
$ shipping_locations : Factor w/ 7 levels "AU,Americas,Europe,Asia",..: 5 5 5 5 5 5
$ cut.rank : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1
>
사람이 어떻게 오 분류 처벌을 할당하는 아이디어를 가지고는? 특히 10 : 5 : 1 (1,2,3 클래스에 해당)의 패널티 비율을 할당하고 싶습니다. 클래스 1에서 정확한 것을 의미합니다. 내 대상 변수 cut.rank의 분포는 ~ 0.04,0.08입니다. , 0.88. 클래스 1의 유병율이 낮기 때문에 해당 클래스의 모델 민감도가 낮습니다.