machine-learning - 检测连续输入的数值数据中的峰值
解决方案
这取决于你所说的峰值。如果您调用峰值上升 10 点或更多,您可以尝试这样的操作:
import numpy as np
min_peak_diff = 10
arr = np.array([3,5,10,42,4,3,6,66,8,12,7,5])
ind = np.add(np.where(arr[1:] >= arr[:-1] + min_peak_diff), 1)
print('peak indexes:', ind)
print('peak values:', arr[ind])
结果:
peak indexes: [[3 7]]
peak values: [[42 66]]
但如果你真的想使用机器学习方法,你可以看看:
- 关于这个主题的 scikit-learn 页面(它有很多方法)https://scikit-learn.org/stable/modules/outlier_detection
- Python异常值检测库https://github.com/yzhao062/pyod
推荐阅读
- ios - Swift:带有“for”的函数参数
- python - 如何旋转点云以与重力方向对齐?
- ios - 子视图不会随着 superView 的大小变化而调整大小
- javascript - 如何使用 JavaScript 在单击事件上显示工具提示
- neo4j - 删除旧的未使用项目后,Neo4j Desktop 不再启动
- linker - 如何在 Linux 上的 C 语言中从其他几个静态库创建一个静态库?
- html - 用美丽的汤刮 fanduel 体育博彩的赔率
- python - Keras:当 shuffle=False 或 True 时 model.fit() 的性能
- apache-httpclient-4.x - 是否可以使用 Apache HTTPClient 4.2.5 发出 HTTP/2 请求?
- javascript - 通过外部 api 从重定向 url 存储访问令牌