2013-01-08 29 views
6

Tôi đã lưu kết quả phân loại weka bằng cách nhấp chuột phải vào mô hình và chọn "lưu mô hình". Bây giờ, tôi muốn tải nó và làm việc với trong ứng dụng "JAVA" của tôi. Làm thế nào tôi có thể làm điều đó? Mô hình có thể là Naive thiên vị, cây quyết định và hồi quy. Tôi cần phải sử dụng ba mô hình này.Mã hóa mô hình weka thành mã java

Mọi đề xuất hoặc giải pháp sẽ được đánh giá cao.

Cảm ơn.

Trả lời

9

Dưới đây là một ví dụ giả sử bạn có một mô hình RandomTree lưu vào một tập tin model.weka (thay đổi bất cứ điều gì phân loại và tập tin mà bạn có)

RandomTree treeClassifier = (RandomTree) SerializationHelper.read(new FileInputStream("model.weka"))); 
6

Nếu bạn đã lưu một mô hình vào một tập tin trong WEKA, bạn có thể sử dụng nó đọc đối tượng java đã tạo. Dưới đây là một ví dụ với phân loại rừng ngẫu nhiên (trước đây được lưu vào một tập tin trong WEKA):

RandomForest rf = (RandomForest) (new ObjectInputStream(PATH_TO_MODEL_FILE)).readObject(); 

Đừng quên nhập khẩu:

import weka.core.Instance; 
import weka.core.Instances; 
import weka.core.Attribute; 
import weka.core.FastVector; 
import weka.classifiers.trees.RandomForest; 
+1

Các constructor ObjectInputStream là undefined. –

+0

@DamirOlejar nó có trong io: https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInputStream.html – arutaku

+0

có, đó là lỗi cung cấp lỗi! Có lẽ nó không chỉ là đường dẫn đến một tập tin cần phải có? –