【发布时间】:2022-06-19 19:25:58
【问题描述】:
我正在尝试在 Octave 中运行以下代码。变量“数据”由 864 行和 25333 列组成。
clc; clear all; close all;
pkg load statistics
GEO = load("GSE59739.mat");
GEOT = tabulate(GEO.class)
data = GEO.data;
clear GEO
idx = kmeans(data,3,'Distance','cosine');
test1 = silhouette(data, idx, 'cosine');
xlabel('Silhouette Value')
ylabel('Cluster')
这是我在尝试运行剪影函数时遇到的错误: “错误:内存不足或尺寸对于 Octave 的索引类型而言太大”。关于如何修复它的任何想法?
【问题讨论】:
-
获取更多内存...
-
或减小数据大小...
-
data的内存占用只有 173MB,所以应该不是问题。问题似乎更多的是关于剪影如何处理这些数据。你用的是哪个版本的八度?您是否尝试过为 64 位索引编译的版本?请参阅以下内容,了解为什么您可能会达到索引限制,而不是内存限制:stackoverflow.com/questions/45881343/… -
请用实际的错误消息更新问题,包括函数堆栈信息和行号。我看到的是错误来自
silhouette对pdist的调用,这可能会以低效的方式对您的数据进行一些转换。
标签: out-of-memory octave k-means silhouette