PENERAPAN ALGORITMA NAÏVE BAYES UNTUK KLASIFIKASI PEMBELIAN IKLAN JARINGAN SOSIAL BERDASARKAN JENIS KELAMIN, UMUR, DAN ESTIMASI GAJI
1.1
Latar Belakang
Jaringan sosial akhir - akhir ini sangat digemari dari berbagai
kalangan baik anak muda maupun orang dewasa. Jaringan
sosial
memberikan kemudahan bagi para pengguna untuk berbagi informasi yang ingin
dibagikan. Dengan kemudahan yang
ditawarkan ini, bagi pengguna yang mempunyai sesuatu yang ingin diiklankan akan semakin tertarik untuk
mengiklankan barang, produk atau apapun yang ingin dipasarkan melalui jaringan sosial. Namun, tidak
semua pengguna yang melihat iklan tersebut tertarik untuk membeli iklan
tersebut. Untuk
mengetahui ada berapa banyak pengguna yang tertarik untuk membeli apapun yang
dipasarkan di iklan jaringan sosial diperlukan sebuah metode yang dapat mengorganisir dan
mengklasifikasi iklan di jaringan sosial yang dibeli oleh pengguna
berdasarkan faktor-faktor yang mempengaruhi keinginan pengguna seperti jenis
kelamin, usia, dan estimasi gaji pengguna.
Tujuan dilakukannya penelitian ini untuk membantu pengklasifikasian pembelian iklan berdasarkan
faktor-faktor yang mempengaruhi keinginan pengguna seperti jenis kelamin, usia,
dan estimasi gaji pengguna pemilik iklan dapat memprediksi berappa banyak
pengguna yang tertarik membeli apa yang dipasarkan pemilik iklan di iklan
jaringan sosial tersebut.
1.2
Rumusan
Masalah
Berdasarkan latar belakang
diatas, dapat dirumuskan permasalahan sebagai berikut :
1 Bagaimana faktor jenis kelamin, usia, dan estimasi
gaji dapat mempengaruhi keinginan seseorang untuk membeli sebuah iklan di
jaringan sosial?
1.1
Tujuan
Tujuan penelitian
ini adalah mengetahui bagaimana faktor jenis kelamin, usia, dan estimasi gaji
dapat mempengaruhi keinginan seseorang untuk membeli sebuah iklan di jaringan
sosial sehingga dapat memprediksi sebuah iklan akan dibeli atau tidak
berdasarkan faktor-faktor tersebut.
1.2
Manfaat
Manfaat penelitian ini adalah untuk
memprediksi pengguna termasuk dalam klasifikasi membeli iklan di jaringan
sosial berdasarkan faktor-faktor seperti jenis
kelamin, usia, dan estimasi gaji dapat mempengaruhi keinginan seseorang untuk
membeli sebuah iklan di jaringan sosial
2.1
Tinjauan
Pustaka
Dataset yang digunakan untuk penelitian
ini adalah data iklan yang diambil
dari www.kaggle.com yang merupakan tempat pencarian dataset dimana dataset yang didapat adalah dataset tentang
klasifikasi pembelian iklan jaringan sosial dengan 5 atribut yaitu User ID,
Gender, Age, EstiatedSalary, dan kelas Purchased. Dimana dataset ini berjumlah
400 record.
3.1
Metode
Naïve Bayes
1
Bidang yang mempelajari teknik
- teknik untuk pengorganisasian dokumen teks secara umum dibagi menjadi dua
kelompok,yaitu classification dan clustering. Menurut Pramudiono, classification adalah proses
untuk menemukan model yang membedakan konsep atau kelas data, dengan tujuan untuk dapat
memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Sedangkan clustering digunakan
untuk melakukan pengelompokan data tanpa berdasarkan kelas data tertentu dan
dapat digunakan untuk memberikan label pada kelas data yang belum diketahui.
2
Metode Naïve Bayes dikenal
dengan algoritma klasifikasi simple Bayesian. Algoritma ini banyak digunakan
karena terbukti efektif untuk kategorisasi teks, sederhana, cepat dan akurasi
tinggi Metode Naïve Bayes atau Naïve Bayes Classifier (NBC) adalah salah satu
metode yang digunakan untuk klasifikasi teks. NBC menggunakan teori
probabilitas sebagai dasar teori.Dalam bukunya,Han, J. dan Kamber, M.
menyatakan bahwa “Bayesian classifiers mempunyai tingkat kecepatan dan akurasi
yang tinggi ketika diaplikasikan dalam database yang besar”.
4.1
Klasifikasi
Pembelian Iklan Jaringan Sosial Berdasarkan Gender, Age, dan EstimatedSalary
import pandas as pd
import numpy as np
import os
# Membaca file csv
dataset = pd.read_csv('Social_Network_Ads.csv')
# Menghilangkan kolom tidak diperlukan
dataset = dataset.drop(columns=['User ID'])
# menampilkan informasi dataset
dataset.info()
output:
# menampilkan data pada dataset
dataset.head()
output:
# mengecek missing value
dataset.empty
output:
# menghitung jumlah data
dataset.size
output:
# Preprocessing Function
# Binning Age Function
def convAge(data):
age_labels =
["<= 20", ">20, <40", ">= 40"]
age_bins =
[-np.inf, 20, 40, np.inf]
data["Age"] = pd.cut(data["Age"], bins=age_bins,
labels=age_labels)
return data
# Binning Salary Function
def convSalary(data):
data["EstimatedSalary"] = np.ceil(data["EstimatedSalary"]/10000)
return data
convAge(dataset)
dataset.head()
output :
convSalary(dataset)
dataset.head()
output:
# Menghitung frekuensi
dataset["Purchased"].value_counts()
# Menghitung probabilitas dari Class
probs = {}
for i in
range(len(dataset["Purchased"].value_counts())):
probs[dataset["Purchased"].value_counts().index[i]] =
dataset["Purchased"].value_counts()[i]/len(dataset)
# Data uji
datatest = pd.DataFrame(data=[{
'Gender':'Female',
'Age':25,
'EstimatedSalary':100000
}])
convAge(datatest)
convSalary(datatest)
output :
# Hasil probabilitas dari Class
probs = {}
for i in
range(len(dataset["Purchased"].value_counts())):
probs[dataset["Purchased"].value_counts().index[i]] =
dataset["Purchased"].value_counts()[i]/len(dataset)
# Prediksi
highest = {}
results = []
for prob in probs:
highest[prob] = 1
for attrib
in datatest.keys():
tmpProb
= len(dataset[(dataset[attrib]==datatest.iloc[0][attrib]) & (dataset["Purchased"]==prob)])/(dataset["Purchased"].value_counts()[prob])
highest[prob] *= tmpProb
results.append(highest[prob]*probs[prob])
print("Purchased: ",
list(probs.keys())[max(pd.DataFrame(results).idxmax())])
output:
5.1
Kesimpulan
Dari data uji yang
digunakan yaitu :
·
Gender : Female
·
Age : 25
·
EstimatedSalary : 10000
Didapatkan prediksi bahwasannya pelanggan tersebut
akan membeli iklan yang akan dipasarkan.
Komentar
Posting Komentar