2012-07-03 72 views
5

我想使用accord.net框架從一組數據生成決策樹。使用生成的決策樹預測新的輸入

我在這個環節http://crsouza.blogspot.com/2012/01/decision-trees-in-c.html

我能夠按照它來生成樹閱讀指導。但是,如何使用它來預測新的輸入?

我的意思是創建樹後,我想用它(作爲if-else語句知道的新的輸入輸出)

中指出,我可以將其轉換爲一個表達式var expression = tree.ToExpression();但如何我可以使用它嗎?

感謝您的幫助

回答

4

我建議您仔細閱讀指南中的示例。在該過程的最後,他們產生expression treevar expression = tree.ToExpression();和編譯

var func = expression.Compile();

的結果是,你可以簡單地執行以獲取給定的輸入決定的委託。在這個例子中,你可以做類似

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

+4

沒錯。也可以使用決策樹的[計算方法](http://accord.googlecode.com/svn/docs/html/M_Accord_MachineLearning_DecisionTrees_DecisionTree_Compute.htm)計算給定輸入的決策。我同意Compute示例丟失;我應該添加它作爲進一步參考。 – Cesar

+1

@Cesar,絕對需要這樣的例子。我在貝葉斯方面做了同樣的事情,如果我應該使用相同的密碼本來準備新的輸入,這並不明顯。 –

+0

只是爲了進一步參考,決策樹的文檔頁面前一段更新了一個更好的示例。 – Cesar