对两组成明显对数关系的数据进行拟合并输出公式与python实现

23.08.06 对于两组明显的对数关系数据,进行拟合并输出公式

拟合

​ 对于两组根据经验公式推测为对数关系的数据,我们除了学习机器学习相关知识外,还可以直接调用np的函数进行拟合。

​ 通过使用np.polyfit()函数,输入x坐标系数、y坐标系数,多项式的度,可通过最小二乘法直接输出斜率与截距。对于对数函数,可以通过对x坐标系数进行对数计算后在做输出。代码示例:

def code_01(data_array):
    ret = np.zeros(2)
    x = np.log(data_array[:, 0])    # 拼贴误差
    y = data_array[:, 1]    # psnr
    #----------------------------------------------------------
    coefficients = np.polyfit(x, y, 1)  # 拟合对数关系,返回拟合曲线的系数
    slope = coefficients[0]  # 斜率
    intercept = coefficients[1]  # 截距
    log_equation = f"y = {slope:.3f} * loge(x) + {intercept:.2f}"  # 对数关系公式
    ret[0] = slope
    ret[1] = intercept
    print("对数关系公式:", log_equation)
    # ----------------------------------------------------------
    return ret

​ 该函数中通过输入二维数组,对拼贴误差进行对数计算后,与psnr一并输入np函数,随后将输出的斜率与截距进行打印并输出。

注:适用于对数关系明显的数据,本质是对一元一次方程进行预测。

拟合效果检验

为了解线性回归模型优略,具有以下指标,分别为:均方误差、均方根误差、平均绝对误差、R方指标。

  • 均方误差(MSE): 对每个数据的真实值与预测值做差后进行平方和后再做均值处理

  • 均方根误差(RMSE): 即对军方误差最后结果进行开方

  • 平均绝对误差(MAE): 对每个数据的真实值与预测值做差后的绝对值进行累加后再做均值处理

  • R方指标(R Squared): 即1减去(均方误差 / 方差)。其小于等于1,等于1时最好,均方误差为0。(R方可以对不同回归问题的模型准确度进行统一衡量)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值