Pengenalan

Semasa mempertimbangkan projek sains data, nama-nama yang dilemparkan dapat terasa seperti salad salad. Kafka? Percikan api? Keras? Apakah semua kata-kata ini, dan mengapa kata-kata itu sangat penting bagi sains data?

Dalam blog ini, kami akan memaparkan mengapa kerangka kerja pengaturcaraan dan kemudian memperkenalkan anda kepada 31 kerangka kerja dan antaramuka pengaturcaraan yang sering digunakan dalam projek data. Akhirnya, kami akan menunjukkan kepada anda bagaimana anda boleh mendapatkan bantuan daripada kami sekiranya anda berminat untuk mengetahui lebih lanjut mengenai cara meneroka sains data di organisasi anda.

Apa itu Kerangka Pengaturcaraan?

Tetapi pertama, penting untuk memahami apa itu kerangka pengaturcaraan. Sebilangan besar orang mungkin mempunyai pemahaman asas bahawa pengaturcaraan melibatkan penulisan baris kod. Walau bagaimanapun, menulis baris kod dari awal untuk setiap projek membosankan. Kerangka kerja dan perpustakaan memperpendek proses kreatif dan membolehkan pengaturcara memanfaatkan penyelesaian programatik yang benar-benar dicuba untuk masalah biasa.

Hal ini berlaku terutama bagi sains data, di mana masalah yang harus diselesaikan sangat memberi kesan sehingga mereka tidak boleh dibiarkan melakukan kesalahan ... dan begitu kompleks sehingga bermula dari awal setiap masa boleh memakan masa.

Kerangka kerja dan perpustakaan pada asasnya merupakan blok permulaan untuk membuat kod; blok kod ini telah dibina, diuji, dan dioptimumkan oleh komuniti.

Tiga Faedah Kerangka Kerja untuk Saintis Data

Kerangka kerja menawarkan banyak faedah kepada saintis data dan pasukan teknologi tempat mereka bekerja.

  • Kerangka Membuat kod yang Lebih Baik. Kerangka kerja membantu pengekod membuat corak reka bentuk yang lebih baik dan mengelakkan kod pendua atau tidak selamat. Kod berikutnya lebih mudah ditulis, lebih mudah diuji, dan lebih senang untuk debug.
  • Rangka Kerja Diuji Pra dan Dioptimumkan Pra. Pasukan sains data dapat menjimatkan masa dengan menggunakan kod pra-diuji dan pra-dioptimumkan daripada bermula dari awal.
  • Pelaksanaan Lebih Cepat. Landasan pelaksanaan lebih pendek apabila pasukan menggunakan kod yang sangat didokumentasikan, diuji, dan dioptimumkan. Pasukan dapat menghabiskan lebih sedikit masa untuk merancang dan menguji dan lebih banyak masa untuk menganalisis dan mengoptimumkan model.

Seterusnya, kami akan memperkenalkan anda kepada 31 kerangka kerja sains data (dan antara muka) yang akan anda dengar di dunia sains data.

31 Rangka Kerja dan Antara Muka Sains Data

1. Apache Kafka

Apache Kafka adalah platform pesanan sumber terbuka dan berskala yang dibina di Java dan Scala dan dibuat oleh LinkedIn. Sebagai platform streaming ("backbone penyerapan"), ia mampu menangani triliunan peristiwa sehari dalam masa nyata. Kafka digunakan sebagai kerangka sains data dalam projek yang memerlukan mengakses dan menangani sejumlah besar data masa nyata.

Ketahui lebih lanjut mengenai Apache Kafka di https://kafka.apache.org/.

2. AMS Pembelajaran Dalam AWS

Walaupun bukan kerangka kerja sendiri, AWS Deep Learning AMI adalah alat yang membolehkan para saintis data bekerja dengan lebih pantas dan lebih baik. Menurut Amazon, "AWI Pembelajaran Dalam AWS menyediakan para praktisi dan penyelidik pembelajaran mesin dengan infrastruktur dan alat untuk mempercepat pembelajaran mendalam di awan, pada skala apa pun." Pada masa penulisan ini, persekitaran AWS DL telah dikonfigurasikan dengan TensorFlow, PyTorch, Apache MXNet, Chainer, Microsoft Cognitive Toolkit, Gluon, Horovod, dan Keras.

Ketahui lebih lanjut mengenai AWS Deep Learning AMI di https://aws.amazon.com/machine-learning/amis/.

3. Bokeh

