WekaSharp を使用して、C# および F# の領域でさまざまなアルゴリズムの相対速度を評価しようとしていますが、興味のあるアルゴリズムの 1 つはマルコフ連鎖でした。Weka には HMM アプリケーションがあることは知っていますが、これを WekaSharp に実装することができず、この目的に合わせて J48 アルゴリズムを変更する方法があるかどうか疑問に思っていました。J48 と 1 次マルコフ連鎖の間に類似点があることは知っていますが、何を修正する必要があるのか、またこれが妥当なのかどうかを判断しようとしています。以下は、Yin Zhu の WekaSharp に実装された 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
どうもありがとうございました。