Proyek Sederhana Machine Learning Sebagai Visionary Eyes

Fadhilah Rama
5 min readApr 21, 2021

--

sumber : Unsplash

Beberapa waktu yang lalu saya sempat menulis mengenai pengolahan dan penyajian data sampai dengan visualisasi menggunakan perangkat lunak Microsoft Excel. Masih seputar data, kali ini saya mencoba mengulas mengenai machine learning dengan mengadakan proyek sederhana.

Machine learning sendiri adalah cabang dalam di dalam Artificial Intelligence (AI). Dalam hal ini machine learning memiliki kemampuan untuk memperoleh data yang ada dengan perintah yang telah diprogram. Dari program yang telah dibuat tersebut, membuat mesin dapat mempelajari data yang ada dan data yang ia peroleh sehingga bisa melakukan tugas tertentu. Tugas yang dapat dilakukan oleh pun sangat beragam, tergantung dari apa yang ia pelajari.

Analogi sederhana dari machine learning adalah seperti saat kita ingin pergi ke kantor. Pada hari pertama kita menempuh jalan ke kantor, kita masih perlu bantuan maps. Begitupun hari kedua dan hari ketiga. Namun yang perlu diketahui, walaupun dibantu dengan maps, otak kita tetap membangun konstruksi imajinatif bagaimana jalan menuju kantor. Setelah pertigaan belok kiri, abis itu lurus sampe ada tukang nasi uduk di perempatan belok ke kanan.

Sedikit demi sedikit otak kita merekam dan mempelajari fenomena dan nomena yang ada di jalanan. Hingga sampai pada sebulan kemudian, kita sudah khatam jalan menuju kantor di luar kepala. Sampai jalan-jalan tikus, atau bahkan iterasi yang kadang terjadi kita udah tau karna sangking seringnya.

Kurang lebih seperti itulah cara kerja machine learning, mereka belajar dari data-data pada sheet untuk melihat titik-titik yang saling berkaitan.

Pola pembelajarannya pun beraneka ragam begitu pula pada mesin, sama seperti analogi tadi, jalan untuk menuju kantor tentunya ga hanya satu jalur kan. Ada dua pembagian yaitu, Supervised Learning dan Unsupervised Learning.

Supervised Learning, sesuai dengan namanya “Supervisior” metode ini mengharuskan ada Supervisornya hihih. Maksudnya gimana? Jadi tiap data yang digunakan sebagai input diberikana label atau tag, misal data panjang diberi tag “panjang”.

Supervised Learning terbagi menjadi regression dan classification. Regression digunakan ketika data yang diberikan adalah real value, numerical, atau floating point. Contoh penggunaannya untuk kehidupan adalah misal memprediksi harga saham berdasarkan data harga berbanding waktu.

Nah pada projek kali ini saya akan mencoba untuk menerapkan metode regression. Alangkah lebih baik apabila para pembaca juga mempelajari metode yang lain, sehingga dapat membedakan fungsi antara metode satu dengan yang lain.

Software yang saya gunakan disini adalah Jupyter Notebook, beberapa dari kalian pasti sudah cukup familiar dengan software yang satu ini tentunya.

Proyek sederhana berikut, data dan prinsip yang digunakan sangat sederhana namun dapat diaplikasikan kepada data yang lebih kompleks.

Saya menggunakan jupyter notebook untuk meramu dan membuat program sehingga bisa membaca data yang disediakan. Beberapa dari kalian pasti sudah sangat familiar dengan software ini. Jupyter notebook juga digunakan untuk perhitungan model matematis, jadi sangat fleksibel.

Tentunya yang pertama adalah menyediakan kumpulan data yang akan diolah dan dianalisa.

import pandas as pd

Lalu load file yang telah kita import dengan perintah:

df = pd.read_csv(“Salary_Data.csv”)

Setelah itu tentunya data akan terpanggil ke dalam board. Sebelumnya pastikan bahwa data tersebut memang sudah masuk, yaitu dengan menggunakan:

Untuk melihat struktur data dari file yang telah di load bisa dengan menggunakan perintah: (hal ini bisa teman-teman lakukan sebagai langkah pengecekan bahwa data yang digunakan sudah benar)

