J48和马尔可夫链之间的区别

时间:2013-11-27 20:33:21

标签: algorithm f# weka markov-chains

我正在尝试使用WekaSharp对C#和F#领域中不同算法的相对速率进行一些评估,我感兴趣的算法之一是Markov Chains。我知道Weka有一个HMM应用程序,但我无法将其实现到WekaSharp中,并且想知道是否有办法修改J48算法以适应此目的。我知道J48和一阶马尔可夫链之间有一些相似之处,但我正在尝试确定需要修改的内容,以及这是否合理。这是在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

非常感谢。

1 个答案:

答案 0 :(得分:1)

J48只是C4.5 algorithm的一种实现,它通过考虑每个属性(维度)的熵并将具有最大熵的属性作为当前子树的根来学习决策树。该算法不需要强化。

我想Markov Chains你的意思是Hidden Markov Model用于强化学习。

你应该看看HMMWeka

相关问题是: What is the equivalent for a Hidden Markov Model in the WEKA toolkit?