我有一个很大的数据集(我不能把整个数据放在内存中)。我想在这个数据集上加入一个GMM。
我可以在小批数据上重复使用GMM.fit() (sklearn.mixture.GMM)吗??
发布于 2015-03-17 10:08:08
没有理由重复使用它。只要随机抽样尽可能多的数据点,你认为你的机器可以在一个合理的时间内计算。如果变化不是很大,随机样本的分布将与整个数据集大致相同。
randomly_sampled = np.random.choice(full_dataset, size=10000, replace=False)
#If data does not fit in memory you can find a way to randomly sample when you read it
GMM.fit(randomly_sampled)以及使用
GMM.predict(full_dataset)
# Again you can fit one by one or batch by batch if you cannot read it in memory对其他人进行分类。
发布于 2015-03-17 21:08:54
fit将永远忘记以前的数据,在科学知识-学习。对于增量拟合,有partial_fit函数。不幸的是,GMM还没有partial_fit,所以您不能这样做。
发布于 2016-04-07 22:41:43
我认为在创建init_para对象时,可以将GMM设置为空字符串'',然后可以训练整个数据集。
https://stackoverflow.com/questions/29095769
复制相似问题