一种自适应选择曲线拟合模型的工具。
项目描述
自适应曲线拟合工具
自适应曲线拟合是一种为您的研究数据寻找潜在最优模型的工具。它基于scipy、numpy和matplotlib。
目录
为什么是这个工具
自适应曲线拟合与numpy.polyfit、scipy.optimize.curve_fit或scipy.optimize.least_squares的区别在于您不知道要拟合哪个模型的假设。如果你已经有了预期的模型,scipy和numpy中的方法是很棒的工具,而且比这个更好。当您探索未知事物时,这将是一个可能。
安装、更新和卸载
安装
使用pip快速安装:
pip install adaptive-curvefitting
或者来自github:
pip install git+https://github.com/longavailable/adaptive-curvefitting
更新
pip install --upgrade adaptive-curvefitting
卸载
pip uninstall adaptive-curvefitting
用法
导入需要的模块
一般来说,
import longscurvefitting
或导入指定函数:
from longscurvefitting import oneClickCurveFitting
from longscurvefitting import generateFunction
from longscurvefitting import generateModels
进行曲线拟合
oneClickCurveFitting(xdata, ydata)
有一些可选参数oneClickCurveFitting。
- 功能:指定或所有(默认)基本模型(模型名称)以适应。
- 类型:字符串列表
- 默认值:basicModels_nameList
- 分段:如果考虑自定义分段函数。当数据大小小于 20 时,强制不要“分段”。
- 类型:布尔
- 默认值:假
- operator:基本模型之间的操作。
- 类型:字符串
- 默认值:'+'
- maxCombination:基本模型的最大组合数。
- 类型:整数
- 默认值:2
- plot_opt:最优模型的图数。
- 类型:整数
- 默认值:10
- xscale: {"linear", "log", "symlog", "logit", ...} 之一
- 类型:字符串
- 默认值:无
- yscale: {"linear", "log", "symlog", "logit", ...} 之一
- 类型:字符串
- 默认值:无
- filename_startwith:作为输出文件名一部分的自定义字符串标记
- 类型:字符串
- 默认值:“曲线拟合”
- 静音:要监控的最小输出
- 类型:布尔值
- 默认值:假
- 反馈:如果为真,返回最优模型(函数对象),参数
- 类型:布尔值
- 默认值:假
- kwargs:传递给
curve_fit_m. 注意bounds和p0多模型时无效。- 类型:字典
请参阅完整示例“ /tests/curvefitting.py ”。
生成预期模型
创建一个由 gaussian 和 erf 函数合成的模型:
funcs = ['gaussian','erf']
myfunc = generateFunction(funcs, functionName='myfunc', operator='+')['model']
请参阅完整示例“ /tests/custom_a_model.py ”。
重新使用拟合曲线
请参阅完整示例“ /tests/reuse_the_fitted_model.py ”。
短缺
- 基于scipy.optimize.least_squares,它不能增强指定模型的估计。甚至,它比scipy.optimize.least_squares有更多的限制。例如, 的论点
bounds,x0或p0由于基本假设不被支持。
如何引用
如果此工具对您的研究有用,请加注 星标并引用如下:
Xiaolong Liu, & Meixiu Yu. (2020, June 14). longavailable/adaptive-curvefitting. Zenodo.
http://doi.org/10.5281/zenodo.3893596
很容易,您可以将其导入到 门德利。
变更日志
v0.1.3
- 第一次发布。
v0.1.4
- 添加
queryModel()以简化拟合模型的重用。 - 替换
from scipy._lib._util import getargspec_no_self as _getargspec为from ._helpers import funcArgsNr
v0.1.5
- 更新了 sci 的过时模块。
项目详情
关
Adaptive_curvefitting-0.1.5- py3 -none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ccdc2f1a88410dc7aded4d00630248eb784e40fb51eb12887af4f7b8bc748706 |
|
| MD5 | 90bcf5efd87e1a8bd71c4cabb56a395a |
|
| 布莱克2-256 | 7b0b3c2549ee7c35a6c86b3143566c60abbd9825eda2beb87f93a868d52471f8 |