zoukankan      html  css  js  c++  java
  • numpy进行多项式拟合

    1、有一些点的集合,进行Least squares polynomial fit.

    x = np.array([-1,0,1])  #x坐标

    y = np.array([1,0,1])

    f1 = np.polyfit(x,y,2) # f1是拟合后的多项式的系数,是一个array,degree从高到低排列

    p = np.poly1d(f1) # p是二项式的函数,可以带入x进行计算

    print(p(1))

    2、拟合后我们如何评判拟合的准确程度?

    使用R2拟合优度指数进行评价。

    我们认为,用y的平均去预测y是一个最差情况(实际上可能比这个还差,比如实际值都是1,预测值却都是10000),任何预测都应该比这个准.

    于是R2=1-SSE/SST 也就是预测值和真实值的残差平方和要小于平均值和真实值的残差平方和,即SSE<SST。R2一般介于0和1之间,越大拟合效果越好,但如果模型出乎意料的非常差,可能为负。

    Best possible score is 1.0 and it can be negative (because the
    model can be arbitrarily worse).

    计算R2值

    from sklearn.metrics import r2_score
    coefficient_of_determination = r2_score(y_true, p(x))
    y_true: array-like
    p(x): array-like
  • 相关阅读:
    IntelliJ Idea 快速配置
    常用资源工具集合
    IntelliJ Idea 快捷键大全
    spring boot注解梳理
    boot中的Scheduling定时器使用笔记
    OKHttp使用笔记
    EasyExcel使用笔记
    自定义注解用AOP实现接口信息打印
    Java的具体集合
    linux修改系统时间
  • 原文地址:https://www.cnblogs.com/yjybupt/p/12972682.html
Copyright © 2011-2022 走看看