Anda di halaman 1dari 16

Minggu 7

Metode Analisis Data:


Regresi dan Klustering
mengggunakan Python
Metode Analisis Data: Regresi
menggunakan Python
 Bahasan  Setelah mengikuti kuliah dan
praktikum ini, mahasiswa
 Regresi linier diharapkan dapat:
 Deskripsi model  Melakukan operasi regresi linier
 Evaluasi model dan nonlinier untuk Data
Analytics menggunakan Python
 Regresi pokinomial
 Menerapkan metode pemilihan
 Deskripsi model model yang relevan dengan
 Evaluasi model kasus dan data yang tersedia
menggunakan Python
 Regresi multilinier
 Pustaka
 Deskripsi model
 EMC Education Services, (2015)
 Evaluasi model
 Ross (2014)
 Wickham and Grolemund
(2017)
Metode Analisis Data: Klustering
mengggunaan Python
 Bahasan  Setelah mengikuti kuliah dan
praktikum ini, mahasiswa
 Pengertian klustering
diharapkan dapat:
 K-means
 Melakukan klustering dan
 Penentuan jumlah kluster analisisnya dalam Data
Analytics menggunakan
 Evaluasi penentuan
Python
kluster
 Pustaka
 EMC Education Services,
(2015)
 Ross (2014)
 Wickham and Grolemund
(2017)
Machine Learning

 Machine learning algorithms:


 Supervised learning
 Unsupervised learning Supervised Unsupervised
Learning Learning
 Others:
 Reinforcement learning

Diskrit
Classification /
 Recommender systems Clustering
categorization

Kontinu
 Application Dimensionaal
Regression
 Regression Reduction
 Classification
Regresi

 Model Regresi  Kata kunci:


 Output sebagai fungsi linier  Least squares
dari input
 Sum of Squared Error,
(bisa multivariabel)
Mean Squared Error
 Output sebagai fungsi  Korelasi
nonlinier dari input

 Evaluasi model
Tutorial 1: Regresi Linier y=k0+k1x

 Pada Editor Spyder, ketikkan program berikut sebagai reg1.py


import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams["figure.dpi"] = 100
plt.clf()
x = np.array([[1.0],[2.0],[3.0],[4.0],[5.0],[6.0],[7.0],[8.0],[9.0],[10.0]])
y=
np.array([[4.1],[6.7],[8.9],[12.1],[14.5],[16.9],[19.0],[22.0],[24.5],[27.1
]])
Regresi Linier y=k0+k1x

lr = np.polyfit(x, y, 1)
yapp = np.polyval(lr,x)
print('Persamaan Regresi: y = ', lr[0],' + ',lr[1],'x')
plt.plot(x,y, 'ro')
plt.plot(x,yapp, 'b-')
plt.title('Regresi Linier', fontsize=14)
plt.xlabel('Input', fontsize=14)
plt.ylabel('Output', fontsize=14)
plt.grid(True)
plt.show()
Tutorial 2 & PR: Regresi Polinomial

 Modifikasilah program reg1.py x y


untuk menghasilkan regresi
polynomial 1 2.9
y=k0+k1x +k2x2 2 18.0
3 42.4
 Nama program NIMreg2.py,
4 77.5
 Menggunakan data pada
tabel 5 123.8
 Cari dan gunakan fungsi untuk 6 180.1
 Memperbaiki format 7 248.3
tampilan data numerik
 Menampilkan korelasi data 8 326.1
9 414.1
10 512.7
Tutorial 3: Multiple Linear Regression
 Pada Editor Spyder, ketikkan program berikut sebagai reg3.py
from pandas import DataFrame
from sklearn import linear_model
import statsmodels.api as sm
Stock_Market = {'Year':
[2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2017,2016,2016
,2016,2016,2016,2016,2016,2016,2016,2016,2016,2016],
'Month': [12, 11,10,9,8,7,6,5,4,3,2,1,12,11,10,9,8,7,6,5,4,3,2,1],
'Interest_Rate':
[2.75,2.5,2.5,2.5,2.5,2.5,2.5,2.25,2.25,2.25,2,2,2,1.75,1.75,1.75,1.75,1.75,1.75,
1.75,1.75,1.75,1.75,1.75],
Tutorial 3: Multiple Linear Regression
'Unemployment_Rate':
[5.3,5.3,5.3,5.3,5.4,5.6,5.5,5.5,5.5,5.6,5.7,5.9,6,5.9,5.8,6.1,6.2,6.1,6.1,6.1,5.9,6
.2,6.2,6.1],
'Stock_Index_Price':
[1464,1394,1357,1293,1256,1254,1234,1195,1159,1167,1130,1075,1047,965,
943,958,971,949,884,866,876,822,704,719]}

df =
DataFrame(Stock_Market,columns=['Year','Month','Interest_Rate','Unemp
loyment_Rate','Stock_Index_Price'])
X = df[['Interest_Rate','Unemployment_Rate']]
Y = df['Stock_Index_Price']
Tutorial 3: Multiple Linear Regression
# with sklearn
regr = linear_model.LinearRegression()
regr.fit(X, Y)
print('Intercept: \n', regr.intercept_)
print('Coefficients: \n', regr.coef_)

# prediction with sklearn


New_Interest_Rate = 2.75
New_Unemployment_Rate = 5.3
print ('Predicted Stock Index Price: \n',
regr.predict([[New_Interest_Rate ,New_Unemployment_Rate]]))
Tutorial 3: Multiple Linear Regression
# with statsmodels
X = sm.add_constant(X)

model = sm.OLS(Y, X).fit()


predictions = model.predict(X)

print_model = model.summary()
print(print_model)
K—means Clustering

 Mengelompokkan sejumlah data-data terdekat


Tutorial 4: Klustering
 Pada Editor Spyder, ketikkan program berikut sebagai reg4.py
from pandas import DataFrame
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
Data = {'x':
[25,34,22,27,33,33,31,22,35,34,67,54,57,43,50,57,59,52,65,47,49,48,35,33,44,45,3
8,43,51,46],
'y':
[79,51,53,78,59,74,73,57,69,75,51,32,40,47,53,36,35,58,59,50,25,20,14,12,20,5,29,
27,8,7] }
df = DataFrame(Data,columns=['x','y'])
kmeans = KMeans(n_clusters=3).fit(df)
centroids = kmeans.cluster_centers_
print(centroids)
plt.scatter(df['x'], df['y'], c= kmeans.labels_.astype(float), s=50, alpha=0.5)
plt.scatter(centroids[:, 0], centroids[:, 1], c='red', s=50)
Analisis Klustering & PR

 Berdasarkan program yang


anda buat, tentukanlah
 Jumlah kluster yang paling
baik
 Modifikasilah program
reg4.py untuk melakukan
analisis klustering data dari
file yang disediakan pada
tautan PR.
 Simpan dan unggah file
sebagai NIMkluster.py
PR

 Lakukan studi pustaka,  Jawablah pertanyaan


minimal pada buku teks berikut:
yang disarankan.  Parameter apa yang
 Jawablah pertanyaan menyatakan kualitas
berikut: regresi yang digunakan?
 Kapankah regresi  Parameter apa yang
polinomial digunakan? menyatakan kualitas
 Kapankah multiple linear clustering yang
regression digunakan? digunakan?

 Kapankah analisis
klustering dibutuhkan?

Anda mungkin juga menyukai