一篇博文简单了解weka

weka是java写的开源模式识别和数据挖掘软件,已经有十多年的历史了。weka的官网在http://www.cs.waikato.ac.nz/ml/weka/。

模式识别和数据挖掘有四个问题,

第一:问题是什么

第二:数据是什么

第三:如何学习

第四:学习结果可靠吗?

第一个问题来自需求。分析需求是很难的:严密的逻辑,深入了解行业宏观和细节,熟悉技术领域和学术领域的进展,有多个成功项目的实践经验,这四个因素缺一不可,所以通常由一个团队不同领域的精英合作完成。

weka不解决需求问题。

第二个问题是数据。每个样本对应一个weka的Instance,由多个样本组成的数据集对应weka的Instances,这是存储。对数据集,需要选择各种样本进行训练和测试,这里存在诸多的选择方法。比如,只选择部分样本进行训练和测试,处理属性缺失的样本,只选择部分属性进行训练和测试,如何对样本次序重排以改变训练和测试效果。如何以有监督或者无监督的方式选择样本及其属性。

第三个问题是学习。如果能精确定义第一个问题,那么第三个问题的答案也必然是清晰的。weka提供大量的算法,分类,回归,聚类,关联规则等等。对初学者而言,选择算法是个大问题,每种算法都各有好处,但又没有一种算法在大多数指标上好过其他算法。这里的诀窍就是大量的做实验并分析结果,做的多了自然就知道什么是好的。

第四个问题是验证学习器是否可靠。常用的方式就是交叉验证,五倍交叉或者十倍交叉。再配合网格调参。常规问题就可以解决了。

对大数据big data,weka的建议是,用命令行操作数据和训练,如果有可能,自己用groovy或者jython实现算法,或者使用可以增量学习的算法。它这么说的意思其实表明,weka目前还没有对big data做好准备,所以最好用它解决单机能搞定的问题。

时间: 2024-10-25 00:12:25

一篇博文简单了解weka的相关文章

2015元旦第一篇博文:Red5流媒体服务器搭建

今天是2015年的第一天,白天陪老婆孩子去BHG(华联)转了转,中午在九毛九吃了顿午饭,就这样过了元旦,虽然有点累,但是挺开心,北京今天的天气也比较给力,风和日丽,没有雾霾!现在是晚上十点,因为白天出去玩,老婆孩子有点累,现在已经熟睡,我不想就这样就结束2015的第一天,作为一个新的开始,我决定写2015年的第一篇博文.闲话少说,进入主题.流媒体这个概念在第一家公司就了解了,当时做一个Eleaning在线教育平台的时候,用Red5流媒体服务器技术,支持过视频模块的播放.下面就谈谈我对流媒体的认识

我的第一篇博文(Winfrom下WebBrowser控件的使用)

说实话来到博客园也得2年多了,可惜一片文章都没写过.只因今天心情很不好,决定趁工休时间写篇博文放松放松.文字真的是一件很神奇的东西,写出来了感觉心情会好很多.我现在有个想法就是把我总结的一些技术性的东西以后慢慢地放到博客园上来. 今天心情为什么心情不好呢,因为早晨我迟到了.这次迟到估计是我本月内第三次迟到了,好害怕公司通报啊.由于路上修路,今早得绕道.平时也就是20分钟的路程,今早居然用了40分钟.靠,为什么堵车啊,为什么总是在右转或者左转的时候那么堵.看红绿灯那么偏向直行的车,我真想踹门砸玻璃

我的第一篇博文:输入法编程

这是我的第一篇博文,在这之前,我要介绍一下我自己.我是一名核电工程师,已经工作了19年,我同时也是一名计算机爱好者.我利用业余时间学习编程. 最近我研究了输入法的编程.我阅读了很多园里的文章,特别是借鉴了启程之星公开的客户端的源码.研究已经取得进展,可惜眼睛看坏了,现在不是很方便用计算机,所以等我眼睛好一些时候,我会更详细地介绍我研究的输入法的心得.我做的几件事如下: 1. 启程之星输入法源码的主要原理搞懂了.编译成功,知道主要部分的逻辑关系: 2. 研究了启程之星最近版与服务器通讯的原理(此部

iOS开发拓展篇-XMPP简单介绍

iOS开发拓展篇-XMPP简单介绍 一.即时通讯简单介绍 1.简单说明 即时通讯技术(IM)支持用户在线实时交谈.如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容 有许多的IM系统,如AOL IM.Yahoo IM. MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议 协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那么应当可以实现各个IM之间的直接通讯,为了创建即时通讯的统一标准,目前已

对上一篇博文的修改

//冒泡排序 public void maoPaoSort(int arr[]){    for(int i=0;i<arr.length-1;i++){       for(int j=0;j<arr.length-1-i;j++){            setHuan();        }    } } //数组元素的交换方法 public void setHuan(int[] arr,int i,int j){        if(a[i]>a[j]){           i

漫游Kafka入门篇之简单介绍

原文地址:http://blog.csdn.net/honglei915/article/details/37564521 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,

iOS开发UI篇—Quartz2D简单使用(三)

iOS开发UI篇-Quartz2D简单使用(三) 一.通过slider控制圆的缩放 1.实现过程 新建一个项目,新建一个继承自UIview的类,并和storyboard中自定义的view进行关联. 界面搭建,如图: 代码示例: YYViewController.m文件 1 // 2 // YYViewController.m 3 // 04-对圆进行缩放 4 // 5 // Created by apple on 14-6-11. 6 // Copyright (c) 2014年 itcase.

iOS开发多线程篇—多线程简单介绍

iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 比如使用酷狗播放音乐.使用迅雷下载电影,都需要在线程中执行 3.线程

iOS开发UI篇-UIWindow简单介绍

iOS开发UI篇—UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow.也就说,没有UIWindow,就看不见任何UI界面 补充:UIWindow是创建的第一个视图控件(创建的第一个