Site Overlay

Python vs R

Bir kaç sene önce Makina öğrenmesiyle tanıştığımda hep kafamda bu soru vardı. R mı ? Python mu ? Yıllar geçtikçe farklı verilerle, farklı anlam ve kalıp arayışına girdikçe kullanım alanlarının farklı olduğunu ve kıyaslanmaması gerektiğini anladım.

R ve Python, geniş bir topluluğa sahip açık kaynaklı programlama dilleridir. Yeni kütüphaneler veya araçlar kendi kataloglarına sürekli olarak eklenir. R temel olarak istatistiksel analiz için kullanılırken, Python veri bilimine daha genel bir yaklaşım sunar.

R ve Python, veri bilimine yönelik programlama dili açısından son teknolojidir. Her ikisini de öğrenmek elbette ideal çözümdür. R ve Python bir zaman yatırımı gerektirir ve bu lüks herkes için uygun değildir. Python, okunabilir bir sözdizimine sahip genel amaçlı bir dildir. Bununla birlikte R, istatistikçiler tarafından inşa edilir ve kendi dillerini kapsar.

Python:

Python, dinamik olarak yazılmış, kodlama, prosedür, yorum ve nesne yönelimli bir dil olarak nitelendirilebilen bir çok paradigma programlama dilidir. Standart kütüphane denilen çok kapsamlı bir yerleşik kütüphane ile birlikte gelir. Python’un yerleşik işlevi, gücü ve esnekliği, onu öğrenmenin güçlü nedenleridir.

Python da çok amaçlıdır ve veri biliminden sistem ve ağ yönetimine, web uygulamalarını oluşturmak, yerel makinenizde yardımcı program komut dosyaları çalıştırmak vb. İçin her şey için kullanılabilir.

Python, diğerlerine göre (örneğin, Java, C #) karşılaştırıldığında nispeten basit bir dildir ve bilgisayar programında tamamen yeni olanlar için öğrenmesi kolay olmalıdır. Bir veya iki çevrimiçi çevrimiçi öğretici yardımı ile, dilde yeni birileri hiçbir zaman düz basit çalışma Python kodu yazabilirsiniz.

Python, hem çevrimiçi hem de genel olarak büyük bir topluluğa sahiptir. Dil ile yapmak istediği, öğreneceği veya cevapladığı herhangi bir şey, uygun kaynakları hızlıca bulmayı çok kolay bulmalıdır.

Python, hem çevrimiçi hem de genel olarak büyük bir topluluğa sahiptir. Birisinin dili ile yapmak istediği, öğrendiği veya yanıtladığı herhangi bir şey, uygun kaynakları hızlı bir şekilde bulmayı çok kolay bulmalıdır. Her ikisini de bilmesi gerektiğini bilir.
Sonunda, en gelişmiş yazılım mühendisliği becerileri, İstatistikler konusunda sağlam bir temeliniz veya ekibinizde profesyonel bir istatistikçi olmadıkça sizi hiçbir yere götürmez. Analitik kullanmamızın temel nedeni iş kararları vermektir. Ve resmin tamamını ütülenmiş bir kavrayışa sahipken bunu en iyi şekilde kullanabiliriz.

Örnek:

Bu kod, bir Gauss çekirdeği kullanan doğrusal olmayan destek vektör makinesini kullanarak ikili sınıflandırma yapar. Tahmin edilmesi gereken hedef, girdilerin bir XOR’sidir.
Renk haritası, Destek Vektörü Makine Sınıflandırıcısı tarafından öğrenilen karar fonksiyonunu gösterir. (SVC)

print(__doc__)

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm

xx, yy = np.meshgrid(np.linspace(-3, 3, 500),
np.linspace(-3, 3, 500))
np.random.seed(0)
X = np.random.randn(300, 2)
Y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)

# fit the model
clf = svm.NuSVC()
clf.fit(X, Y)

# plot the decision function for each datapoint on the grid
Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

