`
huangyongxing310
  • 浏览: 499101 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

多项式回归 例子

 
阅读更多
多项式回归

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

data = np.array([[-3, 9],
                 [-2.5, 6.25],
                 [-2, 4],
                 [-1.5, 2.25],
                 [-1, 1],
                 [-0.5, 0.25],
                 [-0.5, 0.25],
                 [1, 1.01],
                 [1.1, 1.21],
                 [1.5, 2.25],
                 [2, 4],
                 [2.5, 6.25],
                 [3, 9], ])
m = data.shape[0]  # 样本大小,行数13
print(data.shape) #返回矩阵的行数和列数(13, 2)

X = data[:, 0].reshape(-1, 1)  # 将array转换成矩阵(变成n行1列)
y = data[:, 1].reshape(-1, 1)

print("X=",X)
print("y=",y)
#画相关的点
plt.plot(X, y, "b.")
plt.xlabel('X')
plt.ylabel('y')
plt.show()

# plt.savefig('regu-2.png', dpi=200) #保存为图片

#进行参数二阶处理
poly_features = PolynomialFeatures(degree=2, include_bias=False)
#degree多项式的阶数,一般默认是2。
#include_bias是否包含偏差列
X_poly = poly_features.fit_transform(X)
print("X_poly")
print(X_poly)

#进行线性回归计算
lin_reg = LinearRegression()
lin_reg.fit(X_poly, y)
print(lin_reg.intercept_, lin_reg.coef_)  # [ 2.60996757] [[-0.12759678  0.9144504 ]]

#画拟合线
X_plot = np.linspace(-3, 3, 1000).reshape(-1, 1)#-3到3的1000个点
X_plot_poly = poly_features.fit_transform(X_plot)#进行数据平方
print("X_plot_poly")
print(X_plot_poly)

y_plot = np.dot(X_plot_poly, lin_reg.coef_.T) + lin_reg.intercept_ #np.dot矩阵乘法
plt.plot(X_plot, y_plot, 'r-')
plt.plot(X, y, 'b.')
plt.show()

#mean_squared_error"来计算误差
h = np.dot(X_poly, lin_reg.coef_.T) + lin_reg.intercept_

print(mean_squared_error(h, y)) # 0.0004398099539114421

testData=[[1.6]]
testData_poly = poly_features.fit_transform(testData)#进行数据平方
print("testData_poly")
print(testData_poly)

print(lin_reg.predict([[1.6,2.56]]))      #预测值

分享到:
评论

相关推荐

    3,多项式回归(数据升维).ipynb

    3,多项式回归(数据升维).ipynb

    详解Pytorch 使用Pytorch拟合多项式(多项式回归).pdf

    总的来说,这个例子展示了如何使用PyTorch构建一个简单的多项式回归模型,从数据处理、模型定义、损失计算到训练过程。理解这些步骤对于熟悉PyTorch和深度学习实践至关重要。通过不断地实践和调整,我们可以用这种...

    PyTorch搭建多项式回归模型(三)

    PyTorch基础入门三:PyTorch搭建多项式回归模型  1)理论简介 对于一般的线性回归模型,由于该函数拟合出来的是一条直线,所以精度欠佳,我们可以考虑多项式回归来拟合更多的模型。所谓多项式回归,其本质也是线性...

    scikit-learn线性回归,多元回归,多项式回归的实现

    在Python中,scikit-learn库提供了强大的工具来实现线性回归模型,包括一元线性回归、多元线性回归以及多项式回归。 一元线性回归仅涉及一个自变量和一个因变量,模型表达式为y = α + βx,其中α是截距,β是斜率...

    数据分析实战 - 线性回归-女性身高与体重数据分析

    在这个案例中,我们将关注女性身高与体重的关系,通过Python编程实现简单线性回归和多项式回归模型。以下是详细的知识点解析: 1. **简单线性回归**: 简单线性回归是回归分析的一种基本形式,它建立了一个线性...

    线性回归的python例子

    为改善模型,可以尝试多项式回归、岭回归或Lasso回归等方法。此外,如果数据集中存在多重共线性或异常值,还需要进行特征缩放、主成分分析(PCA)或其他预处理步骤。在实际应用中,应根据具体问题选择合适的方法,...

    最小二乘法的基本原理和多项式拟合

    例子 例如,测得铜导线在温度$i$(℃)时的电阻$R_i$(Ω)如表 6-1所示,求电阻$R$与温度$T$的近似函数关系。 通过画出散点图,我们可以看到测得的数据接近一条直线,故取$n=1$,拟合函数为$R = a_1T + a_0$。...

    二次多项式拟合 源码

    二次多项式拟合是数据分析和建模中常用的技术,它通过一个二次函数来近似一组...同时,这种方法也是线性代数和统计学中的基本概念,对于理解更复杂的拟合技术,如高次多项式拟合、多项式回归等,有着重要的基础作用。

    详解Pytorch 使用Pytorch拟合多项式(多项式回归)

    希望通过实战几个Pytorch的例子,让大家熟悉Pytorch的使用方法,包括数据集创建,各种网络层结构的定义,以及前向传播与权重更新方式。 比如这里给出   很显然,这里我们只需要假定 这里我们只需要设置一个合适...

    VScode中利用TensorFLow.js实现线性回归源码

    这个例子中,我们训练了1000个周期(epochs)。训练完成后,我们可以使用模型进行预测: ```javascript const xNew = tf.tensor2d([5]); const prediction = model.predict(xNew); prediction.print(); ``` 这就是...

    非线性的回归函数PPT学习教案.pptx

    多项式回归是一种常见的非线性回归方法,通过引入自变量的高次项来构建非线性模型。例如,二次多项式回归会包含自变量的一次项和二次项。确定多项式阶数通常是根据数据的拟合情况和理论背景来选择的。泰勒展开是理解...

    Multivariate Polynomial Regressio.zip

    多元多项式回归是一种统计建模方法,用于分析两个或多个自变量与一个因变量之间的复杂关系。在机器学习和数据分析领域,它属于线性回归的一种扩展形式,允许模型拟合非线性的数据趋势。本资料包"Multivariate ...

    MATLAB统计工具箱中的回归分析命令.pdf

    这篇上机报告主要探讨了如何使用MATLAB进行一元线性回归、二元多项式回归以及非线性回归。以下是对这些回归分析命令的详细解释: 1. **一元线性回归**: 使用`regress`命令可以进行一元线性回归分析,计算回归系数...

    大数据的回归分析报告报告材料和拟合地Matlab实现.pdf

    本教程主要讲解了如何利用Matlab进行大数据的回归分析,包括多元线性回归、多项式回归、非线性回归和逐步回归。 **一、多元线性回归** 在Matlab中,可以使用`regress`函数进行多元线性回归分析。例如,`b=regress(Y...

    回归分析原理及例子

    非线性回归分析是指回归方程中包含非线性项的情况,例如多项式回归、指数回归等。这些回归模型的参数估计可以使用非线性最小二乘法或最大似然估计等方法。 回归分析是一种非常有用的统计方法,广泛应用于各个领域,...

    回归模型python实现

    总结来说,这个例子涉及了回归分析的基础知识,特别是线性回归和多项式回归在Python中的实现。通过学习这个例子,你可以掌握如何使用Python进行数据预处理、构建和训练模型,以及评估预测性能。这对于初学者和进阶者...

    多元回归分析matlab剖析.pdf

    举个例子,假设我们记录了物体降落距离`s`与时间`t`的关系,可以使用`polyfit`建立关于`t`的二次多项式回归模型。给定的时间和距离数据可以通过`t=1/30:1/30:14/30; s=[...];`定义,然后使用`polyfit(t, s, 2)`计算...

    polyreg - 数据点 N 阶多项式回归:该函数使用回归技术将 n 阶多项式拟合到给定的数据点 (x,y)-matlab开发

    % 聚合物% 此函数将 n 阶多项式拟合到给定的数据点 (x,y) % 使用回归技术% ----------------------------------------------- % 输入% xx 点% yf(x) % n 多项式阶数; 1 为线性% ----------------------------------...

    duoxiangshi.rar_多项式运算

    在实际应用中,多项式运算用于模拟物理现象(如振动和波动)、解决线性方程组、信号处理(滤波器设计)、图像处理、机器学习(多项式回归)等。了解并掌握这些基础运算对于理解和应用这些领域的算法是至关重要的。 ...

    回归分析与matlab实现.pdf

    MATLAB是一款强大的数学计算软件,它提供了丰富的工具来执行回归分析,包括线性回归、非线性回归、多项式回归以及逐步回归等。 在MATLAB中,回归分析的一个基本例子是倒指数曲线的拟合。例如,如果我们有散点图,...

Global site tag (gtag.js) - Google Analytics