我打算用Ruby编写一个程序来分析一些从在线调查问卷中回来的数据.有数十万条回复,每位受访者回答大约200个问题.每个问题都是多项选择,因此每个问题都有固定数量的可能响应.

目的是使用每个受访者给出的一个人口统计数据来训练一个系统,该系统然后可以从回答相同问卷但没有指定人口统计的受访者那里猜测相同的人口统计数据(例如年龄).数据.

因此,我计划使用向量(在数学意义上,而不是在数据结构意义上)来表示给定受访者的答案.这意味着每个向量将很大(超过200个元素),并且总数据集将是巨大的.我计划将数据存储在MySQL数据库中.

所以. 2个问题:

>我应该如何将其存储在数据库中?每回复一行一行,或每个受访者一行?或者是其他东西?

>我打算使用像k-最近邻算法这样的东西,或像天真的贝叶斯分类器这样的简单机器学习算法来学习对新响应进行分类.我应该纯粹通过SQL操作数据还是应该将其加载到内存中并将其存储在某种大型数组中?

解决方法:

首先想到的是:将其存储在内存中对于处理目的来说绝对合理.假设您为每个答案保留一个字节,您有一百万个响应和200个问题,那么您有一个200 MB的数组.即使使用32位操作系统,在现代桌面上也不小但绝对不会耗费内存.

至于数据库,我认为你应该有三个表.一个用于具有人口统计数据的受访者,一个用于问题,并且,由于这些表之间具有n:m关系,第三个具有Respondent-ID,Question-ID和Answercode.

如果您不需要问题的其他数据(例如问题文本或其他内容),您甚至可以优化问题表.

标签:ruby,mysql

来源: https://codeday.me/bug/20190726/1548646.html

mysql 向量写法_mysql – 你如何在Ruby中处理一个非常大的向量?相关推荐

  1. mysql 删除字段_MySQL命令行删除表中的一个字段

    先看看删除之前的表结构: mysql> select * from test; +------+--------+----------------------------------+----- ...

  2. 如何在Ruby中编写switch语句

    如何在Ruby中编写switch语句? #1楼 案例...当 在Chuck的答案中添加更多示例: 带参数: case a when 1puts "Single value" whe ...

  3. 如何在Ruby中使用数组方法

    介绍 (Introduction) Arrays let you represent lists of data in your programs. Once you have data in an ...

  4. 如何在Java中创建一个新的List

    本文翻译自:How to make a new List in Java We create a Set as: 我们创建一个Set为: Set myset = new HashSet() How d ...

  5. lin通信ldf文件解析_详细步骤讲解如何在CANoe中创建一个LIN通讯工程(多图+详解)...

    本文首发自微信公众号"汽车技术馆"! CANoe可以实现基于CAN通讯的通讯测试和仿真,同时也可以支持基于LIN通讯的通讯测试和仿真,如何在CANoe中建立一个基于LIN通讯的工程 ...

  6. python if语句多个条件-关于函数:如何在python中为一个if语句提供多个条件

    本问题已经有最佳答案,请猛点这里访问. 所以我在用python 3.1.5编写一些代码,这些代码需要有多个条件才能发生某些事情.例子: 1 2 3 4 5def example(arg1, arg2, ...

  7. ai中如何插入签名_如何在PDF中插入一个或多个空白页?

    在编辑或修改PDF文档时,一般都需要新增空白页后再添加文本或图片等内容,那么如何在PDF中插入一个或多个空白页呢? 首先打开极速PDF编辑器,或打开需要编辑的PDF文档后,点击右上角"文档& ...

  8. python中2d_【IT专家】如何在Python中复制一个2D数组?(复制)

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 如何在 Python 中复制一个 2D 数组? ( 复制 ) 如何在 Python 中复制一个 2D 数组 ?( 复制 )[ 英 ]How to  ...

  9. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  10. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

最新文章

  1. 介绍sendmail中mail relay的规则
  2. C#最小化到托盘+双击托盘恢复+禁止运行多个该程序
  3. python删除空白没有显示_删除Python字符串中的空白
  4. 如何创建 Angular library 并在生产环境中消费
  5. 前端学习(2185):tabberitem传入active图片
  6. 数据集_自动驾驶数据集
  7. 转自: http://blog.csdn.net/xiaxiaorui2003/article/details/3838631
  8. Spring Boot + Spring Data + Elasticsearch实例
  9. 用C#搭建IE BHO勾子, 取表单密码
  10. QT widget宽高比
  11. 笔记本不用fn也能用功能键
  12. 面试官:你对MySQL中的索引了解多少?
  13. Java的开发环境、测试环境、生产环境、UAT环境、仿真环境
  14. sklearn.svm中LinearSVR(svm线性回归)、LinearSVC(svm线性分类)与SVC(svm分类)、SVR(svm回归)之间的区别
  15. 百度easydl数据标注
  16. 《挑战程序设计竞赛(疑惑)》19.2九宫格拼图
  17. 高德地图怎么添加公司地址标注
  18. 知识管理在企业业务中如何体现其价值
  19. 用Python开始机器学习(6:朴素贝叶斯分类器)
  20. 富士施乐m115b怎么连接电脑_施乐 m115b打印机怎么安装

热门文章

  1. 20191115英文每日一句
  2. Unity清除一个物体所有的子物体
  3. 181004有道扇贝每日一句
  4. Atitit io读取文件法 目录 1. 文件法 1 1.1. 异步读取文件: 1 1.2. 2.同步读取方法 1 1.3. 二进制读文件: 1 2. 读取api规范 1 3. Atitit 按照
  5. Atitit mybatis的扩展使用sql udf,js java等语言 目录 1.1. 默认,mybatis使用xml,sql等语言来书写业务流程 1 2. 使用java扩展函数 1 2.1.
  6. Atitit 提升团队开发效率项目进度的一些大的流程方向attilax总结
  7. atitit 图像处理机器视觉专业博硕连读课程表.xlsx
  8. lassAtitit事件代理机制原理 基于css class的事件代理的事件代理titi
  9. Atitit.反编译apk android源码以及防止反编译apk
  10. 离线发布bolg----使用Windows live writer客户端来发布CSDN的博客文章