plt.imshow(Z, interpolation=’nearest’,
extent=(xx.min(), xx.max(), yy.min(), yy.max()), aspect=’auto’,
origin=’lower’, cmap=plt.cm.PuOr_r)
contours = plt.contour(xx, yy, Z, levels=[0], linewidths=2,
linetypes=’–‘)
plt.scatter(X[:, 0], X[:, 1], s=30, c=Y, cmap=plt.cm.Paired,
edgecolors=’k’)
plt.xticks(())
plt.yticks(())
plt.axis([-3, 3, -3, 3])
plt.show()

Output:

R:

Python gibi, R de dinamik olarak yazılmış, yazılan, prosedürel ve yorumlanan bir dil olarak nitelendirilebilen çok paradigma bir dildir. Ayrıca bir tür nesne yönelimli programlamayı da destekleyebilir, ancak Python ile karşılaştırıldığında daha az bilinir.

R, istatistiksel yazılım olarak kabul edilir (SAS ve SPSS’ye benzer) ve istatistikler, veri analizi ve veri görselleştirmesi için çok uzmandır ve çok uygundur. Bu nedenle, bir dilin Python ile karşılaştırıldığında daha az esnek ve çeşitlidir. Bununla birlikte, uzmanlık alanı nedeniyle R, bu alanlarda uzmanlaşmış geniş bir insan topluluğuna sahiptir.

R bence oldukça garip bir sözdizimi var, ama bu kötü bir şey değil. Daha önce bahsedilen CS’nin temellerini anladıktan sonra öğrenmek zor bir dil değildir, ancak bazı insanlardan çok dik bir öğrenme eğrisine sahip olma ününü kazanmıştır.

R’nin kesinlikle Python’dan ayrılmasının bir yolu, doğal uygulaması ve matris aritmetik ve vektörler ve matrisler gibi ilişkili veri yapılarının desteklenmesidir. Bu konuda Matlab ve Octave ile aynı düzeydedir ve Python’daki benzer uygulamalar genellikle, bazılarının karmaşık bir uygulama olduğunu düşündüğü numpy paketini içerir.

Örnek:

Bu program, doğrusal olmayan bir SVM sınıflandırıcısının kullanımını göstermek için iris veri setini kullanır. Bu kod kasıtlı olarak biraz daha karmaşıktır, çünkü ML tekniklerini geleneksel olarak ML tekniklerinin kapasitesini göstermek için kullanılan kanonik veri setlerinden biri olan veri setinde yerleşik olan — iris veri kümesi — tam teşekküllü bir yapıya uygular. Bu kod ayrıca, R nin dahili istatistik fonksiyonlarının kullanımını da gösterir.
E1071 R paketini kurmanız ve aşağıdaki kodu çalıştırmadan önce kütüphaneyi (e1071) arayarak derleme listesine eklemeniz gerekir. Ancak endişelenmeyin — R Studio’ya yeni paketler yüklemek gülünç derecede basittir.

# NOT RUN {
data(iris)
attach(iris)

## classification mode
# default with factor response:

library(e1071)

#loads the svm library into the compile path

model <- svm(Species ~ ., data = iris)

# alternatively the traditional interface:
x <- subset(iris, select = -Species)
y <- Species
model <- svm(x, y)

print(model)
summary(model)

# test with train data
pred <- predict(model, x)
# (same as:)
pred <- fitted(model)

# Check accuracy:
table(pred, y)

Output:

Böylece, Python ve R arasında seçim yapmak söz konusu olduğunda, parasına değer olan herhangi bir veri bilimcisi, ikisini de bilmesi gerektiğini bilecektir.
Sonunda, en gelişmiş yazılım mühendisliği becerileri, İstatistikler konusunda sağlam bir temeliniz veya ekibinizde profesyonel bir istatistikçi olmadıkça sizi hiçbir yere götürmez. Analitik kullanmamızın temel nedeni iş kararları vermektir. Ve resmin tamamını ütülenmiş bir kavrayışa sahipken bunu en iyi şekilde kullanabiliriz.

Daha Fazlası Deliveri.guru’da

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir