对matlab比较熟悉,用起来比较得心应手,感觉谢菲尔德遗传算法工具箱和神经网络工具箱都非常好用,而且编程简单,调试程序也很容易,python只学过一些基础,想要熟练到matlab那个程度还需要一段时间,可能是被matlab惯坏了,总觉得python各种不舒服……问题来了,请问如果摆脱python只用matlab能不能深入学习数据挖掘知识呢,在将来会不会遇到瓶颈,具体可能会遇到哪些实际问题?顺便求推荐matlab和python应用于数据挖掘方面的书单,谢谢回复内容:
别逗了,深入学习数据挖掘…用啥不一样,又不是深入学习python或者深入学习matlab…至于之前答案中的什么内存问题啊之类的,如果你的数据量到了平台的瓶颈,那么你就是用c也还是不够然后吃虚存啊。上硬件啊。。。[自然matlab有个开放内存上限lululululu,自然matlab本身软件占用内存也比python高到不知道哪里去了,可是matlab写起来也方便不知道多少,多少函数不用乱七八糟的调来调去了]。所以一切纠结工具的问题都没什么意义,其实是熟悉哪个先用哪个,别因为语法什么的妨碍了您学习科学文化知识,自然如果都熟悉,反正我就是看心情看时间成本的换着用,如果都不熟悉,那您要不先找找您熟悉的,r也成啊。[我是有多不喜欢r]…半回答半吐槽,求不折叠。。
咳咳….真的,还是用python吧。
之前我最用熟练的语言就是matlab,的确,用起来那叫一个爽啊。刚看到python的时候也觉得跟matlab一比简直是渣嘛。
但是…
工业界不要……
进阿里实习,发现哪有用matlab的,都是清一色的python大法。
我说我用matlab的,然后被赤果果的嘲讽了。
果断换python搞起,不舒服了一段时间,不过现在python已经成了我的首选语言了。
数据挖掘这种东西吧,像很多知识表示啊,抓数据啊什么的活,matlab都很难整。
作为一门成熟的且有着丰富全面类库的编程语言,python确实更能胜任‘深入’学习的要求。
我觉得matlab最大的问题在于:作为一门语言,它的表现力不够。
matlab没有指针和引用是个大问题
此外虽然它也提供了可怜的面向对象特性….但真的是太难用了。
很多时候,一些稍微复杂点的数据结构,用python实现非常容易,但用matlab就神坑了。
总的来说大概是这么个情况:
1. 工业界需求:python 完爆 matlab
2. 功能丰富程度:python 完爆matlab
3. 实用性:python完爆matlab
4. 费用:python完爆matlab
5. 开发敏捷性:matlab略优
6. 可视化效果,debug等:matlab优
因此选python是没什么疑问了。当然matlab我也不会扔掉,对于算法设计与验证,以及需要可视化的工作,matlab仍然是最得心应手的工具。但是正儿八经的开发,还是用python吧。
请看下表:1.【搜狗招聘】商务搜索部-数据挖掘研发工程师 -熟悉linux平台、shell编程,熟悉python/perl脚本语言2.【百度内推】百度音乐高级数据分析师 -具备unix/linux环境工作能力,能使用shell/python等脚本语言优先 3.【阿里】北京急招数据开发/数据挖掘专家 -精通java或python,有并发应用或者分布式应用软件开发经验优先4.【阳光保险集团 社招】大数据分析 -熟练使用java、c++、python语言中的一种;干货吧!我的答案只代表此刻我的立场,与语言本身没有关系。如果硬要推荐一门“深入”的数据挖掘语言,那么,r语言似乎被称为统计学家的语言,而数据挖掘很大一块隶属于统计学范畴。仅供参考。
学术界就用matlab和python吧,工业界还是c或者java的比较多
不是很清楚matlab和python应用于数据挖掘方面的有哪些书。但我推荐下harvard cs109这门课 http://cs109.github.io/2014/ 。里面会介绍一套基于python的做机器学习的工具,非常好用!只要把里面的作业都做下来,用python做ml不是问题。
竟然被邀请回答这个……其实我对数据挖掘这方面搞得不多,但是既然和机器学习差不多我也抛砖引玉一下:首先关于matlab和python的效率问题,我个人感觉其实不是问题。我至今没有见过做矩阵运算比matlab快的,但是写程序习惯不好多写几个for的话matlab也有可能变得很慢。之前有人说1.3g的csv导入matlab就挂了,这个估计只可能发生在用gui直接点import的情况下。其次,选择哪种语言入手主要取决于包的多少,而不是很泛泛的“这个语言好不好”。就比如我之前做一些视觉上的东西,肯定就需要用matlab,但是现在开始学一些deep learning的东西,那就转用python。原因就是matlab对于图像的接口很方便,而且有各种成熟的算法可以用;而现在deep learning的主流框架的接口都是python。最后,我觉得你该考虑的不是“学习数据挖掘应该用什么语言”而是“我做这个project应该用什么语言”。
为了回答这个问题,我用matlab测试了一下~首先导入数据,1.3g csv 逗号分隔~就在我将数据导入的时候,电脑挂了t t。估计是内存溢出了……我觉得就算是顺利导入,做神经网络的时候电脑还会挂……而用python的时候很顺利……所以,要是数据量太大,matlab估计hold不住……
这学期做自然语言处理,用python,快捷方便,matlab我一直不会用,不过毕竟数学计算能力比较好。不过还是推荐py做,万能的语言,而且比较实用。用python搞机器学习的书有个《机器学习实战》挺不错的,从原理到实例再到实现,简直是神书。
matlab适合学习和研究,遇到的实际问题就是,在企业界找不到工作
“学习数据挖掘的工具”
题主也很清楚这只是个学习工具罢了,那个熟悉用哪个就好。
如果要做生产工具,先想想自己创造的价值能不能超过正版授权费。