《Python数据科学手册》-简单线性回归、多项式回归、学习曲线、网格搜索学习笔记

这篇博客详细探讨了Python数据科学中的线性回归和多项式回归,通过实例展示了如何利用Scikit-Learn进行模型选择。作者还深入研究了学习曲线,分析了训练数据量对最优模型的影响,并对比了低复杂度和高复杂度模型的学习曲线。此外,文章介绍了网格搜索在参数调优中的应用。
摘要由CSDN通过智能技术生成

一、线性回归

import matplotlib.pyplot as plt
import seaborn as sns
sns.set()   #设置图形样式
import numpy as np

#简单线性回归
'''
创造数据
'''
rng = np.random.RandomState(1)
x = 10 * rng.rand(50)
y = 2 * x - 5 + rng.rand(50)

from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept=True)
model.fit(x[:, np.newaxis], y)
xfit = np.linspace(0, 10, 1000)
yfit = model.predict(xfit[:, np.newaxis])
plt.scatter(x, y, s = 10, color = 'black')
plt.plot(xfit, yfit, color = 'red')
plt.show()

print("Model slope:", model.coef_[0])   #斜率
print("Model intercept:", model.intercept_)    #截距

结果1:
线性回归可视化
结果2:

Model slope: 2.0082302432277497
Model intercept: -4.533652972099125

二、多项式回归

from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline


def PolynomialRegression(degree = 2, **kwargs):
    return make_pipeline(PolynomialFeatures(degree),
                         LinearRegression(**kwargs))

#创造些数据
import numpy as np
'''
定义函数,创建数据
'''
def make_data(N, err = 1.0, rseed = 1):
    # 随机抽样数据
    rng = np.random.RandomState(rseed)
    X = rng.rand(N, 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值