Yüzleşmeden entegrasyona, size R + Python'dan tam olarak yararlanmayı öğretin!

Aletlere değil becerilere odaklanmalıyız.

Veri biliminde çalışıyorsanız, hemen iki programlama dili düşünebilirsiniz: R ve Python.

Aslında, R ve Python kendi başlarına harika araçlardır, ancak genellikle rakip olarak kabul edilirler. Bugün önerilen bu makale, iki seçenek olarak ele almak yerine ikisini karşılaştıracaktır.

Google arama çubuğuna R vs Python yazarsanız, bir tarafın avantajları hakkında hemen birçok makale alırsınız.

Bu sonucun nedenlerinden biri, insanların veri bilimi alanını, programlama dili seçimlerine, bir R kampına ve bir Python kampına göre kamplara ayırmasıdır. Ve bu iki kamp genellikle iyi anlaşamıyor ve hepsi kendi dillerinin diğerlerinden daha iyi olduğuna inanıyor. Bu nedenle, bir dereceye kadar, anlaşmazlık araçlarda değil,

Neden aynı anda kullanılmıyorlar?

Veri biliminde çok az kişi Python ve R'yi aynı anda kullanıyor. Ancak aslında, birçok kişi yalnızca bir programlama dili kullanmasına rağmen, başka bir yazılımın belirli işlevlerini de kullanmak ister. Örneğin, R kullanıcıları bazen Python'un yerel nesne yönelimli yeteneklerini kullanmak isterken, benzer şekilde, bazı Python kullanıcıları da R'de çeşitli istatistiksel dağılımları kullanmak ister.

Yukarıdaki resim, 2018'in üçüncü çeyreğinde Red Monk tarafından yapılan bir anketin sonucudur. Bu anket verileri, Stack Overflow ve Github'daki dillerin popülerliğinden geliyor ve hem R hem de Python'un nispeten popüler olduğunu açıkça gösteriyor. Bu nedenle, aynı projede ikisini birden kullanmamamızın doğal bir nedeni yoktur. Nihai hedefimiz daha iyi analiz etmek ve daha iyi anlamak olmalı ve programlama dili seçimi bu hedefe ulaşmada engel olmamalıdır.

R ve Python incelemesi

Gelin bu dillere ve avantaj ve dezavantajlarına bir göz atalım.

Python

1991'de piyasaya sürülmesinden bu yana, Python çok popüler olmuştur ve veri işleme için yaygın olarak kullanılmaktadır. Avantajlar:

· Nesne yönelimli dil.

· Geniş bir kullanım yelpazesi.

· Birçok eklenti (işlev) ve güçlü topluluk desteği vardır.

· Basit, anlaması ve öğrenmesi kolay.

· Pandalar, numpy ve scikit-learn gibi paketlerde Python, makine öğrenimi etkinlikleri için mükemmel bir seçimdir.

Bununla birlikte, R'den farklı olarak Python, istatistiksel hesaplamalar için özel bir pakete sahip değildir.

R

R'nin ilk sürümü 1995'te piyasaya sürüldü ve o zamandan beri sektörde en yaygın kullanılan veri bilimi araçlarından biri haline geldi.

· Akla gelebilecek hemen hemen tüm istatistiksel uygulamalar için kurulum paketleri içerir. CRAN şu anda 10.000'den fazla pakete sahiptir.

· Tam donanımlı? Ggplot2 gibi görselleştirme kitaplıkları.

· Bağımsız analiz yapabilme yeteneği.

İyi performans gösteren R, en hızlı dil değildir ve bazen büyük veri kümeleriyle uğraşırken çok fazla belleğe sahip olabilir.

Bu iki dilden en iyi şekilde yararlanın

R'nin istatistiksel gücünü ve Python'un programlama gücünü aynı anda kullanabilir miyiz? SQL kodunu R veya Python betiklerine kolayca yerleştirebildiğimizde, neden R ve Python'u birlikte karıştırmayalım?

Bir projede Python ve R'yi aynı anda kullanmanın temelde iki yolu vardır.

Python'da R kullanın

· PypeR

