2 回答

TA貢獻(xiàn)1906條經(jīng)驗 獲得超3個贊
使用 R 進(jìn)行分析、數(shù)據(jù)可視化與建模:
為分析提供了極好的靈活性
R 使你在分析的時候更容易思考
由于有著十分活躍的統(tǒng)計與數(shù)學(xué)社區(qū),可以持續(xù)的更新和增強(qiáng)分析功能優(yōu)秀的數(shù)據(jù)可視化工具
優(yōu)秀的數(shù)據(jù)可視化工具
極強(qiáng)的靈活性,能夠從自由文本、網(wǎng)站和社交媒體網(wǎng)站提取信息
便于圖像挖掘和為分析準(zhǔn)備數(shù)據(jù)
處理大量的數(shù)據(jù)的時候比 R 語言更好
使用 Python 進(jìn)行數(shù)據(jù)預(yù)處理、數(shù)據(jù)清洗,特別針對于非結(jié)構(gòu)化數(shù)據(jù)(如網(wǎng)頁,圖像,文本等):
對于一個認(rèn)真的數(shù)據(jù)科學(xué)家來說,R 和 Python 都應(yīng)該了解。我們需要的是 R+Python,而不是 R vs Python。

TA貢獻(xiàn)1856條經(jīng)驗 獲得超5個贊
Python的介紹
Python是由Guido van Rossum 1991年創(chuàng)建,強(qiáng)調(diào)效率和代碼的可讀性。希望深入的數(shù)據(jù)分析或應(yīng)用統(tǒng)計技術(shù)的程序員一些Python用于統(tǒng)計的主要用戶。
你越接近在工程環(huán)境中工作,越有可能更喜歡Python。它是一種靈活的語言,并讓其專注于可讀性和簡單性,它的學(xué)習(xí)曲線是比較低的。
R的介紹
Ross Ihaka 和 Robert Gentleman 1995年創(chuàng)建開源語言R作為S編程語言的實(shí)現(xiàn).其目的是開發(fā)一個提供更好更人性化數(shù)學(xué)據(jù)分析,統(tǒng)計和圖形模型的語言.最初,R主要是在學(xué)術(shù)和研究中使用,最近其余也開始使用R.這使得R成為全球發(fā)展最快的統(tǒng)計語言。
Python和R在機(jī)器學(xué)習(xí)與數(shù)據(jù)分析領(lǐng)域中的對比
機(jī)器學(xué)習(xí)和數(shù)據(jù)分析之間的差異有些難以言明,但二者最主要的不同就在于,比起模型的可解釋性,機(jī)器學(xué)習(xí)更加強(qiáng)調(diào)預(yù)測的準(zhǔn)確性;而數(shù)據(jù)分析則更加看重模型的可解釋性以及統(tǒng)計推斷。Python ,由于更看重預(yù)測結(jié)果的準(zhǔn)確性,使其成為機(jī)器學(xué)習(xí)的一把利器。 R ,作為一種以統(tǒng)計推斷為導(dǎo)向的編程語言,在數(shù)據(jù)分析界也得到廣泛應(yīng)用。
當(dāng)然,這并不代表二者只能在各自的一個領(lǐng)域中得到應(yīng)用。它們都擁有相當(dāng)多的資源庫去實(shí)現(xiàn)彼此特定的函數(shù)功能,比如 Python 就有很多資源庫來提高自己統(tǒng)計推斷的能力,R 也有很多包可以提升預(yù)測的準(zhǔn)確率。
Scikit-learn 可能是 Python 最受歡迎的機(jī)器學(xué)習(xí)資源庫了。基于 Numpy 和 Scipy ,scikit-learn 提供大量用于數(shù)據(jù)挖掘和分析的工具,從而提高了 Python 本就出色的機(jī)器學(xué)習(xí)可用性。NumPy 和 SciPy 各自為戰(zhàn),雖然它們是 Python 中數(shù)據(jù)分析的核心部分,但數(shù)據(jù)分析家更可能僅僅原生地去使用它們,而不是基于一個更高的角度。 Scikit-learn 卻將二者結(jié)合成為一個機(jī)器學(xué)習(xí)資源庫,同時也降低了大家的學(xué)習(xí)門檻。
在數(shù)據(jù)分析領(lǐng)域,Python 也因幾個庫而包受推崇。 作為其中最為著名的庫之一,Pandas 為 Python 提供了高性能處理的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具。如同其他很多 Python 的庫一樣,從你著手一個新項目到真正做些有價值的工作這過程的時間將會因它大大縮短。如果你執(zhí)著于 Python 同時又希望使用 R 的功能, RPy2 庫能夠提供所有 R 的主要功能,并給你一個 R 在 Python 中使用的流暢化體驗。
就像 Python 一樣,R 也擁有大量的包來提升它的表現(xiàn)。要想在機(jī)器學(xué)習(xí)領(lǐng)域媲美 Python,R 中的 Nnet 包具有快速構(gòu)建神經(jīng)網(wǎng)絡(luò)模型的能力。通過提供一系列函數(shù)來提升所構(gòu)建模型的有效性,Caret 包也可以加強(qiáng) R 在機(jī)器學(xué)習(xí)的能力。
就 R 在數(shù)據(jù)分析領(lǐng)域的表現(xiàn),仍然有很多包可以用來提升它本就出色的能力。不管是建模前的準(zhǔn)備,建模,以及建模后的分析工作,R 都有很多包可以勝任。這些包大多專門用來完成特定的任務(wù),比如數(shù)據(jù)的可視化,連續(xù)變量回歸和模型驗證。
Python和R不同角度分析
從定位角度看,R致力于提供更好的,對用戶友好的數(shù)據(jù)分析、統(tǒng)計分析和繪圖模型;而Python則強(qiáng)調(diào)生產(chǎn)效率和代碼的可讀性。
雙方的用戶群也有一定的差異。R主要用于學(xué)術(shù)和研究領(lǐng)域,如今正在快速拓展其企業(yè)市場的運(yùn)用。Python的使用者,是那些想深入鉆研數(shù)據(jù)分析或者應(yīng)用統(tǒng)計技術(shù)的程序員,以及向數(shù)據(jù)科學(xué)尋求幫護(hù)的開發(fā)者。用一句話總結(jié):“越接近統(tǒng)計研究跟數(shù)據(jù)分析人,越傾向R;越接近工程開發(fā)工程環(huán)境的人,越傾向Python”。
關(guān)于易學(xué)習(xí)性,開始學(xué)習(xí)R時有一個陡峭的學(xué)習(xí)曲線,一旦了解了最基本知識,就能很容易地學(xué)習(xí)更高級的知識。因此,對于有經(jīng)驗的程序員,R并不難。由于Python看重可讀性和易用性,使得它的學(xué)習(xí)曲線相對比較低并且平緩。因此,對于初級程序員,Python 被認(rèn)為是一個很好的編程語言。
添加回答
舉報