官术网_书友最值得收藏!

1.3.1 腳本語言軟件

典型腳本語言軟件包括R、Python、MATLAB等,依靠編程腳本、交互式開發(fā)和大量工具包支撐分析建模。

R是一套完整的數(shù)據(jù)處理、計算和制圖軟件系統(tǒng)。R語言有著完整數(shù)據(jù)讀取、預處理、統(tǒng)計分析、機器學習、制圖/報告等功能的編程語言,R語言的優(yōu)勢在于統(tǒng)計分析,有1萬多個官方工具包,對統(tǒng)計分析、機器學習算法和周邊效率工具的支持非常完善。R語言的核心數(shù)據(jù)類型是數(shù)據(jù)框(Data Frame),同時也支持矩陣或向量運算,數(shù)據(jù)框類似于關系數(shù)據(jù)查詢組件中的recordSet,是由有相同屬性列構(gòu)成的記錄集,不同列的類型可以不同。數(shù)據(jù)框的概念也逐步被Python(2008年發(fā)布第1版pandas包)、MATLAB等軟件采納。為提高計算能力,R語言也提供了C、C++、Fortran等語言的開發(fā)接口。RStudio作為R語言最常用的IDE(集成開發(fā)環(huán)境),提供了很多便捷性的交互式開發(fā)調(diào)試功能,也支持Python、C/C++、HTML、Markdown等語言的開發(fā)。

MATLAB是著名的科學計算軟件包,對矩陣運算、數(shù)值分析、圖形顯示和工程分析算法(如控制系統(tǒng)設計、信號處理)支持非常完備,動力學仿真包Simulink不僅僅支持連續(xù)動力學系統(tǒng)的仿真,也支持離散事件系統(tǒng)的仿真,除了數(shù)值仿真,也支持半物理仿真(通過PLC、通信協(xié)議接口)。在機器學習方面,MATLAB從2018年開始提供了Statistics and Machine Learning Toolbox。

Python是一種跨平臺的高級編程語言,可以應用在多個領域,尤其是深度學習領域。Python擁有numPy、sciPy、matplotlib等科學計算包,也有scikit-learn、pandas等機器學習算法包。Python常用的IDE包括Spyder、pyCharm,也可以使用Vscode、Eclipse通用環(huán)境的Python插件。在交互式分析上,Jupyter notebook或Jupyter lab可以將分析過程與文檔工作同步進行。

由于Python底層是使用C語言寫的,很多標準庫和第三方庫也是用C語言寫的,因此相比R語言和MATLAB來說、Python的速度要更快,可移植性更強。但在統(tǒng)計算法和機器學習算法方面,R語言更豐富一些。需要注意,不要不加前提地對比運行速度,MATLAB、R、Python語言背后的矩陣運算都是基于BLAS、LAPACK等線性運算包(基于Fortran或C語言實現(xiàn)的,不同實現(xiàn)版本略有不同),如果采用內(nèi)置的矩陣運算,MATLAB、R、Python語言之間的差別應該是很小的。因此,編程時應該盡量遵循一個軟件的前提假設與推薦習慣,例如,在MATLAB中盡量采用矩陣或向量運算,避免用標量循環(huán)。在R中,盡量用內(nèi)置的數(shù)據(jù)框操作函數(shù),避免用循環(huán)。

主站蜘蛛池模板: 新竹县| 大埔县| 汝州市| 新民市| 渑池县| 商丘市| 巴南区| 佛冈县| 儋州市| 安西县| 衡南县| 磐石市| 新邵县| 海门市| 沈丘县| 宣恩县| 化州市| 邵阳市| 丰城市| 左权县| 太保市| 鄱阳县| 旬邑县| 宜春市| 遵化市| 安塞县| 汉阴县| 仪征市| 泸溪县| 科技| 芦山县| 昔阳县| 双城市| 汝州市| 凭祥市| 广南县| 高碑店市| 科技| 建阳市| 象州县| 奎屯市|