Cây quyết định so với KNN


13

Trong trường hợp nào tốt hơn là sử dụng cây Quyết định và các trường hợp khác là KNN?

Tại sao sử dụng một trong số họ trong một số trường hợp nhất định? Và khác trong các trường hợp khác nhau? (Bằng cách nhìn vào chức năng của nó, không phải ở thuật toán)

Bất cứ ai có một số giải thích hoặc tài liệu tham khảo về điều này?


2
KNN KHÔNG được giám sát. Có lẽ câu trả lời đã nghĩ về k-nghĩa?

2
Học cây quyết định cũng không được giám sát. vi.wikipedia.org/wiki/Supervised_learning .
Valentas

Câu trả lời:


8

Họ phục vụ các mục đích khác nhau.

KNN không được giám sát, Cây quyết định (DT) được giám sát. ( KNN được giám sát việc học trong khi phương tiện K không được giám sát, tôi nghĩ câu trả lời này gây ra một số nhầm lẫn. ) KNN được sử dụng để phân cụm, DT để phân loại. ( Cả hai đều được sử dụng để phân loại. )

KNN xác định vùng lân cận, do đó phải có số liệu khoảng cách. Điều này ngụ ý rằng tất cả các tính năng phải là số. Số liệu khoảng cách có thể được thực hiện bằng cách thay đổi tỷ lệ giữa các thuộc tính và không gian chiều cao.

Mặt khác, DT dự đoán một lớp cho một vectơ đầu vào đã cho. Các thuộc tính có thể là số hoặc danh nghĩa.

Vì vậy, nếu bạn muốn tìm các ví dụ tương tự, bạn có thể sử dụng KNN. Nếu bạn muốn phân loại các ví dụ, bạn có thể sử dụng DT.


Làm rõ: Phân cụm, nhưng một cụm có kích thước k đơn xung quanh một vectơ đầu vào đã cho. Không nhất thiết là tất cả các tính năng phải là số. Ví dụ: bạn có thể sử dụng độ tương tự của Jaccard để xác định khoảng cách trong đó các tính năng là danh nghĩa.

10
Trên thực tế, cả hai đều được giám sát. Giám sát chỉ có nghĩa là người học có quyền truy cập vào một bộ đào tạo được dán nhãn. Các thuật toán không giám sát làm những việc như phân cụm, không dự đoán nhãn.
Jordan A

1
Bạn cũng có thể phân loại với KNN dựa chính xác vào phần lớn hàng xóm K của bạn
Jekaterina Kokatjuhha

3
-1 knnk-meanslà các thuật toán khác nhau và câu trả lời này không may (và nhầm lẫn) bỏ lỡ hai thủ tục này. knnkhông được giám sát cũng không được sử dụng để phân cụm! Xem Q: Diff kNN và kMean
SebNag

@SebNag, có công bằng không khi nói rằng phần "Hàng xóm gần nhất không được giám sát" của sci-kit thực sự chỉ nói về k-nghĩa trong ngụy trang? scikit-learn.org/urdy/modules/neighbor.html Có vẻ như phần đó sử dụng knn nhưng chỉ với một thước đo khoảng cách thay vì xác định các cụm không có kiến ​​thức về nhãn .. nghĩa là điều này nghe có vẻ như k-mean.
Frikster

7

Các trình phân loại như Cây quyết định, Bayesian, Tuyên truyền ngược, Máy vectơ hỗ trợ thuộc danh mục "Người học háo hức" , vì trước tiên họ xây dựng mô hình phân loại trên tập dữ liệu huấn luyện trước khi có thể thực sự phân loại quan sát [chưa thấy] từ tập dữ liệu kiểm tra . Mô hình đã học bây giờ là "háo hức" (đọc đói) để phân loại các quan sát chưa từng thấy trước đây, do đó tên.


Tuy nhiên, trình phân loại dựa trên KNN không xây dựng bất kỳ mô hình phân loại nào. Nó trực tiếp học hỏi từ các trường hợp đào tạo (quan sát). Nó chỉ bắt đầu xử lý dữ liệu sau khi được đưa ra quan sát thử nghiệm để phân loại. Do đó, KNN thuộc thể loại tiếp cận "Người học lười biếng" .

Dựa trên những khác biệt cơ bản ở trên, chúng ta có thể kết luận như sau: -

  1. Vì KNN thực hiện học tập tại chỗ, nó đòi hỏi phải tra cứu cơ sở dữ liệu thường xuyên, do đó, có thể tốn kém về mặt tính toán. Trình phân loại cây quyết định không yêu cầu tra cứu như vậy vì nó đã có sẵn mô hình phân loại trong bộ nhớ.

  2. Vì KNN thực hiện học tập dựa trên cá thể, K được điều chỉnh tốt có thể mô hình hóa các không gian quyết định phức tạp có ranh giới quyết định phức tạp tùy ý, không dễ dàng được mô hình hóa bởi những người học "háo hức" khác như Cây quyết định.

  3. Người học "Háo hức" làm việc theo từng đợt, mô hình hóa một nhóm các quan sát đào tạo tại một thời điểm. Vì vậy, chúng không phù hợp cho việc học tăng dần. Nhưng KNN đương nhiên hỗ trợ việc học tăng dần (luồng dữ liệu) vì đây là người học dựa trên thể hiện.

  4. Hơn nữa, trình phân loại KNN cho tỷ lệ lỗi kiểm tra gần hơn với phân loại Bayesian (tiêu chuẩn vàng). Như được trích dẫn trong ISLR :

Tỷ lệ lỗi Bayes tương tự như lỗi không thể sửa chữa


4

Từ học máy Python của Sebastian Raschka :

Ưu điểm chính của cách tiếp cận dựa trên bộ nhớ [KNN] là bộ phân loại ngay lập tức thích nghi khi chúng tôi thu thập dữ liệu đào tạo mới. Tuy nhiên, nhược điểm là độ phức tạp tính toán để phân loại các mẫu mới tăng theo tuyến tính với số lượng mẫu trong tập dữ liệu huấn luyện trong trường hợp xấu nhất, trừ khi tập dữ liệu có rất ít kích thước (tính năng) và thuật toán đã được triển khai bằng dữ liệu hiệu quả cấu trúc như cây KD. JH Friedman, JL Bentley và RA Finkel. Một thuật toán để tìm các kết quả phù hợp nhất trong thời gian dự kiến ​​logarit. Giao dịch ACM trên phần mềm toán học (TOMS), 3 (3): 209 Than226, 1977. Hơn nữa, chúng tôi không thể loại bỏ các mẫu đào tạo vì không có bước đào tạo nào được tham gia. Do đó, không gian lưu trữ có thể trở thành một thách thức nếu chúng ta đang làm việc với các bộ dữ liệu lớn.

Cây quyết định, tuy nhiên, có thể nhanh chóng phân loại các ví dụ mới. Bạn chỉ đang chạy một loạt các so sánh boolean.


2

Tôi sẽ thêm rằng các cây quyết định có thể được sử dụng cho cả các nhiệm vụ phân loại và hồi quy. Mặt khác, DT dự đoán một lớp trong câu trả lời được chấp nhận sẽ cụ thể hơn bằng cách mô tả các cây Phân loại về mặt kỹ thuật là một kiểu con của khái niệm DT chung. Một tài liệu tham khảo (bỏ qua các lớp dưới cùng thảo luận về việc triển khai cụ thể):
loại cây quyết định Từ đây: http://www.simafore.com/blog/bid/62482/2-main-differences-b between- classifying-and-regression-trees

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.