2012-04-25 34 views
43

Tôi đang thực hiện một số nghiên cứu về các kỹ thuật khai phá dữ liệu khác nhau và đi qua một cái gì đó mà tôi không thể tìm ra. Nếu có ai có ý tưởng nào tuyệt vời.Cây quyết định so với phân loại Naive Bayes

Trong trường hợp nào tốt hơn nên sử dụng cây Quyết định và các trường hợp khác là trình phân loại Naive Bayes?

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

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

+1

Câu hỏi này dường như là tắt -topic bởi vì nó là về số liệu thống kê – finnw

+3

Tôi đang bỏ phiếu để đóng câu hỏi này là không có chủ đề vì nó thuộc về nhiều hơn datascience.stackexchange.com – jopasserat

Trả lời

126

Cây quyết định rất linh hoạt, dễ hiểu và dễ gỡ lỗi. Họ sẽ làm việc với các vấn đề phân loại và các vấn đề hồi quy. Vì vậy, nếu bạn đang cố gắng để dự đoán một giá trị phân loại như (đỏ, xanh lá cây, lên, xuống) hoặc nếu bạn đang cố gắng để dự đoán một giá trị liên tục như 2,9, 3,4 vv Cây quyết định sẽ xử lý cả hai vấn đề. Có lẽ một trong những điều thú vị nhất về cây quyết định là chúng chỉ cần một bảng dữ liệu và chúng sẽ xây dựng một trình phân loại trực tiếp từ dữ liệu đó mà không cần bất kỳ công việc thiết kế phía trước nào diễn ra. Để một số thuộc tính độ không quan trọng sẽ không được chọn là chia tách và cuối cùng sẽ được cắt tỉa để nó rất khoan dung vô nghĩa. Để bắt đầu nó đặt nó và quên nó đi.

Tuy nhiên, nhược điểm. Cây quyết định đơn giản có xu hướng phù hợp với dữ liệu đào tạo nhiều hơn để các kỹ thuật khác có nghĩa là bạn thường phải cắt tỉa cây và điều chỉnh các quy trình cắt tỉa. Bạn không có bất kỳ chi phí thiết kế trả trước nào, nhưng bạn sẽ trả lại cho việc điều chỉnh hiệu suất của cây. Cây quyết định đơn giản cũng phân chia dữ liệu thành các ô vuông để xây dựng các cụm xung quanh mọi thứ có nghĩa là nó phải phân chia rất nhiều để bao gồm các cụm dữ liệu. Tách rất nhiều dẫn đến cây phức tạp và làm tăng xác suất bạn đang overfitting. Cây cao được cắt tỉa lại để bạn có thể xây dựng một cụm quanh một số tính năng trong dữ liệu mà nó có thể không tồn tại trong quá trình cắt tỉa. Có các kỹ thuật khác như chia tách thay thế cho phép bạn tách cùng một số biến cùng một lúc tạo phân tách trong không gian không nằm ngang hoặc vuông góc (0 < độ dốc < vô cùng). Thật tuyệt, nhưng cây của bạn bắt đầu trở nên khó hiểu hơn và phức tạp hơn để thực hiện các thuật toán này. Các kỹ thuật khác như thúc đẩy và cây quyết định rừng ngẫu nhiên có thể hoạt động khá tốt, và một số cảm thấy những kỹ thuật này là rất cần thiết để có được hiệu suất tốt nhất trong số các cây quyết định. Một lần nữa, điều này cho biết thêm nhiều điều để hiểu và sử dụng để điều chỉnh cây và do đó nhiều thứ hơn để thực hiện. Cuối cùng, chúng ta càng thêm vào thuật toán thì rào cản càng cao để sử dụng nó.

Naive Bayes yêu cầu bạn tạo phân loại bằng tay. Không có cách nào để quăng một loạt các dữ liệu dạng bảng vào nó và có nó chọn các tính năng tốt nhất mà nó sẽ sử dụng để phân loại. Chọn các tính năng quan trọng tùy thuộc vào bạn. Cây quyết định sẽ chọn các tính năng tốt nhất cho bạn từ dữ liệu dạng bảng. Nếu có một cách để Naive Bayes chọn các tính năng bạn sẽ gần gũi hơn với việc sử dụng các kỹ thuật tương tự khiến cây quyết định hoạt động như thế. Đưa ra thực tế này có nghĩa là bạn có thể cần phải kết hợp Naive Bayes với các kỹ thuật thống kê khác để giúp hướng dẫn bạn về những tính năng phân loại tốt nhất và có thể sử dụng cây quyết định. Naive bayes sẽ trả lời như là một phân loại liên tục. Có những kỹ thuật để thích nghi nó với dự đoán phân loại tuy nhiên họ sẽ trả lời về xác suất như (A 90%, B 5%, C 2,5% D 2,5%) Bayes có thể thực hiện khá tốt, và nó không phù hợp với gần như nhiều do đó không cần phải cắt hoặc xử lý mạng. Điều đó làm cho chúng trở thành các thuật toán đơn giản hơn để thực hiện. Tuy nhiên, chúng khó hơn để gỡ lỗi và hiểu vì đó là tất cả các xác suất nhận được nhân 1000 lần, do đó bạn phải cẩn thận để kiểm tra nó đang làm những gì bạn mong đợi. Naive bayes khá tốt khi dữ liệu đào tạo không chứa tất cả các khả năng vì vậy nó có thể rất tốt với số lượng dữ liệu thấp. Cây quyết định làm việc tốt hơn với nhiều dữ liệu so với Naive Bayes.