(Http://bioinfo.ihb.ac.cn/softwares/PypeR/)

PypeR, Python'dan bir boru aracılığıyla R'ye erişmenin kolay bir yolunu sağlar. PypeR, kurulum için daha uygun bir yol sağlayan Python Paket Dizinine de dahil edilmiştir. PypeR, Python ve R arasında sık etkileşimli veri aktarımı gerekli olmadığında özellikle yararlıdır. R'yi ardışık düzen üzerinden çalıştıran Python programları, işlem işletim sistemi platformunun (Windows, GNU Linux ve Mac OS dahil) alt işlem denetimi altında bellek denetimi ve taşınabilirlikte esneklik elde edebilir.

· PyRserve

(Https://pypi.org/project/pyRserve/)

pyRserve, Rserve'i RPC bağlantı ağ geçidi olarak kullanır. Bu bağlantı aracılığıyla, Python'da değişkenleri ayarlamak için R'yi kullanabilir ve ayrıca R işlevlerini uzaktan çağırabilirsiniz. R nesneleri, Python'da uygulanan sınıfların örnekleri olarak sunulur ve çoğu durumda R fonksiyonları, bu nesneler için bağlama yöntemleri olarak kullanılır.

· Rpy2

(Https://rpy2.bitbucket.io/)

rpy2 bir Python sürecinde gömülü R çalıştırır. Python nesnelerini R nesnelerine dönüştürebilen, bunları R işlevlerine geçirebilen ve R çıktısını Python nesnelerine dönüştürebilen bir çerçeve oluşturur. rpy2 daha yaygın olarak kullanılır ve aktif geliştirme aşamasındadır.

Python'da R kullanmanın bir avantajı, Python'da R'nin ggplot2, tidyr, dplyr vb. Gibi güçlü yazılım paketlerini kolayca kullanabilmenizdir. Örnek olarak, Python'da haritalama için ggplot2'nin nasıl kullanılacağını görelim.

· Temel sahne

https://rpy2.github.io/doc/latest/html/graphics.html#plot

· Geometri

https://rpy2.github.io/doc/latest/html/graphics.html#geometry

R'de Python kullanın

Python'da R betiklerini çalıştırmak için aşağıdaki alternatif yöntemlerden birini kullanabiliriz:

· RJython

(Https://r-forge.r-project.org/projects/rjython/)

Bu paket Python arayüzünü Jython aracılığıyla uygular. Diğer paketlerin python kodunu R ile yerleştirmesine izin vermeyi amaçlar.

· RPython

(Https://cran.r-project.org/web/packages/rPython/index.html)

rPython, R'nin Python'u çağırmasına izin veren başka bir pakettir. Python kodunu R'de çalıştırmayı, işlev çağrıları yapmayı, değişken atamayı ve almayı vb. Mümkün kılar.

· SnakeCharmR

(Https://github.com/asieira/SnakeCharmR)

SnakeCharmR, rPython'un modern bir sürümüdür. Bu bir 'rPython' dalıdır, 'jsonlite' kullanır ve rPython'a göre birçok iyileştirmeye sahiptir.

· PythonInR

(Https://bitbucket.org/Floooo/pythoninr/)

PythonInR, Python ile içeriden etkileşime giren işlevler sağlayarak Python'a R içinden erişmeyi çok kolaylaştırır.

· Ağlamak

(Https://github.com/rstudio/reticulate)

Ağlı paket, Python ve R arasında birlikte çalışabilirlik için kapsamlı bir araç seti sağlar. Yukarıdaki tüm seçenekler arasında, bu en yaygın kullanılanıdır, ancak aynı zamanda Rstudio tarafından aktif olarak geliştirilmektedir. Reticulate, sorunsuz, yüksek performanslı birlikte çalışabilirlik elde etmek için Python oturumunu R oturumuna yerleştirir. Bu paket, iki dili bir araya getiren yeni bir proje oluşturarak Python kodunu R'ye bağlamanızı sağlar.

Ağ paketi aşağıdaki olanakları sağlar:

· R Markdown dahil olmak üzere çeşitli şekillerde R'den Python'u çağırın, Python komut dosyalarını alın, Python modüllerini içe aktarın ve R oturumlarında Python'u etkileşimli olarak kullanın.

· R ve Python nesneleri arasında dönüştürme (örneğin, R ve Pandas veri çerçeveleri arasında veya R matrisi ile NumPy dizisi arasında).

· Sanal ortamlar ve Conda ortamları dahil Python'un farklı sürümlerine esnek bir şekilde bağlanın.

sonuç olarak

Hem R hem de Python, veri analizi görevlerini gerçekleştirmek için yeterli olan çok güçlü dillerdir. Ancak ikisinin de bazı avantajları ve dezavantajları olmalı, ikisinin de avantajlarını kullanabilirsek, kesinlikle daha iyisini yapabiliriz. Her durumda, ikisinin tam olarak anlaşılması, daha fazla ortamda çalışmamızı sağlayacaktır.

Günümüzün temel sesi | yeni iPhone tasarım pozlama üç kameralı tasarım görülmeye değer
önceki
Yeni finansman turu Alibaba'nın lider yatırımını kazandı Akıllı projeksiyonun ilk payı doğmak üzere mi?
Sonraki
Neden boyutsal bir felaket var? Nasıl çözülür?
Zhejiang, dünya çapında bir şehir kümesi oluşturmak için Yangtze Nehri Deltası'nın entegre gelişimini şiddetle teşvik ediyor
70 yıl önce bugün, Halk Kurtuluş Ordusu, Peiping'i şehre girmek için bir tören düzenledi ve bu değerli eski fotoğrafları bıraktı!
UC ağ diski yeni çevrim içi: Süper üyeler, 9,9 yuan'ın ilk ayı için 6T alanın tadını çıkarabilir
Zhejiang, dünya çapında bir şehir kümesi oluşturmak için Yangtze Nehri Deltası'nın entegre gelişimini şiddetle teşvik ediyor
JD Express kişisel hizmeti, tıpkı SF Express gibi çevrimiçidir ve bir tazminat kaybetmenin maliyeti daha düşüktür
Bugün Core Voice | Samsung, Huawei'ye yanıt veriyor: Biz bir numaralı kamerayız
Mi Play, 6GB bellek sürümü ekler: 1299 yuan'dan başlayan fiyatlarla
Sonunda buradasın! WeChat dün iki yararlı "işlev" yayınladı
Endüstri sınırı: Mantık ve sinir ağlarını birleştiren ILP, iki büyük okulun avantajlarına sahiptir
Mobil, 100 milyon geniş bantın ücretsiz olduğunu söyledi, ancak bu rutini benimle oynamayı beklemiyordum
Pekin Üniversitesi Peng Yuxin: Çapraz medya akıllı analizi ve uygulaması
To Top