电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

对OpenMiner进行了一系列手术


发布日期:2021/5/12
 

OpenMiner已经成为了sourceforge的approval项目与此同时我们也开始紧张地对OpenMiner进行了一系列的外科手术我现在做的主要是服务器部分的裁剪尽量把OpenMiner的核心做得更加简单更加具有扩展性而OpenMiner现在还没有可视化的客户端另外一个同学grand现在也开始加紧赶制OpenMiner的客户端我们的客户端打算仿造Yale

首先的第一个手术就是减掉阑尾 之前在给教务处做决策系统的时候为了赶进度OpenMiner过于依赖了Oracle数据库各种数据集的提取以及挖掘模型的存取都是基于Oracle的JDBC来访问的而Oracle的JDBC特别是在处理BLOB数据块的时候又和标准的JDBC不兼容于是搞得代码很不具备通用性现在的OpenMiner不仅是需要对ORACLE的很好支持同时还要能够对各个方面的数据集进行很好的访问当然训练数据集都是只读也就是OLAP作为一个数据分析我希望设计处理的服务程序不仅能够从数据库中提取数据还希望能够从各种文件格式(excel xml等)以及远程的Socket输入流来获取训练数据集减掉了旧的Oracle处理模块后需要新增加的就是一个比较齐全的输入数据抽象层了采用设计模式中的抽象工厂Abstract Factory的方式来实现这样对于数据挖掘的算法模块来说就只有一个InputDataSet输入数据集的接口训练数据就只能从这里面来提取根本不用去理会这个InputDataSet是一个什么样的数据来源和怎么样创建的于是乎文件数据数据库数据Socket流输入数据就能很好地统一到InputDataSet接口下了

其次关于使用挖掘模型的接口函数统统从Miner类删除因为如何使用一个挖掘完成的模型是根据应用程序Application来决定的如果OpenMiner来做并不见得做得能用而且使用一个模型的方法千变万化OpenMiner做起来也麻烦于是最好的办法就是不做统统删除!

最后我考虑将挖掘模型的存储访问管理放在客户端来进行原因很简单OpenMiner就只做Data Mining的工作不做Data Mining以外的任何工作这里所谓的客户端并不一定就是用户实用的客户端也可能是应用系统只是从OpenMiner服务提供者来说的客户端的意思如何管理挖掘模型Model这个问题本身并不能轻率因为现实企业应用系统中可能挖掘模型数量成百上千如此庞大的挖掘结果模型一般的文件系统并不见得高效而应该放在数据库的针对各种数据库的访问那么就成了一个问题同时挖掘模型也可能存在安全性的问题要让OpenMiner去这样复杂的一项工作很难做得好既然做不好最好的办法就是不做统统删除

做了这些过后OpenMiner的核心服务器的手术基本上可以算完成了剩下的就是客户端的事情了我们现在的这个客户端功能很大把以前本该是服务器做的模型管理的工作都移交到了客户端来做于是grand现在也忙起来关于客户端的开发我推荐使用NetBeans RC来开发因为Eclipse的VE插件做得太老火了经常出问题而且又慢又兼容性也不好(的VE都不兼容)而NetBeans本身就自带了可视化的界面开发功能速度和稳定性都比Eclipse那种外部插件的好虽然Eclipse一度成为IDE的典范但是SUN的新秀NetBeans也有它不错的有点随便说一下NetBeans也是免费开源的可以随便下载

上一篇:String和stringBuffer类字符串的区别

下一篇:多条问候语句交替显示