Linear Regression

1. Supervised Learning : Linear Regression
Dalam statistik, linear regression adalah pendekatan linier untuk memodelkan hubungan antara variabel dependen yang dilambangkan Y dan satu atau lebih variabel independen yang dilambangkan X. Model Persamaan Regresi Linear Sederhana adalah seperti berikut ini :
Y = a + bX
Dimana :

Y = Variabel Dependen atau Variabel Akibat(Response)

X = Variabel Independen atau Variabel Faktor Penyebab (Predictor)

a = konstanta

b = koefisien regresi (kemiringan); besaran Response yang ditimbulkan oleh Predictor.
Kali ini kita akan memprediksi harga rumah dengan menggunakan Linear Regression. Dataset yang akan digunakan adalah dataset dari sklearn, yaitu dataset harga rumah Boston.

1.0.1  Step 1: Menyiapkan Data
Pertama, kita import terlebih dahulu library yang dibutuhkan

import dataset dari sklearn

download dataset

1.0.2  Step 2: Visualisasi data

Selanjutnya, kita lihat scatter plot dari salah satu feature dengan target, yaitu jumlah kamar dengan harga rumah.

Dari plot diatas, kita bisa melihat bahwa harga meningkat seiring dengan jumlah kamar, yang secara intuitif masuk akal. Selanjutnya, kita akan menggunakan scikit-learn untuk melihat apakah kita bisa memasukkan data secara linier. Sebelum itu, kita harus mengubah dataset ke dalam bentuk DataFrame.

1.0.3 Step 3: gunakan scikit learn untuk implementasi multivariate regression

Linear regression terbagi menjadi univariate regression dan multivariate regression. kita menggunakan univariate regression ketika hanya ada satu variabel data(feature) yang mempengaruhi target. Namun jika yang mempengaruhi target ada lebih dari satu feature, maka kita gunakan multivariate regression.
Pertama, kita import library linear regression dari sklearn

sklearn.linear_model.LinearRegression merupakan sebuah estimator. estimator memprediksi sebuah nilai berdasarkan data yang diobservasi. dalam scikit learn, semua estimator menerapkan metode fit() dan predict(). metode fit() digunakan untuk mengetahui parameter model, sedangkan metode predict() digunakan untuk memprediksi nilai target dengan menggunakan parameter yang diperoleh dari fit().

kita pisahkan kolom features dan kolom target pada dataframe

Dari tabel diatas kita dapat melihat korelasi antar kolom pada dataframe. Korelasi paling tinggi dari harga rumah adalah dengan jumlah kamar. Kita juga bisa melihat atribut apa yang paling berpengaruh terhadap target dengan menggunakan Lasso Regression yang juga bisa digunakan
untuk melakukan feature selection.


In [ ]: Dapat dilihat bahwa jumlah kamar ialah atribut yang paling berpengaruh dan berkontribusi penting untuk menentukan target variable.

1.0.4 Step 4: Training and Validation

Dalam dataset, sebuah training set diimplementasikan untuk membangun sebuah model, sementara validation set digunakan untuk memvalidasi model yang dibangun. pemilihan sampel dari dataset untuk dijadikan training set atau validation set dilakukan secara acak. Kita akan menggunakan dua teknik validasi untuk membandingkan akurasinya, K-cross validation dan train test split.

[ 0.72590475 0.71326269 0.73320728]
Average K-Fold CV Score: 0.7241249084434545

Rˆ2: 0.7109203586326283

1.0.5 Step 5: prediksi harga
kita telah memiliki data training dan data test. selanjutnya kita gunakan data training tersebut
untuk memprediksi harga rumah, kemudian gunakan data test untuk validasi.

2. Train Test Split

Rˆ2: 0.7109203586326283

3. K-Cross Validation

cross predict accuracy: 0.717669565673

In [ ]: Dapat dilihat perbandingan bahwa validasi train test split mendapat akurasi 0.7109203586326283, sedangkan untuk cross validation adalah 0.717669565673. Cross validation lebih tinggi karena ketika menggunakan train test split,

Langkah pertama belajar Machine Learning menggunakan Python Part 2

Yak..

Artikel ini membahas pembahasan lanjutan mengenai Machine Learning.
Langsung saja

.

.

.

 

4. Visualisasi data

Kita sekarang punya ide dasar tentang data. Kita perlu memperluasnya dengan beberapa visualisasi.

