DISUSUN OLEH:
UNIVERSTAS BENGKULU
2021
LANDASAN TEORI
Regresi Linier hanya bisa digunakan untuk data yang bersifat interval dan
ratio yang biasanya bersifat diskrit dan kontinu, dan merupakan analisis bivariate
dan multivariate. Regresi Linier melibatkan 2 variabel dimana salah satunya
adalah variabel independent (x) dan satu lagi adalah variabel dependen (y).
Independen berarti variabel ini sebagai variabel utama yang mungkin akan
mempengaruhi nilai variabel kedua (dependen). Dependen berarti nilai variabel
ini akan tergantung dari nilai variabel independennya, jika korelasi tinggi maka
dependensi juga tinggi.
Hal lain yang perlu diperhatikan dalam membuat model linear regresi
(simple atau multi), maka variabel dependen harus memenuhi beberapa asumsi
lainnya. Dimana jika asumsi ini tidak terpenuji maka model dinyatakan tidak
cukup baik. Asumsi-asumsi tersebut antara lain: Linearity, Homoscedasticity,
Multivariate normality, Independence of errors, dan Lack of multicollinearity.
1
PEMBAHASAN
import numpy as np
import pandas as pd
import pylab as pl
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
Penjelasan:
Pada gambar 1.1 terdapat source code import numpy as np yang berfungsi
untuk mengimport lalu membuat list, import pandas as pd untuk data frame yaitu
berfungsi analisis data, source code import pylab as pl dan import
matplotlib.pyplot as plt untuk plotting, serta from sklearn.linear_model import
LinearRegression berfungsi untuk memanggil algoritma Linear Regression dan
from sklearn.model_selection import train_test_split berfungsi untuk membagi
data menjadi training dan testing set.
2. Mengupload Data
2
Source Code:
from google.colab import files
uploaded=files.upload()
Penjelasan:
Pada gambar 2.1 terdapat source code from google.colab import files dan
uploaded=files.upload () yang nantinya memberikan perintah untuk mengimport
file csv yang telah tersedia di excel.
Output:
df.head()
Penjelasan:
Pada gambar 3.1 terdapat source code df = pd.read_csv (“heart failure
prediction dataset.csv”) yang berfungsi untuk membaca data dari file heart failure
3
prediction dataset, sedangkan df.head () berfungsi untuk menampilkan objek
berdasarkan posisi.
Output:
cdf.head(9)
Penjelasan:
Pada gambar 4.1 terdapat source code cdf = df [[“Age”, “MaxHR”]] yang
berfungsi memberikan perintah untuk data frame terhadap data Age dan MaxHR,
dan source code cdf.head(9) merupakan perintah untuk menampilkan objek
dengan posisi 9 baris.
4
Output:
Penjelasan:
Pada gambar 5.1 terdapat source code df.describe () yang berfungsi untuk
menampilkan statistik data.
5
Output:
Penjelasan:
Pada gambar 6.1 terdapat source code plt.scatter (cdf.MaxHR, cdf.Age,
color=’blue’) yang digunakan untuk memplot pada MaxHR dan Age dengan
tampilan berwarna biru, plt.xlabel (“MaxHR”) untuk menunjukkan MaxHR
diposisi garis horizontal (x), plt.ylabe (“Age”) untuk menunjukkan Age diposisi
garis vertical (y) dan plt.show () untuk menampilkan hasilnya.
6
Output:
Penjelasan:
Pada gambar 7.1 terdapat source code msk = np.random.rand (len(df)) <
0.8 yang artinya menghasilkan angka acak dari distribusi seragam standar (yaitu,
11 distribusi seragam dari 0 hingga 1), dan menampilkan angka-angka itu sebagai
array Numpy dan msk dalah array boolean.
7
8. Membuat Variabel
Penjelasan:
Pada gambar 8.1 terdapat source code x = df [‘MaxHR’].values.reshape (-
1,1) dan y = df [‘Age’].values.reshape (-1,1) yang berguna untuk membuat
variabel dalam regresi linear.
9. Training Data Menggunakan Data Split Sebelumnya
Penjelasan:
Pada gambar 9.1 terdapat source code x_train, x_test, y_train, y_test =
train_test_split(x, y, test_size=0.2) yang berfungsi untuk training data pada data
yang telah di split sebelumnya.
10. Mencari Nilai Koefisien dan Intercept
8
Source Code:
lin_reg = LinearRegression()
lin_reg.fit(x_train, y_train)
print(lin_reg.coef_)
print(lin_reg.intercept_)
Penjelasan:
Pada gambar 10.1 terdapat sejumlah source code yang berguna untuk
mencari nilai koefisien dan intercept.
Output:
Gambar 11.1 Source code visualisasi data hasil training dengan plot
Source Code:
y_prediksi = lin_reg.predict(x_test)
plt.scatter(x_test, y_test)
plt.plot(x_test, y_prediksi, c='r')
plt.xlabel('MaxHR')
plt.ylabel('Age')
Penjelasan:
Pada gambar 11.1 terdapat sejumlah source code yang berguna untuk
menampilkan hasil data yang telah ditraining dalam bentuk plot dengan posisi
MaxHR pada titik x dan Age pada titik y.
9
Output:
test_x = np.asanyarray(test[['MaxHR']])
test_y = np.asanyarray(test[['Age']])
test_y_= regr.predict(test_x)
print("Mean absolute error: %.2f" % np.mean(np.absolute(t
est_y_ - test_y)))
10
print("Residual sum of squares (MSE): %.2f" % np.mean((te
st_y_ - test_y) ** 2))
print("R2-score: %.2f" % r2_score(test_y_ , test_y) )
Penjelasan:
Pada gambar 12.1 terdapat sejumlah source code yang berguna untuk
menghitung error data yang telah dibuat, hal ini digunakan untuk melihat seberapa
besar faktor lain dalam mempengaruhi suatu data atau variabel.
Output:
Penjelasan:
Pada gambar 13.1 terdapat source code yang berguna untuk meprediksi
umur dengan detak jantung maksimum 50.
Output:
Gambar 13.2 Output dari menghitung prediksi umur dengan MaxHR 50.
11
Penjelasan:
Pada gambar 13.2 prediksi umur pada detak jantung maksimum 50 adalah
67.18248011 atau 67 tahun.
14. Prediksi Umur dengan Detak Jantung Maksimum (Max Heart Rate) 75
Penjelasan:
Pada gambar 14.1 merupakan source code yang berguna untuk meprediksi
umur dengan detak jantung maksimum 75.
Output:
Gambar 15.1 Source code menghitung prediksi umur dengan MaxHR 100
Source Code:
lin_reg.predict([[100]])
Penjelasan:
Pada gambar 14.1 merupakan source code yang berguna untuk meprediksi
umur dengan detak jantung maksimum 100.
12
Output:
Gambar 15.2 Ouput dari menghitung prediksi umur dengan MaxHR 100.
Penjelasan:
Pada gambar 15.2 prediksi umur pada detak jantung maksimum 100
adalah 59.35065644 atau 59 tahun.
13
DAFTAR PUSTAKA
14