Bokeh adalah pustaka visualisasi data Python sumber terbuka yang digunakan untuk membuat visualisasi interaktif dan berskala di dalam penyemak imbas. Dengan Bokeh, "interaktiviti" adalah bahagian penting, dan alasan mengapa para saintis suka menggunakannya untuk visualisasi. Bokeh dibina secara berlapis, pertama dimulakan dengan angka, kemudian unsur, dan akhirnya akhirnya terbang. Selepas itu, "Pemeriksa" dapat ditambahkan untuk membolehkan interaksi pengguna.

Ketahui lebih lanjut mengenai Bokeh di https://bokeh.org/.

4. CAFFE

Caffe (sekarang Caffe2, bagian dari PyTorch) adalah "kerangka pembelajaran mendalam yang dibuat dengan ekspresi, kecepatan, dan modularitas dalam pikiran" yang ditulis dalam C ++. Caffe dilengkapi dengan modul latihan pra-konfigurasi, menjadikannya kerangka yang bagus untuk pemula yang baru belajar dengan mesin. Kafe menyimpan dan memanipulasi data dalam "gumpalan", yang merupakan susunan standard dan antara muka memori bersatu. Sifat gumpalan menerangkan bagaimana maklumat disimpan dan disampaikan di seluruh lapisan rangkaian saraf. Para saintis data yang menjelajahi Caffe juga mencuba TensorFlow, Theano, Veles, dan Microsoft Cognitive Toolkit.

Ketahui lebih lanjut mengenai Caffe di https://caffe2.ai/.

5. Rantai

Chainer adalah rangka kerja Python rangkaian neural sumber terbuka yang dibuat oleh pembelajaran mesin dan permulaan robotik di Tokyo. Chainer terkenal dengan kepantasannya, terutama dibandingkan dengan kerangka kerja lain yang lebih "canggih" seperti Tensorflow. Chainer adalah yang pertama memberikan definisi rangkaian neural "define-by-run", yang memungkinkan perubahan dinamis dalam jaringan saraf (keuntungan ketika melakukan debug). Ia juga menyokong pengiraan CUDA dan diperiksa dengan menggunakan alat Python standard.

Ketahui lebih lanjut mengenai Chainer di https://chainer.org/.

6. Pembelajaran Dalam4j

Eclipse DeepLearning4j adalah "perpustakaan pembelajaran mendalam kelas terbuka, sumber terbuka, diedarkan yang ditulis untuk Java dan Scala". Kerana diedarkan, ia dapat memanfaatkan multi-CPU untuk mempercepat latihan. Ia sesuai dengan mana-mana bahasa JVM, seperti Scala, Clojure, dan Kotlin dan berfungsi dengan Spark dan Hadoop. Dengan DeepLearning4j, anda dapat membuat jaring saraf dalam dari jaring cetek, yang terbentuk

Ketahui lebih lanjut mengenai DeepLearning4j di https://deeplearning4j.org/.

7. Cepat.ai

Fastai adalah perpustakaan pembelajaran mendalam yang dikembangkan oleh Jeremy Howard dan Rachel Thomas menggunakan Python. Menurut dokumentasi, Fastai adalah "perpustakaan pembelajaran mendalam yang menyediakan para praktisi dengan komponen tingkat tinggi yang dapat dengan cepat dan mudah memberikan hasil canggih dalam domain pembelajaran dalam standar, dan menyediakan para penyelidik komponen tingkat rendah yang dapat dicampur dan dipadankan untuk membina pendekatan baru. " Pasukan Fastai bertujuan untuk mendemokrasikan kecerdasan buatan dan pembelajaran mendalam, dan dengan demikian telah membuat latihan untuk rangka kerja bebas dan sumber terbuka.

Dapatkan maklumat lanjut di https://www.fast.ai/.

8. Gluon

Gluon adalah antara muka pembelajaran mendalam sumber terbuka dari Microsoft dan Amazon. Antaramuka membolehkan pemaju pembelajaran mesin mengembangkan model dengan cepat tanpa menjejaskan prestasi dengan menggunakan komponen rangkaian saraf yang telah dibina sebelumnya. Ini bermaksud prototaip dan latihan yang lebih pantas.

Ketahui lebih lanjut mengenai Gluon di https://gluon.mxnet.io/ .

9. H2O

H2O adalah platform terbuka, siap untuk syarikat (salah satu dari banyak kumpulan yang sama) yang melayani kes penggunaan perniagaan di lebih 20,000 organisasi di seluruh dunia. Model H2O dapat dibangun menggunakan bahasa yang biasa digunakan seperti Python dan R. Ia juga memiliki "AutoML", yang dapat mengotomatisasi proses pembelajaran mesin dalam batas yang ditentukan pengguna. Dan kerana diedarkan, ia dapat menyokong set data yang sangat besar dan mengekalkan kelajuan, menjadikannya sempurna untuk aplikasi perusahaan.