Kita akan melihat dua jenis plot:

  • Plot univariat untuk lebih memahami setiap atribut.
  • Plot multivariat untuk lebih memahami hubungan antar atribut

A. Plot univariat

B. Plot Multivariat

5. Mengevaluasi Algoritma

Sekarang saatnya membuat beberapa model data dan memperkirakan akurasi mereka pada data yang belum terlihat. Inilah yang akan kita bahas di langkah ini:

  • Pisahkan dataset validasi.
  • Test kekuatan.
  • Bangun 5 model yang berbeda untuk memprediksi spesies dari pengukuran bunga
  • Pilih model terbaik.

A. Membuat Validasi Dataset

Kita perlu tahu bahwa model yang kita buat nanti akan bagus. Nantinya, kita akan menggunakan metode statistik untuk memperkirakan keakuratan model yang kita buat pada data yang belum terlihat. Kami juga menginginkan perkiraan yang lebih konkrit tentang keakuratan model terbaik pada data yang tidak terlihat dengan mengevaluasi data aktual yang tidak terlihat.

Artinya, kita akan menahan beberapa data yang tidak dapat dilihat algoritma dan kita akan menggunakan data ini untuk mendapatkan gagasan kedua dan independen tentang seberapa akurat model terbaik sebenarnya.

Kami akan membagi dataset yang dimuat menjadi dua, 80% di antaranya akan kami gunakan untuk melatih model kami dan 20% bahwa kami akan menahan diri sebagai kumpulan data validasi

B. Menguji kekuatan

Kami akan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Ini akan membagi dataset kami menjadi 10 bagian, berlatih 9 dan menguji 1 dan ulangi untuk semua kombinasi split tes kereta.

Kami menggunakan metrik ‘accuracy’ untuk mengevaluasi model. Ini adalah rasio jumlah kejadian yang diprediksi dengan benar dalam dibagi dengan jumlah total kasus dalam dataset dikalikan dengan 100 untuk memberikan persentase (misalnya 95% akurat). Kami akan menggunakan variabel penilaian saat kita menjalankan build dan mengevaluasi setiap model selanjutnya.

C. Membuat model

Kami tidak tahu algoritma mana yang bagus dalam masalah ini atau konfigurasi apa yang akan digunakan. Kami mendapatkan ide dari plot bahwa beberapa kelas dipisahkan secara parsial dalam beberapa dimensi, jadi kami mengharapkan hasil yang baik secara umum. Mari kita evaluasi 6 algoritma yang berbeda:

  • Logistic Regression (LR)
  • Linear Discriminant Analysis (LDA)
  • K-Nearest Neighbors (KNN).
  • Classification and Regression Trees (CART).
  • Gaussian Naive Bayes (NB).
  • Support Vector Machines (SVM).

Ini adalah campuran yang baik dari algoritma LR dan LDA sederhana, nonlinier (KNN, CART, NB dan SVM). Kami mereset nomor acak benih sebelum menjalankan masing-masing untuk memastikan bahwa evaluasi masing-masing algoritma dilakukan dengan menggunakan pemisahan data yang sama persis. Ini memastikan hasilnya sebanding secara langsung. Mari membangun dan mengevaluasi kelima model kami:

D. Memilih model terbaik

Kami sekarang memiliki 6 model dan estimasi akurasi untuk masing-masing. Kita perlu membandingkan model satu sama lain dan pilih yang paling akurat. Menjalankan contoh di atas, kita mendapatkan hasil mentah berikut ini:

LR: 0.966667 (0.040825)

LDA: 0.975000 (0.038188)

KNN: 0.983333 (0.033333)

CART: 0.975000 (0.038188)

NB: 0.975000 (0.053359)

SVM: 0.981667 (0.025000)

Kita dapat melihat bahwa KNN memiliki perkiraan nilai akurasi terbesar. Kita juga bisa membuat sebidang hasil evaluasi model dan membandingkan penyebaran dan akurasi rata-rata masing-masing model. Ada populasi ukuran akurasi untuk setiap algoritma karena setiap algoritma dievaluasi 10 kali (10 kali lipat validasi silang).

Anda dapat melihat bahwa kotak dan kotak whisker terjepit di bagian atas kisaran, dengan banyak sampel mencapai akurasi 100%.

5. Membuat Prediksi