Naive Bayes được sử dụng rất nhiều trong lĩnh vực robot và thị giác máy tính và hoạt động khá tốt với những tác vụ đó. Cây quyết định thực hiện rất kém trong những tình huống đó. Dạy một cây quyết định nhận ra tay bài xì phé bằng cách tìm kiếm hàng triệu tay bài xì phé rất kém bởi vì hoàng đạo tuôn ra và tứ giác xuất hiện quá ít nên nó thường bị cắt tỉa. Nếu nó được cắt tỉa ra khỏi cây kết quả, nó sẽ phân loại sai những bàn tay quan trọng đó (thu hồi thảo luận cây cao từ trên cao). Bây giờ chỉ cần nghĩ rằng nếu bạn đang cố gắng để chẩn đoán ung thư bằng cách sử dụng này. Ung thư không xảy ra trong dân số với số lượng lớn, và nó sẽ được cắt tỉa ra nhiều khả năng. Tin tốt là điều này có thể được xử lý bằng cách sử dụng trọng lượng để chúng ta có trọng lượng một bàn tay chiến thắng hoặc bị ung thư cao hơn bàn tay bị mất hoặc không bị ung thư và tăng nó lên cây để nó không bị cắt tỉa. Một lần nữa đây là một phần của việc điều chỉnh cây dẫn đến tình huống mà tôi đã thảo luận trước đó.

Cây quyết định gọn gàng vì chúng cho bạn biết đầu vào nào là trình dự đoán tốt nhất cho kết quả đầu ra nên cây quyết định có thể hướng dẫn bạn tìm xem liệu có mối quan hệ thống kê giữa đầu vào cho đầu ra và mối quan hệ mạnh như thế nào không. Thường thì cây quyết định kết quả là ít quan trọng hơn các mối quan hệ nó mô tả. Vì vậy, cây quyết định có thể được sử dụng một công cụ nghiên cứu khi bạn tìm hiểu về dữ liệu của mình để bạn có thể tạo các trình phân loại khác.

Nếu bạn đang dicing giữa việc sử dụng cây quyết định vs vịnh ngây thơ để giải quyết một vấn đề thường xuyên lần tốt nhất để kiểm tra mỗi một. Xây dựng một cây quyết định và xây dựng một trình phân loại vịnh ngây thơ sau đó có một shoot out bằng cách sử dụng dữ liệu đào tạo và xác nhận bạn có. Mà bao giờ thực hiện tốt nhất sẽ có nhiều khả năng thực hiện tốt hơn trong lĩnh vực này. Và luôn luôn có ý tưởng tốt khi bỏ từng người chống lại những người tiên đoán K-gần nhất (KNN) vì k-gần nhất đã được thể hiện để thực hiện cả hai trong một số trường hợp, và KNN là một thuật toán đơn giản để thực hiện và sử dụng. Nếu KNN thực hiện tốt hơn so với hai người khác đi với nó.

Một số nguồn:

Hướng dẫn sử dụng trên cây quyết định dựa trên CART. sách này bao gồm các thuật toán CART, nhưng cũng thảo luận về cây quyết định, trọng lượng, giá trị còn thiếu, chia tách thay thế, thúc đẩy vv http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418

Một giới thiệu nhẹ nhàng đến Toán https://www.youtube.com/watch?v=p17C9q2M00Q

So sánh các thuật toán - nhận thấy rằng KNN, Cây quyết định, C4.5 và SVM hoạt động khá tốt trên hầu hết các thử nghiệm. http://www4.ncsu.edu/~arezaei2/paper/JCIT4-184028_Camera%20Ready.pdf

Một so sánh các thuật toán - Thúc đẩy mạnh mẽ Quyết định Trees và đầu ngẫu nhiên danh sách với KNN ở giữa: http://www.cs.cornell.edu/~caruana/ctp/ct.papers/caruana.icml06.pdf

Một chạy tốt xuống các kỹ thuật khác nhau: http://www.quora.com/What-are-the-advantages-of-different-classification-algorithms

+9

Cảm ơn bạn đã dành thời gian để viết điều này. Rõ ràng và thẳng vào vấn đề. – Youssef

+8

Độc giả nên cảnh giác --- một số điều này là không chính xác. Ví dụ, nó là hoàn toàn, tầm thường, có thể xây dựng một mô hình Naive Bayes từ dữ liệu bảng. Tôi đã làm như vậy tuần trước, trong khoảng 20 phút, và đã làm như vậy hàng chục lần trước đó. KNN không thực hiện tất cả các mô hình cây quyết định, nói chung, hoặc thậm chí cả Naive Bayes nói chung, mặc dù nó có thể cho các tập dữ liệu cụ thể. Tuy nhiên, bài viết rất hữu ích vì học sinh lười biếng đã coi đó là sự thật, và thậm chí còn ăn cắp nó. Chúng dễ bị bắt. +1. –

+0

Cho phép tôi làm rõ, tôi không nói rằng không thể xây dựng mô hình Naive Bayes (NB) từ dữ liệu bảng, nhưng NB không bao gồm thuật toán cung cấp dữ liệu dạng bảng và nó sẽ xây dựng mô hình Naive Bayes từ nó . Khi bạn nói bạn đã xây dựng nó, bạn đã thiết kế một mô hình Naive Bayes nhìn vào dữ liệu dạng bảng so với việc cho phép máy tính xây dựng mô hình Naive Bayes cho bạn từ dữ liệu dạng bảng. KNN không phải lúc nào cũng giành chiến thắng, nhưng trong một số trường hợp, nó đã được thể hiện tốt hơn cả hai mô hình. Tôi cho rằng tôi nên làm mềm ngôn ngữ để không có sự nhầm lẫn ở đó. – chubbsondubs

Các vấn đề liên quan