百科问答小站 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数据科学家林志豪




  

相关话题

  为什么人们会崇拜一个编程语言? 
  男朋友的大脑是单线程的怎么办? 
  如何看待QQ邮箱翻译出他人的快递通知? 
  在编程语言中,循环语句为何选择 while 而不是 when 作为关键词? 
  同样是巨头的语言,为什么中国是 Go 最热的国家,而 C# 越来越少? 
  为什么很多程序无法计算负数的立方根? 
  UML 还有用吗? 
  如何不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标? 
  如何评价 Kaiming He 在 ICCV 2017 上拿下双 Best 的 paper? 
  开始慢慢抄代码敲对自己编程提高有用吗? 

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





© 2024-05-18 - tinynew.org. All Rights Reserved.
© 2024-05-18 - tinynew.org. 保留所有权利