欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

和 Python 相比,Matlab 能否成为深入学习数据挖掘的工具?

程序员文章站 2022-05-17 13:51:24
...
对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这门课 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适合学习和研究,遇到的实际问题就是,在企业界找不到工作

学习数据挖掘的工具

题主也很清楚这只是个学习工具罢了,那个熟悉用哪个就好。


如果要做生产工具,先想想自己创造的价值能不能超过正版授权费。

相关标签: matlab python