Apa Itu Preprocessing

Pengertian

Preprocessing merupakan salah satu tahapan yang penting untuk data pada proses mining. Data yang digunakan dalam proses mining tidak selamanya dalam kondisi yang ideal untuk diproses. Terkadang pada data tersebut terdapat berbagai permasalahan yang dapat menggangu hasil dari proses mining itu sendiri seperi diantaranya adalah missing value, data redundant, outliers, ataupun format data yang tidak sesuai dengan sistem. Oleh karenanya untuk mengatasi permasalahan tersebut dibutuhkan tahap Preprocessing. Preprocessing merupakan salah satu tahapan menghilangkan permasalahan-permasalahan yang dapat mengganggu hasil daripada proses data. Dalam kasus klasifikasi dokumen yang menggunakan data bertipe teks, terdapat beberapa macam proses yang dilakukan umumnya diantaranya case folding, filtering(remove punctution), stopword removal, stemming, tokenization dan sebagainya.

Langkah-Langkah Proses Preprocessing

  • Data Dokumen untuk diproses
Representasi Data
  • Cleaning data dengan menghilangkan tanda baca atau karakter selain teks dengan fungsi punctuation removal.
Punctuation Removal
  • Case Folding yang merupakan proses untuk merubah setiap kata menjadi sama, misal huruf kecil dengan menggunakan fungsi lowercase.
Case Fold
  • Stopword Removal, menghapus kata-kata yang terlalu umum dan kurang penting, ciri-ciri pada kata ini adalah frekwensi kemunculannya yang jumlahnya cukup banyak dibandingkan dengan kata yang lainnya, contoh kata : aku, kamu, dengan, yang dst.
Stopword Removal
  • Stemming, adalah proses untuk mengubah kata pada setiap kalimat ke bentuk dasar atau menghapus kata-kata imbuhan.
Stemming
  • Tokenizing. Merupakan tahap untuk memengal setiap kata dalam kalimat termasuk karakter.
Tokenizing

Nah, itulah contoh dari proses Preprocessing text, berikutnya data hasil Preprocessing dapat digunakan untuk keperluan proses Fitur seleksi, Fitur ekstraksi, Klasifikasi dan yang lainnya.

Program Python Preprocessing

Program dibuat secara manual programming, teman-teman dapat menggunakan cara lain menggunakan library yang mungkin sudah banyak tersedia, pemilihan cara pengerjaan tergantung dari studi kasus algoritma program yang dikerjakan.

  • Download data set hadis book1.xlsx
  • Buat File function.py copy code berikut
import re #regular expression
import xlwt #library untuk membaca data pada excel
from nltk.tokenize import word_tokenize #libray untuk tokenizing
#Sastrawi Library untuk Stemming dan Stopword Removal Data Set Bahasa Indonesia
from Sastrawi.Stemmer.StemmerFactory import StemmerFactory
from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory 

factori = StemmerFactory()
stemmer = factori.create_stemmer()

factory = StopWordRemoverFactory()
stopword = factory.create_stop_word_remover()

class hadisClass(object):
    def __init__(self,hadis,k1,k2,k3):
        self.hadis = hadis
        self.k1 = k1
        self.k2 = k2
        self.k3 = k3   
        
def openFile(wb):  
    hadisContent = []
    items= []
    for sheet in wb.sheets():
        num_row, num_col = sheet.nrows,4
        for row in range(num_row):
            values = []
            for col in range(num_col):
                if col == 0:
                    x = (sheet.cell(row,col).value)
                value = (sheet.cell(row,col).value)
                values.append(value)
            hadisContent.append(x)
            item = hadisClass(*values)
            items.append(item)
    return hadisContent, items

def prepro(datahadis):
    dhadis=[]
    for i in datahadis:
        cleanning = re.sub('[^a-zA-z\s]','', i)                   
        casefold = cleanning.lower();
        stopW = stopword.remove(casefold)   
        stemming = stemmer.stem(stopW)                                        
        tokens = word_tokenize(stemming)                                      
        dhadis.append(tokens)
    return dhadis

Masih dalam folder yang sama buat File testRun.py copy code berikut

import function as fc
from xlrd import open_workbook

wb = open_workbook('book1.xlsx')
data, items = fc.openFile(wb)

datatest = []
for j in data :
    datatest.append(j)

datatest = fc.prepro(datatest)
print(datatest)

Jika berhasil bentuk output data akan seperti ini

Hasil Preprocessing (Tokem Mode)

Terima kasih sudah berkunjung, semoga bermanfaat dan membantu ya

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *