我打算用Ruby编写一个程序来分析一些从在线调查问卷中回来的数据.有数十万条回复,每位受访者回答大约200个问题.每个问题都是多项选择,因此每个问题都有固定数量的可能响应.目的是使用每个受访者给出的一个人口统计数...
                
我打算用Ruby编写一个程序来分析一些从在线调查问卷中回来的数据.有数十万条回复,每位受访者回答大约200个问题.每个问题都是多项选择,因此每个问题都有固定数量的可能响应.
目的是使用每个受访者给出的一个人口统计数据来训练一个系统,该系统然后可以从回答相同问卷但没有指定人口统计的受访者那里猜测相同的人口统计数据(例如年龄).数据.
因此,我计划使用向量(在数学意义上,而不是在数据结构意义上)来表示给定受访者的答案.这意味着每个向量将很大(超过200个元素),并且总数据集将是巨大的.我计划将数据存储在MySQL数据库中.
所以. 2个问题:
>我应该如何将其存储在数据库中?每回复一行一行,或每个受访者一行?或者是其他东西?
>我打算使用像k-最近邻算法这样的东西,或像天真的贝叶斯分类器这样的简单机器学习算法来学习对新响应进行分类.我应该纯粹通过SQL操作数据还是应该将其加载到内存中并将其存储在某种大型数组中?
解决方法:
首先想到的是:将其存储在内存中对于处理目的来说绝对合理.假设您为每个答案保留一个字节,您有一百万个响应和200个问题,那么您有一个200 MB的数组.即使使用32位操作系统,在现代桌面上也不小但绝对不会耗费内存.
至于数据库,我认为你应该有三个表.一个用于具有人口统计数据的受访者,一个用于问题,并且,由于这些表之间具有n:m关系,第三个具有Respondent-ID,Question-ID和Answercode.
如果您不需要问题的其他数据(例如问题文本或其他内容),您甚至可以优化问题表.
本文标题为:mysql – 你如何在Ruby中处理一个非常大的向量?
				
        
 
            
        基础教程推荐
- go语言的魔幻旅程14-反射 2023-09-05
 - Ruby on Rails在Ping ++ 平台实现支付 2023-07-22
 - R语言多元线性回归实例详解 2022-12-15
 - R语言学习代码格式一键美化 2022-12-05
 - R语言使用gganimate创建可视化动图 2022-12-10
 - R语言histogram(直方图)的具体使用 2022-10-28
 - ruby-on-rails – Nginx支持的Rails应用程序中缺少Content-Length Header 2023-09-20
 - golang 自然语言处理工具(gohanlp) 2023-09-05
 - R语言关联规则深入详解 2022-11-08
 - Go语言实现一个Http Server框架(二) Server的抽象 2023-07-25
 
    	
    	
    	
    	
    	
    	
    	
    	
						
						
						
						
						
				
				
				
				