我想在大文本语料库中应用快速在线降维技术,如(在线/小批量)字典学习.我的输入数据自然不适合内存(这就是我想使用在线算法的原因)所以我正在寻找一种可以迭代文件而不是将所有内容加载到内存中的实现.是否可以使用sklearn执行此操作?有替代品吗?
谢谢注册
嗨伙计们:我试图确定VowpalWabbit的"状态"如何随着输入集的大小增长而保持.在典型的机器学习环境中,如果我有1000个输入向量,我希望一次发送所有这些,等待模型构建阶段完成,然后使用该模型创建新的预测.
在大众,似乎算法的"在线"性质使这种范式转变为更高性能并且能够实时调整.
1)如何实施这种实时模型修改?
2)随着时间的推移,大众在总输入数据大小方面是否会增加资源?也就是说,当我向我的VW模型添加更多数据时(当它很小时),一旦累积的特征向量输入增加到1000s,10000s或数百万,实时调整计算是否会开始花费更长时间?
performance scalability machine-learning vowpalwabbit online-algorithm
通常情况下,我有一个更技术性的问题,但我会用一个计数球的例子为你简化它.
假设我有不同颜色的球和为每种颜色保留的阵列的一个索引(初始化为全0).每次我选球时,我都会将相应的索引增加1.
球是随机挑选的,我一次只能挑一个球.我唯一的目的是计算每种颜色的球数,直到我用完球.
我想计算不同颜色的球数的标准偏差,而我正在计算它们.在完成对所有球的计数之后,我不想再次遍历数组来计算它.
想象:
球以随机顺序:( BBGRRYYBBGGGGGGB每个字母代表一种颜色的第一个字母)从0到3的数组索引分别对应于颜色B,G,R和Y. 当我完成拾球时,我的阵列看起来像[5,7,2,2].
在得到最终数组后计算标准偏差非常简单,但我想在填充此数组时这样做.
我想用Java做,我有大约1000种颜色.
实现这一目标的最有效方法是什么?或者在掌握最终阵列之前是否有办法做到这一点?
java algorithm statistics standard-deviation online-algorithm
在线排序算法和外部排序算法有什么区别?它们是相同的还是不同的?
algorithm ×2
java ×1
large-data ×1
performance ×1
scalability ×1
scikit-learn ×1
sorting ×1
statistics ×1
vowpalwabbit ×1