问题标签 [spectral]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
57 浏览

r - 使用 ChemoSpec 从图中删除标签

我正在使用 ChemoSpec 绘制光谱数据,但我不想标记所有曲线。如何删除情节中的标签?

谢谢你 。

0 投票
2 回答
724 浏览

python - 将 .txt 数据加载到 10x256 3d numpy 数组中

我正在尝试将一些文本文件加载到 numpy 数组中。.txt 文件表示图像的像素,其中每个像素被赋予介于 -10 和 +10(对于 x)和 0 和 10 对于 y 之间的任意相对坐标。总的来说,图像是 10x256 像素。问题是每个像素都没有给出一个 RGB 值,而是给出了一个强度列表,该列表对应于第一个 /n 分隔的“标题”中的波长值。每个坐标作为两个第一个制表符分隔的项目给出,第一个条目只有“0 0”,因为文本文件的格式如下:

其中 839 和 838 表示两个不同相邻像素的波长 625.15360 的强度,一个在另一个之上(y 的变化很小)。此外,841 和 839 将是 625.69449 波长的强度,依此类推。

到目前为止,我的推理是使用np.genfromtxt()并添加到一个新数组 3D numpy 数组中迭代文件,其中每个变量(x,y,lambda)都被分配一个单一的强度值。另外,我认为如果 x 和 y 分别跨越 0-9 和 0-255 来表示图像而不是数据中给出的任意相对坐标,这将更有意义......

问题:我不知道如何将数据加载到 3x3 中(卡在 2x2 中),而且我似乎无法正确切片......

到目前为止我所拥有的:

在上述函数中的位置len(unique_y) = 10和位置。len(unique_x) = 256

0 投票
4 回答
23716 浏览

python - Python scikit-learn 每次运行后聚类结果的变化

我有一堆句子,我想使用 scikit-learn 谱聚类对它们进行聚类。我已经运行了代码并没有问题地得到结果。但是,每次我运行它时,我都会得到不同的结果。我知道这是启动的问题,但我不知道如何解决它。这是我在句子上运行的代码的一部分:

数据是句子的列表。每次代码运行时,我的聚类结果都会有所不同。如何使用光谱聚类获得一致的结果。我对 Kmean 也有同样的问题。这是我的 Kmean 代码:

感谢您的帮助。

0 投票
1 回答
5392 浏览

python - 使用 sklearn 和大亲和矩阵的光谱聚类

我正在尝试使用scikit-learn提供的谱聚类方法来聚合我的数据集的行(只有16000 行)。在我预先计算了或多或少分配 3 GB(我最多可以达到 8 GB)的亲和矩阵(16000x16000 浮点矩阵)之后出现了我的问题,使用 argpack 求解器调用该矩阵的方法需要更多内存并且cpu在尝试将事物进出内存时浪费了很多时间,以至于计算速度减慢至死。我也尝试在该方法之前调用垃圾收集器,但没有成功:

我怎样才能得到正在发生的事情的精确方案?这是一个已知的问题?python中是否有任何替代方法可以开箱即用地执行光谱聚类?

如果需要,我可以发布一个最小的工作示例。

更新 关于 lobpcg 求解器我错了,起初它似乎使用了我所有的内存,但后来稳定在 5Gb 左右,这个过程继续,但另一个问题出现了。似乎计算会导致一些数值不准确,最终会产生 Nans 或类似这样的错误(出现的错误会发生变化,而亲和力矩阵会发生一些变化,见下文):

我的亲和力度量是一个高斯核exp(-((X_1 - x_2)^2/2*sigma^2)),当尝试不同的 sigma 值时,结果会有很大差异。我可以理解,当某些条目接近于零时,可能会出现一些不准确性,但当我使用较大的 sigma 值(= 5.0)时,情况并非如此,而是让它们更接近 1.0。

现在我假设我遗漏了一些要点,或者我在此过程中做错了什么,所以我正在以新的目标更新这个问题。

作为参考,这是我计算亲和力矩阵的方式:

