【统计学习方法by李航】第一章实践——使用最小二乘法拟和曲线


 

一、代码:


Github链接:代码
链接:[ 全文章目录 ]
 
 

二、使用最小二乘法拟和曲线,代码中调用方法介绍:


下面的序号表示是第几个代码块。

(一)

1、%matplotlib inline【第5行】

调用数据可视化(Jupyter Notebook或jupyter qtconsole)(直接在python里面运行会报错)
 

(二)

1、return np.sin(2np.pix) 【第3行】

返回sin值

2、f = np.poly1d( p ) 【第7行】

numpy.poly1d([1,2,3]) 生成 1x2+2x1+3x0
 

(三)

1、x = np.linspace(0, 1, 10)【第2行】

从0到1(含),等间隔的生成十个数。

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
从start到stop生成等间隔的num个数。
endpoint:是否包含stop的值。
restep:步进/间隔数。
 

2、y = [np.random.normal(0, 0.1)+y1 for y1 in y_] 【第6行】

numpy.random.normal(loc=0.0, scale=1.0, size=None)
按照正态分布以0为对称轴,0.1为标准差

即loc是μ,scale是δ
在这里插入图片描述
这一句的意思是,按照正态分布生成随机数加上y值,用来加上噪音。(这样可以保证样本点不会偏离原来的点太多)
 

3、p_lsq = leastsq(residuals_func, p_init, args=(x, y)) 【第15行】

leastsq(func, x0, args=(), Dfun=None, full_output=0, col_deriv=0, ftol=1.49012e-08, xtol=1.49012e-08, gtol=0.0, maxfev=0, epsfcn=0.0, factor=100, diag=None, warning=True)

一般我们只要指定前三个参数就可以了:

func 是我们自己定义的一个计算误差的函数(损失函数、经验风险、经验损失),

x0 是计算的初始参数值(有几个参数)。

args 是指定func的其他参数(出了函数外的),这里的其他参数就是x和y。
 

4、print(‘Fitting Parameters:’, p_lsq[0]) 【第16行】

这里的p_lsq[0]里面的是算出来的参数列表
 

5、matplotlib.pyplot.plot() 【第19、20、21行】

plt.plot(x_points, real_func(x_points), label=‘real’)
plt.plot(x_points, fit_func(p_lsq[0], x_points), label=‘fitted curve’)
plt.plot(x, y, ‘bo’, label=‘noise’)

一般:plot(x, y),遍历x,y并打印
[ 链接:参数详解 ]
 

6、plt.legend()【第22行】

默认在右上角显示标示(标示就是上面的label)
[ 链接:具体的位置参数 ]

(四)——(六)略

 
 

三、正则化


(七)ret=np.append(ret,np.sqrt(0.5*regularization*np.square( p))) 【第5行】

numpu.append(arr,values,axis=None)
将values插入到目标arr的最后。
注意,这里values跟arr应该为相同维度的向量
 
 
(完)
 
链接:[ 全文章目录 ]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法回答关于《统计学习方法李航第二版的问题。因为在提供的引用内容中没有提到《统计学习方法李航第二版的相关信息。请提供更多相关的引用内容,我将尽力为您提供答案。 #### 引用[.reference_title] - *1* [李航老师《统计学习方法》第二版第三章课后题答案](https://blog.csdn.net/qq_41626059/article/details/115550572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [《统计学习方法(第2版)》李航 第14章 聚类方法 思维导图笔记 及 课后习题答案(步骤详细) k-均值 层次...](https://blog.csdn.net/qq_26928055/article/details/124563123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [李航老师《统计学习方法》第二版第十一章课后习题答案](https://blog.csdn.net/qq_41626059/article/details/108926411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值