用python实现线性回归算法

最近开始在mooc上看吴恩达的《机器学习》课程,由于在线作业一直不能提交,总是提示错误,倒腾了一下午还是没能成,只好作罢。幸好手边有《机器学习实战》这本书,于是就用python来学习实现课程里面的算法。吴恩达的课程学习的第一个算法是线性回归,于是,我就开始看先学怎么写这个。

1.1理论部分:

回归的目的就是预测数值型的目标值。例如,你想要预测姐姐男友汽车的功率大小,公式如下:

线性回归-汽车功率

 

这个方程就是回归方程(regression equation),其中的0.0015和-0.99称作回归系数(regression weights),求这些系数的过程就是回归。 (更多…)

『转载』机器学习入门资源不完全汇总

原文链接 http://ml.memect.com/article/machine-learning-guide.html

 

基本概念入门攻略课程资源论坛网站东拉西扯

2014-10-14版, 好东西传送门编辑整理, 原文链接 http://ml.memect.com/article/machine-learning-guide.html

感谢贡献者: tang_Kaka_back@新浪微博

欢迎补充指正,转载请保留原作者和原文链接。 本文是 机器学习日报的一个专题合集,欢迎订阅:请给hao@memect.com发邮件,标题"订阅机器学习日报"。

基本概念

机器学习 机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。 (更多…)

『转载』Python函数式编程指南(三):迭代器

作者:AstralWind

原文地址:Python函数式编程指南(三):迭代器

3.1. 迭代器(Iterator)概述

迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。

迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。

迭代器也不是线程安全的,在多线程环境中对可变集合使用迭代器是一个危险的操作。但如果小心谨慎,或者干脆贯彻函数式思想坚持使用不可变的集合,那这也不是什么大问题。

对于原生支持随机访问的数据结构(如tuple、list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值,这是后话)。但对于无法随机访问的数据结构(比如set)而言,迭代器是唯一的访问元素的方式。 (更多…)

浮躁

听着许巍的《浮躁》,心也跟着躁动。似乎每个季节,每个时刻,都不曾平静,不曾心寂。一直都是感受到了太多的重量,太多的困扰。

又一个月的月底了。月底,通常伴随着手机流量的耗尽和对这个月没有所成的惋惜,并且会下定决心,在下个月的时候,好好痛改前非,静心做事。事实上,每次都这样跟自己说,每次都陷入了循环的惯性。

当我怀揣理想,想要做许多事情,去击败世界的时候,我却首先被我自己打败了。自作孽,不可活。我却仍这样活着。这不是我想要生活,也不应该是我现在的生活。我有能力,有梦想,却缺少持续梦想的激情。有时候,这样的激情,就像是黑夜的烟花,绽放时很美。烟消人散之后,却早已不知了去向。

我一直都觉得,人应该随心活着,而不是随性活着。随心与随性之间,我难以把握。随心很难,大多数当我随性的时候,我自以为自己是随心的。只有黑色的帷幕落下,人间的喧闹逐渐趋向了静音,我才能真切的感觉到自己的内心世界。白天,它是沉寂着的,晚上,它奔放的燃烧着。以前我时常失眠的时候,我就想,要是在晚上上课考试多好。

歌声消散之后,我的心也从浮躁中脱离。又开始憧憬着明天要怎样怎样。我想,我可真成了重度拖延症患者。也许,我们组成了这个世界的拖延症还这群。但我却渴望着从这么庞大的群体里出来,在尽力挣扎着。

『转载』Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

本文转自“我爱自然语言处理”:www.52nlp.cn

原文链接:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘

 

曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python。离开腾讯创业后,第一个作品课程图谱也是选择了Python系的Flask框架,渐渐的将自己的绝大部分工作交给了Python。这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多优秀的Python工具包可供使用,所以作为Pythoner,也是相当幸福的。其实如果仔细留意微博,你会发现很多这方面的分享,自己也Google了一下,发现也有同学总结了“Python机器学习库”,不过总感觉缺少点什么。最近流行一个词,全栈工程师(full stack engineer),作为一个苦逼的创业者,天然的要把自己打造成一个full stack engineer,而这个过程中,这些Python工具包给自己提供了足够的火力,所以想起了这个系列。当然,这也仅仅是抛砖引玉,希望大家能提供更多的线索,来汇总整理一套Python网页爬虫,文本处理,科学计算,机器学习和数据挖掘的兵器谱。 (更多…)

旅行 != 旅游

这几日,应亲戚之邀,往河南焦作修武云台山一游。在家十几日,百无聊赖,有此良机,本应欢乐。可是今天回来后,对这旅游感到了厌恶和厌倦。

不知道什么时候起,旅游变成了“从自己住腻了的地方去别人住腻的地方看看”。如今,每个热门的旅游区都是人满为患。每个旅游区都一样的观光车,一样的仿古路,卖着一样纪念品。每个人都是怀揣着相机,根本不曾驻足留恋过风景,而是为了照相而旅游。山上的寺庙和道观,都充斥着恶心的铜臭味。神仙真的会怜悯这些人么?或许会吧,神仙也会贪财的。

我更愿意去看那些名气小甚至无名的风景,那些没有沾染过世俗的风景。这样的风景,需要你不停的去行走,去发现。它可能只是平常的一个地方,一处景观。它也可能一直都静静的矗立在那里,只为有缘人的邂逅。

