本文大致介紹載入自己演算法到weka的方法;
1 首先編寫自己的分類器演算法(要符合weka的規範,可參看weka其他演算法原始碼)
2 注意自己的包名(對應weka的classify的choose中目錄)類名(對應choose具體的分類器名)
3 將自己的程式打包成jar包。這裡需要特別注意。
3.1 載入到weka的時候不要將weka.jar一起打包。
3.2 依賴的jar不要一起打包,(這樣子weka識別不了)處理如下:
3.3 你引用的jar可以和eclipse打包出來的jar放在同一目錄(建立乙個lib進行存放)
3.4 說一下我遇到的另外一種情況吧,我用到了weka的原始碼並且進行了修改。
這時你可以直接將修改的jar原始碼和你的自定義分類器一起打包成jar,也可以單獨打包成jar和3.3中jar一同存放。
4 將自己的jar包和lib資料夾連同build_package.xml和description.props兩個檔案一同壓縮(.zip格式)。
5 上面說的兩個檔案我是從libsvm中得到的;
這個libsvm的包(weka規範的)可以通過weka的packagemanager進行匯入;
然後可以在使用者目錄(注意不是weka安裝目錄)的user/wekafile/package中找到。
6 需要注意的是在description.props將# package name (required)名字改一下(重要),
其他的都是一些描述資訊。
如果不改的話會導致解除安裝的時候一下在解除安裝多個分類器。
7 然後就是將打包好的.zip檔案通過weka-tools-packagemanage進行匯入。
8 匯入成功後在installed下會有你剛才設定的名字(這就是為什麼一定要改名字的原因)。
9 最後根據你設定的包名在weka(classify對應目錄)中查詢,分類器名字是你繼承classifier的子類的類的名字。
自定義類載入器
注 class.forname name,initialize,loader 帶參函式也可控制是否載入static塊。並且只有呼叫了newinstance 方法採用呼叫建構函式,建立類的物件 如果乙個類載入器收到了類載入的請求,它首先不會自己去嘗試載入這個類,而是把請求委託給父載入器去完成,依次向上...
自定義類載入器
我們自己約定的需求如下,我們從外部路徑 tmp myclasspath 載入類 具體實現如下 public class myclassloader extends classloader catch ioexception e 測試 public static void main string ar...
自定義loadding載入
主要就是依靠z index屬性來控制,原理就是在原來的頁面上懸浮一層div,並給這個div新增乙個載入的動畫內容 1 定義乙個loadding模組 2 給div新增樣式 當div的寬度和高度足夠大的時候,下面的一層是不能夠進行操作的,載入圖示是fontawesome裡面的,具體部落格會寫。3 呼叫方...