问题标签 [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.
python - Python 中的神经网络,不使用任何现成的库......即,从第一原理......帮助!
我正在尝试在 python 中学习编程,并且还在努力建立一个神经网络的最后期限,该网络看起来将具有多向关联记忆和循环连接等特点。虽然所有这些东西的数学都可以从各种文本和资源中获取(并且可以说是可以访问的),但作为 python 的新手(以及作为一种职业的编程),当我尝试时,我有点漂浮在太空中寻找苍穹去“实施”事情!!任何关于从头开始构建神经网络的优秀在线教程的信息将不胜感激:)
与此同时,我正在兼职作为 MatLab 用户来护理 Python 造成的伤口 :)
python - Scipy loadmat 只加载整数?
看来我只能将所有内容加载为 uint8 类型,只需以下两行,
导入 scipy.io X1=scipy.io.loadmat('one.mat')
所有双精度数字都会被转换。我相信 scipy 的创造者已经意识到浮点数更常见的事实......
所以我该怎么做?谢谢!
python - Python/SciPy 的寻峰算法
我可以通过查找一阶导数的过零或其他东西来自己编写一些东西,但这似乎是一个足够通用的函数,可以包含在标准库中。有人知道吗?
我的特定应用是二维数组,但通常它会用于在 FFT 等中查找峰值。
具体来说,在这类问题中,有多个强峰,然后是许多较小的“峰”,这些“峰”只是由噪声引起的,应该忽略。这些只是例子;不是我的实际数据:
一维峰:
二维峰:
寻峰算法会找到这些峰值的位置(不仅仅是它们的值),并且理想情况下会找到真正的样本间峰值,而不仅仅是具有最大值的索引,可能使用二次插值或其他方法。
通常,您只关心几个强峰,因此选择它们要么是因为它们高于某个阈值,要么是因为它们是按幅度排序的有序列表的前n 个峰。
正如我所说,我知道如何自己写这样的东西。我只是想问一下是否有一个已知运行良好的预先存在的功能或包。
更新:
我翻译了一个 MATLAB 脚本,它适用于一维案例,但可能会更好。
更新更新:
Sixtenbe为一维案例创建了一个更好的版本。
python - Python中的主成分分析
我想使用主成分分析(PCA)进行降维。numpy 或 scipy 是否已经拥有它,还是我必须自己使用numpy.linalg.eigh
?
我不只是想使用奇异值分解 (SVD),因为我的输入数据是相当高维的(~460 维),所以我认为 SVD 会比计算协方差矩阵的特征向量慢。
我希望找到一个预制的、经过调试的实现,它已经为何时使用哪种方法做出了正确的决定,并且可能会进行我不知道的其他优化。
python - 如何将 NumPy 数组标准化到一定范围内?
在对音频或图像数组进行一些处理后,需要在一定范围内对其进行归一化,然后才能将其写回文件。这可以这样做:
有没有一种不那么冗长、方便的功能方法来做到这一点?matplotlib.colors.Normalize()
似乎没有关系。
python - 如何计算字段的拉普拉斯算子?
我正在尝试使用scipy.ndimage.convolve计算二维字段A的拉普拉斯算子。
不过,这似乎并没有给我正确的答案。有什么想法会出错,或者有更好的方法来计算 numpy 中的拉普拉斯算子吗?
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 月)
python - 为什么这两个数学函数不返回相同的结果?
我正在尝试使用花哨的索引而不是循环来加速 Numpy 中的函数。据我所知,我已经正确实现了精美的索引版本。问题是这两个函数(循环和花式索引)不返回相同的结果。我不确定为什么。值得指出的是,如果使用较小的数组(例如,20 x 20 x 20),这些函数会返回相同的结果。
下面我已经包含了重现错误所需的所有内容。如果函数确实返回相同的结果,则该行find_maxdiff(data) - find_maxdiff_fancy(data)
应返回一个全零的数组。
python - 对 NumPy 数组执行操作,但从这些操作中沿对角线屏蔽值
因为我可以对数组执行操作,所以计算对角线上什么都不做,这样除了对角线之外的所有东西
避免 NaN 值,但在所有响应中保留对角线上的零值
python - C 语言中有多少 NumPy 和 SciPy?
NumPy 和/或 SciPy 的一部分是用 C/C++ 编程的吗?
从 Python 调用 C 的开销与从 Java 和/或 C# 调用 C 的开销相比如何?
我只是想知道对于科学应用程序来说,Python 是否比 Java 或 C# 更好。
如果我看看枪战,Python 会以巨大的优势输掉比赛。但我想这是因为他们在这些基准测试中没有使用 3rd-party 库。