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,