Posts tagged with Decision Tree

20080813 ~weka

明天是已經延了一週的 meeting ,而我今天卻還沒有進度可以報告,所以我決定今天到 Lab 努力一天。最近進度會如此緩慢,「沒有方向」是其中一個原因,不過兩天前當我去跟熊催討決策樹程式時,我發現熊已經難以壓抑、幾乎要爆炸了,所以我就想:「嗯… 我還是自力更生吧!」。

今晚我本來的目標只是要實作完我的計分方法,並且找出計分方法中的問題,不過修改演算法好難,我改了一陣子就感到腸枯思竭,於是決定先研究決策樹。我去把 Weka 抓下來,然後照著 IKVM with Weka tutorial 這篇教學作,意外地非常簡單,而且因為 IKVM 用 Reflection 實作了 IntelliSense ,所以在 Visual C# 裡寫起 Java 就跟寫 C# 一樣自然, IntelliSense 不只是能減少打字的麻煩,某種程度上,它可以讓寫程式就像是一連串的選擇題 XD

不過最後我還是沒有在 C# 裡面寫 Java ,因為我打開 Weka 之後發現…… 我完全可以在 Weka 裡面完成我的實驗,不需要再寫一個新的、專門化但是功能較少的 GUI 。發現了這點之後,我便又回到計分方法的實作,並且將我現有的程式與計分模組整合,然後產生出資料丟給 Weka 。 Weka 竟然可以直接幫我作 K-fold cross-validation ,連 Recall、Precision、F-measure 也一併算給我,實在是超方便!結果今天的進度很意外地就超前了好多,幾乎算是已經把實驗作完,只剩下寫論文了 XD

20080328 ~ennustava analyysi

「星期三的 meeting 延到今天。」這件事我在兩天內忘記而又被提醒了好幾次,連並非同 Lab 的同學都記得,我卻忘記了,真是慚愧 XD

雖然已經隔了兩天,但大家似乎都有其他事情要忙,因此今天還是沒有人有東西可以報告,不過剛好堅哥有新的 idea ,所以今天的 meeting 主要是堅哥在談他的 idea 。咪完之後,我因為報告終於都告一段落了,所以到 Lab 去查點論文的相關資料。

我繼續研究了一陣子 multiple pattern matching 演算法,然後覺悟到我實在沒必要把時間浪費在提昇邊際效益上,於是開始認識決策樹。我看了學弟妹的畢專論文對於決策樹的介紹後,實在無法瞭解他們選擇 ID3 的原因,如果要以最適用而論,我覺得 CART 的二分法相當適合他們,而如果要以最準確而論,改良自 ID3 的 C4.5 顯然更好。之後又看了一些其他的決策樹演算法簡介,我想 C4.5 是個不錯的研究目標。

接下來查到 Weka 這個軟體,雖然某人的 blog 上曾經提過,但我一直沒有興趣研究,因為我不會改 Java ,如果有需要對演算法作修改的話,還是用我熟悉的語言比較好。不過今天發現微軟竟然提供了 Java 轉 C# 的工具 ,所以我想或許可以參考一下用 Java 寫成的 Weka… XD

試用後才發現滿好用的,它實作了好多演算法任君選擇,效率也非常好,真是讓我心動。 ARFF 格式的資料也不難產生,只要稍微修改一下 Herbivora 便能使用,現在只差還沒有足夠的 Data 可以讓我玩——只有一種類型的 Data 是沒有辦法跑決策樹的 XD

 1