百科问答小站 logo
百科问答小站 font logo



是不是机器学习的框架都偏向 Python ?如果是,为什么? 第1页

  

user avatar   zhu-jian-zhi-neng-emotibot 网友的相关建议: 
      

Python 就像瑞士军刀,不但短小精悍,而且功能强大,许多疑难杂症的问题,使用Python都能快速解决。 相较于c/c++,python 的代码相对简洁非常多,代码生产效率远高于c/c++,因此能快速地从实验结果中进行迭代。举例来说,如果我要把一个csv档(my_csv_file.csv),读入进代码内进行分析,使用python 只要两行代码就能完成。


再举例来说:

假设有个植物学家收集了三种鸢尾花的品种 setosa, versicolor, virginica 各若干朵,并测量了每朵鸢尾花的萼片长 (sepal length)、萼片宽 (sepal width)、花瓣长(petal length)、花瓣宽(petal width)。试问:假设我们看到了新的一朵鸢尾花,我们是否有办法利用 「萼片长、萼片宽 、花瓣长、花瓣宽」等资讯,来推测此朵鸢尾花是属于哪一个品种 (setosa, versicolor, virginica)?

这个问题,是非常典型的机器学习的问题,利用植物学家收集的训练资料进行学习后,对没见过的花朵进行预测。

在Python 里,只要写50行以内的代码,就能轻易地利用机器学习解决此问题。并把机器学习到的决策过程,进行图表视觉化的呈现。下面,简单的举几个例子,对于学习成果进行解释:(如下图所示)

• step1: 如果 petal length <= 2.45 公分 —> 则品种是 setosa

• step1, step2, step3, step4

1. step1 如果 petal length > 2.45 公分 —> step2

2. step2 如果 petal width <= 1.75 公分 —> step3

3. step3 如果 petal length <= 4.95 公分 —> step4

• step4 如果 petal width <= 1.65 公分 —> 则品种是 versicolor

• step4如果 petal width > 1.65 公分 —> 则品种是 virginica

由上述例子,从「资料的汇入」、「资料整理」、「机器学习」、到「视觉化呈现」四个步骤,在短短不到50行的Python 的代码就能完成。 由此,可以说明使用 Python 来进行机器学习的实验验证,是非常有效率,且能快速进行迭代。

Python 除了对传统的机器学习算法有完整的支持外,现在最新、最火的深度学习算法,也能在 Python 里找到相对应的资源。 深度学习框架的鼻祖 theano 在 2009-04-02 就已经进行了 v0.1版的 release,是由 Deep Leaning 大牛 Yoshua Bengio 带领 Montreal University 的成员进行开发。 其后,近年来随着深度学习越来越受重视,Google 在 2015-11-9 推出了 tensorflow 的深度学习框架,其开发团队有一大部分是来自于 theano 的开发团队。

综合以上,Python (1) 在资料处理上,有完整的支持套件 (2) 代码简洁、快速撰写 (3) 视觉化呈现工具完整 (4) 传统机器学习算法,有完善的支持 (5) 最新的深度学习算法,有完善的支持,且总是走在最新的发展潮流上

结论:

- Python 就像瑞士军刀,不但短小精悍,而且功能强大

- Python 提升代码生产效率,因此能快速从实验结果中进行迭代

- Python 很擅长与不同语言进行整合,特別是 c/c++

- Python 有很强大的图表视觉化工具

- Python 支持许多机器学习算法,如:决策树、SVM (支持向量机)

- Python 支持许多深度学习框架,如: theano, tensorflow, caffe

本回答来自Emotibot数据科学家林志豪




  

相关话题

  在校生为了面试,有必要强行记住一些复杂算法如红黑树、KMP等的实现吗? 
  国内的理工生想要去麻省理工读研究生的打算是不是不可能? 
  使用 Python 会降低程序员的编程能力吗? 
  为什么不能乱点技能树? 
  大型项目中面向过程思想 vs 面向对象思想,哪种开发效率更高? 
  法律是否可能被代码化? 
  哪些老程序员现在都过得怎么样了? 
  为什么中国出了这么多厉害的互联网公司,但没有自己设计过编程语言? 
  厉害的程序员相对于普通程序员,对于完成一个需求来说,除了更少的 bug,还有什么优势? 
  如何快速地在windows上部署Python开发环境,包括各种常用的第三方库? 

前一个讨论
如何评价文章《对员工宽容的公司,都死掉了》?
下一个讨论
百度实习,我按了hr发的邮件中接受offer的链接,填信息,但没签双方协议,后期没入职,会被百度记入黑名单?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利