Pada bab ini, dijelaskan secara rinci metode transformasi data yang diterapkan. Fokus utama adalah pada teknik Python Pre-processing yang digunakan untuk membersihkan data mentah *marketplace* menjadi dataset berkualitas tinggi.
Data mentah dari hasil scraping memiliki karakteristik yang tidak terstruktur (*unstructured*). Untuk mengatasi hal ini, dikembangkan algoritma filtering berbasis Python dengan tiga komponen utama:
Implementasi Kode:
def extract_specs(name):
# Regex untuk menangkap angka Watt (e.g., 30W, 65 Watt)
# \d+ = menangkap angka, [Ww]att = menangkap satuan
watts = re.findall(r'(\d+)\s*[Ww]att|(\d+)[Ww]', name, re.IGNORECASE)
# Regex untuk menangkap angka Ampere (e.g., 2.4A, 3 Amp)
amps = re.findall(r'(\d+\.?\d*)\s*[Aa]mp|(\d+\.?\d*)[Aa]', name, re.IGNORECASE)
# Logika pemilihan nilai (mengambil match pertama yang valid)
watt_str = f"{next((x for x in watts[0] if x), '')}W" if watts else ""
amp_str = f"{next((x for x in amps[0] if x), '')}A" if amps else ""
return watt_str, amp_str
Implementasi Kode:
def clean_brand_name(name):
# Knowledge Base: Daftar Brand Valid
brands = ['Baseus', 'Anker', 'Aukey', 'ACMIC', 'Xiaomi', 'Samsung', 'Vivan']
# Pencocokan string case-insensitive
name_lower = name.lower()
for brand in brands:
if brand.lower() in name_lower:
return brand
return "Generic" # Klasifikasi default
Implementasi Kode:
def generate_title(row):
# 1. Ekstraksi Fitur Bersih
brand = clean_brand_name(row['name'])
watt, amp = extract_specs(row['name'])
# 2. Penentuan Core Keyword berdasarkan Kategori
if row['category'] == 'Car Charger Adapter':
keywords = "Car Charger Mobil Fast Charging"
elif row['category'] == 'Kabel Data':
keywords = "Kabel Data Charger"
# 3. Konstruksi Judul Baru: [Brand] + [Keyword] + [Specs]
specs = watt if watt else amp
new_title = f"{brand} {keywords} {specs}"
return new_title.strip()
Penerapan skrip Python ini berhasil mentransformasi data mentah yang tidak terstruktur menjadi dataset
optimized_titles.csv yang bersih. Hal ini menjadi fondasi utama bagi akurasi visualisasi data pada
sistem Dashboard.