1

私はWekaExplorerでSimpleKMeansクラスターをトレーニングし、モデルをコンピューターに保存しました。これをJavaコードで使用して、作成したインスタンスをクラスター化したいのですが、逆シリアル化しようとすると次のエラーが発生します。

java.io.InvalidClassException:weka.core.Instance; weka.core.Instance; クラスは、java.io.ObjectStreamClass.checkDeserialize(Unknown Source)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)at java.io.ObjectInputStream.readObject0(Unknown Source)at java.io.ObjectInputStream.readArray(Unknown Source)at java.io.ObjectInputStream.readObject0(Unknown Source)at java.io.ObjectInputStream.defaultReadFields(Unknown Source)at java.io.ObjectInputStream.readSerialData(Unknown Source)at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) java.io.ObjectInputStream.readObject0(Unknown Source)at java.io.ObjectInputStream.defaultReadFields(Unknown Source)at java.io.ObjectInputStream.readSerialData(Unknown Source)atjava.io.ObjectInputStream。

ここで、私のテストクラスの32行目は

Clusterer kmeans_temp = (Clusterer) weka.core.SerializationHelper.read("path/to/model/myclusterermodel.model");

私はそれを正しくやっていますか?

4

1 に答える 1

4

問題は、モデルの作成とモデルの逆シリアル化に 2 つの異なるバージョンの WEKA を使用していたためです。WEKA エクスプローラーに使用したバージョンのソース コードをダウンロードし、問題を解決しました。

于 2012-11-26T23:39:19.480 に答える