Làm cách nào để thực hiện phân loại Rừng ngẫu nhiên không giám sát bằng mã của Breiman?


8

Tôi đang làm việc với mã rừng ngẫu nhiên của Breiman ( http: //stat-www.ber siêu.edu/users/oustiman/RandomForests/cc_manual.htmlm#c2 ) để phân loại dữ liệu vệ tinh (học có giám sát). Tôi đang sử dụng tập dữ liệu huấn luyện và kiểm tra có cỡ mẫu 2000 và kích thước thay đổi 10. Dữ liệu được phân loại thành hai lớp A và B. Trong chế độ học có giám sát, thuật toán hoạt động tốt với sai số phân loại rất thấp (<2%) . Bây giờ tôi muốn thử phân loại không giám sát mà không có nhãn lớp trong tập dữ liệu thử nghiệm và xem thuật toán có thể dự đoán các lớp như thế nào. Có cách nào để thực hiện phân loại không giám sát bằng mã của Breiman không? Liệu lỗi từ phương pháp này sẽ cao hơn phân loại có giám sát? Dữ liệu và cài đặt tham số chạy trong thuật toán được đưa ra dưới đây

MÔ TẢ DỮ LIỆU 1 mdim = 10, ntrain = 2000, n class = 2, maxcat = 1, 1 ntest = 2000, nhãnts = 1, labeltr = 1,

THIẾT LẬP PARAMETERS 2 mtry0 = 3, ndsize = 1, jbt = 500, look = 100, lookcls = 1, 2 jgroupwt = 0, mdim2nd = 0, mselect = 0,


1
Bạn có thể giải thích thêm? Nếu muốn dự đoán các lớp bạn phải sử dụng phân loại có giám sát.
Simone

Hãy nói rằng tôi có hai bộ dữ liệu với cùng số lượng biến và mẫu. tập dữ liệu đầu tiên chứa thông tin lớp (A và B) trong khi tập dữ liệu thứ hai không có bất kỳ thông tin lớp nào. Sử dụng mã RF, tập dữ liệu đầu tiên được phân loại thành hai lớp với độ chính xác rất tốt. Các tham số chạy được đưa ra ở trên là dành cho phân loại cụ thể trong đó thông tin lớp được yêu cầu trong tập dữ liệu. Bây giờ câu hỏi của tôi là làm thế nào để phân loại datset thứ hai thành hai lớp?
Bijoy

Câu trả lời:


3

Cho rằng mô hình của bạn thể hiện độ chính xác tốt, bạn chỉ có thể sử dụng nó để dự đoán nhãn của các bản ghi lớp trong bộ dữ liệu chưa được gắn nhãn. Tuy nhiên, bạn không thể đánh giá hiệu suất của dữ liệu chưa được gắn nhãn.

Hãy cẩn thận rằng bạn nên đánh giá chất lượng mô hình của mình trên dữ liệu được dán nhãn bằng cách xác thực chéo. Nó không đủ để kiểm tra tỷ lệ lỗi đào tạo.

Nếu mô hình của bạn không đủ chính xác, bạn có thể nghĩ về việc học bán giám sát . Dữ liệu chưa được gắn nhãn được sử dụng để cải thiện chất lượng mô hình của bạn thông qua học tập quy nạp. Độ chính xác phải luôn được tính bằng cách xác thực chéo trên dữ liệu được dán nhãn của bạn.

Hãy xem [Crimisini et al. Rừng quyết định: Khung thống nhất để phân loại, hồi quy, ước tính mật độ, học tập đa dạng và học bán giám sát] Chương 7 về học tập bán giám sát và 7.4 về cảm ứng với học bán giám sát.


Cảm ơn Simone về các bình luận ... Như bạn đã đề cập trong các bình luận của mình, mục tiêu của tôi là dự đoán nhãn của các bản ghi trong tập dữ liệu chưa được gắn nhãn bằng RF. Tuy nhiên, tôi muốn biết liệu điều này có thể sử dụng mã RF của Brieman và Cutler không .. ??
Bijoy

Tôi không quen thuộc với mã đó. Nó cũng có thể là một chút lỗi thời. Hãy thử WEKA hoặc R, họ cung cấp các triển khai rừng ngẫu nhiên gần đây.
Simone

9

Tôi nghi ngờ rằng không giám sát sẽ làm việc tốt hơn nhưng nó có thể là một bài tập tuyệt vời để thử. Học tập không giám sát với rừng ngẫu nhiên được thực hiện bằng cách xây dựng phân phối chung dựa trên các biến độc lập mô tả gần đúng dữ liệu của bạn. Sau đó mô phỏng một số lượng quan sát nhất định bằng cách sử dụng phân phối này. Ví dụ: nếu bạn có 1000 quan sát, bạn có thể mô phỏng thêm 1000 quan sát. Sau đó, bạn gắn nhãn cho chúng, ví dụ 1: = quan sát thực tế, 0: = quan sát mô phỏng. Sau này, bạn chạy một trình phân loại rừng ngẫu nhiên thông thường đang cố gắng phân biệt các quan sát thực với các quan sát mô phỏng. Lưu ý rằng bạn phải bật tùy chọn lân cận được bật. Đầu ra hữu ích thực sự chính xác là cái này, một mô tả về sự gần gũi giữa các quan sát của bạn dựa trên những gì Random Forest làm khi cố gắng gán các nhãn này. Bây giờ bạn có một mô tả về làm thế nào " Tôi có nghĩa là gắn bó các quan sát gần hơn một ngưỡng nhất định. Một tùy chọn dễ dàng khác là thực hiện phân cụm theo phân cấp nhưng sử dụng ma trận khoảng cách cụ thể này. Nếu bạn có thể làm việc với R, hầu hết các gói phân cụm phân cấp cho phép bạn cung cấp các ma trận khoảng cách tùy chỉnh cho các chức năng. Sau đó, bạn chọn một điểm cắt, bạn có thể hình dung nó như một chương trình dendro và cứ thế tiếp tục. Tôi có nghĩa là gắn bó các quan sát gần hơn một ngưỡng nhất định. Một tùy chọn dễ dàng khác là thực hiện phân cụm theo phân cấp nhưng sử dụng ma trận khoảng cách cụ thể này. Nếu bạn có thể làm việc với R, hầu hết các gói phân cụm phân cấp cho phép bạn cung cấp các ma trận khoảng cách tùy chỉnh cho các chức năng. Sau đó, bạn chọn một điểm cắt, bạn có thể hình dung nó như một chương trình dendro và cứ thế tiếp tục.

Đây từng là một hướng dẫn rất tốt về phân cụm Rừng ngẫu nhiên và họ đã chia sẻ một số hàm R hữu ích mà họ đã viết cho mục đích này nhưng liên kết dường như đã chết. Có lẽ nó sẽ trở lại sau. Họ cũng đã viết một gói glm R ngẫu nhiên rất gọn gàng (tương tự như rừng ngẫu nhiên nhưng dựa trên duh ... glms) nếu bạn muốn kiểm tra. Bạn luôn có thể viết thư cho các tác giả và yêu cầu tài liệu để phân loại Rừng ngẫu nhiên thường có sẵn trên liên kết chết. Tôi có mã R nhưng nó quá lớn để dán ở đây, tôi có thể gửi nó cho bạn nếu bạn gửi cho tôi một tin nhắn riêng tư.


Gói R này dường như cũng dành cho điều này, mặc dù vậy, tôi đã không xem xét kỹ về nó: artax.karlin.mff.cuni.cz/r-help/l Library / CORElearn / html / khăn
JEquihua


4

Nếu bạn muốn sử dụng rừng ngẫu nhiên trong một môi trường không giám sát, bạn sẽ tập trung vào số liệu khoảng cách thu được trong cái mà Breiman gọi là "tính gần đúng". Đây phải là một ma trận NxN đại diện cho thời gian mà các mẫu cùng xảy ra trong các nút cuối. Trong RandomForest của R, điều này có được thông qua (Tôi chưa bao giờ sử dụng Breiman nhưng tôi chắc chắn rằng nó có sẵn):

rf = randomForest( ... )
1 - rf$proximities

Bây giờ, trong một môi trường không giám sát, rừng ngẫu nhiên không biết có bao nhiêu lớp nên có, đó sẽ là công việc của bạn. Điều này có thể được thực hiện theo nhiều cách khác nhau, ví dụ: KNN, PAM, v.v., trong đó bạn chọn k = 2.

Như bạn có thể tưởng tượng, đây là khu rừng ngẫu nhiên được giám sát khá khác nhau, do đó, việc so sánh độ chính xác phân loại giữa hai thủ tục có thể không được chiếu sáng.

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.