Belajar Data Science dan Machine Learning dengan Python - Part 1 - Pengenalan Jupyter Notebook
Haloo semua! Semoga tetap sehat-sehat ya!
Beberapa Postingan Author sebelumnya adalah mengenai pengenalan Machine Learning, A.I. dan Data Science. Pada kesempatan kali ini, Author ingin berbagi ilmu yang Author pelajari untuk mengimplementasi ketiganya ini, dengan menggunakan Python. Sebenarnya tidak perlu harus menggunakan Python, bahasa pemograman apapun selama teman-teman nyaman dan menguasai, boleh juga kok. Cuma, sepanjang yang Author pelajari dan cari-cari di Mbah Google, Banyak orang memilih menggunakan Python karena mudah dipelajari dan diimplementasi, serta banyak librari-librari Python bertebaran yang siap digunakan untuk Data Science dan A.I. sehingga lebih menghemat waktu dan biaya.
Jadiiii... disinilah Author menulis blog, dengan menggunakan Python ya teman-teman ^^ Sebelum kita memulai, Author akan membahas kebutuhan awal yang harus disiapkan. Teman-teman bisa mencoba meng-install dulu Anaconda di laptop kamu (saatnya ke Mbah Google, saya punya permintaan, tolong cari Download Anaconda), sesuaikan dengan OS yang kamu pakai ya, windows, mac, ataupun linux.
Karena Author, pakai Anaconda lewat cara Docker, maka Author akan menyertakan langkah-langkah dengan docker ya (anggapan Author adalah para pembaca disini sudah memahami apa itu Docker, karena Author sudah pernah buat postingan mengenai Docker diawal awal). Teman-teman bisa mengecek di sini untuk langkah-langkah menginstall docker anaconda ya, atau bisa baca dari postingan Author aja (Author menyarankan untuk tetap melihat dari web Anaconda ya, karena bisa jadi langkah atau metode unduh nya berubah, karena Author tidak tahu kapan teman-teman baca postingan ini), yuk kita mulai.
1. Dari terminal / Command prompt teman-teman yang sudah meng-install docker, mari kita mencari dulu docker image untuk anaconda:
Docker search continuumio
2. Setelah keluar daftar docker image yang tersedia, contoh:
Author akan menggunakan image miniconda3 sesuai contoh dari dokumentasi conda, karena miniconda3 lebih ke versi minimum dan kita tidak perlu librari berat lainnya, sementara kita baru akan mencoba. Toh kita tetap bisa memasang manual librari yang akan kita pakai kalau memang ada yang dibutuhkan nanti, jadi, pertama kita akan menarik image tersebut ke lokal docker kita. (Pastikan internet kamu tanpa batas kuota ya, karena imagenya cukup besar, +/- 150MB, kalau install yang anaconda3, totalnya +/- 1GB, kebayangkan beda di librari yang dipasangnya)docker pull continuumio/anaconda3
3. Buat container docker nya dan jalankan miniconda3 nya
1. docker run -i -t continuumio/miniconda3 /bin/bash
#Alternatif, kita bisa install jupyter notebook server, supaya bisa berinteraksi dengan Anaconda melalui browser, lihat sumber untuk tahu apa itu Jupyter Notebook
2. docker run -i -t -p 8888:8888 continuumio/miniconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='0.0.0.0' --port=8888 --no-browser"
# kalian bisa kasih nama container nya dengan tag --name setelah port, jadi 8888:8888 --name nama_container --allow-root
# kalian bisa memakai command -d atau detached, untuk awal kalian bisa tanpa -d ini dulu supaya ketauan kalau ada error, atau kalau jupyter notebook nya tidak aktif. Kalau kalian sudah cukup pede dockernya tidak akan ada error, boleh pakai -d. kalau kalian pakai command -d ini, kalian bisa masuk ke docker nya dengan docker exec -it <nama_container> bash lagi, lalu kalian bisa ketik jupyter notebook list didalam,
untuk melihat server mana yang aktif dan menyalin url nya ke browser. Cukup pakai -t -d -p, tanpa -i untuk mode detached. untuk tahu proses nya, kalian bisa pakai docker logs <nama docker>
# pastikan container terpasang dengan benar, cek dengan
docker ps -a
#kalau container tidak up, bisa coba di start
docker start anaconda3
--- Perintah diatas hanya akan aktif sampai kita menutup container karena perintah run awal ketika kita membuat containernya selalu memanggil fungsi create folder dll yang akan menimbulkan eror karena sudah ada foldernya, jadi
author akan buat secara manual ya supaya containernya bisa dibuka terus kemudian hari
(perintah diatas hanya bila kita akan terus menjalankan misalnya di private server)
1. docker run -t -d continuumio/miniconda3 /bin/bash
2. cd /opt/conda/bin
3. conda install jupyter -y # conda ini adalah execution file
4. mkdir /opt/notebooks
5. cd /opt/conda/bin # selalu dari folder ini untuk execute exe file jupyter
6. jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8890 --no-browser --allow-root # untuk menjalankan jupyter notebook pada port yang diinginkan
1. Perbedaan antara image miniconda dan miniconda3 adalah perbedaan versi python bawaannya. Miniconda menggunakan python 2.7, sementara miniconda3 python 3+
2. (Dibawah ini adalah cara-cara meng-install Jupyter Notebook, skip ke Section Selanjutnya Nomor 4 kalau kalian tidak tertarik dengan Jupyter Notebook)Author meng-install Jupyter notebook dengan menggunakan perintah ke 2 diatas karena lebih enak menggunakan visual untuk pembelajaran :), tapi kembali lagi itu kebebasan dari pengguna. Bisa jadi teman-teman tidak menyukai tampilan Jupyter Notebook, atau ada preferensi lainnya. Di contoh web anaconda, ip nya pakai *, tapi ketika Author coba, akan kena error:The notebook server is listening on all IP addresses and not using encryption. This is not recommended / for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM): socket.gaierror: [Errno -2] Name or service not known. Jadi Author mengarahkan ip localhost 0.0.0.0. Author juga memakai --allow-root dibandingkan contoh di web resminya, karena ada error: Running as root is not recommended.Ketika sukses, maka tampilan di terminalnya akan seperti:Dan teman-teman bisa mengakses nya lewat localhost:8899, atau bisa memasukkan url seperti di terminal, beserta token. perbedaaan ketika kita tidak memasukkan token, halamannya akan muncul seperti berikut:
Kalian bisa mengisi password, atau tetap memakai token untuk masuk ke halaman utama Jupyternya, sehingga muncul tampilan berikut:
Docker exec -it anaconda3 bash
pip freeze > requirements.txt
ini akan membuat sebuah file requirements.txt yang berisikan full package / librari yang dipakai oleh Conda. Teman-teman bisa mengatur sendiri librari mana saja yang mau dipakai, untuk contoh Author, Author akan menggunakan requirement yang sama dengan versi Windows (bisa di lihat di bawah di bagian Windows Anaconda ya).
conda create --name myEnv (kamu juga bisa menggunakan perintah singkat -n untuk --name)
kamu juga bisa menentukan versi python yang akan dipakai dengan menambahkan python=3.*), contoh:
conda create --name myEnv python=3.8
conda activate myEnv4. Instruksikan conda untuk meng-install seluruh librari yang kita pakai dan semua librari yang memiliki ketergantungannya
conda install --file requirements.txt
Conda akan meminta konfirmasi kembali untuk librari yang akan dipasang, berikan jawaban y apabila kamu yakin, dan tunggu sampai proses unduh nya selesai.
conda install YOUR_MISSING_DEPENDENCY_LIBRARY_PACKAGE
Untuk meng-install versi khusus yang dimau, biasanya cukup dengan perintah (biasa tergantung versi Python, atau bahkan bisa dari versi conda juga, selalu update conda nya dulu ya)
conda install library_name version=x.x.x
Setelah semuanya, jangan lupa untuk keluar dulu dari environment yang kita buat dengan cara conda deactivate.
Perlu diketahui ketika kita membuat environment baru, environment ini tidak otomatis terpasang di jupyter notebook. Jadi, kita harus memasang Librari tambahan untuk mengaktifkan environment di Jupyter Notebook, dengan perintah:
conda install nb_conda_kernels
kita kembali ke browser Jupyter notebook, dan kalian bisa lihat ada menu baru di pilihan new, yaitu Notebook -> Python 3, pilih ini, kita akan mengecek apakah environment yang kita buat bekerja / tidak
Ketikkan import pandas, lalu klik tombol run, kalau tidak ada masalah, berarti kita sudah bisa, dan sedang menggunakan Librari Pandas. Lalu kita bisa mengetikan lagi perintah, misalkan mengecek versi librari Pandas yang kita pakai dengan perintah pandas.__version__ , kalau teman-teman benar, maka kalian akan mendapatkan versi Pandas sesuai dengan file requirements.txt kita sebelumnya. Dan Jupyter Notebook ini siap digunakan untuk bermain dengan Python :)
jupyter==1.0.0
lxml==4.5.1
MarkupSafe==1.1.1
matplotlib==3.3.2
notebook==6.0.3
numpy==1.18.1
openpyxl==3.0.4
pandas==1.1.2
Pillow==7.2.0
scikit-learn==0.23.2
scipy==1.4.1
seaborn==0.11.0
SQLAlchemy==1.3.18
https://hub.docker.com/r/continuumio/anaconda3https://docs.anaconda.com/anaconda/user-guide/tasks/docker/https://jupyter.org/https://pandas.pydata.org/pandas-docs/stable/getting_started/install.html










Comments
Post a Comment