Algoritma KNN adalah model yang paling akurat yang kami uji. Sekarang kita ingin mendapatkan gambaran tentang keakuratan model pada set validasi kami.Ini akan memberi kita pemeriksaan akhir yang independen terhadap keakuratan model terbaik. Hal ini berharga untuk menjaga agar validasi tidak dilakukan seandainya Anda melakukan slip selama pelatihan, seperti terlalu banyak pelatihan atau kebocoran data. Keduanya akan menghasilkan hasil yang terlalu optimis.

Kita dapat menjalankan model KNN secara langsung pada set validasi dan merangkum hasilnya sebagai skor akurasi akhir, matriks kebingungan dan laporan klasifikasi.

Kita dapat melihat bahwa keakuratannya adalah 0,9 atau 90%. Matriks kebingungan memberikan indikasi dari tiga kesalahan yang dibuat. Akhirnya, laporan klasifikasi memberikan rincian setiap kelas dengan presisi, daya ingat, skor akhir dan dukungan yang menunjukkan hasil yang sangat baik (memberikan dataset validasi kecil).

0.9

[[ 7  0  0]

 [ 0 11  1]

 [ 0  2  9]]

                             precision    recall  f1-score   support

Iris-setosa                  1.00      1.00      1.00         7

Iris-versicolor           0.85      0.92      0.88        12

Iris-virginica              0.90      0.82      0.86        11

avg / total                   0.90      0.90      0.90        30

YANG PENTING YAKIN !!!

Anda tidak perlu mengerti semuanya. (Setidaknya tidak sekarang) Tujuan Anda adalah menjalankan tutorial end-to-end untuk mendapatkan hasilnya. Anda tidak perlu memahami semua yang ada di jalur pertama. Cantumkan pertanyaan Anda saat Anda pergi. Gunakan bantuan berat (“FunctionName”) membantu sintaks Python untuk mempelajari semua fungsi yang Anda gunakan.

Anda tidak perlu tahu bagaimana algoritma bekerja. Penting untuk diketahui tentang keterbatasan dan cara mengkonfigurasi algoritma pembelajaran mesin. Tapi belajar tentang algoritma bisa datang nanti. Anda perlu membangun pengetahuan algoritma ini perlahan dalam jangka waktu yang lama. Hari ini, mulailah dengan merasa nyaman dengan platform.

Anda tidak perlu menjadi programmer Python. Sintaks bahasa Python bisa jadi intuitif jika Anda baru mengenalnya. Sama seperti bahasa lainnya, fokus pada pemanggilan fungsi (misalnya fungsi ()) dan tugas (misalnya a = “b”). Ini akan membuat Anda mendapatkan sebagian besar jalan. Anda adalah pengembang, Anda tahu bagaimana cara mengambil dasar-dasar bahasa dengan cepat. Mulailah dan selami detailnya nanti.

Anda tidak perlu menjadi ahli Machine Learning. Anda bisa belajar tentang manfaat dan keterbatasan berbagai algoritma nantinya, dan ada banyak posting yang bisa Anda baca nanti untuk memoles langkah-langkah proyek pembelajaran mesin dan pentingnya mengevaluasi akurasi dengan menggunakan validasi silang.

Bagaimana dengan langkah lain dalam proyek Machine Learning.

Kami tidak mencakup semua langkah dalam proyek pembelajaran mesin karena ini adalah proyek pertama Anda dan kami perlu fokus pada langkah-langkah kunci. Yakni, memuat data, melihat data, mengevaluasi beberapa algoritma dan membuat beberapa prediksi. Dalam tutorial selanjutnya kita bisa melihat persiapan data dan hasil perbaikan tugas lainnya.

 

Langkah pertama belajar Machine Learning menggunakan Python Part 1

Pengenalan Machine Learning

Machine Learning adalah pengambilan pengetahuan dari suatu data. Hal tersebut adalah bidang penelitian di antara statistik, kecerdasan buatan, dan ilmu komputer dan juga dikenal sebagai analisis prediktif atau pembelajaran statistik. Penerapan metode Machine Learning dalam beberapa tahun terakhir telah berkembang di mana-mana dalam kehidupan sehari-hari. Dari rekomendasi film, makanan apa yang harus dipesan atau produk mana yang akan dibeli, ke radio online yang  telah dipersonalisasi dan mengenali teman di foto Anda, banyak situs web dan perangkat modern memiliki algoritma Machine Learning pada intinya. Ketika Anda melihat situs web yang kompleks seperti Facebook, Amazon, atau Netflix, kemungkinan besar setiap bagian situs berisi beberapa model Machine Learning. Lanjutkan membaca