본문 바로가기

데이터 분석

Spark - Multiclass classification

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


□ 참고 내용




▶ True Positive (TP) - 실제 양수이며, 예측도 양수

True Negative (TN) - 실제 음수이며, 예측도 음수

False Positive (FP) - 실제 음수이며, 예측은 양수

False Negative (FN) - 실제 양수이며, 예측은 음수






평가 지표를 구성하는 요소


precision : 양수라고 예측해서 실제 양수인 비율

recall : 실제 양수를 양수라고 예측한 비율




F-measure : 정확도와 재현율을 하나의 지표로 통합해서 정확성을 측정하는 방법


F1 Measure 정확도(Precision) 재현율(Recall) 둘다 중요하다.

F2 Measure 정확도(Precision)보다 재현율(Recall)이 중요하다.

F0.5 Measure 정확도(Precision) 이 재현율(Recall)보다 중요하다.





통계적 분류 분야에서 사용되는 다른 기준으로 True Negative Rate(Specificity)와 정확도(Accuracy) 가 있음



 





sample data


spark에서 제공되는 데이터를 이용해서 document 예제로 진행


0 1:0.166667 2:-0.333333 3:0.559322 4:0.666667

1 1:-0.611111 2:0.0833333 3:-0.864407 4:-0.916667

2 1:-0.333333 2:-0.583333 3:0.0169491 4:-4.03573e-08

0 1:0.555555 2:-0.166667 3:0.661017 4:0.666667

2 1:0.166667 3:0.186441 4:0.166667

2 1:0.111111 2:-0.75 3:0.152542 4:-4.03573e-08

2 1:0.166667 2:-0.25 3:0.118644 4:-4.03573e-08

0 1:-0.0555556 2:-0.833333 3:0.355932 4:0.166667

0 1:-0.277778 2:-0.333333 3:0.322034 4:0.583333

..
..
..

 



6:4로 데이터를 나누고 모델 생성 후 예측 진행


예측, 실제, 특성


(1.0,1.0 | (4,[0,1,2,3],[-0.722222,-0.166667,-0.864407,-0.833333]))

(1.0,1.0 | (4,[0,1,2,3],[-0.722222,0.166667,-0.694915,-0.916667]))

(0.0,0.0 | (4,[0,2,3],[0.611111,0.694915,0.416667]))

(0.0,0.0 | (4,[0,1,2,3],[0.222222,-0.166667,0.423729,0.583333]))

(1.0,1.0 | (4,[0,1,2,3],[-0.722222,-0.166667,-0.864407,-1.0]))

(1.0,1.0 | (4,[0,1,2,3],[-0.5,0.166667,-0.864407,-0.916667]))

..

..

..

 






예제
https://spark.apache.org/docs/2.1.0/mllib-evaluation-metrics.html#classification-model-evaluation

위 주소의 Documents Multiclass classification 부분



결과


confusionMatrix


Confusion matrix: 

23.0  0.0   2.0   

0.0   22.0  0.0   

3.0   0.0   11.0  

 

Accuracy = 0.9180327868852459




라벨별 precision / recall / F1 score


Class 0     precision = 0,884615

Class 0     recall = 0,920000

Class 0     F1 score = 0,901961


Class 1     precision = 1,000000

Class 1     recall = 1,000000

Class 1     F1 score = 1,000000


Class 2     precision = 0,846154

Class 2     recall = 0,785714

Class 2     F1 score = 0,814815

 



Weight


Weighted precision = 0,917402

Weighted recall = 0,918033

Weighted F1 score = 0,917318

Weighted false positive rate = 0,043919

 









'데이터 분석' 카테고리의 다른 글

Spark - Ranking systems (1) - 이론  (2) 2017.07.24
Spark - AssociationRules  (0) 2017.07.21
Spark - Isotonic Regression  (0) 2017.07.03
Spark - FP growth (FP tree)  (0) 2017.06.23
Spark - Hypothesis testing ( chi-squared test )  (0) 2017.06.22