
数据挖掘
文章平均质量分 93
spacewalkman
这个作者很懒,什么都没留下…
展开
-
Weka源码分析(2)——core.converters package分析
该package的主要目标是将外部存在的各种各式的数据与weka内部的数据表示进行相互转换,以解决数据的导入导出问题。主要含有Loader和Saver,一个负责加载,一个负责导出。1. Loader及其继承体系Loader的继承体系如下: Loader是个Interface,其接口定义如下: Loader定义了3种数据加载的模式常量,NONE/BATCH/INCREMENTAL。另外,定原创 2016-11-18 16:44:04 · 792 阅读 · 0 评论 -
Weka源码分析(1)——模块划分及core package分析
1.1模块划分weka采用maven作为构建工具,从module划分的角度,是个单module系统,但是weka的从package划分上体现了“关注点分离”。 各package关注点(职责划分)如下: 分类 package name 职责 算法 associations 关联规则算法 attributeSelection 属性选择算法 classi原创 2016-11-18 15:38:39 · 2634 阅读 · 0 评论 -
Weka源码分析(3)——filters package分析
1. Filter继承体系//TODO:图太大,放上来看不清,优化中…1.1 Filter数据处理的抽象类1.1.1 fields1.1.2 methods Filter抽象类定义了所有类型的数据处理需要遵循的contract,该类的主要职责如下: 1. 定义了数据处理的基本框架,主要是input(Instance)、output()、batchFinished()这3个方法。并提供了默认实现。原创 2016-11-18 16:54:21 · 593 阅读 · 1 评论 -
Weka源码分析(4)——算法系统
1. Classifier package1.1 Classifier继承体系//TODO:图太大,优化中…1.2 Classifier图 算法的2个过程: 1. build过程:算法build的过程其实就是算法参数(算法类的field)被赋值(可能是一次性的,也可能是迭代式的) 2. score过程:利用field-backed的公式或代码逻辑,计算概率分布或者分类值的过程。 Classi原创 2016-11-18 17:05:02 · 1102 阅读 · 0 评论 -
Weka源码分析(5)——杂项
一点杂七杂八的想法,暂时归到这里吧。1. 模型持久化模型为什么要持久化?模型的训练过程昂贵,需要将结果存储下来。模型持久化了究竟存储了什么内容?如果一个模型持久化之后不能再次被加载和用来score,那么该模型就等于没有持久化。持久化与开发语言相关的内容,但是不管何种持久化机制,至少要持久化模型的params(例如算法的fields字段) weka采用的Java的序列化来实现模型的持久化。2.原创 2016-11-18 17:33:10 · 650 阅读 · 0 评论