wheredata_slice是一个 numpy 数组,它的行是我的实例并self._sigma存储高斯 sigma 参数。

0 投票
1 回答
1181 浏览

matlab - Lomb-Scargle 周期图的实现

来自 matlab 官方网站,Lomb-Scargle 周期图定义为

http://www.mathworks.com/help/signal/ref/plomb.html#lomb

假设我们有一些随机信号让我们说

这个信号的平均值可以很容易地实现为

平均值=平均值(x);方差可以实现为

我该如何继续?我的意思是如何选择频率?时间偏移的计算不是问题,让我们假设我们有时间向量

因此时间向量的总长度为 1000,通常对于 DFT,频率 bin 表示为 2*pi/N 的乘数,其中 N 是信号长度,但是这种情况呢?提前致谢

0 投票
0 回答
110 浏览

matlab - MATLAB:具有指定模式的 FFT

使用 MATLAB 我想实现某种光谱方法。这个想法如下(描述了一个有效的例子)。

  1. Dirichlet(和 Neumann 和周期性)边界导致傅立叶空间中的特征值k=n*pi/L

  2. 将傅立叶空间中的所有线性算子投影到离散化的 k 值:

    例如L = -D*(k.*k)(仅用于扩散)

  3. 将传播者及时定义为P = exp( dt * L )

  4. 通过迭代计算时间演化uh_{n+1} = uh_n * P

  5. 每次我想通过以下方式保存值时,将计算值返回到真实空间ifft( uh )

我的问题涉及另一个边界条件。

就我而言,我有 Robin 边界条件。因此,特征值是通过一些奇怪的形式等式定义tan( x ) = x的。计算它们的问题就解决了。

因为我有价值观,所以步骤没有。2和3也很简单,但是

为了应用P傅立叶变换向量uh,我必须确保我uh = fft(u)使用相同的特征值,默认情况下并非如此。

默认情况下,MATLAB 对 fft 使用等距模式。

有什么简单的技巧吗?

或者,也许,我的想法有什么错误吗?

0 投票
1 回答
1637 浏览

python - 光谱嵌入 - 光谱聚类

我正在尝试使用归一化切割执行光谱嵌入/聚类。我编写了以下代码,但我遇到了一个逻辑瓶颈。对特征向量进行聚类后我该怎么办?我不知道如何在我的原始数据集上形成集群。(A是我的亲和力矩阵)

之后,我得到每个特征向量的标签。但是如何将这些标签链接到我的原始数据集上?

0 投票
0 回答
764 浏览

python - 如何评估 Nystrom 近似方法?

我想评估大型矩阵的Nystrom 逼近方法,如论文中所述,这可以通过计算 Schur 补码来完成,但对于大型数据集来说计算量太大。我正在使用该方法执行谱聚类,所以我认为可以通过找到质心的距离(在我的嵌入向量的 k-means 聚类之后)和我的嵌入向量的距离来评估它的性能,以便查看Nystrom 方法如何针对子集大小(A 矩阵)的不同选择执行。

0 投票
1 回答
140 浏览

graphics - 为什么我在使用 JPEG 图片时必须使用 2.2 的 gamma?

在渲染过程中,纹理文件的 gamma 为 2.2。但是纯色不需要这种伽马校正,特别是如果 RGB 值来自光谱特征。

那么,为什么我要在我的纹理文件中使用 2.2 的 gamma 呢?为什么在 CG 世界中我们使用 2.2 伽玛图像?为什么我们不对具有真实颜色的图像使用 1 的 gamma 呢?

0 投票
1 回答
94 浏览

matlab - MATLAB中的谱导数,终点问题

我正在尝试使用以下几行来获取具有 125 个波段的 a 频谱的导数:

问题是在下一步中,我想将它与原始光谱进行数值比较,也可以通过绘图在视觉上进行比较,但 df 的大小是 124,但我的原始波长是 125。问题是我必须删除第一个或最后一个波段吗?然而,一些光谱分析软件的输出并没有改变大小。取频带的平均值也不起作用,它使图表显示出疯狂的行为。