df.head()

Data sheet hubungan antara year experience dengan salary yang didapatkan. Seperti pada gambar 1, misal dengan years experience 1.1 tahun maka gaji yang didapat adalah 39343. Total data yang digunakan adalah 30 set data, namun teknik ini dapat diimplementasikan kepada data yang lebih besar tentunya.

Dari data yang tersedia ini, kita akan membuat machine learning yang mampu memprediksi salary yang didapat sesuai dengan input years experience yang kita inginkan. Bagaimana caranya? Saya akan jelaskan detail-detailnya pada paragraf selanjutnya.

Datasheet

Biasanya saya akan df.info untuk melihat deskripsi singkat dari data yang digunakan. Ketika sudah dipastikan tidak ada data yang hilang, tentunya tidak perlu lagi untuk cleaning data maka langsung bisa dieksekusi.

df.info()

Selanjutnya kita membagi data menjadi 2 bagian, yaitu; x_train & y_train dan x_test & y_test. Disini saya menggunakan test size-nya adalah 1/3 artinya 30% akan digunakan sebagai data testing sementara 70% sisanya akan digunakan untuk train modelling. Jangan lupa tambahkan random_state dengan nilai 0, agar data testing dan data train nilainya tetap (tidak dirandom setiap program dijalankan ulang).

from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(x, y, test size=1/3, random_state=0)

Lalu setelah itu kita buat modelnya. Seperti yang sudah dijelaskan diatas, kita menggunakan metode linear regression. Kemudian dari model yang diimport kita implemen ke data kita (x dan y).

from sklearn.linear_model import LinearRegression regressor=LinearRegression() regressor.fit(x_train, y_train)

Kemudian kita buat rumusnya bahwa untuk memprediksi y; digunakan data x_test.

y_pred=regressor.predict(X_test)

Setelah model dan formulanya sudah terbentuk, kita buatkan visualisasinya dengan menggunakan matplotlib. Bisa dilihat kita akan men-scatter x_train dan y_train. Kemudian beri label pada tiap koordinat agar mudah dikenali.

import matplotlib.pyplot as plt

plt.scatter(x_train, y_train, color=”green”)

plt.plot(x_train, regressor.predict(x_train), color=”red”)

plt.title(“Years Experience VS Salary”)

plt.xlabel(“Years Experience”)

plt.ylabel(“Salary”)

plt.show()

Scatter plot data_train

plt.scatter(x_test, y_test, color=”green”)

plt.plot(x_train, regressor.predict(x_train), color=”red”)

plt.title(“Years Experience VS Salary”)

plt.xlabel(“Years Experience”)

plt.ylabel(“Salary”)

plt.show()

Scatter plot data_test

Pada grafik scatter plot terlihat garis linier berwarna merah yang bersimpul dari kiri bawah menuju kanan atas, hal ini menandakan pergerakan positif. Dan ada keeratan hubungan antara variabel x dan variabel y.

Terakhir, kita masukkan untuk kolom submit ke user dengan mengadopsi regressor predict yang telah disematkan formula sebelumnya. Nah setelah itu tinggal masukkan nominal tahun yang kamu inginkan, secara otomatis mesin akan menampilkan perhitungan rata-rata berdasarkan data yang mesin miliki.

salary_pred = regressor.predict([[]])

print(“The Salsalary_pred = regressor.predict([[]])

print(“The Salary for that amount of years experience is: “, salary_pred)ary for that amount of years experience is: “, salary_pred)

Tadaa sudah jadi machine learning-nya

Dengan teknologi machine learning ini tentunya membantu manusia untuk melihat masa depan dengan lebih baik. Sehingga manusia tidak lagi khawatir dengan keadaan mendatang yang supra-dinamis. Melalui teknologi machine learning manusia setidaknya bisa mempersiapkan langkah-langkah preventif guna menyiapkan keadaan-keadaan tak terduga di masa depan. Namun tentunya perkembangan teknologi se-dahsyat apapun kembali pada pengguna. Semoga dengan ini, lebih banyak lagi penggunaan machine learning pada kehidupan sehari-hari. Adios.

--

--

No responses yet