Tag: weka

如何在Scala或Java中使用混合编码读取文本文件?

我想parsing一个CSV文件,理想情况下使用weka.core.converters.CSVLoader。 但是,我拥有的文件不是有效的UTF-8文件。 它主要是一个UTF-8文件,但一些字段值是在不同的编码,所以没有编码整个文件是有效的,但我需要parsing它。 除了使用像Weka这样的java库之外,我主要在Scala工作。 我甚至无法读取文件usin scala.io.Source:例如 Source. fromFile(filename)("UTF-8"). foreach(print); 抛出: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:277) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:337) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:176) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:153) at java.io.BufferedReader.read(BufferedReader.java:174) at scala.io.BufferedSource$$anonfun$iter$1$$anonfun$apply$mcI$sp$1.apply$mcI$sp(BufferedSource.scala:38) at scala.io.Codec.wrap(Codec.scala:64) at scala.io.BufferedSource$$anonfun$iter$1.apply(BufferedSource.scala:38) at scala.io.BufferedSource$$anonfun$iter$1.apply(BufferedSource.scala:38) at scala.collection.Iterator$$anon$14.next(Iterator.scala:150) at scala.collection.Iterator$$anon$25.hasNext(Iterator.scala:562) at scala.collection.Iterator$$anon$19.hasNext(Iterator.scala:400) at scala.io.Source.hasNext(Source.scala:238) at scala.collection.Iterator$class.foreach(Iterator.scala:772) at scala.io.Source.foreach(Source.scala:181) 我非常乐意把所有的无效字符都扔掉,或者用一些假的replace掉。 我将有许多像这样的文本以各种方式处理,可能需要将数据传递给各种第三方库。 一个理想的解决scheme是某种全局设置,它会导致所有的低级java库忽略文本中的无效字节,这样我就可以在不修改的情况下对这些数据调用第三方库。 解: import java.nio.charset.CodingErrorAction import scala.io.Codec […]

如何解释weka分类?

我们如何使用朴素贝叶斯来解释weka中的分类结果? 平均值,标准差,权重和精度是如何计算的? kappa统计,平均绝对误差,均方根误差等是如何计算的? 什么是混淆matrix的解释?