#4 Alat dan Bahan untuk Machine Learning

Muhammad Yunus
7 min readJan 13, 2020

Hardware, Software & Library

Hi, semuanya! kembali lagi kita lanjutkan bahasan mengenai Machine Learning mengenai alat dan bahan yang di perlukan untuk Machine Learning. Kita akan coba bagi mulai dari kebutuhan hardware, software sampai Library yang di perlukan untuk mempercepat proses develompment Machine Learning.

Hardware

Untuk kebutuhan development di sarankan sekali menggunakan komputer PC/Laptop 64 bit untuk kebutuhna produktif. Meskipun demikian saya pernah menjalankan model yang deploy ke mini komputer dengan RAM 512MB (Raspberry Pi Zero W).

Berdasarkan buku “Pengantar Machine Learning”, dianjurkan sekurang-kurangnya menggunakan komputer dengan spesifikasi :

  • Intel i5 CPU (3.0+ GHz) — 64bit
  • RAM : 4+ GB DDR4
  • Hardisk : 1TB
  • Ethernet card
  • Optional : SSD (solid state disk) dan Nvidia GPU Card

Namun pada kenyataanya semua latihan yang akan kita lakukan kedepan dapat berjalan dengan spesifikasi minimal, misalnya :

  • Intel Celeron (1.4 GHz) — 64bit
  • RAM : 2GB DDR3
  • Hard Disk : 500GB
  • Ethernet Card
  • VGA Intel

Memang akan ada beberapa kendala seperti proses training yang akan berjalan lebih lama, apa lagi jika melibatkan banyak dataset dengan fitur yang banyak pula.

Software

Kita bahas dari OS ya. OS bisa dipilih sesuai selera masing masing, bisa pakai Windows, Linux atau Mac. Saya sendiri sudah mencoba di beberapa jenis OS seperti Windows 7, Windows 10, Ubuntu Linux dan Debian Linux. Jika spesifikasi laptonya tidak terlalu mumpuni saya sarankan agar menggunakan OS berbasis Linux seperti Ubuntu. Selain lebih ringan juga Opensource. Memang dari sisi administratif seperti cara install software dan lain sebagainya kebanyakan menggunakan command line.

https://medium.com/@andywiens/why-you-should-try-ubuntu-again-5e8cb998c480

Programming Language

Programming Language yang akan digunakan dalam latihan kedepan adalah Python. Mengapa harus python? karena struktur programnya yang sederhana lebih mudah dipahami dibandingkan dengan bahasa pemmrograman lain seperti Java atau C++ misalnya. Ini menjadi keuntungan bagi Engineer atau Scientist Machine Learning yang memang bukan background coder. Sehingga bisa lebih fokus ke metoda dan model yang hendak dibangun tanpan terhalang oleh kerumitan dalam penulisan program. Untuk versi python yang digunakan saya sarankan menggunakan Python versi 3.x (Python 3.x). Kenapa tidak pakai versi 2.7? karena di 2020 support untuk versi 2.7 sudah di hentikan. Jadi lebih baik menggunakan Python 3.x.

Python

Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van Rossum.

Python banyak digunakan untuk membuat berbagai macam program, seperti: program CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk Hacking, dsb.

Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena struktur sintaknya rapi dan mudah dipahami.[link]

https://datawider.com/python-programming-language-is-considered-better-than-other-languages

Development Tools

Anaconda

Anaconda adalah distribusi yang bersifat free dan open-source bahasa pemrograman Python dan R untuk Scientific Computing seperti Data Science, Machine Learning application, large scale data processing, predictive analytics dan lain sebagainya. Bertujuan untuk menyederhanakan Management package dan deployment yang dimanage oleh package management system conda.[link]

Anaconda Enterprise gave us everything we needed in a nice, neat package…[Our] data scientists are happy they can concentrate on using the tools rather than maintaining them.”

Will Collins

Analytics Development Leader, National Grid

Install Anaconda di Windows

  • Instalasi Anaconda di Windows dapat di ikuti di link berikut :
  1. Pertama download dulu Anaconda Installer disini.

saya menganjurkan untuk menggunakan Python 3.7 64 bit

pilih sesuai dengan OS yang digunakan

2. Selanjutnya ikuti langkah instalasi di wizard installer Anaconda sampai Finish.

3. Setelah itu klik Start > Search “Anaconda”

kita akan melihat Anaconda Prompt, Anaconda Navigator dan Anaconda Power Shell. Kedepanya kita akan sering menggunakan Anaconda Prompt untuk melakukan proses instalasi library sampai manage environment.

Sebagai tambahan, sekiranya perlu mengenal beberapa command dasar pada Anaconda Prompt, untuk rangkuman command nya bisa di lihat di Anaconda Cheat Sheet.

Beberapa command yang penting :

Install package : conda install PACKAGENAMEUpdate package : conda update PACKAGENAMECommand line help : COMMANDNAME — helpCreate a new environment : conda create — name ENVIRONMENTNAMESearch package : conda search PACKAGENAME

4. Untuk Instalasi di OS lain dapat ikuti link dibawah :

Mac OS : https://docs.anaconda.com/anaconda/install/mac-os/Linux : https://docs.anaconda.com/anaconda/install/linux/

Jupyter Notebook

