废话不多说,直接上干货

weka的官方参考手册 :https://www.cs.waikato.ac.nz/ml/weka/documentation.html

在API 一节中有 creating datasets in memory (官网的还是比较标准的)

大家也可以简单的看一下我写的一个简单的demo。

首先看Attribute:这个是我自己写的一个2-mer特征提取的代码大家参考形式就行;

public ArrayList<Attribute> attributes() {ArrayList<Attribute> attributes = new ArrayList<>();attributes.add(new Attribute("aa"));attributes.add(new Attribute("ag"));attributes.add(new Attribute("ac"));attributes.add(new Attribute("at"));attributes.add(new Attribute("ga"));attributes.add(new Attribute("gg"));attributes.add(new Attribute("gc"));attributes.add(new Attribute("gt"));attributes.add(new Attribute("ca"));attributes.add(new Attribute("cg"));attributes.add(new Attribute("cc"));attributes.add(new Attribute("ct"));attributes.add(new Attribute("ta"));attributes.add(new Attribute("tg"));attributes.add(new Attribute("tc"));attributes.add(new Attribute("tt"));ArrayList<String> labels = new ArrayList<String>();labels.add("1");labels.add("-1");attributes.add(new Attribute("class", labels));return attributes;}

紧接着就是Instances和Instance的创建:

需要说明的是下面代码里面的a[1]是标签(对应自己的标签就行)

public Instances atgc1(Instances data) {ArrayList<Attribute> l = attributes();Instances instances = new Instances("DNA", l, 0);instances.setClassIndex(instances.numAttributes() - 1);int sum = data.numInstances();String line;for (int i = 0; i < sum; i++) {double num[] = new double[instances.numAttributes()];Instance instance = new DenseInstance(1, num);line = String.valueOf(data.instance(i));if (line.trim().length() != 0) {String[] a = line.split(",");num[0] = stringCount(a[0], "aa");num[1] = stringCount(a[0], "ag");num[2] = stringCount(a[0], "ac");num[3] = stringCount(a[0], "at");num[4] = stringCount(a[0], "ga");num[5] = stringCount(a[0], "gg");num[6] = stringCount(a[0], "gc");num[7] = stringCount(a[0], "gt");num[8] = stringCount(a[0], "ca");num[9] = stringCount(a[0], "cg");num[10] = stringCount(a[0], "cc");num[11] = stringCount(a[0], "ct");num[12] = stringCount(a[0], "ta");num[13] = stringCount(a[0], "tg");num[14] = stringCount(a[0], "tc");num[15] = stringCount(a[0], "tt");num[16] = instances.attribute(16).indexOfValue(a[1]);}instances.add(instance);}return instances;}

在这之前也参考了网上好多网友写法,记不住链接了;大家也可以参考:

numeric:数值型,连续变量

  • Attribute date=new Attribute("aa");

    date:日期型,日期变量

  • Attribute date=new Attribute("attribute_name","yyyy-MM-dd");

    nominal:标称型,预定义的标签

  • ArrayList<String> labels=new ArrayList<String>();labels.add("label_a");labels.add("label_b");Attribute nominal=new Attribute("attribute_name",labels);
  • string:字符串型,文本数据
  • Attribute string = new Attribute("attribute_name",(ArrayList<String>)null);

