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