Nah, selanjutnya adalah bagian yang gak kalah pentingnya yaitu tools untuk ngoding atau umunya di sebut integrated development environment (IDE). Kalo pada pernah pake IDE seperti Visual Studio misalnya pasti kebayang apa yang bisa di lakukan di tool programing tersebut. Kebanyakan Data Saintis menggunakan Jupyter Notebook, selain mudah digunakan, juga sangat fleksibel karena berbentuk web-application dan tentunya open-source.

Install Jupyter Notebook via Anaconda Prompt

  • Jupyter Notebook sudah terinstall dengan Python melalui Anaconda Installer di step sebelumnya
  • Pada Anaconda Prompt jalankan
jupyter notebook

maka akan muncul running notebook message seperti berikut, dan secara otomatis jupyter notebook terbuka di browser.

Running notebook pada Anaconda Prompt

Fungsi pada Jupyter Notebook

Ketika jupyter notebook dijalankan maka halaman awalnya tampak seeperti berikut.

Halaman awal saat Jupyter Notebook diakses dari browser (http://localhost:8888/?token=<<TOKEN>>)

Pada bagian kanan terdapat drowpdown new untuk menambahkan file Notebook (Python 3) atau menambahkan text file, membuat folder atau menjalankan terminal. Pilih Python 3.

Membuat project baru, pilih Python 3

Setelah itu akan terbuka tab browser baru berisi project notebook baru.

Project yang baru dibuat

Pada tiap cell di dalam notebook bisa disisipkan Code (Python), Markdown, Raw NBConvert dan Heading. pilih code untuk langkah awal.

Mode penulisan pada cell

Kita dapat mengganti nama notebook project yang dibuat dengan menekan bagian kotak merah seperti pada gambar dibawah, akan muncul popup dialog untuk mengganti nama notebook project, klik Rename untuk menyimpan.

Mengganti Nama Project

Kita juga dapatn menyimpan project yang kita buat keberbagai format. Jupyter Notebook secara default akan menyimpan ke format .ipynb (ipython notebook)

Menyimpan hasil project ke berbagai format

Dengan menekan command palette kita bisa melihat deskripsi tiap command yang ada pada Jupyter Notebook beserta keyboard shortcut nya.

Command palette

Berikut merupakan toolbar pada Jupyter Notebook yang akan berguna untuk penulisan program.

Toolbar pada Jupyter Notebook

Install Library untuk keperluan Machine Learning

Library yang banyak digunakan oleh Data scientist atau Machine Learning Engineer diantaranya :

Numpy

Merupakan library python yang mendukung operasi matrix dan array multi-dimensi. Numpy pertamakali dikembangkan oleh Jim Hugunin. Halaman github Numpy bisa di lihat disini.

Conda package : https://anaconda.org/anaconda/numpy

conda install -c anaconda numpy

Matplotlib

Matplotlib merupakan library estension dari numpy untuk mensupport plotting data. Matplotlib dibuat oleh John D. Hunter dikembangkan secara open-source. Halaman github Matplotlib bisa dilihat disini.

Untuk menginstall matplotlib, pilih salah satu dari command berikut.

conda install -c conda-forge matplotlib
conda install -c conda-forge/label/testing/gcc7 matplotlib
conda install -c conda-forge/label/testing matplotlib
conda install -c conda-forge/label/matplotlib_rc matplotlib
conda install -c conda-forge/label/gcc7 matplotlib
conda install -c conda-forge/label/broken matplotlib
conda install -c conda-forge/label/rc matplotlib
conda install -c conda-forge/label/cf201901 matplotlib

Pandas

Pandas merupakan library python yang berguna untuk data manipulation dan analysis. Menawarkan data structure dan operator untuk manipulasi tabel numerik dan data time-series. Halamn Github Pandas dapat dilihat disini.

conda install -c anaconda pandas

Scikit-Learn

Dikenal juga dengan sebutan SKLearn, merupakan Machine Learning Library yang bersifat free. Menawarkan berbagai fitur algoritma klasifikasi, regresi dan clustering termasuk diantaranya Support Vector Machine, Random Forest, K-means, dll.

Conda package : https://anaconda.org/anaconda/scikit-learn

conda install -c anaconda scikit-learn

Tensorflow

Tensorflow adalah sebuah framework komputasional untuk membuat model machine learning. TensorFlow menyediakan berbagai toolkit yang memungkinkan Anda membuat model pada tingkat abstraksi yang Anda sukai. Anda dapat menggunakan API dengan tingkat yang lebih rendah untuk membuat model dengan menentukan serangkaian operasi matematis. Halaman Github untuk Tensorflow dapat dilihat disini.

Conda package :

CPU Base : https://anaconda.org/conda-forge/tensorflow

GPU Base : https://anaconda.org/anaconda/tensorflow-gpu

Untuk menginstall Tensorflow menggunakan Anaconda, pilih salahsatu command berikut :

CPU Base :

conda install -c conda-forge tensorflow
conda install -c conda-forge/label/broken tensorflow
conda install -c conda-forge/label/cf201901 tensorflow

GPU Base :

conda install -c anaconda tensorflow-gpu

Nah sekian dulu ya untuk pengenalan alat dan bahan untuk latihan Machine Learning menggunakan bahasa pemrograman Python. Selanjutnya akan coba di bahas dasar pemrograman Python untuk pemula.

Sumber :

--

--

Muhammad Yunus

IoT Engineer, Software Developer & Machine Learning Enthusiast