问题标签 [scipy]

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 投票
3 回答
4230 浏览

python - Python 中的神经网络,不使用任何现成的库......即,从第一原理......帮助!

我正在尝试在 python 中学习编程,并且还在努力建立一个神经网络的最后期限,该网络看起来将具有多向关联记忆和循环连接等特点。虽然所有这些东西的数学都可以从各种文本和资源中获取(并且可以说是可以访问的),但作为 python 的新手(以及作为一种职业的编程),当我尝试时,我有点漂浮在太空中寻找苍穹去“实施”事情!!任何关于从头开始构建神经网络的优秀在线教程的信息将不胜感激:)

与此同时,我正在兼职作为 MatLab 用户来护理 Python 造成的伤口 :)

0 投票
1 回答
1348 浏览

python - Scipy loadmat 只加载整数?

看来我只能将所有内容加载为 uint8 类型,只需以下两行,

导入 scipy.io X1=scipy.io.loadmat('one.mat')

所有双精度数字都会被转换。我相信 scipy 的创造者已经意识到浮点数更常见的事实......

所以我该怎么做?谢谢!

0 投票
9 回答
176924 浏览

python - Python/SciPy 的寻峰算法

我可以通过查找一阶导数的过零或其他东西来自己编写一些东西,但这似乎是一个足够通用的函数,可以包含在标准库中。有人知道吗?

我的特定应用是二维数组,但通常它会用于在 FFT 等中查找峰值。

具体来说,在这类问题中,有多个强峰,然后是许多较小的“峰”,这些“峰”只是由噪声引起的,应该忽略。这些只是例子;不是我的实际数据:

一维峰:

带峰值的 FFT 输出

二维峰:

带圆圈峰值的氡变换输出

寻峰算法会找到这些峰值的位置(不仅仅是它们的值),并且理想情况下会找到真正的样本间峰值,而不仅仅是具有最大值的索引,可能使用二次插值或其他方法。

通常,您只关心几个强峰,因此选择它们要么是因为它们高于某个阈值,要么是因为它们是按幅度排序的有序列表的前n 个峰。

正如我所说,我知道如何自己写这样的东西。我只是想问一下是否有一个已知运行良好的预先存在的功能或包。

更新:

翻译了一个 MATLAB 脚本,它适用于一维案例,但可能会更好。

更新更新:

Sixtenbe为一维案例创建了一个更好的版本

0 投票
11 回答
98774 浏览

python - Python中的主成分分析

我想使用主成分分析(PCA)进行降维。numpy 或 scipy 是否已经拥有它,还是我必须自己使用numpy.linalg.eigh

我不只是想使用奇异值分解 (SVD),因为我的输入数据是相当高维的(~460 维),所以我认为 SVD 会比计算协方差矩阵的特征向量慢。

我希望找到一个预制的、经过调试的实现,它已经为何时使用哪种方法做出了正确的决定,并且可能会进行我不知道的其他优化。

0 投票
8 回答
382014 浏览

python - 如何将 NumPy 数组标准化到一定范围内?

在对音频或图像数组进行一些处理后,需要在一定范围内对其进行归一化,然后才能将其写回文件。这可以这样做:

有没有一种不那么冗长、方便的功能方法来做到这一点?matplotlib.colors.Normalize()似乎没有关系。

0 投票
4 回答
5863 浏览

python - 如何计算字段的拉普拉斯算子?

我正在尝试使用scipy.ndimage.convolve计算二维字段A的拉普拉斯算子。

不过,这似乎并没有给我正确的答案。有什么想法会出错,或者有更好的方法来计算 numpy 中的拉普拉斯算子吗?

0 投票
2 回答
666 浏览

python - 调试数值稳定性问题的策略?

我正在尝试为 Python 编写 Wilson 的谱密度分解算法 [1] 的实现。该算法迭代地将 [QxQ] 矩阵函数分解为其平方根(它是用于谱密度矩阵的 Newton-Raphson 平方根查找器的一种扩展)。

问题是我的实现只收敛于大小为 45x45 或更小的矩阵。所以经过 20 次迭代后,矩阵之间的平方和差约为 2.45e-13。但是,如果我输入大小为 46x46 的输入,它直到第 100 次左右迭代才会收敛。对于 47x47 或更大,矩阵永远不会收敛;误差在 100 到 1000 之间波动大约 100 次迭代,然后开始快速增长。

你将如何尝试调试这样的东西?似乎没有任何具体的疯狂点,而且矩阵太大,我无法真正尝试手动进行计算。有没有人有提示/教程/启发式来找到像这样奇怪的数字错误?

我以前从未处理过这样的事情,但我希望你们中的一些人...

谢谢, - 丹

[1] GT威尔逊。“矩阵谱密度的分解”。SIAM J. 应用程序。数学(第 23 卷,第 4 期,1972 年 12 月)

0 投票
2 回答
769 浏览

python - 为什么这两个数学函数不返回相同的结果?

我正在尝试使用花哨的索引而不是循环来加速 Numpy 中的函数。据我所知,我已经正确实现了精美的索引版本。问题是这两个函数(循环和花式索引)不返回相同的结果。我不确定为什么。值得指出的是,如果使用较小的数组(例如,20 x 20 x 20),这些函数会返回相同的结果。

下面我已经包含了重现错误所需的所有内容。如果函数确实返回相同的结果,则该行find_maxdiff(data) - find_maxdiff_fancy(data)应返回一个全零的数组。

0 投票
4 回答
490 浏览

python - 对 NumPy 数组执行操作,但从这些操作中沿对角线屏蔽值

因为我可以对数组执行操作,所以计算对角线上什么都不做,这样除了对角线之外的所有东西

避免 NaN 值,但在所有响应中保留对角线上的零值

0 投票
5 回答
20831 浏览

python - C 语言中有多少 NumPy 和 SciPy?

NumPy 和/或 SciPy 的一部分是用 C/C++ 编程的吗?

从 Python 调用 C 的开销与从 Java 和/或 C# 调用 C 的开销相比如何?

我只是想知道对于科学应用程序来说,Python 是否比 Java 或 C# 更好。

如果我看看枪战,Python 会以巨大的优势输掉比赛。但我想这是因为他们在这些基准测试中没有使用 3rd-party 库。