假設我有以下的樹形結構:功能,構建二元決策樹
type Tree =
| Branch of (string*string) * (Tree*Tree)
| Leaf of float
例如,它可能是這個樣子:
Branch (("X1",">4.5"), (Branch (("X2",">4.5"), (Leaf 3.4, Leaf 5.5)), Branch (("X3",">4.5"), (Leaf 6.5, Leaf 4.5))))
這將是一個功能的主要部分創建一個這樣的樹(從數據,隨機或其他)? 我知道我的問題與how to make a tree from a given data with F#類似,但是我正在將最難的時間翻譯到我的樹上。
編輯:我試圖建立一個決策樹,我開始與樹here看起來像這樣:
type DecisionTreeNode =
// Attribute name and value/child node list
| DecisionNode of string * (string * DecisionTreeNode) seq
// Decision and corresponding evidence
| Leaf of bool * Record seq
然而,我的是一個迴歸樹,所以它應該有漂浮的葉子,我只想要二進制分割,所以我想我可以使用元組而不是seq作爲節點。 在那棵樹再次尋找後,我想知道如果我的應該是這樣的:
type Tree =
| Branch of string*((string*Tree)*(string*Tree))
| Leaf of float
你被困在什麼特定部分?所以我不在這裏寫所有我的代碼問題 –
我有點澄清了這個問題。 – dood