Ketahui lebih lanjut mengenai H2O di https://www.h2o.ai/.

10. Horovod

Horovod adalah kerangka perisian sumber terbuka dan bebas untuk latihan pembelajaran mendalam yang diedarkan menggunakan TensorFlow, Keras, PyTorch, dan Apache MXNet. Ia dikembangkan oleh pasukan kejuruteraan pembelajaran mesin di Uber sebagai sebahagian daripada platform Michelangelo sebagai kaedah yang lebih baik untuk melatih model TensorFlow yang diedarkan.

Ketahui lebih lanjut mengenai Horovod di https://github.com/horovod/horovod .

11. Buku nota Jupyter

Jupyter Notebook adalah sumber terbuka, berasaskan web untuk sains data, pengkomputeran saintifik, dan aliran kerja pembelajaran mesin. Di dalamnya, anda boleh membuat dan berkongsi dokumen yang mengandungi kod langsung, persamaan, visualisasi dan teks naratif. Jupyter Notebook menyokong lebih daripada 40 bahasa pengaturcaraan, termasuk Python, R, Julia, dan Scala.

Ketahui lebih lanjut mengenai Jupyter Notebook di https://jupyter.org/.

12. Keras

Keras adalah perpustakaan sains data sumber terbuka yang menyediakan antara muka Python untuk rangkaian saraf tiruan. Pada versi 2.4, ia berfungsi sebagai antara muka untuk perpustakaan TensorFlow; versi sebelumnya menyokong TensorFlow, Microsoft Cognitive Toolkit, R, Theano, PlaidML dan banyak lagi. Ia menyokong blok bangunan rangkaian saraf seperti lapisan, objektif, fungsi pengaktifan, dan pengoptimum.

Ketahui lebih lanjut mengenai Keras di https://keras.io.

13. GBM ringan

Light GBM adalah "rangka peningkatan gradien" yang menggunakan algoritma pembelajaran mesin berasaskan pokok. Algoritma berdasarkan histogram meletakkan nilai berterusan ke tong diskrit, yang membawa kepada latihan yang lebih pantas dan penggunaan memori yang cekap. Menurut dokumen tersebut, Light GBM memberikan saintis data kepantasan latihan yang lebih pantas dan kecekapan yang lebih tinggi, penggunaan memori yang lebih rendah, ketepatan yang lebih baik, sokongan pembelajaran selari dan GPU. Ia juga menyokong pengendalian data berskala besar. Ia digunakan untuk peringkat, klasifikasi, dan tugas pembelajaran mesin lain.

Ketahui lebih lanjut mengenai Light GBM di https://github.com/microsoft/LightGBM.

14. Matplotlib

Matplotlib adalah pustaka Python sumber yang komprehensif, popular, dan terbuka untuk membuat visualisasi "kualiti penerbitan". Visualisasi boleh menjadi statik, animasi, atau interaktif. Itu ditiru dari MATLAB, dan dengan demikian mengandung gaya global seperti MATLAB, termasuk hierarki objek.

Ketahui lebih lanjut mengenai Matplotlib di https://matplotlib.org/.

15. Microsoft Cognitive Toolkit (sebelumnya dikenali sebagai CNTK)

Ketahui lebih lanjut mengenai Microsoft Cognitive Toolkit adalah toolkit sumber terbuka untuk pembelajaran mendalam yang diedarkan bertaraf komersial. Ini adalah salah satu yang pertama untuk menyokong ONNX, representasi model bersama sumber terbuka untuk "interoperabilitas kerangka kerja dan pengoptimuman bersama". Ia juga berfungsi dengan bahasa sains data biasa termasuk Python dan C ++ untuk membuat AI kelas komersial.

Ketahui lebih lanjut mengenai Microsoft Cognitive Toolkit di https://docs.microsoft.com/en-us/cognitive-toolkit/.

16. MXNET

Apache MXNET adalah kerangka sumber terbuka yang lain, kali ini untuk pembelajaran mendalam. MXNET mempunyai integrasi yang mendalam ke Python dan sokongan untuk Scala, Julia, Clojure, Java, C ++, R dan Perl. Salah satu tarikan utama MXNET adalah keupayaan untuk bergantian antara pengaturcaraan simbolik dan pengaturcaraan penting untuk produktiviti maksimum. Cabutan lain adalah keupayaan untuk membuat skala dan menyebarkan latihan.