世界这么大,有时候我真的应该多出去走走,不是趁着年轻,是趁着我还有这样一种渴望。

关于python中break和continue的区别

python中break跟continue的区别,对于许多新手来收都很容易弄错,刚好看到网易mooc中python课程,网友的讨论,有的可能会有点用,就直接摘在了这里:

网友@forenroll77

continue是结束当前循环,进入到下一次循环.

break是结束所有循环,且不会进入下次循环.
for i in range(0, 11):
if i % 2 == 0:
print i
continue
ANS: 0 2 4 6 8 10
for i in range(0, 11):
if i % 2 == 0:
print i
break
ANS: 0

网友@dobe商

break用来终止当前循环,continue是来中止当前循环。
两个zhong其实说明了问题,一个是for循环结束了,一个是当次循环结束,执行接下来的循环。
举个例子,假如我们在处理一个原始列表数据时,想整理出一个正常的数据列表,有如下两种需求:
需求一:我希望列表中只要出现异常数据,整个列表都是异常的;—-break
需求二:虽然列表中有部分数据异常,但我希望得到正常的数据列表;—–continue

 

甲午年乙期略记

吾读研已一年矣!今乙期毕,自学至今日,四月有余,感甚多。

念入学之前日,思之颇多,欲得万千。然今吾回首视之,惨然淡然。思之多,而为之少。读书寥寥,求知不渴,实若鸿鹄之伟愿,而燕雀之振翅。吾素以吾有大志,可至四方。上欲与苍鹰翔于天穹,下欲与飞鱼游于溟底。常愿与鸿儒谈笑,与大智论理,遂购书数本,借书数十本,欲强吾识。未想,众人皆惰,吾不能免。书高数尺,阅尽无一,徒为门面之饰尔。

炎暑至,本欲他乡为事,竟不可得。茫茫然,凄凄然,吾不知何往,亦不知道何为。人言:“不知为何,读书尔。”思之,深以为然。遂携书归家,闭关求学。七八二月,阅圣贤之卷,读技术之书。

愿吾有所得,不负青春。

『转载』Python字典按值排序、包含字典的列表按字典值排序的方法

 

原文地址http://ghostfromheaven.iteye.com/blog/1563576

 

01 #-*- encoding=utf-8 -*-  
02 
03 import operator
04 #按字典值排序(默认为升序)  
05 x = {1:2, 3:4, 4:3, 2:1, 0:0}
06 sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))
07 print sorted_x
08 #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]  
09 #如果要降序排序,可以指定reverse=True  
10 sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True)
11 print sorted_x
12 #[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]  
13 #或者直接使用list的reverse方法将sorted_x顺序反转  
14 #sorted_x.reverse()  
15 
16 #取代方法是,用lambda表达式  
17 sorted_x = sorted(x.iteritems(), key=lambda x : x[1])
18 print sorted_x
19 #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]  
20 sorted_x = sorted(x.iteritems(), key=lambda x : x[1], reverse=True)
21 print sorted_x
22 #[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]  
23 
24 #包含字典dict的列表list的排序方法与dict的排序类似,如下:  
25 x = [{‘name’:‘Homer’, ‘age’:39}, {‘name’:‘Bart’, ‘age’:10}]
26 sorted_x = sorted(x, key=operator.itemgetter(‘name’))
27 print sorted_x
28 #[{‘age’: 10, ‘name’: ‘Bart’}, {‘age’: 39, ‘name’: ‘Homer’}]  
29 sorted_x = sorted(x, key=operator.itemgetter(‘name’), reverse=True)
30 print sorted_x
31 #[{‘age’: 39, ‘name’: ‘Homer’}, {‘age’: 10, ‘name’: ‘Bart’}]  
32 sorted_x = sorted(x, key=lambda x : x[‘name’])
33 print sorted_x
34 #[{‘age’: 10, ‘name’: ‘Bart’}, {‘age’: 39, ‘name’: ‘Homer’}]  
35 sorted_x = sorted(x, key=lambda x : x[‘name’], reverse=True)
36 print sorted_x
37 #[{‘age’: 39, ‘name’: ‘Homer’}, {‘age’: 10, ‘name’: ‘Bart’}]

 

生命最初时光的回忆:《在细雨中呼喊》

在细雨中呼喊

 

 

书名:《在细雨中呼喊》

作者:余华

星级:★★★★☆

 

我一向都很喜欢余华的书。他是当代作家里面,我比较偏爱的一个。

余华的书,常给人一种无奈且无力的感觉。读完他的书,心情通常都不会是愉快的。总是会去思考,对于人生和人生意义的思考。或许,每个人在面对强大上天的时候,总会惧怕,又无能为力吧!

《细雨》讲了一个关于童年记忆的故事。以一个小孩的角度,写了这个世界的悲欢离合,人情冷暖。小孩通常都是单传的,在他们的世界里,黑白分明,空气新鲜。任何的杂质和虚假,他们都可以显性或者隐性的感觉到。虽然大多数时候,他们自己也不知道自己的感受。虽然大多数时候,他们对这个世界总是一无所知。

童年,对于每个人来说,都是另一种意义上的天堂。穷人和富人都是如此。成长,就是从天堂出来,去寻找另一个容身之所。只是有的人仍能找到天堂,而有的人却发现了地狱,而大多数人活在天堂和地狱之间。

扯的远了。回到《细雨》。余华的书,无需解释。