五款实用免费的Python机器学习集成开发环境(5 free Python IDE for Machine Learning)(图文详解)
前言
集成开发环境(IDE)是提供给程序员和开发者的一种基本应用,用来编写和测试软件。一般而言,IDE 由一个编辑器,一个编译器(或称之为解释器),和一个调试器组成,通常能够通过 GUI(图形界面)来操作。
根据维基百科的描述:“Python 是一种广泛使用的高级的、通用的、解释的、动态编程语言。” Python 是一种相当古老且流行的语言,它是开源的,常被应用于网站开发(利用 Django、Flask 等框架)、科学统计计算(NumPy、SciPy 等库可以帮助计算)、软件开发等甚至更多。
文本编辑器不足以用来构建一些大型的系统,比如那些需要整合模块和库的系统。这时则需要一个好的IDE。
下面是一些 Python IDE,这些 IDE 各有特点,能够帮助你挑选到合适的来解决你的机器学习问题。
1、JuPyter/IPython Notebook
Jupyter 项目开始于 2014 年,在所有编程语言中,是一种用于支撑科学计算和交互式计算科学的衍生式 IPython。
IPython Notebook 表示” IPython 3.x 是 IPython 的最后一个版本。而 IPython4.0 中非语言相关的部分比如记事本格式,消息协议,笔记本网站应用等,已经移到了Jupyter下作为新项目,IPython将专注于交互式Python,在此期间,也将为 Jupyter 提供 Python 核心模块”。
Jupyter 由三个组件构成:笔记本应用程序、内核、笔记本文件。
其核心特点:
开源。
支撑 30 种语言,包括一些数据科学领域很流行的语言,如 Python、R、scala、Julia 等。
允许用户创建和共享文件,文件中可以包括公式、图像以及重要的代码。
拥有交互式组件,可以编程输出视频、图像、LaTaX。不仅如此,交互式组件能够用来实时可视化和操作数据。
它也可以利用 scala、python、R 整合大数据工具,如 Apache 的 spark。用户能够拿到和 pandas、scikit-learn、ggplot2、dplyr 等库内部相同的数据。
markdown 标记语言能够代码标注,用户能够将逻辑和思考写在笔记本中,这和python内部注释部分不同。
Jupyter 笔记本的用途包括数据清洗、数据转换、统计建模和机器学习。
在像 matplotlib、NumPy、Pandas 等库里整合了机器学习的一些特性。Jupyter 笔记本有一个最重要的特性就是它能够用图显示单元代码的输出。
在 Google、微软、IBM 等公司它很流行,另外一些教育机构如加州大学伯克利分校和密歇根州立大学也经常用。
2、 PyCharm
PyCharm 由一家位于捷克-布拉格的公司JetBrains所开发。它的测试版在 2010 年 7 月发布,1.0 版本在三个月以后也就是 2010 年 10 月发布。
PyCharm 是一款有十足特性的专业的PythonIDE。共有两个版本:PyCharm 社区版,是免费的,另一款是专业版,有30天的免费试用期。
PyCharm 在一些大公司诸如惠普、Pinterest、推特、Symantec、Groupon 等大公司十分流行。
其核心特点:
它能对类、对象、关键字的补全和自动缩进,能格式化代码,定制代码片段和格式。
支持错误的突出显示,同时也包含 PEP-8,能帮助写出整洁的代码,易于支撑其他语言。
它提供快速和安全的重构功能。
它带有一个图形界面式的 Python/JavaScript 调试器。用户能够基于 GUI 来测试。
它有一个快速的文档定义视图,能在不丢失上下文的情况下看到文档或对象的定义。同时 Jetbrain 提供的文档十分全面,还包含视频教程。
当然。最重要的一个特性就是它对 Scikit-learn, Matplotlib, Numpy, Pandas等机器学习库的支持。
在 Matplotlib 交互模式可以运行在 Python 或者是调试的控制台上,用户可以实时进行画图,组织。
另外,用户能够根据自己的项目定义不同的 python 环境(Python2.7、Python3.0、虚拟环境)。
3、Spyder
Spyder代表科学Python开发环境的缩写。Spyder 的作者是 Pierre Raybaut,在 2009.10.18 发布,Spyder 是用 python 写的。
其核心特点:
开源。
支持代码纠错,分析,补全,水平或垂直切分,跳转标记。
提供 Python 和 Ipython 控制台工作空间,支持实时调试。比如,你只要键入,它就能显示错误。
文档查看器,能够显示控制台上或编辑器中调用的类或者功能其相关文档。
它支持变量的预览,比如用户在图形界面操作数组文件的时候,能够同时浏览和编辑这些在执行期间产生的变量。
它整合了 NumPy, Scipy, Matplotlib 以及其他的科学统计库。在 NumPy, Scipy, Matplotlib 这些库的基础上,使用交互式控制台构建和测试数据统计应用或者脚本的时候,Spyder 是最好的。
除了这个,它也是一款机器简单,轻量级的软件,易于安装,有非常详细的文档。
4、Rodeo
Rodeo 是一款专门用于做机器学习和数据科学的 Python IDE。由 Yhat 开发,使用 IPython 的内核。
其核心特点:
便于浏览,比较,数据与图之间的交互操作。
Rodeo 文本编辑器提供自动补全,语法高亮,且内置的 IPython 支持编码更快。
Rodeo继承了 Python 教程,它包括一些速查表能够快速查询资料。
对于用习惯了 R 和 RStudio IDE 的研究人员和科学家来说,它很有用。
它有很多与 Spyder 相似的特性,但是它缺少了代码分析,PEP 8 等。也许未来会补充一些新的特性吧。
5、Geany
Geany 是一款有 C/C++ 开发的 Python IDE,作者是 Enrico Tröger。最早的版本在 2005 年 10 月 19 日,它是一个小而轻量级的IDE(Windows版本为 14M),但和其他任何一个 IDE 一样能胜任工作。
其核心特性:
支持语法高亮和行号标注。
代码自动补全,关闭括号,自动关闭 HTML 和 XML 标记的功能。
代码折叠和导航。
用户可以利用额外代码来在外部编译系统和执行代码。
对于那些熟悉 RStudio,想找寻 python 支持的用户。RStudio 已经为Python、XML、YAML、SQL 甚至 shell 都提供了编辑支持,即在 2014 年 6 月 18 日发布的 0.98.932 版本中。虽然相比于 R,Python 仅有一点支持。
总结
觉得对于新手,尤其只用过C/C++的新手而言,spyder最接近于VS的操作是最容易上手的;
用过PyCharm你不会考虑其他IDE了。
同时,大家可以关注我的个人博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
详情请见:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获
对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071)
五款实用免费的Python机器学习集成开发环境(5 free Python IDE for Machine Learning)(图文详解)的更多相关文章
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
- 10 个免费的 C/C++ 集成开发环境
集成开发环境(IDE)可以给程序员提供很大的帮助.大多数的IDE包含编译器和解释器.例如微软的 Visual Studio 本身内置的编译器和解释就是很好的例子,Eclipse 是另一个很好的例子.鼓 ...
- mac 配置Python集成开发环境(Eclipse +Python+Pydev)
1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...
- 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp
这里给大家推荐一款在mac上搭建WEB服务器环境的集成环境安装软件,非常的好用,需要的朋友可以拿去,不用谢 ^_^ 之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows ...
- 全网最详细的如何在谷歌浏览器里正确下载并安装Postman【一款功能强大的网页调试与发送网页HTTP请求的Chrome插件】(图文详解)
不多说,直接上干货! 想必,玩过Java Web的你,肯定是对于http post和get等请求测试的过程记忆犹新吧. Postman的安装方法分好几种,主要分为两种安装模式介绍: (1)chrome ...
- 11款PHP集成开发环境
1. Zend Studio Zend Studio 来自 Zend —— PHP 幕后的精英团队. 它真的是很不错.它运行于三大系统:Windows.Mac OS X 和 Linux.而且绝对能够提 ...
- Python开发入门与实战9-基于vs的集成开发环境
9. 基于visual studio的Python的集成开发环境 上一章我们描述了如何安装使用Java的集成开发环境Eclipse IDE,本章我们来说明另一种集成开发环境,也是笔者多年的开发习惯使用 ...
- Python开发入门与实战8-基于Java的集成开发环境
8. 基于Java的Python的集成开发环境 目前为止我们所有的代码和例子都是通过Notepad文本编辑器来实现的,实际项目开发中这种编码模式效率较低(大虾除外),使用IDE集成开发环境常常大幅度的 ...
- mac 配置Python集成开发环境
mac 配置Python集成开发环境(Eclipse +Python+Pydev) 1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclips ...
随机推荐
- IMPLEMENTATION - Entity Framework Anti Pattern - High Performance EF
Good about ORM Developer is free from building T-Sql on the database tier which is not their major a ...
- #2019-2020-4 《Java 程序设计》第九周总结
2019-2020-4 <Java 程序设计>第九周知识总结 第十一章:JDBC与MySQL数据库 11.1 MySQL数据库管理系统 下载安装: 11.2 启动MySQL数据库服务器 具 ...
- 第七周助教工作总结——NWNU李泓毅
本周应批改作业0,实批改作业0 因本周开始软工团队项目,故本周几位助教正在制定团队项目题目并且处理相关工作. 这一次的作业将于4月17日前进行提交,作业为软件研发团队的组建.
- h3c acl配置一列
acl number 3004 rule 0 permit ip source 10.2.1.4 0 rule 1 deny ip source 192.168.1.91 0 rule 2 deny ...
- abaqus邓肯张模型umat
首先是始点刚度法: SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, RPL,DDSDDT,DRPLDE,DRPLDT, STRAN,DSTRAN,T ...
- python random库
random模块 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0.766433866365 ...
- Linux shell脚本学习(一)
一.shell脚本简介 shell脚本是用shell脚本语法将shell命令组织起来形成的文件形式.Shell脚本与Windows/Dos 下的批处理相似,主要为了将大量命令通过一个纯文本文件一次执行 ...
- 解析分享链接在微信内转发防封API接口的实现原理
域名被微信封了怎么办?相信这是很多做微信的朋友的疑惑,本人也是做防封的,特此写一篇文章,写给域名被微信封的.被秒封的朋友来看.简单个大家讲一下防封原理和实现方式. 域名拦截因素 我们先来了解一下域名为 ...
- 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/v0pffOhjFWnVbU2lXjuEmw 导语 G ...
- 如何用kaldi做孤立词识别二
基本模型没有变化,主要是调参,配置: %WER 65% 下降到了 15% 后面再继续优化... Graph compilation finish!steps/decode.sh -- ...