Ketahui lebih lanjut mengenai MXNET di https://mxnet.apache.org/.

17. NumPy

NumPy ("numeric Python") adalah perpustakaan pengaturcaraan Python lain, kali ini digunakan untuk bekerja dengan pengkomputeran berangka dan saintifik sebagai paket pemprosesan array. Kod C yang dioptimumkan untuk kelajuan NumPy menyediakan objek array yang 50x lebih cepat daripada senarai Python, menjadikannya sesuai untuk tujuan Sains Data.

Ketahui lebih lanjut mengenai NumPy di https://numpy.org/.

18. TensorFlow

TensorFlow adalah "platform pembelajaran mesin sumber terbuka dari hujung ke hujung" yang membantu sains data mengembangkan dan melatih model pembelajaran mesin (ML). Ia sangat berguna untuk membina prototaip pantas dengan cekap. Para saintis data boleh menulis dalam bahasa apa pun yang sudah biasa dengannya untuk melatih dan menyebarkan model di cloud atau di lokasi.

Ketahui lebih lanjut mengenai TensorFlow di https://www.tensorflow.org/.

19. Scikit-belajar

Scikit-learning adalah perpustakaan Python sumber terbuka yang mudah dipelajari untuk pembelajaran mesin yang dibina di NumPy, SciPy, dan matplotlib. Ini dapat digunakan untuk klasifikasi data, regresi, pengelompokan, pengurangan dimensi, pemilihan model, dan praprosesan.

Ketahui lebih lanjut mengenai Scikit-belajar di https://scikit-learn.org/stable/.

20. ONNX

Bukan kerangka tetapi alat yang berharga, ONNX bermaksud "Open Neural Network Exchange." Ini adalah format sumber terbuka yang direka untuk mewakili model pembelajaran mesin. ONNX memberikan para saintis data satu set pengendali yang umum dan format fail yang biasa digunakan antara kerangka kerja, alat, waktu proses, dan penyusun. Model yang ada boleh dieksport ke dan dari format ONNX.

Ketahui lebih lanjut mengenai ONNX di https://onnx.ai/.

21. Panda

Pandas (singkatan dari "panel-data-s") adalah alat pembelajaran mesin yang digunakan untuk penjelajahan data, pembersihan, transformasi, dan visualisasi sehingga dapat digunakan dalam model dan latihan pembelajaran mesin. Ia adalah perpustakaan Python sumber terbuka yang dibina di atas NumPy. Pandas dapat menangani tiga jenis struktur data: siri, DataFrame, dan panel.

Ketahui lebih lanjut mengenai Pandas di https://pandas.pydata.org/.

22. Secara terang-terangan

Plotly adalah alat yang popular untuk membuat epal analisis. Ini berisi pelbagai produk, termasuk Dash, kerangka Python dan R sumber terbuka untuk membangun aplikasi analitik berasaskan web, dan Dash DAQ, untuk membangun GUI pemerolehan data pada instrumen saintifik. Plotly juga mengandungi perpustakaan API untuk Python, R, MATLAB, Node.js, Julia, Arduino, dan REST, serta integrasi dengan notebook Jupyter. Plotly juga menawarkan perpustakaan JavaScript sumber terbuka dan pemasangan di tempat.

Perpustakaan Python Plotly adalah perpustakaan plot yang mengandungi lebih dari 40 jenis carta dan visualisasi yang berbeza yang kemudian dapat ditampilkan dalam buku catatan Jupyter, dalam HTML, atau sebagai bagian dari aplikasi yang dibangun di DASH.

Ketahui lebih lanjut mengenai Plotly di https://plotly.com/.

23. Pydot

Pydot adalah antara muka Python untuk Graphviz's Dot yang dapat menghurai dan memasukkan bahasa DOT. Pydot memungkinkan para saintis data menangani, mengubah, dan memproses grafik, serta menunjukkan struktur grafik sehingga dapat digunakan dalam jaringan saraf.

Ketahui lebih lanjut mengenai Pydot di https://pypi.org/project/pydot/.

24. PyTorch

PyTorch adalah satu lagi rangka kerja Python sumber terbuka yang membolehkan para saintis data melakukan tugas pembelajaran mendalam dengan cepat. PyTorch digunakan oleh Salesforce, Stanford University, Udacity, dan banyak lagi untuk melakukan pengiraan Tensor dan membina rangkaian saraf yang dinamik. PyTorch berdasarkan Torch, sebuah perpustakaan pembelajaran mendalam sumber terbuka berasaskan C.

Ketahui lebih lanjut mengenai PyTorch di https://pytorch.org/.