WEKA-Instances-从内存中创建数据集相关推荐

  1. 在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  2. 转:使用 PHP 直接在共享内存中存储数据集

    概述 共享内存是一种在相同机器中的应用程序之间交换数据的有效方式.一个进程可创建一个可供其他进程访问的内存段,只要它分配了正确的权限.每个内存段拥有一个惟一的 ID(称为 shmid),这个 ID 指 ...

  3. PHP 直接在共享内存中存储数据集

    共享内存是一种在相同机器中的应用程序之间交换数据的有效方式.一个进程可创建一个可供其他进程访问的内存段,只要它分配了正确的权限.每个内存段拥有一个惟一的 ID(称为 shmid),这个 ID 指向一个 ...

  4. 使用zipfile/BytetesIO实现在内存中创建zip压缩文件

    需求描述 Flask开发的系统后台需要将一些程序中生成的文本数据和二进制的内存对象打包成zip文件提供给客户端从浏览器直接下载,刚开始的思路是先分别将文本和二进制的数据写到磁盘上,打包后再当成临时文件 ...

  5. 如何在内存中创建文件供用户下载,而不是通过服务器下载?

    有什么方法可以在客户端上创建文本文件并提示用户下载文本文件,而无需与服务器进行任何交互? 我知道我不能直接写给他们的机器(安全性和全部),但是我可以创建并提示他们保存吗? #1楼 您甚至可以做一个比U ...

  6. 如何在sqlite3连接中创建并调用自定义函数

    #!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sql ...

  7. java内存模型 创建类_JVM内存模型及String对象内存分配

    昨天看了一篇关于<Java后端程序员1年工作经验总结>的文章,其中有一段关于String和StringBuffer的描述,对于执行结果仍然把握不准,趁此机会也总结了下JVM内存模型. 1. ...

  8. java 获取对象方法有哪些方法有哪些方法有哪些_Java中创建String 对象的方法有哪些...

    Java中创建String 对象的方法有哪些 发布时间:2020-11-25 16:45:30 来源:亿速云 阅读:71 作者:Leah 这篇文章将为大家详细讲解有关Java中创建String 对象的 ...

  9. java 数据保存内存_java中的各种数据类型在内存中存储的方式 一

    1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对 ...

  10. 初识java中数组、数组在内存中、越界异常、空指针异常

    数组: 当存储多个数据时,此时可能会使用多个变量,这样不断声明变量会很麻烦,而这些变量都有相似的特性,因此我们可以将它们存放到一个容器中,统一处理. 容器:是将多个数据存储到一起,每个数据称为该容器的 ...

最新文章

  1. Ansible — Overview
  2. 42、谈谈你对闭包的理解?
  3. linux mount 挂载U盘
  4. mysql数据库程序设_MySQL数据库程序设计
  5. 色彩缤纷的python(改变字体颜色及样式)
  6. Xp下的程序编译成linux,WinXP下打造自己的linux 0.11简易编译环境(原创)
  7. Nginx为什么比Apache Httpd高效
  8. 浏览器中关于事件的那点事儿
  9. 六招轻松搞定你的CentOS系统安全加固
  10. 数据库两个表有一个字段互相关联,根据这个关联字段更新一张表
  11. maven install 没反应
  12. 实业逻辑与品牌逻辑的矛盾
  13. Quartz.net官方开发指南系列篇
  14. 百亿节点,毫秒级延迟,携程金融基于nebula的大规模图应用实践
  15. 【论文翻译】知识图谱论文中英对照翻译----(KnowLife:a versatile approach ... )
  16. 淮安php照片,一组图 看超罕见的老淮安 看超震撼的新淮安
  17. Python 增加时间戳和今日日期
  18. Unity获取摄像头权限
  19. 通信算法之二十六:5G讲的这么简单明了
  20. 虚幻4学习笔记(8)动手制作一个小游戏

热门文章

  1. Oracle,emc,emulex联合测试T10
  2. xp系统怎么进pe修改计算机名,PE下安装原版XP系统装系统图文教程
  3. python 自动发邮件模块抄送_Python实现自动发送邮件
  4. 石墨烯海水淡化lammps模拟建模方法
  5. QCC3040---读取flash UID
  6. iFunk翼S苏宁京东热卖进行中
  7. phpMyAdmin下载、安装和使用入门教程
  8. bugku never_give_up file_get_contents()有php://input漏洞 eregi \x00绕过
  9. mybatis的selectOne分享
  10. 全国哀悼日,黑白网页CSS滤镜代码