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): """Mengekstraksi Watt dan Ampere dari nama produk.""" # Regex untuk menangkap angka Watt (e.g., 30W, 65 Watt) 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 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'] name_lower = name.lower() for brand in brands: if brand.lower() in name_lower: return brand return "Generic"
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 if row['category'] == 'Car Charger Adapter': keywords = "Car Charger Mobil Fast Charging" # 3. Konstruksi Judul Baru specs = watt if watt else amp new_title = f"{brand} {keywords} {specs}" return new_title.strip()
Transformasi data dengan script Python di atas menghasilkan dataset optimized_titles.csv yang valid,
terstruktur, dan siap untuk divisualisasikan.