Bu oldukça büyük bir soru, bu yüzden bu tam bir cevap olarak tasarlanmamıştır, ancak umarım bu, veri bilimi söz konusu olduğunda iş için en iyi aracı belirleme konusunda genel uygulamayı bilgilendirmeye yardımcı olabilir. Genel olarak, bu alandaki herhangi bir araç söz konusu olduğunda aradığım nispeten kısa bir nitelikler listem var. Belirli bir sırayla bunlar:
- Performans : Temel olarak, dilin matris çarpımını ne kadar hızlı yaptığına bağlıdır, çünkü bu veri bilimindeki aşağı yukarı en önemli görevdir.
- Ölçeklenebilirlik : En azından benim için bu, dağıtılmış bir sistem oluşturmanın kolaylığına geliyor. Burası dillerin
Julia
gerçekten parladığı bir yer.
- Topluluk : Herhangi bir dilde, kullandığınız aracı kullanarak takıldığınızda size yardımcı olabilecek etkin bir topluluk arıyorsunuz. Burası
python
diğer dillerin çok ötesine geçiyor.
- Esneklik : Hiçbir şey kullandığınız dil ile sınırlı olmaktan daha kötü değildir. Çok sık gerçekleşmez, ancak grafik yapıları temsil etmeye çalışmak
haskell
kötü bir acıdır ve Julia
böyle genç bir dil olmasının bir sonucu olarak çok sayıda kod mimarisi sancısı ile doludur.
- Kullanım Kolaylığı : Daha büyük bir ortamda bir şey kullanmak istiyorsanız, kurulumun basit olduğundan ve otomatikleştirilebildiğinden emin olmak istersiniz. Yarım düzine makinede titiz bir yapı kurmaktan daha kötü bir şey yoktur.
Performans ve ölçeklenebilirlik hakkında bir ton makale var, ancak genel olarak diller arasında 5-10x'lik bir performans farkına bakacaksınız, bu da özel uygulamanıza bağlı olabilir veya olmayabilir. GPU hızlandırması gittikçe, cudamat
onunla çalışmanın gerçekten sorunsuz bir yoludur python
ve cuda
genel olarak kütüphane GPU hızlandırmasını eskisinden çok daha erişilebilir hale getirdi.
Hem topluluk hem de esneklik için kullandığım iki birincil ölçüm, dilin paket yöneticisine ve SO gibi bir sitedeki dil sorularına bakmaktır. Çok sayıda yüksek kaliteli soru ve cevap varsa, topluluğun aktif olması iyi bir işarettir. Paket sayısı ve bu paketlerdeki genel etkinlik de bu metrik için iyi bir proxy olabilir.
Kullanım kolaylığı söz konusu olduğunda, aslında bilmenin tek yolunun aslında kendiniz kurmak olduğuna inanıyorum. Birçok Veri Bilimi aracının etrafında çok fazla batıl inanç vardır, özellikle de veritabanları ve dağıtılmış bilgi işlem mimarisi gibi şeyler, ancak bir şeyin sadece kendiniz oluşturmadan kurulumu ve dağıtımı kolay veya zor olup olmadığını gerçekten bilmenin bir yolu yoktur.