1

我在 Weka Explorer 中训练了一个 SimpleKMeans 聚类器,并将模型保存到我的计算机上。现在我想在我的 Java 代码中使用它来集群我创建的实例,但是当我尝试反序列化它时出现以下错误:

java.io.InvalidClassException: weka.core.Instance; weka.core.Instance;在 java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) 在 java.io.ObjectInputStream.readObject0(Unknown Source) 在 java.io.ObjectInputStream.readArray(Unknown) 的 java.io.ObjectStreamClass.checkDeserialize(Unknown Source) 的反序列化类无效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) 在 java.io.ObjectInputStream.defaultReadFields(Unknown Source) 在 java.io.ObjectInputStream.readSerialData(Unknown Source) 在 java.io.ObjectInputStream。

我的 Test 课程的第 32 行在哪里

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

我做对了吗?

4

1 回答 1

4

问题是因为我使用了两个不同版本的 WEKA 来创建模型并反序列化模型。我下载了用于 WEKA 资源管理器的版本的源代码并解决了问题。

于 2012-11-26T23:39:19.480 回答