ITTC数据挖掘系统(六)批量任务,数据查看器和自由文档
这一次带来了一系列新特新,同时我们将会从商业智能的角度讨论软件的需求
一. 批量任务向导
一个常用的需求是完成处理多个任务,可能是同一个需求以不同的参数完成多次,这类似批量分析某一问题;或者是不同的需求顺次完成,比如系统功能级测试。因此非常有必要加入该功能。由于系统有对“任务”级功能的支持,所以添加该功能很容易,加入一个任务队列,当上一任务完成时自动配置和启动下一任务即可。
我们以批量执行同一任务为例,看下下面的操作。点击“任务”菜单的“启动批量任务”向导,即可实现如下配置:选择要批量执行的任务:
选取要修改的参数,
我们此处选择“ScaleSize”参数。以一行一个参数的形式填写下面的表格:
点击完成之后,系统会自动按照不同的ScaleSize参数,完成循环,并输出所需结果。
至于对于顺次执行多个任务的需求,目前可以从外部加载任务配置单,并可按任务配置顺次执行,该任务配置保存了详细的任务参数和模块名称,以XML格式存储。
二.加强的数据浏览器
系统原先内置的数据浏览器是ListView表格控件,目前使用了功能更强大的DataGrid,效果如图:
通过延迟加载和动态绑定的特性,该控件可以获得相当好的性能,同时可以方便的对数据列做排序,分组等操作:
同时,该控件还可以方便的修改数据属性,包括字符串,时间和数字等。并将修改保存到数据库中。
三. 插件式的界面替换
对WPF程序来说,换肤是一件很普通的功能,但如果完全替换成另外一个View,还是需要一定的技巧的。由于本系统在设计时,没有充分考虑到标准MVVM的需求,而采用了插件式的Model管理View的方式(可c参考我的MVVM 开发的几种模式讨论(WPF))。这导致了动态替换View变得更为困难。
经过了长久的考虑,我决定不对框架做伤筋动骨的改变,对View也采用插件的方式,通过一个新加插件接口 ICustomView,系统在加载包含View的插件时,会在插件集合中查找实现该接口,且与原插件名字一致的界面控件,并将原插件的界面动态替换成新插件。这样就实现了启动时动态界面替换。
打了比方说,如果我觉得目前的界面和控件不符合需求,可以写一个新的界面库,将该界面库的dll文件拷贝到插件目录下,即可自动替换掉原来的View.删除该dll后,就会恢复成原有的View,非常简单方便。
四. 思考:对“无类型”数据的处理
由于数据类型也是插件的一份子,因此可以方便的添加新的数据类型,但依旧有麻烦的事情。
比如对“人”,有的数据是面对普通微博用户的,有些是面对企业和政府高官的,有些是面向学生教师的,他们都具有各自的特性和自定义字段。随着要处理的数据变多,这种问题变得更加尖锐。
为了处理一次数据,我们没有必要去为其新建一个数据类型(而且还是重复的)。但我们也不可能做到把所有可能的属性都添加到队列中。而系统现在只能处理“类型”数据,依赖它去存储,可视化,分析,计算…
如何解决这一问题呢?这一点可以向Excel学习,Excel本身不需要定义数据类型,通过表格的X,Y坐标命名变量并实现功能。这是一种很好的思路。但如果我也按照这样的方式处理,那么软件也成了Excel,反而丧失了它的价值。而统计这一类简单的功能还好说,对于更复杂的数据挖掘功能,如何处理这种无类型的数据呢?这真是个复杂的问题!
五. 说好的“算法”呢?
所有的读者可能都有这样的疑问,楼主你们做的是一个数据挖掘工具啊,怎么只见你更新“工具”的功能,却没有更新“数据挖掘”的功能啊?那些牛逼的算法呢?这个问题我也知道,如果没有精巧的机器学习/数据挖掘的算法模块,就算打造成一个超牛的数据可视化工具,又如何呢? 只是作者目前时间有限,做工具比做算法的实践性更高一些。我马上要找工作了啊亲!
之后的时间,关联规则,自动推荐,高级的聚类和分类算法,语义分析。。。这些模块才是最重要的,要做的事情多着呢。。。加油!
ITTC数据挖掘系统(六)批量任务,数据查看器和自由文档的更多相关文章
- CentOS6.4下使用默认的文档查看器打开PDF文档乱码的解决方案
最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决. 方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如 ...
- python实用小技巧自问自答系列(一):查看类中函数文档doc的方法
问题:如何查看某个类的方法文档说明或者是函数的参数列表情况? 答: 方法一:直接在需要查询的方法后面加上".__doc__"即可以打印出该方法的文档说明(需要先导入该方法所属模块) ...
- 从多个XML文档中读取数据用于显示webapi帮助文档
前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...
- Nemo Documents – 给文件添加标签 以日历的形式将文件呈现出来,很像 Outlook,你可以根据年、月、日来查看不同类型的文档
Nemo Documents – 给文件添加标签 scavin(Google+) on 2012.03.28. Nemo Documents 是款文件组织管理工具(文档管理器),不是街道大妈胜似大 ...
- 【C#】获取当前系统桌面、我的照片、我的文档等路径
获取当前系统桌面.我的照片.我的文档等路径 using System; using System.Collections.Generic; using System.ComponentModel; ...
- [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 从隔壁兄弟那爬点网页数据,整理成word文档
package com.parse_report; import com.report.utils.ParseUrl; /** * Create by JIUN 2018/7/14 */ public ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
- Storm项目:流数据监控1《设计文档…
博客公告: (1)本博客全部博客文章搬迁至<博客虫>http://blogchong.com/ (2)文章相应的源代码下载链接參考博客虫站点首页的"代码GIT". (3 ...
随机推荐
- 火焰图分析openresty性能瓶颈
注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
- C语言 · 数位分离
问题描述 编写一个程序,输入一个1000 以内的正整数,然后把这个整数的每一位数字都分离出来,并逐一地显示. 输入格式:输入只有一行,即一个1000以内的正整数. 输出格式:输出只有一行,即该整数的每 ...
- WPF 微信 MVVM 【续】修复部分用户无法获取列表
看过我WPF 微信 MVVM这篇文章的朋友,应该知道我里面提到了我有一个小号是无法获取列表的,始终也没找到原因. 前两天经过GitHub上h4dex大神的指导,知道了原因,是因为微信在登录以后,web ...
- UWP开发之Mvvmlight实践九:基于MVVM的项目架构分享
在前几章介绍了不少MVVM以及Mvvmlight实例,那实际企业开发中将以那种架构开发比较好?怎样分层开发才能节省成本? 本文特别分享实际企业项目开发中使用过的项目架构,欢迎参照使用!有不好的地方欢迎 ...
- CSS垂直居中的11种实现方式
今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...
- python通过protobuf实现rpc
由于项目组现在用的rpc是基于google protobuf rpc协议实现的,所以花了点时间了解下protobuf rpc.rpc对于做分布式系统的人来说肯定不陌生,对于rpc不了解的童鞋可以自行g ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- VS2015在创建项目时的一些注意事项
一.下面是在创建一个新的项目是我最常用的,现在对他们一一做一个详细的介绍: 1.Win32控制台应用程序我平时编写小的C/C++程序都用它,它应该是用的最多的. 2.名称和解决方案名称的区别:名称是项 ...
- C# 数组的交集、差集、并集
C# 数组的交集.差集.并集 工作中经常会用这方面的知识来检查那些字段是必须输入的,那些是禁止输入. using System; using System.Collections.Generic; u ...