25. SciPy

SciPy adalah ekosistem sumber terbuka untuk matematik dan pengkomputeran saintifik seperti aljabar linier, integrasi, penyelesaian persamaan pembezaan, dan pemprosesan isyarat .. Ia mengandungi beberapa pakej teras berguna termasuk NumPy, IPython, SciPy Library, MatPlotlib, SymPy, dan panda.

Ketahui lebih lanjut mengenai SciPy di https://www.scipy.org/.

26. Shogun

Shogun adalah perpustakaan pembelajaran mesin sumber terbuka yang menyokong banyak bahasa pengaturcaraan sains data seperti Python, Octave, R, Java / Scala, Lua, C #, Ruby. Ia menyokong banyak algoritma seperti algoritma pengurangan dimensi, algoritma pengelompokan, dan mesin vektor sokongan. Ia mampu memproses set data yang besar, menjadikannya pilihan yang sah untuk aplikasi perusahaan.

Ketahui lebih lanjut mengenai Shogun di https://www.shogun-toolbox.org/.

27. Spark MLib

MLib adalah perpustakaan Mesin Pembelajaran Apache Spark; ia dikembangkan oleh UC Berkeley dan mampu memproses sejumlah besar data pada kelajuan tinggi. Ini 100 kali lebih pantas daripada Hadoop untuk pemprosesan data yang besar berkat pengoptimum pertanyaan dan mesin pengoptimuman fizikalnya. Para saintis data dapat menulis aplikasi di Java, Scala, Python, R, dan SQL.

Ketahui lebih lanjut mengenai Spark MLib di https://spark.apache.org/.

28. Laut Laut

Seaborn adalah perpustakaan visualisasi data Python untuk melukis grafik statistik "menarik dan bermaklumat". Seaborn berpusat di Matplotlib. Ini merangkumi pelbagai visualisasi untuk dipilih, termasuk siri masa dan plot bersama.

Ketahui lebih lanjut mengenai Seaborn di https://seaborn.pydata.org/.

29. Theano

Theano adalah "Python library yang membolehkan anda menentukan, mengoptimumkan, dan menilai ungkapan matematik yang melibatkan tatasusunan pelbagai dimensi dengan cekap." Ia mempunyai integrasi yang ketat dengan NumPy, ia melakukan pengiraan data lebih cepat daripada pada CPU, menilai ekspresi dengan lebih cepat, dan mengandungi pengujian unit dan pengesahan diri terbina dalam. Malangnya, Theano terakhir dikemas kini pada tahun 2017 dan perlahan-lahan digantikan oleh alat lain.

Ketahui lebih lanjut mengenai Theano di http://deeplearning.net/software/theano/.

30. Veles

Veles adalah alat sumber terbuka untuk analisis data binari. Veles membolehkan para saintis data mengubah kod binari menjadi visualisasi yang dapat difahami oleh manusia. Oleh itu, saintis data bahkan dapat membalikkan binari jurutera, meneroka gambar sistem fail, atau terlibat dalam Steganografi dengan mudah.

Ketahui lebih lanjut mengenai Veles di https://codisec.com/veles/ .

31. Xgboost

Xgboost, singkatan dari eXtreme Gradient Boosting, adalah alat sumber terbuka yang dikembangkan oleh Tianqi Chen dan kini menjadi sebahagian daripada Komuniti Pembelajaran Mesin Teragih (DMLC). Xgboost adalah alat yang sangat popular untuk regresi, klasifikasi, peringkat, penalaan model, dan peningkatan algoritma dan telah diuji dalam proyek tingkat perusahaan. Menurut penciptanya, "... xgboost menggunakan formalisasi model yang lebih teratur untuk mengendalikan over-fitting, yang memberikannya kinerja yang lebih baik."

Ketahui lebih lanjut mengenai Xgboost di https://xgboost.readthedocs.io/en/latest/.

Terus Melangkah ke Hadapan dengan Aptude

Aptude adalah firma perkhidmatan profesional IT anda sendiri. Kami menyediakan sumber kelas pertama kepada pelanggan kami dengan cara yang berterusan dan dapat menampung kos.

Perkhidmatan sokongan kami akan membebaskan kakitangan IT kanan anda dari beban masalah penyelenggaraan seharian. Sekarang mereka akan mempunyai masa untuk melancarkan projek dan aplikasi baru yang anda nantikan. Ringkasnya, kami dapat membebaskan sumber anda dan menampung kos anda. Mari berbual pantas untuk membincangkan perkhidmatan eksklusif kami.

HUBUNGI KAMI HARI INI