机器学习sklearn(79):算法实例(三十六)回归(八)线性回归大家族(六)非线性问题:多项式回归(一)
2021/7/3 9:51:19
本文主要是介绍机器学习sklearn(79):算法实例(三十六)回归(八)线性回归大家族(六)非线性问题:多项式回归(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 重塑我们心中的“线性”概念
![](/upload/202107/03/202107030951136333.png)
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.tree import DecisionTreeRegressor2. 创建需要拟合的数据集
rnd = np.random.RandomState(42) #设置随机数种子 X = rnd.uniform(-3, 3, size=100) #random.uniform,从输入的任意两个整数中取出size个随机数 #生成y的思路:先使用NumPy中的函数生成一个sin函数图像,然后再人为添加噪音 y = np.sin(X) + rnd.normal(size=len(X)) / 3 #random.normal,生成size个服从正态分布的随机数 #使用散点图观察建立的数据集是什么样子 plt.scatter(X, y,marker='o',c='k',s=20) plt.show() #为后续建模做准备:sklearn只接受二维以上数组作为特征矩阵的输入 X.shape X = X.reshape(-1, 1)3. 使用原始数据进行建模
#使用原始数据进行建模 LinearR = LinearRegression().fit(X, y) TreeR = DecisionTreeRegressor(random_state=0).fit(X, y) #放置画布 fig, ax1 = plt.subplots(1) #创建测试数据:一系列分布在横坐标上的点 line = np.linspace(-3, 3, 1000, endpoint=False).reshape(-1, 1) #将测试数据带入predict接口,获得模型的拟合效果并进行绘制 ax1.plot(line, LinearR.predict(line), linewidth=2, color='green', label="linear regression") ax1.plot(line, TreeR.predict(line), linewidth=2, color='red', label="decision tree") #将原数据上的拟合绘制在图像上 ax1.plot(X[:, 0], y, 'o', c='k') #其他图形选项 ax1.legend(loc="best") ax1.set_ylabel("Regression output") ax1.set_xlabel("Input feature") ax1.set_title("Result before discretization") plt.tight_layout() plt.show() #从这个图像来看,可以得出什么结果?
![](/upload/202107/03/202107030951177329.png)
![](/upload/202107/03/202107030951179814.png)
![](/upload/202107/03/202107030951184653.png)
这篇关于机器学习sklearn(79):算法实例(三十六)回归(八)线性回归大家族(六)非线性问题:多项式回归(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-24手把手教你使用MDK仿真调试
- 2024-01-10基于“小数据”的机器学习
- 2024-01-08扩展卡尔曼滤波:提高机器学习性能的利器
- 2023-12-26各种二端口滤波器网络仿真遇到的问题
- 2023-12-14机器学习-搜索技术:从技术发展到应用实战的全面指南
- 2023-12-12机器学习 - 决策树:技术全解与案例实战
- 2023-12-05机器学习-学习率:从理论到实战,探索学习率的调整策略
- 2023-12-04解锁机器学习-梯度下降:从技术到实战的全面指南
- 2023-11-30回归算法全解析!一文读懂机器学习中的回归模型
- 2023-11-30机器学习 - 似然函数:概念、应用与代码实例