0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan5 halaman

Hello World ML

Dokumen tersebut memberikan panduan lengkap tentang proses pembelajaran mesin mulai dari persiapan lingkungan (instalasi library), loading data, preprocessing, pemodelan, evaluasi, penyimpanan model, penggunaan kembali model, hingga deployment model menggunakan bahasa pemrograman Python. Prosesnya dijelaskan secara terperinci mulai dari persiapan data, pembuatan pipeline untuk memproses data, pelatihan model, evaluasi kinerja model, hingga penyimpanan dan pen

Diunggah oleh

abdulambia25
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
15 tayangan5 halaman

Hello World ML

Dokumen tersebut memberikan panduan lengkap tentang proses pembelajaran mesin mulai dari persiapan lingkungan (instalasi library), loading data, preprocessing, pemodelan, evaluasi, penyimpanan model, penggunaan kembali model, hingga deployment model menggunakan bahasa pemrograman Python. Prosesnya dijelaskan secara terperinci mulai dari persiapan data, pembuatan pipeline untuk memproses data, pelatihan model, evaluasi kinerja model, hingga penyimpanan dan pen

Diunggah oleh

abdulambia25
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Hello World

Machine Learning
[email protected]

1. Update the System Ubuntu 22.04


$ sudo apt-get update -y && sudo apt-get upgrade -y

2. Install Python3, pip, dan venv


$ sudo apt install python3 python3-pip python3-venv -y atau python3.10-venv atau
$ sudo pip3 install virtualenv
$ python3 -V
$ pip3 --version
$ pip –version
$ apt list python3-venv
$ sudo pip3 install --upgrade pip

3. Install Jupyter Notebook di Ubuntu 22.04


Jupyter Notebook adalah aplikasi klien server opensource and cross-platform yang ditulis dengan Bahasa pemrograman
Python. Nama “Jupyter” berasal dari beberapa bahasa pemrograman, yaitu: Julia (Ju), Python(py), dan R (er). Selain
ketiga Bahasa pemrograman ini, Jupyter juga mendukung PHP, Java, C++, dan Ruby. Jupyter Notebook dapat diakses
melalui browser web untuk tempat menuliskan kode sumber (source code), dan grafik atau teks keterangan. Aplikasi
Jupyter dapat dijalankan di PC Desktop/Laptop, local server atau di remote server.

$ mkdir jupy
$ cd jupy
$ virtualenv myenv atau
$ python3 -m venv myenv
$ source myenv/bin/activate
$ pip3 install jupyter
$ jupyter notebook

Process ML: identifity the data, prepare data, select the ML algoritm, split data, train model, evaluate, predict dan
deploy.

LANGKAH I: PEMBUATAN MODEL


- Data cleansing
- Feature Engineering
- Modeling
- Evaluasi
- Simpan Model
- Load Model
- Deployment

Karena menggunakan data Iris maka tidak perlu melakukan preprocessing, karena data di setting sudah bisa
digunakan untuk pemodelan, namun masih perlu proses scaling.

1
1. Cek Library
from __future__ import print_function

import IPython
print('IPython:', IPython.__version__)

import numpy
print('numpy:', numpy.__version__)

import pandas
print('pandas:', pandas.__version__)

import sklearn
print('scikit-learn:', sklearn.__version__)

2. Load Data Iris


from sklearn.datasets import load_iris
iris = load_iris()

#extract data menjadi data input dan target untuk mengetahui karakter datanya:
X, y = iris.data, iris.target

(cek type data input, jika model di train dgn data numpy maka input ke modelnya juga harus data numpy)
Sikitlearn terbaru bisa merge: di training dgn input numpy tapi di deployment inputnya dengan data pandas,
tapi tetap tidak di sarankan karena, data dari pandas ada nama kolom nya sedangkan data dari numpy
kolom direpresentasikan dengan nomor index datanya.

type(X)

(outputnya ternyata type data numpy)

#lihat isi data iris di tipe data numpy array, hanya 5 data teratas:
print(X[:5])
print(y[:5])
(outputnya seperti list tapi sebenarnya type data numpy)

Jika dilihat dari data Pandas data frame nya:


# data pandas data frame, import dulu library pandas
import pandas as pd

df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['target'] = iris.target

df.head()

