- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要对一个非常大的表或矩阵执行计算和操作,大约有 7500 行和 30000 列。
矩阵数据将如下所示:
文件编号|字1 |字 2 |字 3 |... |字 30000 |文档类
0032 1 0 0 1P
换句话说,绝大多数单元格将包含 bool 值(0 和 1)。
需要做的计算是使用词干提取或特征选择(通过减少技术来减少词的数量),以及每类或每词的计算等。
我的想法是设计一个 OOP 模型来表示矩阵,然后将对象序列化到磁盘,以便以后可以重用它们。例如,我将为每一行或每一列创建一个对象,或者可能为另一个类中包含的每个交叉点创建一个对象。
我考虑过用 XML 表示它,但文件大小可能会出现问题。
我在这里的做法可能会错过底池 -我是在正确的道路上,还是会有更好的方法来处理如此大的数据集合。
这里的关键问题是性能( react 时间等),以及数据的冗余和完整性,显然我需要将数据保存在磁盘上。
最佳答案
你还没有解释你需要在表格/矩阵上进行的计算的性质,所以我不得不在那里做出假设,但如果我正确地阅读了你的问题,这可能是一个典型的例子使用关系数据库的情况——即使您的数据库中没有任何实际关系。如果您不能使用完整的服务器,请使用 SQL Server Compact Edition 作为嵌入式数据库,如果您愿意,这将允许您以编程方式控制 .SDF 文件。
编辑:
经过再三考虑,我撤回了数据库的建议。这完全是因为表中的列数,您使用的任何关系数据库都会对此有硬性限制,而且我没有看到一种不是非常复杂的解决方法。
根据您的编辑,我想说您对三件事感兴趣:
稍微考虑一下后,我将如何为您的数据建模:
对于词的存在,我觉得最好避免使用复杂的对象模型。您想要在两个方向(按列和按行)进行纯计算,而在我看来,最灵活和潜在的性能结构是一个简单的二维数组 bool
字段,像这样:
var wordMatrix = new bool[numDocuments,numWords];
单词本身应该在 string
的数组或列表中索引链接到词矩阵第二列的 s -- 由 numWords
定义的在上面的例子中。如果您需要快速搜索特定单词,可以使用 Dictionary<string, int>
,以键为词,值为索引,快速找到特定词的索引。
文档标识同样位于 int
的数组或列表中。 s 索引链接到第一列。我假设文档 ID 是那里的整数值。分类将是一个类似的数组或列表,尽管我会使用 enum
的列表s 表示分类的每个可能值。与单词搜索一样,如果您需要按 ID 搜索文档,您可以使用 Dictionary<int, int>
。作为您的搜索索引。
我对这个模型做了几个假设,特别是你想对单词在所有方向上的存在进行纯粹的计算,而不是“每个文档”。如果我错了,更简单的方法可能是按文档删除二维数组和模型,即单个 C# Document
类,带有 DocumentId
, 和 DocumentClasification
字段以及一个简单的 bool 数组,这些 bool 数组通过索引链接到单词列表。然后您可以使用这些 Document
的列表对象以及单独的单词列表。
一旦您有了喜欢的数据模型,将其保存到磁盘就是最简单的部分。只需使用 C# 序列化。您可以选择通过 XML 或二进制文件保存它。二进制自然会为您提供最小的文件大小(我估计略多于 200MB 加上 30000 字列表的大小)。如果包括字典查找索引,可能需要额外的 120kB。
关于c# - 代表一个巨大的矩阵/表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9824911/
我正在尝试在我的 UITableView 上调用 reloadData。我在没有界面生成器的情况下制作我的应用程序。 此代码适用于 Interface Builder,但似乎没有。 当我将我的代码与我
有人可以解释 UIAlertView 的委托(delegate)是如何工作的吗?它是自动调用还是我必须调用它?例如: - (void)alertView:(UIAlertView *)alertVie
编辑:好吧,根据其他人的建议,我创建了一个最小的示例......并且它有效,因此我将在未来与任何人分享它。这是工作代码: #include #include using namespace std
unicode 是 ,它被用在 XML 文档中。 最佳答案 查看图表:unicodelookup.com 换行符。 关于html - unicode字符是什么 代表?,我们在Stack Overflo
我有一个应用程序,可以以编程方式在配置的 Facebook 页面上发帖。我的应用程序显然已批准管理页面和发布页面权限,并且我正在使用页面访问 token 从现在开始一切正常,但最近当我在页面提要上发布
代表 NCAA 男子篮球分组的最佳数据库模式是什么?如果您不熟悉,请点击以下链接:http://www.cbssports.com/collegebasketball/mayhem/brackets/
所以我一直在阅读这个关于如何使用 Frida 的教程:https://www.frida.re/docs/functions/我遇到过以下情况: $ ./client 127.0.0.1 connec
委托(delegate)函数返回之前是否需要调用replyHandler?我需要进行几次 Web 服务 API 调用才能回复,以下实现正确吗? func session(_ session: WCSe
下面提到的是我的 textField 委托(delegate)方法,我正在使用 IQKeyBoardSwift 作为智能键盘。我尝试移除我的键盘,但我仍然没有收到任何关于接受“开始触摸”的方法的调用
我有一个表格 View ,其中几乎没有用于数据输入的文本字段和弹出窗口。我想将其中一些表示为强制性的。我不知道如何讨厌星号。任何帮助将不胜感激。 最佳答案 我认为你可以使用自定义 UITableVie
例如,我知道如何使用 numpy 对数组进行切片 v[1, :, :] 现在我想要一个函数将切片 (1,1,None) 作为输入并返回 v[1,:,:] 问题是我不知道如何表示省略号 最佳答案 您可以
修订... 应用程序的关键是与数据库服务器通信。服务器对应用程序的响应都是 XML 格式的。有几个屏幕。例如,屏幕 1 列出了用户的信息,屏幕 2 列出了用户过去的交易,允许新交易,等等。 这是我的
我想知道映射/表示内存的最佳方式是什么。我的意思是,例如,如何描述一个结构及其所有字段都被序列化。 我正在创建一个 RPC 库,它将使用 dwarf 调试数据创建客户端和服务器,因此我需要创建一个函数
如果我有一个实现了两个协议(protocol)的 View Controller : @interface CustomerOperationsViewController : UIViewContr
在 Objective-C 中我可以做这样的事情: @property (nonatomic, weak) id someObject; 如何在swift中做到这一点?我试过这个: let someO
我成功地使用了相当棒的 connection:didReceiveAuthenticationChallenge: NSURLConnectionDelegate 委托(delegate)方法。很酷。
我正在寻找原始数据类型的 @NonNull 等效 Java 注释。我知道原始数据不能为 null,但我找不到替代方法。 我想要实现的在逻辑上等同于: int mPageNumber; public v
我正在学习 Git,如果我能描述代表 Git 存储库的数学结构,那就太好了。例如:它是一个有向无环图;它的节点代表提交;它的节点有代表分支等的标签(每个节点最多一个标签,没有标签使用两次)。(我知道这
我看过很多与委托(delegate)相关的帖子,我想知道引用它们的正确方法。假设我有一个声明如下的对象: @interface MyViewController : UITableViewContro
我有这个类: public class Order { int OrderId {get; set;} string CustomerName {get; set;} } 我也声明下面的变
我是一名优秀的程序员,十分优秀!