Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz

Berkenalan dengan scikit-learn (Part 5) – Tambahan untuk Scaling dan Imputation Data

“Statistics are the triumph of the quantitative method, and the quantitative method is the victory of sterility and death.”

~ Hilaire Belloc

Setelah kita membahas mengenai scaling data pada postingan Berkenalan dengan scikit-learn (Part 3) – Scaling Data Menjadi Standard Normal dan Berkenalan dengan scikit-learn (Part 4) – Scaling Data dengan MinMaxScaler. Kali ini kita juga akan membahas mengenai Imputation. πŸ™‚

Dalam ilmu statistika, imputation adalah proses substitusi nilai kosong (missing data/null value/not available) pada dataset. Terdapat beragam metode untuk menangani missing value ini, misalnya dengan menghapus seluruh baris data yang terdapat nilai kosong, mengganti nilai kosong dengan nilai rata-rata (mean) maupun nilai yang sering muncul (mode atau modus) apabila data tersebut numerik, dsb.

Imputation adalah topik yang sangat dalam, sehingga pada kesempatan kali ini, kita berkenalan saja dulu dengan dua contoh implementasinya menggunakan scikit-learn. Selamat membaca & mencoba! πŸ™‚

 

Membuat Idempotent Scalar Objects

Baca selebihnya »

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz

Berkenalan dengan scikit-learn (Part 4) – Scaling Data dengan MinMaxScaler

β€œAs data scientists, our job is to extract signal from noise.”

~ Daniel Tunkelang

Dari postingan sebelumnya, kita telah mengenal metode scaling data menggunakan standard normal (z-score), dengan menetapkan mean 0 dan standard deviation 1. Metode tersebut bukan metode satu-satunya untuk scaling data.

Pada postingan kali ini, kita akan membahas metode lain untuk scaling data numerik, yaitu Min-Max Scaling, yang sering dikenal juga dengan normalisasi data atau normalization (karena z-score juga sering disebut normalization, maka sering terjadi ambiguitas atau tertukar-tukar :D).

Min-Max Scaling bekerja dengan scaling data/menyesuaikan data dalam rentang/range tertentu (range nilai minimum hingga nilai maksimum), dengan rentang yang biasa digunakan adalah 0 hingga 1. Berikut ini adalah uraian matematisnya:

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, AzizBaca selebihnya »

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz

Berkenalan dengan scikit-learn (Part 3) – Scaling Data Menjadi Standard Normal

“Statistics and numbers are no good unless you have good people to analyse and then interpret their meaning and importance.”

~ Brendan Rodgers

Halo! Di postingan kali ini, kita akan membahas mengenai scaling data, yaitu salah satu metode dalam preprocessing data numerik/data angka nonkategori.Β Preprocessing data adalah teknik/step dalam data mining atau machine learning, untuk mentransformasikan data mentah menjadi data yang siap dianalisis.

Metode scaling data yang akan kita bahas di sini adalah scaling data menjadi standard normal. Standard normal sendiri merupakan salah satu metode yang paling direkomendasikan dalam teknik scaling data, sekaligus merupakan salah satu distribusi yang paling dikenal dan paling penting dalam statistika.

Pernah mendengar z-score pada statistika? Ya, kita akan mengubah/scaling data kita menjadi z-score.Baca selebihnya »

Data Scientist, Data Science, Machine Learning, Statistics, Data Science Indonesia, Data Analytics, Data Analysis, Data Analyst, Data, Astronomy, Astronomer, Science, Python, iPython, Jupyter Notebook, R, RStudio, Excel, Coding, Koding, Cara Mengolah Data, Mengolah Data, Olah Data, Programming, Pemrograman, Sains, Teknologi, Ilmu Data, Teknologi Informasi, Tech in Asia, Teknologi, Technology, Sains, Bisnis, Business, Business Analyst, Business Analysis, Social Media Mining, Movie Review, Muhammad Azizul Hakim, Aziz

Berkenalan dengan scikit-learn (Part 2) – datasets.make_: Membuat Sampel Data untuk Latihan Analisis Data

β€œYou can have data without information, but you cannot have information without data.”

~ Daniel Keys Moran

Pada postingan sebelumnya (part 1), kita telah mengenal langkah-langkah persiapan dalam menggunakan library scikit-learn, dan kita juga telah tahu cara mengimport datasets bawaan dari scikit-learn. Untuk lebih menajamkan sense kita untuk mengetahui kecocokan suatu tipe datasets dengan metode machine learning yang akan kita gunakan, di postingan kali ini, akan kita coba bersama, membuat datasets untuk toy analysis; atau untuk latihan analisis data, atau bahkan untuk prototyping, sebelum implementasi ke data yang sebenarnya. πŸ™‚

