2013-01-16 55 views
7

tôi biết công thức để tính entropy:Tính entropy trong cây quyết định (Machine learning)

H(Y) = - ∑ (p(yj) * log2(p(yj))) 

Nói cách, chọn một thuộc tính và cho từng mục tiêu kiểm tra giá trị giá trị thuộc tính ... nên p (yj) là phần nhỏ của các mẫu ở Node N nằm trong danh mục yj - một cho giá trị đích và một cho sai.

Nhưng tôi có tập dữ liệu trong đó thuộc tính đích là giá, do đó có phạm vi. Làm thế nào để tính toán entropy cho tập dữ liệu kinda này?

(Người giới thiệu: http://decisiontrees.net/decision-trees-tutorial/tutorial-5-exercise-2/)

Trả lời

6

Trước tiên, bạn cần phải discretise tập dữ liệu một cách nào đó, giống như sắp xếp nó về số thành một số xô. Nhiều phương pháp để giải trừ tồn tại, một số được giám sát (tức là tính đến giá trị hàm mục tiêu của bạn) và một số thì không. This paper vạch ra các kỹ thuật khác nhau được sử dụng trong các thuật ngữ khá chung chung. Để biết thêm chi tiết, có rất nhiều thuật toán discretisation trong thư viện máy học như Weka.

Entropy của các bản phân phối liên tục được gọi differential entropy, và cũng có thể được ước tính bằng cách giả sử dữ liệu của bạn được phân phối một cách nào đó (thường được phân phối chẳng hạn), sau đó ước lượng phân phối underlaying theo cách thông thường, và sử dụng này để tính toán một entropy giá trị.

+0

nhưng làm cách nào tôi có thể quyết định phạm vi? giả sử tôi đã sắp xếp dữ liệu, làm thế nào để quyết định phạm vi ... chỉ cần đoán, nếu tôi muốn nhị phân sau đó avg của dữ liệu này? –

+0

Có nhiều phương pháp được sử dụng cho điều này, tôi sẽ thêm nhiều thông tin hơn vào câu trả lời, cho tôi một giây ... –

+0

oops này không có ý nghĩa .. nếu thuộc tính có hai giá trị thì nhị phân ... cảm ơn @Vic Smith! –

0

Concur với Vic Smith, Discretization nói chung là một cách tốt để đi. Theo kinh nghiệm của tôi, hầu hết dữ liệu dường như liên tục thực sự "lumpy" và ít bị mất.

Tuy nhiên, nếu discretization là không mong muốn vì lý do khác, entropy cũng được xác định cho phân phối liên tục (xem wikipedia trên phân phối yêu thích của bạn, ví dụ http://en.wikipedia.org/wiki/Normal_distribution]).

Một cách tiếp cận sẽ là giả định một dạng phân phối, ví dụ: bình thường, lognormal, vv, và tính entropy từ các tham số ước tính. Tôi không nghĩ rằng quy mô của entropy Boltzmann (liên tục) và entropy Shannon (rời rạc) là trên cùng một quy mô, do đó, sẽ không trộn chúng.

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