dari kondisi data diatas sudah bisa di proses untuk pemodelan machine learning, karena telah memenuhi
syarat-syaratnya: tidak ada null, berupa matrik (angka)
namun masih perlu dilakukan preprocessing proses scaling sebelum di masukan dalam Machin Learning SVM
(terserah algoritmanya apa).

2
Perlu di ketahui bahwa: process scaling pasti menggunakan dot fit (.fit), segala sesuatu dalam pemodelan
yang menggunakan dot fit seperti: imputasi, normalisasi, dimension literrediraction bisa digabungkan
dengan modelnya dengan sesuatu yg disebut pipeline, jadi dataset dimasukan ke dalam pipeline yang mana
isi dari pipeline nya adalah scaling dan modeling, meskipun dalam pipeline bisa dimasukkan imputasinya,
normalisasinya dll.

3. Membuat 2 pipeline (pipeline untuk numpy dan pipeline untuk pandas), jika di real hanya 1 pipeline

# buat pipeline untuk data numpy


from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC

pipe_numpy = make_pipeline(StandardScaler(), LinearSVC(dual='auto'))

# lakukan hal yang sama untuk data pandas, isinya sama dengan numpy hanya dibedakan variablenya saja:
pipe_pandas = make_pipeline(StandardScaler(), LinearSVC(dual='auto'))

4. #Split dataset
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

# split data numpy


X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=46)

# split data pandas


df_train, df_test = train_test_split(df, test_size=0.2, random_state=46)

5. Training data
# train model data numpy
pipe_numpy.fit(X_train, y_train)

# evaluasi model numpy


y_pred = pipe_numpy.predict(X_test)
print(“Hasil Evaluasi Model Numpy”)
print(classification_report(y_test, y_pred))

# train model data pandas


#pisahkan dulu data input dan targetnya karena masih dalam satu data frame
X_train_df, y_train_df = df_train.drop(‘target’, axis=1), df_train[‘target’]
X_test_df, y_test_df = df_test.drop(‘target’, axis=1), df_test[‘target’]

#========== cara lain memisahkan X dan Y


pipe_pandas.fit(df_train.drop('target', axis=1), df_train['target'])

# evaluasi model
y_pred = model_pandas.predict(df_test.drop('target', axis=1))
print(classification_report(df_test['target'], y_pred))
#================ end cara lain

3
pipe_pandas.fit(X_train_df, y_train_df)

# evaluasi model numpy


y_pred_df = pipe_pandas.predict(X_test_df)
print(“Hasil Evaluasi Model Pandas”)
print(classification_report(y_test_df, y_pred_df))

6. # simpan model yg sudah di train


import pickle
#atau joblib
#numpy
with open("model_numpy.pkl", "wb") as model_file:
pickle.dump(pipe_numpy, model_file)

#pandas
with open("model_pandas.pkl", "wb") as model_file:
pickle.dump(pipe_pandas, model_file)

7. Load Model
#load model numpy
with open("model_numpy.pkl", "rb") as model_file:
loaded_numpy_model = pickle.load(model_file)

#cara pakai model yg terload, pastikan jumlah dan posisi fiture banar sama
dengan saat di training tidak boleh ketukar, misalnya kita punya new_data:

#new_data = [1,1,1,1]
#artinya: sl, sw, pl, pw nya 1 cm
#dan itu masih berupa vector padahal di ML mengasumsikannya selalu data majemuk (matrik), maka harus
diubah ke dalam data matrik:
new_data = [[1,1,1,1]]
loaded_numpy_model.predict(new_data)

#hasil prediksinya: aaray([1]), artinya? Cek artinya dengan:


iris.target_names
array([‘setosa’, ‘versicolor’, ‘virginica’], dtype=’<U10’) index 0, 1, 2, 3: berarti array([1]) artinya Versicolor.

#load model pandas


with open("model_pandas.pkl", "rb") as model_file:
loaded_pandas_model = pickle.load(model_file)

# inference model
new_data = [1, 2, 3, 4]
new_data = pd.DataFrame([new_data], columns=iris.feature_names)

#cek new_datanya:
new_data

#memprediksi data new_data:


loaded_pandas_model.predict(new_data)

4
LANGKAH II: DEPLOYMENT > SERVING (REPORTING, SCORING, API)

8. hj

Sumber:

https://linuxhint.com/install-jupyter-notebook-ubuntu-22-04/
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3
https://www.rosehosting.com/blog/how-to-install-jupyter-notebook-on-ubuntu-22-04/

Anda mungkin juga menyukai