2012-07-03 33 views
5

Tôi muốn sử dụng khung công tác accord.net để tạo cây quyết định từ một tập hợp dữ liệu.Sử dụng cây quyết định được tạo để dự đoán các đầu vào mới

Tôi đọc hướng dẫn trong liên kết này http://crsouza.blogspot.com/2012/01/decision-trees-in-c.html

tôi đã có thể tạo ra các cây bằng cách làm theo nó. Tuy nhiên Làm thế nào để sử dụng nó để dự đoán đầu vào mới?

những gì tôi có nghĩa là sau khi tạo cây tôi muốn sử dụng nó (như một tuyên bố if-else để biết sản lượng của nguyên liệu đầu vào mới)

nó được nói rằng tôi có thể chuyển nó sang một biểu var expression = tree.ToExpression(); nhưng làm thế nào Tôi có thể sử dụng nó không?

Cảm ơn bạn đã giúp đỡ

Trả lời

4

Tôi khuyên bạn nên đọc kỹ ví dụ trong hướng dẫn. Vào cuối của quá trình họ tạo ra expression tree với var expression = tree.ToExpression();và biên dịch nó:

var func = expression.Compile();

Kết quả là một đại biểu mà bạn chỉ có thể thực hiện để có được một quyết định cho một đầu vào nhất định. Trong ví dụ này, bạn có thể làm điều gì đó như

bool willPlayTennis = func(new double[] {1.0, 1.0, 1.0, 1.0}) == 1;

+4

Chính xác. Cũng có thể tính toán quyết định cho một đầu vào cụ thể bằng cách sử dụng phương pháp tính toán của cây quyết định (http://accord.googlecode.com/svn/docs/html/M_Accord_MachineLearning_DecisionTrees_DecisionTree_Compute.htm). Tôi đồng ý rằng ví dụ Tính toán bị thiếu; Tôi nên thêm nó để tham khảo thêm. – Cesar

+1

@Cesar, chắc chắn cần ví dụ đó. Tôi đang làm điều tương tự với các công cụ Bayesian, và nó không phải là rõ ràng nếu tôi nên sử dụng cùng một codebook để chuẩn bị đầu vào mới. –

+0

Chỉ để tham khảo thêm, trang tài liệu cho cây quyết định đã được cập nhật với một ví dụ tốt hơn trong khi trước đây. – Cesar