1.公司最近要做风控系统, 不是很懂,看了一些方法,记录下来。 加载arff 文件 和保存文件。
@Service("commonFunctionBiz")public class CommonFunctionBizImpl implements CommonFunctionBiz { private static final Logger LOGGER = LoggerFactory.getLogger(CommonFunctionBizImpl.class); @Override public Instances loadArffFile(String arffFilePath) { LOGGER.info("[loadArffFile]:使用指定加载器的方法来加载ARFF文件"); Instances data = null; try { // LOGGER.info("[loadArffFile]:使用DataSource类的read方法来加载ARFF文件"); // Instance data = ConverterUtils.DataSource.read(arffFilePath); ArffLoader loader = new ArffLoader(); loader.setSource(new File(arffFilePath)); data = loader.getDataSet(); } catch (BizException bizE) { LOGGER.error("加载ARFF文件出现业务异常,错误原因:", bizE); } catch (Exception e) { LOGGER.error("加载ARFF文件出现系统异常,错误原因:", e); } return data; } @Override public void saveArff2Csv(String savePath, Instances data) { LOGGER.info("[saveArff2Csv]:保存ARFF到CSV文件开始"); try { // 文件扩展名与数据文件格式相符,可用DataSink类 // ConverterUtils.DataSink.write(savePath, data); // 明确指定CSVSaver转换器 CSVSaver saver = new CSVSaver(); saver.setInstances(data); saver.setFile(new File(savePath)); saver.writeBatch(); } catch (BizException bizE) { LOGGER.error("保存CSV文件出现业务异常,错误原因:", bizE); } catch (Exception e) { LOGGER.error("保存CSV文件出现系统异常,错误原因:", e); } }}