和 Python 相比,Matlab 能否成为深入学习数据挖掘的工具?
程序员文章站
2022-05-17 13:51:24
...
对matlab比较熟悉,用起来比较得心应手,感觉谢菲尔德遗传算法工具箱和神经网络工具箱都非常好用,而且编程简单,调试程序也很容易,python只学过一些基础,想要熟练到matlab那个程度还需要一段时间,可能是被matlab惯坏了,总觉得python各种不舒服……问题来了,请问如果摆脱python只用matlab能不能深入学习数据挖掘知识呢,在将来会不会遇到瓶颈,具体可能会遇到哪些实际问题?顺便求推荐matlab和python应用于数据挖掘方面的书单,谢谢
所以一切纠结工具的问题都没什么意义,其实是熟悉哪个先用哪个,别因为语法什么的妨碍了您学习科学文化知识,自然如果都熟悉,反正我就是看心情看时间成本的换着用,如果都不熟悉,那您要不先找找您熟悉的,R也成啊。[我是有多不喜欢R]...
半回答半吐槽,求不折叠。。
干货吧!
我的答案只代表此刻我的立场,与语言本身没有关系。
如果硬要推荐一门“深入”的数据挖掘语言,
那么,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适合学习和研究,遇到的实际问题就是,在企业界找不到工作
回复内容:
别逗了,深入学习数据挖掘...用啥不一样,又不是深入学习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适合学习和研究,遇到的实际问题就是,在企业界找不到工作
“学习数据挖掘的工具”
题主也很清楚这只是个学习工具罢了,那个熟悉用哪个就好。
如果要做生产工具,先想想自己创造的价值能不能超过正版授权费。