Làm thế nào để giảm số lượng dương tính giả?


12

Tôi đang cố gắng giải quyết nhiệm vụ được gọi là phát hiện người đi bộ và tôi huấn luyện clasifer nhị phân trên hai loại tích cực - con người, tiêu cực - nền tảng.

Tôi có dữ liệu:

  • số dương = 3752
  • số âm = 3800

Tôi sử dụng train \ test split 80 \ 20% và RandomForestClassifier dưới dạng scikit-learn với các tham số:

RandomForestClassifier(n_estimators=100, max_depth=50, n_jobs= -1)

Tôi nhận được điểm: 95.896757%

kiểm tra dữ liệu đào tạo (hoạt động hoàn hảo):

true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

kiểm tra dữ liệu thử nghiệm:

true positive:  742
false positive:  57
false negative:  5
true negative:  707

Câu hỏi của tôi là làm thế nào để giảm số lượng dương tính giả (nền được phân loại là người)? Ngoài ra tại sao tôi có nhiều lỗi dương tính giả hơn âm tính giả?

Tôi đã cố gắng sử dụng class_weighttham số, nhưng tại một số điểm suy giảm hiệu suất (như bạn có thể thấy tại class_ weight = {0: 1,1: 4}).

class_weight= {0:1,1:1}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  742
false positive:  55
false negative:  5
true negative:  709
score: 96.029120 %

class_weight= {0:1,1:2}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  741
false positive:  45
false negative:  6
true negative:  719
score: 96.624752 %

class_weight= {0:1,1:3}
true positive:  3005
false positive:  0
false negative:  0
true negative:  3036

true positive:  738
false positive:  44
false negative:  9
true negative:  720
score: 96.492389 %

class_weight= {0:1,1:4}
true positive:  3005
false positive:  13
false negative:  0
true negative:  3023

true positive:  735
false positive:  46
false negative:  12
true negative:  718
score: 96.161482 %

class_weight= {0:1,1:5}
true positive:  3005
false positive:  31
false negative:  0
true negative:  3005

true positive:  737
false positive:  48
false negative:  10
true negative:  716
score: 96.161482 %

class_weight= {0:1,1:6}
true positive:  3005
false positive:  56
false negative:  0
true negative:  2980

true positive:  736
false positive:  51
false negative:  11
true negative:  713
score: 95.896757 %

class_weight= {0:1,1:7}
true positive:  3005
false positive:  87
false negative:  0
true negative:  2949

true positive:  734
false positive:  59
false negative:  13
true negative:  705
score: 95.234944 %

Ngoài ra, điều đáng chú ý là RandomForest dường như không phải chịu đựng dữ liệu không cân bằng:

pos = 3752 neg = 10100

class_ weight = {0: 1,1: 1} true positive: 3007 false positive: 0 false neg: 0 true neg: 8074

true positive:  729
false positive:  71
false negative:  16
true negative:  1955
score: 96.860339 %

class_weight= {0:1,1:2}
true positive:  3007
false positive:  0
false negative:  0
true negative:  8074

true positive:  728
false positive:  59
false negative:  17
true negative:  1967
score: 97.257308 %

class_weight= {0:1,1:3}
true positive:  3007
false positive:  0
false negative:  0
true negative:  8074

true positive:  727
false positive:  58
false negative:  18
true negative:  1968
score: 97.257308 %

Câu trả lời:


7

Tôi không phải là một chuyên gia khi nói đến những khu rừng ngẫu nhiên, tôi đã đọc chúng gần đây. Nhưng từ vẻ bề ngoài của tôi, bạn đang vượt qua khu rừng ngẫu nhiên. Những gì tôi sẽ làm là sử dụng kỹ thuật mà bạn sử dụng các quan sát Out-Of-Bag để đưa ra dự đoán. Bạn có thể tìm thấy quy trình trên các slide này: https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/trees.pdf

Một điều khác tôi muốn đề xuất cũng được đề cập trong các slide này được gọi là máy tăng cường độ dốc (GBM) cũng được đề cập trong phần này. Tôi cảm thấy GBM trực quan hơn rừng ngẫu nhiên.

Edit1 : Tôi đã kiểm tra lại và có vẻ như bootstrapping là bước đầu tiên của GBM. Ngoài ra, tôi không có vấn đề với bootstrapping mỗi se, nó là tốt và tốt. Vấn đề duy nhất với nó là nó có thể được sử dụng rất tệ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.