即将翻篇的2014年是我的编程元年,这一年从换工作到考研各种忙。等到一切都尘埃落定,就打算静下心来,把这一年学到的东西好好总结一下,也分享给后来人攒攒rp~相信我遇到的问题很多新手都会遇到的,如果能带给大家一点帮助,我就满足了。
《机器学习实战》是我第一本编程书
。因为13年左右这本书很火的样子,又听说python很简单白痴都能看懂,于是我无视了自己在编程方面一无所知的事实,一有空就马上看起来了。
作为一个考研时毫无C语言基础直接开刷数据结构的猛士(那是后话了),吾辈一向不缺少这种大无畏的精神。
书的第一章简要介绍了机器学习的概念和方法论,读起来毫无障碍。
╮(╯▽╰)╭我的小心脏稍稍放松了些
第二章开头讲了knn算法的基本思想,就是先输入若干带标签的训练样本,当输入无标签的新数据时,选择
训练样本集中
距离新数据最近的k个点,其中出现次数最多的标签即为新数据的标签。
好简单有木有
(●´∀`)♪
看来编程一点也不可怕嘛~接下来就是如何实现啦
然后我就看到了这个
·°.·°∴ ☆..·°.·°∴ ☆.我是万籁俱寂的分割线
.·°∴☆..·°.·°∴☆
。。。
。。。。。。
说好的读python代码就像读英文一样流畅呢!!
各种陌生的函数根本看不懂啊!!
而!且!完!全!没!有!讲!解!
继成功学和心灵鸡汤之后,本书再次定义了何为“梦幻泡影”
给我掌握节奏啊混蛋!
更气人的是,作者生怕我们看不懂其中高深的数学原理,紧接着就给出了欧氏空间两点距离公式的详细阐释
·°.·°∴ ☆..·°.·°∴ ☆.我是理性龟裂的分割线
.·°∴☆..·°.·°∴☆
有这功夫不如把代码里出现的函数给解释下啊【摔
你倒是找一个能看懂以上代码却不知道
两点距离公式的人给我看看啊!!!
ok,现在咱们用暴力破解的方式把代码里的函数和方法理一理。
1).shape方法返回数组的列数和行数。
.shape[0]返回行数,
.shape[1]返回列数。
2)tile(array,(x,y))函数返回一个新数组,新数组的行=原数组的行*x(纵向复制x倍),新数组的列=原数组的列*y(横向复制y倍)
这其实是对数组的一种降维打击。。
4).argsort()方法返回按升序排序时数组各元素原来的索引值。
6)字典的.iteritems()方法只适用于python2.x版本,3.x版本变为.items()方法,返回一个
dict_items类型
7)operator.itemgetter(x,y,...)函数用于
定义一个函数,通过该函数作用到对象上获取该对象中索引为x,y,等等的值。
8)sorted函数用于给可迭代类型(list,array,etc.)排序,返回一个排序后的可迭代类型。它有三个参数:可迭代类型;用于排序的关键字;是否逆序。
这排序结果有点微妙啊。。为毛把我精心设计的数组君拆散了
°∴ ☆..·°.·°∴ ☆..·° 我是大彻大悟的分割线
.·°∴☆..·°.·°∴☆.
这样梳理一遍后,吾辈终于明白了:这样的代码(虽然不太好理解),确实比我脑袋里构思的那坨翔,要优雅多了。。。