5
我正在嘗試使用WekaSharp來對C#和F#領域中的不同算法的相對速率進行一些評估,我感興趣的算法之一是馬爾可夫鏈。我知道Weka有一個HMM應用程序,但我還沒有能夠實現這個到WekaSharp,並想知道是否有辦法修改J48算法來適應這個目的。我知道J48和一階馬爾可夫鏈之間有一些相似之處,但我試圖確定需要修改什麼,以及這是否合理。這裏是在Yin Zhu的WekaSharp中實現的J48:J48和馬爾可夫鏈之間的區別
type J48() =
static member DefaultPara = "-C 0.25 -M 2"
static member MakePara(?binarySplits, ?confidenceFactor, ?minNumObj, ?unpruned, ?useLaplace) =
let binarySplitsStr =
let b = match binarySplits with
| Some (v) -> v
| None -> false
if not b then "-B" else ""
let confidenceFactorStr =
let c = match confidenceFactor with
| Some (v) -> v
| None -> 0.25 // default confi
"-C " + c.ToString()
let minNumObjStr =
let m = match minNumObj with
| Some (v) -> v
| None -> 2
"-M " + m.ToString()
let unprunedStr =
let u = match unpruned with
| Some (v) -> v
| None -> false
if u then "-U" else ""
let useLaplaceStr =
let u = match useLaplace with
| Some (v) -> v
| None -> false
if u then "-A" else ""
binarySplitsStr + " " + confidenceFactorStr + " " + minNumObjStr + " " + unprunedStr + " " + useLaplaceStr
非常感謝。
我認爲J48是一個統計分類器使用統計分佈,但馬爾可夫鏈是可以使用統計 –
@KhaledAKhunaifer由FSM你的意思是有限狀態機來培養了FSM ? –
@VitalijZadneprovskij是的,它使用一維數組alpha來實現起始狀態,而Beta 2D數組用於狀態之間的轉換 –