我用Weka的資源管理器:WEKA:分類實例與反序列化模型
- 加載的ARFF文件
- 應用StringToWordVector過濾
- 選擇IBK作爲最好的分類
- 生成/保存my_model.model二進制
在我的java代碼我反序列化模型:
URL curl = ClassUtility.findClasspathResource("models/my_model.model");
final Classifier cls = (Classifier) weka.core.SerializationHelper.read(curl.openConnection().getInputStream());
現在,我有分類器,但我需要以某種方式過濾器上的信息。我得到的是:我如何準備一個實例以通過反序列化模型進行分類(我如何在分類之前應用過濾器) - (我必須分類的原始實例具有帶有令牌的字段文本。本來是要變換成新atributes列表)
我甚至嘗試,我設定的分類爲反序列化並使用FilteredClassifier過濾器StringToWordVector
的的final StringToWordVector filter = new StringToWordVector();
filter.setOptions(new String[]{"-C", "-P x_", "-L"});
FilteredClassifier fcls = new FilteredClassifier();
fcls.setFilter(filter);
fcls.setClassifier(cls);
手動創建的實例以上也不起作用。它拋出該異常:線程「main」顯示java.lang.NullPointerException
例外:無輸出實例格式定義
我試圖避免被做在Java代碼中的訓練。它可能非常緩慢,前景是我可能有多個分類器來訓練(不同的算法),我希望我的應用程序能夠快速啓動。