Di postingan kali ini, kita akan lihat perbedaan bentuk/tipe-tipe datasets untuk setiap algoritma machine learning yang berbeda.

Mari kita lihat, beragam jenis datasets yang dapat kita buat dengan scikit-learn, dengan script berikut ini:

#import library terlebih dahulu, jangan lupa
import sklearn.datasets as d
import numpy as np

#syntax untuk melihat, datasets macam apa sajakah yang bisa dibuat menggunakan scikit-learn
d.make_*?

Kita lihat hasilnya di console:Baca selebihnya »

Berkenalan dengan scikit-learn (Part 1) – Preparations

“If one wants to make a machine mimic the behaviour of the human computer in some complex operation one has to ask him how it is done, and then translate the answer into the form of an instruction table. Constructing instruction tables is usually described as “programming”.”

~ Alan Turing

Scikit-learn adalah library untuk machine learning bagi para pengguna python. Scikit-learn merupakan free software, dan memungkinkan kita melakukan beragam pekerjaan dalam Data Science, seperti regresi (regression), klasifikasi (classification), pengelompokkan/penggugusan (clustering), data preprocessing, dimensionality reduction, dan model selection (pembandingan, validasi, dan pemilihan parameter maupun model).

Pada postingan kali ini, bersama-sama kita akan berkenalan dengan library super keren ini, dan seperti biasa, sambil praktik. Let’s get started! πŸ™‚

Baca selebihnya »

Mengintegrasikan Python dengan MySQL (Part 1)

β€œWith data collection, β€˜the sooner the better’ is always the best answer.”

~ Marissa Mayer

Pada artikel sebelumnya, kita sudah melakukan scraping data pada HTML table, lalu menyimpan hasilnya pada format file CSV. Cukupkah itu?

Relatif, bergantung tujuan kita dalam menyimpan data. Jika kita hanya membutuhkannya untuk satu kali penggunaan, misalnya cukup untuk diedit dan dirapikan tabelnya, lalu dibuat laporan atau presentasi, ataupun penyimpanan datanya untuk satu kali analisis data, bisa jadi cukup.

Namun, apabila kita ingin menyimpan data yang tidak hanya berjumlah banyak, data juga akan terus ditambahkan secara kontinu (contoh: perekaman data customer), perlu dianalisis secara berkala, perlu manipulasi data dengan mudah dan cepat, perlu relasi antar data atau tabel, penyimpanan data perlu secara aman; tidak volatile; dan mudah diakses kapanpun oleh kita sendiri maupun rekan kerja, dan bahkan data tersebut ingin kita tampilkan realtime pada website, maka cobalah simpan data anda pada database MySQL. πŸ™‚

MySQL adalah open source relational database management system (RDBMS) terpopuler saat ini. Dengan pesaing kepopulerannya adalah dua closed source database systems, yaitu Microsoft’s SQL Server dan Oracle’s DBMS.

 

1. Membuat Database “scrapedwiki”

Oke, let’s practice! πŸ™‚

Sebelumnya, terlebih dahulu kita buat MySQL database untuk menyimpan hasil scraping dengan mengetikkan perintah di bawah ini pada MySQL Command Line Client:Baca selebihnya »

Sumber Gambar: https://en.wikipedia.org/wiki/Comparison_of_text_editors

Scraping Data Tabel HTML Wikipedia (with Python)

“If programming is magic, then web scraping is wizardry; that is, the application of magic for particularly impressive and useful-yet surprisingly effortless-feats.”

~ Ryan Mitchell

Web/Screen Scraping adalah metode untuk mengekstrak informasi (tekstual maupun non tekstual) dari website atau layar, sehingga dapat dianalisis lebih lanjut. Bisakah kita mendapatkan informasi-informasi tersebut hanya dari copy-paste manual? Tentu sangat bisa! Singkatnya, manfaat web scraping adalah memungkinkan kita untuk mengotomatisasi dan mempercepat proses pengumpulan data tersebut, apalagi jika pengumpulan data dalam jumlah banyak dan harus dilakukan lebih dari satu kali.

Salah satu pekerjaan yang sering ditemukan dalam web scraping adalah meretrieve data dari HTML table dan menyimpannya dalam format CSV (comma separated values). Di postingan kali ini, kita akan scrape data dari Wikipedia’s Comparison of Text Editors; yang merupakan contoh yang bagus, karena tabel HTMLnya cukup kompleks, dan juga terdapat dua belas tabel pada artikel ini (bayangkan jika kita harus copy-paste secara manual!).

Sudah dibuka link text editornya? Kita dapat scrape tabel pertama hanya dengan python script yg kurang dari 20 baris berikut ini:Baca selebihnya »