PyCon 2016 你不容错误过的演讲

小伙伴们, 一年一度的PyCon 2016盛宴错过了吗? 有没有去俄勒冈的波特兰瞻仰一下Python大神们的风采?

如果没有, 现在是机会享受视频回播啦, 如果你会翻墙, 请戳: Youtube PyCon 2016 视频集锦 . 如果你还苦于翻墙, 请戳我们的翻墙教程 .

如果你懒得翻墙, 请看我们为你搬到墙内的视频:

  1. PyCon 2016 大会 python创始人Guido van Rossum演讲 – Python Language
  2. pycon 2016 – Diving into Machine Learning through TensorFlow

有机会我们会出一期Blog专门讲一下TensorFlow.

#3 集成学习–机器学习中的群策群力 !

#3 集成学习--机器学习中的群策群力 !
/

背景:

总览

机器学习方法在生产、生活和科研中有着广泛应用,而集成学习则是机器学习的热门方向之一。
集成学习是使用一系列学习器进行学习,以某种规则把各个学习结果进行整合,从而获得比基学习器有更好学习效果集成学习器.

今天, 我们在分析讨论集成学习和多类集成学习的同时, 提出目前多类集成学习的一些问题, 供大家参考。

集成学习图例

sss

研究现状

理论丰富

二类集成学习已有较成熟理论基础。多类集成理论基于二类集成。

国际成果

Bagging (Leo Breiman, 1994,Technical Report No. 421.)

Boosting (Schapire, Robert E,1990 ,“The Strength of WeakLearnability”. Machine Learning (Boston, MA: Kluwer Academic Publishers)

AdaBoost (Yoav Freund and Robert Schapire,2003)

AdaBoost.MH, SAMME, PIBoost, GentleBoost, AdaCost

国内成果:

南大周志华等人提出选择性集成理论,于2001年在国际人工智能

顶级会议IJCAI上发表。另周志华等人提出了二次学习的思想,将集成学习用作预处理,在IEEE Trans. Information Technology in Biomedicine(2003)上发表。 继续阅读#3 集成学习–机器学习中的群策群力 !

不容错过的Python小贴士—技巧, 风格和最佳实践

— 改编自 Python: Tips, Tricks and Idioms

 

1. Dict的for循环中避免使用低效的iteritems() 和 keys()

In [1]:
a = {}
for i in xrange(0, 1000000):
    a[i] = i
print(type(a))
print(len(a))
<type 'dict'>
1000000
In [2]:
def for_func1():
    for x in a:
        pass

def for_func2():
    for x in a.keys():
        pass

def for_func3():
    for x,v in a.iteritems():
        pass
In [3]:
import timeit
print(timeit.timeit(for_func1, number=100))
print(timeit.timeit(for_func2, number=100))
print(timeit.timeit(for_func3, number=100))
1.22459793091
2.30621099472
2.17837190628

是不是快多了?

 

2. for循环中获得index神器: enumerate

In [4]:
students = ('James', 'Andrew', 'Mark')
In [5]:
for i, student in enumerate(students):
    print i, student
0 James
1 Andrew
2 Mark
In [6]:
students = {'James': 'male', 'Andrew':'male', 'Alice':'female'}
In [7]:
for i, student in enumerate(students):
    print i, student
0 James
1 Andrew
2 Alice

3. 想确定for循环完整结束, 用else吧…

In [8]:
for ele in ['a', 'b', 'c']:
    if ele == 'b':
        break
else: # no break
    print('for循环完整结束')
In [9]:
for ele in ['a', 'b', 'c']:
    if ele == 'd':
        break
else: # no break
    print('for循环完整结束')
for循环完整结束

4. 迭代工具之chain连接器

继续阅读不容错过的Python小贴士—技巧, 风格和最佳实践