※ 引述《DJJERRY (键盘张根硕)》之铭言:
: 各位版上的高手好 小弟我从网络上找了范例想在eclipse上执行
: 现在的问题是有办法读资料 却没办法执行 一直出现以下错误讯息
: Exception in thread "main" java.lang.Error: Unresolved compilation problem:
: The method run(Configuration, Path, Path, Path, double, int, boolean,
: double, boolean)
: in the type KMeansDriver is not applicable for the arguments
: (Configuration, Path, Path, Path, EuclideanDistanceMeasure, double, int,
: boolean, boolean)
: 附上程式码http://i.imgur.com/QWJabHE.png
: 不知道是什么地方出了问题 求各位大大帮忙~
其实如推文所说,我们会建议应该要学着解读错误讯息:
以这个例子我们只要读出错误讯息就知道怎么回事了:
: Exception in thread "main" java.lang.Error:
在 main 这个程式执行序(就是默认跑程式的东东),碰到了 Error:
Unresolved compilation problem:
待解决的相容问题
: The method run(Configuration, Path, Path, Path, double, int, boolean,
: double, boolean)
: in the type KMeansDriver is not applicable for the arguments
: (Configuration, Path, Path, Path, EuclideanDistanceMeasure, double, int,
: boolean, boolean)
KMeanDriver 有个叫 run 的方法(method) 需要九个参数,
依序是 Configuration, Path, Path, Path, double, int,
boolean, double, boolean 这九种类别。
但你给他的是
(Configuration, Path, Path, Path, EuclideanDistanceMeasure,
double, int, boolean, boolean)
不一致,所以会建议去看看您引用套件所属版本的 javadoc 如何说。
以我的查到的资料而言
http://goo.gl/1n5BKC
run(Path input, Path clustersIn, Path output, DistanceMeasure measure,
double convergenceDelta, int maxIterations, boolean runClustering,
double clusterClassificationThreshold, boolean runSequential)
因为他的确是有过这样的 api 接口,
我会建议您去查查不是您用的 mahout 版本与您看到的范例不一致。
我对 mahout 不熟,但从 javadoc 来看,
至少 mahout 0.8 版是能够跑你要跑的程式码,
你可能可以查查是不是 mahout 太旧或是后来有改版改过接口,
再从最新版的教学指引下手这样,这大概会是我们解决这种问题的可能思路。:)