飞桨中的李宏毅课程中的第一个项目——PM2.5的预测

所谓的激活函数,就是李宏毅老师讲到的sigmoid函数 和 hard sigmoid函数 ,ReLU函数那些

现在一点点慢慢探索,会成为日后想都做不到的经历,当你啥也不会的时候,才是慢慢享受探索的过程。

有一说一,用chatGPT分解代码是真的香!

part1:初始文件处理

补充关于Shell命令的相关知识 

(1)

 

(2)

扫描二维码关注公众号,回复: 16601195 查看本文章

  

(3)

 (4)

关于sys这个标准库的补充知识:

 

 (5)

 

 (6)

这里定义了一个loadDataSet(fileName)的载入数据的函数,参数是一个文件名, 下面一点点的分析这个函数:

-首先:

定义了2个一维数组变量,dataMatrix就是用于存储训练数据的东西,

labelMatrix就是用来存储真实结果的数组

-然后: 

打开了一个文件,文件变量是fr

-之后: 

对这个文件的内容逐行进行处理,每一行的数据存储到line变量中 

由于之后的regression函数代码中调用的是这个文件中的数据,这里提前查看一下是啥?

 

 就是4行数据吧,应该就是之前的pm2.5相关的数据

-再者,这里就是,比如上面的那个data.txt中的数据,一行有3个数据用"\t"制表符进行分隔,结果就是这个3个数据作为curLine[]这个一维数组中的3个数据,反正感觉python对于数据的处理很方便

 

 -之后,

 

 

 所以,每一行,前2个数据给到dataMat,dataMat中的元素都是2个元素的一维数组,最后一个元素放到labelMat中,labelMat中的元素都是1个元素的一维数组

 

最后,返回这2个数组即可

part2:定义一个函数

 

这个standRegres( , )函数有2个参数,都是一维数组变量,之后转换为numpy中的数据类型

 

 之后xTx就是矩阵xMat矩阵转置乘xMat矩阵,但是,xMat本身是一个一维数组,我在想这个结果到底是一个N*N的矩阵呢?还是一个数值呢?先往下看看

 如果得到的矩阵的“行列式”的值是0,就直接返回了

 否则会计算一个ws,并且返回这个ws,我们来看看这个ws究竟是啥吧!

有点不理解这里的回归系数是啥?先不管了 

part3:在最后的regression函数中:

(1)首先是调用loadDataSet函数获取到data.txt中的数据并且规格化给到xMat和yMat,最后计算处ws这个回归系数

 (2)感觉最后就是把这个回归系数算出来了,就开始画图了,其实吧,我感觉整个的就干了一件事,就是这个“回归系数”吧,就是那个直线的斜率,感觉上面就是高中的算了一个斜率,服了

 算了,还是解释一下这里的画图过程吧:

 

 

也就是说,先画出真实值的散点图,然后,绘制一个由xMat和回归系数ws得到的直线

猜你喜欢

转载自blog.csdn.net/xiao_ZHEDA/article/details/132523299