Kursus

Dalam panduan ini, saya merangkum pertanyaan wawancara data scientist yang paling sering ditanyakan, mencakup statistika, machine learning, coding (Python, SQL), dan product sense. Berlatih pertanyaan-pertanyaan ini akan membantu Anda lolos semua tahap wawancara teknis—baik Anda mahasiswa yang mencari magang maupun profesional yang membidik peran berikutnya.
TL;DR
- Wawancara data scientist menguji lima area: statistika & probabilitas, machine learning, coding (Python/SQL), perilaku, dan product sense.
- Topik teknis kunci: asumsi regresi linear, pencegahan overfitting, metode pemilihan fitur (filter, wrapper, embedded), reduksi dimensi, dan A/B testing.
- Untuk sesi coding, latih Python (pandas, regex, manipulasi list) dan SQL (agregasi, penyaringan tanggal, window functions).
- Siapkan jawaban metode STAR untuk pertanyaan perilaku tentang komunikasi, penyelesaian konflik, dan menangani ambiguitas.
- Perusahaan Big Tech (Meta, Google, Amazon) menguji analisis metrik, product sense, dan statistika terapan selain keterampilan teknis inti.
- Gunakan panduan Persiapan Wawancara Data Science kami untuk menyusun rencana belajar di semua tahap.
Pertanyaan Wawancara Data Science Non-Teknis
Kita mulai dengan melihat beberapa pertanyaan kompetensi umum yang mungkin Anda hadapi dalam wawancara. Ini menguji soft skill yang Anda butuhkan sebagai data scientist:
Ceritakan saat Anda harus menjelaskan konsep data yang kompleks kepada seseorang tanpa latar belakang teknis. Bagaimana Anda memastikan mereka memahami?
Pertanyaan ini menilai kemampuan komunikasi dan penyederhanaan topik kompleks. Berikut contoh jawaban:
Di peran sebelumnya, saya harus menjelaskan konsep machine learning kepada tim marketing. Saya menggunakan analogi mengajari anak mengenali berbagai jenis buah. Seperti menunjukkan banyak contoh kepada anak agar belajar, model machine learning dilatih dengan data. Analogi ini membantu membuat konsep kompleks menjadi lebih mudah terkait dan dipahami.
Deskripsikan proyek ketika Anda harus bekerja dengan rekan tim yang sulit. Bagaimana Anda menangani situasinya?
Ini mengeksplorasi kemampuan kolaborasi tim dan penyelesaian konflik. Anda bisa menjawab seperti:
Pada satu proyek, saya bekerja dengan kolega yang gaya kerjanya sangat berbeda. Untuk menyelesaikan perbedaan, saya menjadwalkan pertemuan untuk memahami perspektifnya. Kami menemukan titik temu pada tujuan proyek dan menyepakati pendekatan bersama. Pengalaman ini mengajarkan nilai komunikasi terbuka dan empati dalam kerja tim.
Bisakah Anda berbagi contoh saat Anda harus bekerja dengan tenggat waktu yang ketat? Bagaimana Anda mengelola tugas dan tetap tepat waktu?
Pertanyaan ini tentang manajemen waktu dan prioritas. Berikut contoh jawaban:
Pernah, saya harus menyerahkan analisis dengan tenggat yang sangat ketat. Saya memprioritaskan bagian paling krusial, mengomunikasikan rencana kepada tim, dan fokus pada eksekusi efisien. Dengan memecah tugas dan menetapkan tenggat kecil, saya menyelesaikan proyek tepat waktu tanpa mengorbankan kualitas.
Pernahkah Anda membuat kesalahan signifikan dalam analisis? Bagaimana Anda menanganinya dan apa pelajaran yang didapat?
Di sini, pewawancara melihat kemampuan Anda mengakui kesalahan dan belajar darinya. Anda bisa menjawab:
Pernah, saya salah menafsirkan hasil model data. Saat menyadari kesalahan, saya segera memberi tahu tim dan menganalisis ulang data. Pengalaman ini mengajarkan pentingnya memeriksa ulang hasil dan nilai transparansi di tempat kerja.
Bagaimana Anda tetap mengikuti tren dan kemajuan terbaru di data science?
Ini menunjukkan komitmen Anda pada pembelajaran berkelanjutan dan relevansi di bidang Anda. Contoh jawaban:
Saya mengikuti pembaruan dengan membaca jurnal industri, menghadiri webinar, dan berpartisipasi di forum online. Saya juga menyisihkan waktu mingguan untuk bereksperimen dengan alat dan teknik baru. Ini tidak hanya membantu saya tetap up-to-date tetapi juga terus meningkatkan keterampilan.
Ceritakan saat Anda harus mengerjakan proyek dengan kebutuhan yang tidak jelas atau sering berubah. Bagaimana Anda beradaptasi?
Pertanyaan ini menilai adaptabilitas dan kemampuan pemecahan masalah. Sebagai contoh, Anda bisa berkata:
Di proyek sebelumnya, kebutuhan sering berubah. Saya beradaptasi dengan menjaga komunikasi terbuka dengan para pemangku kepentingan untuk memahami kebutuhan mereka. Saya juga menggunakan metodologi agile agar lebih fleksibel, yang membantu mengakomodasi perubahan secara efektif.
Deskripsikan situasi ketika Anda harus menyeimbangkan pengambilan keputusan berbasis data dengan pertimbangan lain (seperti etika, kebutuhan bisnis, dll.).
Ini mengevaluasi kemampuan Anda mempertimbangkan aspek di luar data semata. Contoh jawaban:
Di peran terakhir, saya harus menyeimbangkan kebutuhan keputusan berbasis data dengan pertimbangan etika. Saya memastikan semua penggunaan data mematuhi standar etika dan hukum privasi, serta menyajikan alternatif bila perlu. Pendekatan ini membantu mengambil keputusan yang terinformasi sambil menghormati batas etika.
Pertanyaan Wawancara Data Science Umum
Apa asumsi yang diperlukan untuk Regresi Linear?
Empat asumsi dalam regresi linear adalah:
- Hubungan Linear: harus ada hubungan linear antara variabel independen x dan variabel dependen y.
- Independensi: tidak ada korelasi antara residual berurutan. Ini paling sering terjadi pada data runtun waktu.
- Homoskedastisitas: pada setiap level x, varians harus konstan.
- Normalitas: residual berdistribusi normal.

Gambar dari Statology
Anda dapat mempelajari konsep dan penerapan model linear dengan mengikuti kursus Introduction to Linear Modeling in Python.
Bagaimana Anda menangani dataset yang kehilangan banyak nilai?
Ada berbagai cara menangani data hilang. Anda bisa:
- Menghapus baris dengan nilai hilang.
- Menghapus kolom dengan banyak nilai hilang.
- Mengisi nilai hilang dengan string atau konstanta numerik.
- Mengganti nilai hilang dengan nilai rata-rata atau median kolom.
- Menggunakan analisis regresi berganda untuk mengestimasi nilai hilang.
- Menggunakan beberapa kolom untuk mengganti nilai hilang dengan nilai rata-rata tersimulasi dan galat acak.
Pelajari cara mendiagnosis, memvisualisasikan, dan menangani data hilang dengan menyelesaikan kursus Handling Missing Data with Imputations in R.
Bagaimana Anda menjelaskan aspek teknis hasil Anda kepada pemangku kepentingan yang tidak memiliki latar belakang teknis?
Pertama, Anda perlu mempelajari latar belakang pemangku kepentingan dan gunakan informasi ini untuk menyesuaikan bahasa Anda. Jika ia berlatar belakang keuangan, pelajari istilah umum di keuangan dan gunakan untuk menjelaskan metodologi kompleks.
Kedua, gunakan banyak visual dan grafik. Orang belajar secara visual, karena mereka belajar jauh lebih baik dengan alat komunikasi kreatif.

Gambar oleh Penulis
Ketiga, bicaralah dalam kerangka hasil. Jangan mencoba menjelaskan metodologi atau statistiknya. Fokuslah pada bagaimana mereka dapat menggunakan informasi dari analisis untuk meningkatkan bisnis atau alur kerja.
Terakhir, dorong mereka untuk bertanya. Orang sering takut atau malu bertanya tentang topik yang tidak mereka kenal. Ciptakan saluran komunikasi dua arah dengan melibatkan mereka dalam diskusi.
Pelajari cara membangun laporan dan dasbor SQL Anda sendiri dengan mengikuti kursus Reporting in SQL.
Apa itu p-value, dan bagaimana Anda menafsirkannya?
P-value mengukur probabilitas mengamati hasil setidaknya se-ekstrem data yang dikumpulkan, dengan asumsi hipotesis nol benar.
P-value di bawah tingkat signifikansi Anda (biasanya 0,05) memberi bukti untuk menolak hipotesis nol. Misalnya, dalam A/B test dengan p-value 0,03, hanya ada peluang 3% melihat hasil ini di bawah hipotesis nol, yang menyiratkan varian memiliki efek nyata.
Salah kaprah umum: p-value tidak mengukur probabilitas bahwa hipotesis nol itu benar, melainkan seberapa kompatibel data dengan hipotesis tersebut.
Apa perbedaan antara galat Tipe I dan Tipe II?
Ini adalah dua jenis kesalahan dalam pengujian hipotesis:
- Galat Tipe I (false positive): Menolak hipotesis nol padahal sebenarnya benar. Dikendalikan oleh tingkat signifikansi (α). Contoh: menyimpulkan model baru lebih baik padahal tidak.
- Galat Tipe II (false negative): Gagal menolak hipotesis nol padahal salah. Dikendalikan oleh power statistik (1 − β). Contoh: menyimpulkan tidak ada peningkatan model padahal ada.
Menurunkan α mengurangi galat Tipe I namun meningkatkan galat Tipe II. Pertukaran yang tepat bergantung pada biaya tiap kesalahan dalam kasus penggunaan spesifik Anda—kritis dalam deteksi penipuan, diagnosis medis, atau keputusan A/B testing.
Pelajari lebih lanjut di tutorial Hypothesis Testing Made Easy kami.
Pertanyaan Wawancara Teknis Data Science
Apa metode pemilihan fitur yang digunakan untuk memilih variabel yang tepat?
Ada tiga metode utama untuk pemilihan fitur: metode filter, wrapper, dan embedded.
Metode Filter
Metode filter umumnya digunakan pada langkah prapemrosesan. Metode ini memilih fitur dari dataset secara independen dari algoritma machine learning. Mereka cepat, membutuhkan sumber daya lebih sedikit, dan menghapus fitur yang duplikat, berkorelasi, serta redundan.

Gambar oleh Penulis
Beberapa teknik yang digunakan:
- Ambang Varians (Variance Threshold)
- Koefisien Korelasi
- Uji Chi-Square
- Ketergantungan Mutual
Metode Wrapper
Pada metode wrapper, kita melatih model secara iteratif menggunakan subset fitur. Berdasarkan hasil model, lebih banyak fitur ditambah atau dihapus. Mereka lebih mahal secara komputasi dibanding metode filter tetapi memberikan akurasi model yang lebih baik.

Gambar oleh Penulis
Beberapa teknik yang digunakan:
- Forward selection
- Backward elimination
- Bi-directional elimination
- Recursive elimination
Metode Embedded
Metode embedded menggabungkan kualitas metode filter dan wrapper. Algoritma pemilihan fitur dipadukan sebagai bagian dari algoritma pembelajaran, memberikan model metode pemilihan fitur bawaan. Metode ini lebih cepat seperti filter, akurat seperti wrapper, dan mempertimbangkan kombinasi fitur juga.

Gambar oleh Penulis
Beberapa teknik yang digunakan:
- Regularisasi
- Metode berbasis pohon
Pelajari teknik pemilihan fitur yang paling sering diuji dalam Python Feature Selection Tutorial kami.
Bagaimana Anda dapat menghindari overfitting pada model?
Overfitting mengacu pada model yang terlalu terlatih pada dataset pelatihan tetapi gagal pada dataset uji dan validasi.
Anda dapat menghindari overfitting dengan:
- Menjaga model tetap sederhana dengan menurunkan kompleksitas model, mempertimbangkan lebih sedikit variabel, dan mengurangi jumlah parameter pada neural network.
- Menggunakan teknik cross-validation.
- Melatih model dengan lebih banyak data.
- Menggunakan augmentasi data yang menambah jumlah sampel.
- Menggunakan ensembling (Bagging dan Boosting)
- Menggunakan teknik regularisasi untuk memberi penalti pada parameter model tertentu jika berpotensi menyebabkan overfitting.
Untuk panduan lebih mendalam mencegah overfitting, baca What is Overfitting? dan tutorial kami tentang Regularization in Machine Learning.
Sebutkan jenis-jenis hubungan dalam SQL
Ada empat jenis hubungan SQL utama:
- One to One: ada ketika setiap record pada satu tabel terkait dengan hanya satu record pada tabel lain.
- One to Many dan Many to One: ini adalah koneksi paling umum, di mana setiap record pada satu tabel ditautkan ke beberapa record pada tabel lain.
- Many to Many: ada ketika setiap record pada tabel pertama terkait dengan lebih dari satu record pada tabel kedua, dan satu record pada tabel kedua dapat terkait dengan lebih dari satu record pada tabel pertama.
- Self-Referencing Relationships: terjadi ketika sebuah tabel harus menyatakan koneksi dengan dirinya sendiri.
Pelajari cara mengeksplorasi tabel, hubungan antar tabel, dan data yang tersimpan di dalamnya dengan menyelesaikan kursus Exploratory Data Analysis in SQL kami.
Apa itu reduksi dimensi dan apa manfaatnya?
Reduksi dimensi adalah proses mengonversi dataset dari beberapa dimensi menjadi lebih sedikit dimensi sambil mempertahankan informasi yang serupa.

Gambar oleh Penulis | Grafik oleh howecoresearch
Manfaat reduksi dimensi:
- Mengompresi data dan mengurangi ruang penyimpanan.
- Mengurangi waktu komputasi dan memungkinkan pemrosesan data yang lebih cepat.
- Menghapus fitur redundan, jika ada.
Pahami konsep reduksi dimensi dan kuasai tekniknya dengan berlatih melalui kursus Dimensionality Reduction in Python.
Apa tujuan A/B Testing?

Gambar oleh Penulis
A/B testing menghilangkan tebakan dan membantu kita membuat keputusan berbasis data untuk mengoptimalkan produk atau situs web. Ini juga dikenal sebagai split testing, di mana eksperimen teracak dilakukan untuk menganalisis dua atau lebih versi variabel (laman web, fitur aplikasi, dll.) dan menentukan versi mana yang mendorong trafik dan metrik bisnis maksimal.
Pelajari cara membuat, menjalankan, dan menganalisis A/B test dengan mengikuti kursus Customer Analytics and A/B Testing in Python.
Pertanyaan Wawancara Coding Data Science
Diberi sebuah kamus yang berisi banyak akar kata dan sebuah kalimat, stem semua kata dalam kalimat dengan akar yang membentuknya.
Stemming umum digunakan dalam analisis teks dan sentimen. Dalam pertanyaan ini, Anda akan menulis fungsi Python yang akan mengonversi kata-kata tertentu dari daftar menjadi bentuk akarnya - Interview Query.
Input:
Fungsi akan menerima dua argumen: daftar kata akar dan kalimat.
roots = ["cat", "bat", "rat"]
sentence = "the cattle was rattled by the battery"Output:
Fungsi akan mengembalikan kalimat dengan kata-kata akar.
"the cat was rat by the bat"Sebelum menulis kode, pahami bahwa kita akan melakukan dua tugas: mengecek apakah kata punya akar dan menggantinya.
- Pisahkan kalimat menjadi kata-kata.
- Jalankan loop luar pada setiap kata dalam daftar dan loop dalam pada daftar kata akar.
- Periksa apakah kata dimulai dengan akar. String Python menyediakan fungsi `startswith()` untuk tugas ini.
- Jika kata dimulai dengan akar, ganti kata tersebut dengan akarnya menggunakan indeks list.
- Gabungkan semua kata untuk membentuk kalimat.
roots = ["cat", "bat", "rat"]
sentence = "the cattle was rattled by the battery"
def replace_words(roots, sentence):
words = sentence.split(" ")
# looping over each word
for index, word in enumerate(words):
# looping over each root
for root in roots:
# checking if words start with root
if word.startswith(root):
# replacing the word with its root
words[index] = root
return " ".join(words)
replace_words(roots, sentence)
# 'the cat was rat by the bat'Periksa apakah String adalah Palindrome
Diberikan string text, kembalikan True jika itu palindrome, jika tidak False.
Setelah menurunkan semua huruf dan menghapus semua karakter non-alfanumerik, kata harus terbaca sama dari depan dan belakang.

Gambar oleh Penulis
Python menyediakan cara mudah untuk menyelesaikan tantangan ini. Anda bisa memperlakukan string sebagai iterable dan membaliknya menggunakan text[::-1] atau memakai metode bawaan reversed(text).
- Pertama, turunkan huruf pada teks.
- Bersihkan teks dengan menghapus karakter non-alfanumerik menggunakan regex.
- Balik teks menggunakan
[::-1]. - Bandingkan teks yang dibersihkan dengan teks yang dibalik.
import re
def is_palindrome(text):
# lowering the string
text = text.lower()
# Cleaning the string
rx = re.compile('\W+')
text = rx.sub('',text).strip()
# Reversing and comparing the string
return text == text[::-1]Pada metode kedua, Anda hanya mengganti proses membalik teks dengan ''.join(reversed(text)) dan membandingkannya dengan teks yang dibersihkan.
Kedua metode sama-sama langsung.
def is_palindrome(text):
# lowering the string
text = text.lower()
# Cleaning the string
rx = re.compile('\W+')
text = rx.sub('',text).strip()
# Reversing the string
rev = ''.join(reversed(text))
return text == revHasil:
Kita akan memberikan daftar kata ke fungsi is_palindrome() dan mencetak hasilnya. Seperti terlihat, bahkan dengan karakter khusus, fungsi mengidentifikasi “Level” dan “Radar” sebagai palindrome.
# Test cases
test_words = ['Anna', '**Radar****', 'Abid', '(Level)', 'Data']
for text in test_words:
print(f"Is {text} a palindrome? {is_palindrome(text)}")
# Is Anna a palindrome? True
# Is **Radar**** a palindrome? True
# Is Abid a palindrome? False
# Is (Level) a palindrome? True
# Is Data a palindrome? FalseSiapkan diri untuk wawancara coding berikutnya dengan Practicing Coding Interview Questions in Python melalui kursus interaktif kami. Untuk persiapan Python yang lebih mendalam, lihat 41 Pertanyaan & Jawaban Wawancara Python Teratas untuk 2026.
Temukan gaji tertinggi kedua
Mudah untuk menemukan nilai tertinggi dan terendah, tetapi sulit menemukan nilai tertinggi kedua atau ke-n.
Pada pertanyaan ini, Anda diberi tabel basis data yang berisi id dan base_salary. Anda akan menulis kueri SQL untuk menemukan gaji tertinggi kedua.

Gambar oleh Penulis
Dalam kueri ini, Anda akan mencari nilai unik dan mengurutkannya dari tertinggi ke terendah. Lalu, gunakan LIMIT 1 untuk menampilkan hanya nilai tertinggi. Terakhir, offset nilainya sebesar 1 untuk menampilkan angka tertinggi kedua.
Anda juga dapat mengubah nilai OFFSET untuk mendapatkan gaji tertinggi ke-n.
SELECT DISTINCT base_salary AS "Second Highest Salary"
FROM employee
ORDER BY base_salary DESC
LIMIT 1
OFFSET 1;Gaji pokok tertinggi kedua adalah 8.500.

Temukan email duplikat
Pada pertanyaan ini, Anda akan menulis kueri untuk menampilkan semua email yang duplikat.

Gambar oleh Penulis
Pada kueri ini, Anda akan menampilkan kolom email dan mengelompokkan tabel berdasarkan email. Setelah itu, kita akan menggunakan klausa HAVING untuk menemukan email yang muncul lebih dari sekali.
HAVING digunakan sebagai pengganti pernyataan WHERE bersamaan dengan agregasi.
SELECT email
FROM employee_email
GROUP BY email
HAVING COUNT(email) > 1;Hanya “matt@hotmail.com” yang muncul lebih dari sekali.

Tulis kode SQL yang mudah dipelihara untuk menjawab pertanyaan bisnis dengan mengikuti kursus Applying SQL to Real-World Problems.
Pertanyaan Wawancara Data Science di Big Tech
Pertanyaan Wawancara Data Science Meta
Facebook composer, alat posting, turun dari 3% posting per pengguna bulan lalu menjadi 2,5% posting per pengguna hari ini. Bagaimana Anda menyelidiki apa yang terjadi?

Gambar oleh Penulis
Posting dari sebulan lalu turun dari 3% menjadi 2,5% hari ini. Sebelum menyimpulkan, Anda perlu memperjelas konteks seputar masalahnya.
Anda perlu mengajukan pertanyaan:
- Apakah hari ini hari kerja?
- Apakah sebulan lalu dari hari ini adalah akhir pekan?
- Apakah ada acara khusus, peristiwa, atau musiman?
- Apakah ada tren penurunan bertahap atau kejadian satu kali?
Pada bagian kedua, Anda perlu menguraikan apa yang mendorong penurunan. Apakah jumlah pengguna meningkat, atau jumlah posting yang menurun? Setelah itu, pewawancara akan meminta Anda memulai diskusi menggunakan satu atau kedua penalaran tersebut.
Menurut Anda, bagaimana sebaran waktu yang dihabiskan per hari di Facebook? Metrik apa yang akan Anda gunakan untuk menggambarkan sebaran tersebut?
Terkait distribusi waktu yang dihabiskan per hari di Facebook, seseorang bisa mengasumsikan ada dua kelompok:
- Orang yang menggulir feed dengan cepat tanpa menghabiskan terlalu banyak waktu.
- Super user yang menghabiskan banyak waktu di Facebook.
Untuk bagian kedua, Anda harus menggunakan kosakata statistik untuk menggambarkan distribusi, seperti:
- Pusat: mean, median, dan modus
- Sebaran: simpangan baku, rentang antarkuartil, dan rentang
- Bentuk: skewness, kurtosis, serta unimodal atau bimodal
- Pencilan
Diberikan dataset nilai ujian, tulis kode pandas untuk mengembalikan persentase kumulatif siswa yang menerima nilai dalam bucket <50, <75, <90, <100.
Pada pertanyaan ini, Anda akan menulis kode pandas untuk terlebih dahulu membagi skor ke dalam berbagai bucket lalu menghitung persentase siswa yang mendapat skor dalam rentang tersebut.
Input:
Dataset kita memiliki kolom user_id, grade, dan test_score.

Gambar oleh Penulis
Output:
Anda akan menulis fungsi yang menggunakan kolom grade dan test_score. Dan menampilkan dataframe dengan grade, bucket skor, dan persentase kumulatif siswa yang mendapat bucket skor tersebut.

Gambar oleh Penulis
- Anda akan menggunakan fungsi
pandas.cut()untuk mengonversi skor menjadi bucket skor menggunakan bins dan label bucket. - Hitung ukuran tiap grup (grade dan test_score).
- Untuk menghitung persentase, kita butuh pembilang (jumlah kumulatif) dan penyebut (jumlah seluruh nilai).
- Mengonversi nilai pecahan menjadi persentase yang benar dengan mengalikannya 100 dan menambahkan “%”.
- Reset index dan ubah nama kolom menjadi "percentage".
def bucket_test_scores(df):
bins = [0, 50, 75, 90, 100]
labels = ["<50", "<75", "<90", "<100"]
# converting the scores into buckets
df["test_score"] = pd.cut(df["test_score"], bins, labels=labels, right=False)
# Calculate size of each group, by grade and test score
df = df.groupby(["grade", "test_score"]).size()
# Calculate numerator and denominator for percentage
NUM = df.groupby("grade").cumsum()
DEN = df.groupby("grade").sum()
# Calculate percentage, multiply by 100, and add %
percentage = (NUM / DEN).map(lambda x: f"{int(100*x):d}%")
# reset the index
percentage = percentage.reset_index(name="percentage")
return percentage
bucket_test_scores(df)Anda mendapatkan hasil yang tepat dengan bucket skor ujian dan persentasenya.

Pelajari cara membersihkan data, menghitung statistik, dan membuat visualisasi dengan kursus Data Manipulation with pandas. Untuk pembahasan lebih dalam, lihat panduan kami 35 Pertanyaan Wawancara Machine Learning Teratas untuk 2026.
Pertanyaan Wawancara Data Science Amazon
Jelaskan confidence interval
Confidence interval adalah rentang estimasi untuk parameter yang tidak diketahui yang Anda harapkan akan berada di antara nilai tersebut dalam persentase tertentu ketika Anda menjalankan eksperimen lagi atau melakukan re-sampling populasi secara serupa.

Gambar dari omnicalculator
Tingkat kepercayaan 95% umum digunakan dalam eksperimen statistik, dan ini adalah persentase berapa kali Anda berharap dapat mereproduksi parameter yang diestimasi. Confidence interval memiliki batas atas dan bawah yang ditetapkan oleh nilai alpha.
Anda dapat menggunakan confidence interval untuk berbagai estimasi statistik, seperti proporsi, mean populasi, perbedaan antara mean atau proporsi populasi, dan estimasi variasi antar kelompok.
Bangun fondasi statistika dengan menyelesaikan kursus Statistical Thinking in Python (Part 1).
Bagaimana Anda mengelola dataset yang tidak seimbang?
Dalam dataset yang tidak seimbang, kelas didistribusikan secara tidak merata. Misalnya, pada dataset deteksi penipuan, hanya ada 400 kasus penipuan dibanding 300.000 kasus non-penipuan. Data yang tidak seimbang akan membuat model berkinerja buruk dalam mendeteksi penipuan.

Gambar oleh Penulis
Untuk menangani data tidak seimbang, Anda bisa menggunakan:
- Undersampling
- Oversampling
- Membuat data sintetis
- Kombinasi under dan over sampling
Undersampling
Ini melakukan resampling fitur kelas mayoritas agar setara dengan fitur kelas minoritas.
Pada dataset deteksi penipuan, kedua kelas akan sama-sama 400 sampel. Anda dapat menggunakan imblearn.under_sampling untuk melakukan resampling dengan mudah.
from imblearn.under_sampling import RandomUnderSampler
RUS = RandomUnderSampler(random_state=1)
X_US, y_US = RUS.fit_resample(X_train, y_train)Oversampling
Ini melakukan resampling fitur kelas minoritas agar setara dengan fitur kelas mayoritas. Pengulangan atau pengulangan berbobot pada fitur kelas minoritas adalah beberapa metode umum untuk menyeimbangkan data. Singkatnya, kedua kelas akan memiliki 300K sampel.
from imblearn.over_sampling import RandomOverSampler
ROS = RandomOverSampler(random_state=0)
X_OS, y_OS = ROS.fit_resample(X_train, y_train)Membuat data sintetis
Masalah pengulangan adalah tidak memberikan informasi tambahan, yang akan mengakibatkan kinerja model buruk. Untuk mengatasinya, kita dapat menggunakan SMOTE (Synthetic Minority Oversampling Technique) untuk membuat titik data sintetis.
from imblearn.over_sampling import SMOTE
SM = SMOTE(random_state=1)
X_OS, y_OS = SM.fit_resample(X_train, y_train)Kombinasi under dan over sampling
Untuk meningkatkan bias dan kinerja model, Anda bisa menggunakan kombinasi over dan under-sampling. Kita akan menggunakan SMOTE untuk oversampling dan EEN (Edited Nearest Neighbours) untuk pembersihan.
imblearn.combine menyediakan berbagai fungsi yang secara otomatis melakukan kedua fungsi sampling.
from imblearn.combine import SMOTEENN
SMTN = SMOTEENN(random_state=0)
X_OUS, y_OUS = SMTN.fit_resample(X_train, y_train)Tulis kueri untuk mengembalikan total jumlah penjualan untuk setiap produk pada bulan Maret 2022.
Sebagai data scientist, Anda akan menulis kueri serupa untuk mengekstrak data dan melakukan analisis data. Dalam tantangan ini, Anda akan menggunakan klausa WHERE dengan tanda perbandingan atau WHERE dengan klausa BETWEEN untuk melakukan penyaringan.
Tabel: orders

Gambar oleh Penulis
Contoh output:

Gambar oleh Penulis
- Anda akan menampilkan product id dan jumlah kuantitas dari tabel orders.
- Saring data dari tanggal ‘2022-03-01’ hingga '2022-04-01' menggunakan WHERE dan AND. Anda juga bisa menggunakan BETWEEN untuk aksi serupa.
- Gunakan group by product_id untuk mendapatkan total penjualan tiap produk.
SELECT product_id,
SUM(qty)
FROM orders
WHERE order_dt >= '2022-03-01'
AND order_dt < '2022-04-01'
GROUP BY product_id;Pertanyaan Wawancara Data Science Google
Jika label diketahui dalam proyek clustering, bagaimana Anda mengevaluasi kinerja model?
Dalam pembelajaran tanpa supervisi, menilai kinerja proyek clustering bisa jadi rumit. Kriteria clustering yang baik adalah kelompok-kelompok yang jelas berbeda dengan kemiripan kecil.
Tidak ada metrik akurasi pada model clustering, jadi kita akan menggunakan kemiripan atau perbedaan antar kelompok untuk mengevaluasi kinerja model.

Gambar dari dokumentasi scikit-learn
Tiga metrik yang umum digunakan adalah:
- Silhouette Score
- Calinski-Harabaz Index
- Davies-Bouldin Index
Silhouette Score
Dihitung menggunakan mean jarak intra-klaster dan mean jarak klaster terdekat.
Kita dapat menggunakan scikit-learn untuk menghitung metrik ini. Silhouette Score berada antara -1 hingga 1, di mana skor lebih tinggi berarti kemiripan antar kelompok lebih rendah dan klaster lebih jelas.
from sklearn import metrics
model = KMeans().fit(X)
labels = model.labels_
metrics.silhouette_score(X, labels)Calinski-Harabaz Index
Menghitung perbedaan antar kelompok menggunakan dispersi antar-klaster dan dalam-klaster. Metrik ini tidak berbatas, dan seperti Silhouette Score, skor lebih tinggi berarti kinerja model lebih baik.
metrics.calinski_harabasz_score(X, labels)Davies-Bouldin Index
Menghitung rata-rata kemiripan tiap klaster dengan klaster yang paling mirip. Tidak seperti metrik lain, skor lebih rendah berarti kinerja model lebih baik dan pemisahan antar klaster lebih baik.
metrics.davies_bouldin_score(X, labels)
Pelajari cara menerapkan hierarchical dan k-means clustering dengan mengikuti kursus Cluster Analysis in R.
Ada empat orang di lift dan empat lantai di gedung. Berapa probabilitas setiap orang turun di lantai yang berbeda?

Gambar oleh Penulis
Kita akan menggunakan:

- F = Jumlah lantai
- P = Jumlah orang
Untuk menyelesaikan masalah ini, pertama kita cari jumlah cara total untuk turun di lantai: 44 = 4x4x4x4 = 256 cara.
Setelah itu, hitung jumlah cara setiap orang turun di lantai berbeda: 4! = 24.
Untuk menghitung probabilitas bahwa setiap orang turun di lantai berbeda, bagi jumlah cara setiap orang turun di lantai berbeda dengan jumlah cara total turun di lantai.
24/256 = 3/32
Pelajari strategi menjawab pertanyaan probabilitas yang rumit dengan R melalui kursus Probability Puzzles in R.
Tulis fungsi untuk menghasilkan N sampel dari distribusi normal dan plot histogramnya.
Untuk menghasilkan N sampel dari distribusi normal, Anda dapat menggunakan Numpy (np.random.randn(N)) atau SciPy (sp.stats.norm.rvs(size=N)).
Untuk memplot histogram, Anda bisa menggunakan Matplotlib atau Seaborn.
- Anda akan menghasilkan sampel distribusi normal acak menggunakan fungsi randn Numpy.
- Plot histogram dengan KDE menggunakan Seaborn.
- Plot histogram untuk 10K sampel dan kembalikan array Numpy.
import numpy as np
import seaborn as sns
N = 10_000
def norm_dist_hist(N):
# Generating Random normal distribution samples
x = np.random.randn(N)
# Plotting histogram
sns.histplot(x, bins = 20, kde=True);
return x
X = norm_dist_hist(N)
Pelajari cara membuat visualisasi yang informatif dan menarik dalam hitungan detik dengan menyelesaikan kursus Introduction to Data Visualization with Seaborn.
Cara Mempersiapkan Wawancara Data Science
Gambar oleh Penulis
Wawancara data science dibagi menjadi empat hingga lima tahap. Anda akan ditanya tentang statistika dan machine learning, coding (Python, R, SQL), perilaku, product sense, dan terkadang pertanyaan kepemimpinan.
Anda dapat mempersiapkan semua tahap dengan:
- Meneliti perusahaan dan tanggung jawab pekerjaan: ini akan membantu Anda memprioritaskan usaha pada bidang tertentu dalam data science.
- Meninjau proyek portofolio terdahulu: manajer perekrutan akan menilai keterampilan Anda dengan mengajukan pertanyaan tentang proyek Anda.
- Mengulang kembali dasar-dasar data science: probabilitas, statistika, uji hipotesis, statistika deskriptif dan bayesian, serta reduksi dimensi. Cheat sheet adalah cara terbaik mempelajari dasar dengan cepat.
- Berlatih coding: ambil tes asesmen, selesaikan tantangan kode online, dan tinjau pertanyaan coding yang paling sering ditanyakan.
- Berlatih pada proyek end-to-end: pertajam keterampilan Anda dalam pembersihan data, manipulasi, analisis, dan visualisasi.
- Membaca pertanyaan wawancara yang paling umum: product sense, statistik, analitis, perilaku, dan kepemimpinan.
- Melakukan mock interview: latihan wawancara dengan teman, tingkatkan kosakata statistik Anda, dan bangun kepercayaan diri.
Baca blog Data Science Interview Preparation untuk mempelajari apa yang diharapkan dan bagaimana mendekati wawancara.
FAQ Wawancara Data Science
Apa empat komponen utama data science?
Empat komponen utama data science adalah:
- Pemahaman bisnis dan strategi data.
- Persiapan Data (Pembersihan, Imputasi, validasi).
- Analisis Data dan Pemodelan.
- Visualisasi Data dan Operasionalisasi.
Apakah wawancara data science sulit?
Biasanya, ya. Untuk lolos wawancara data science, Anda harus menunjukkan kemahiran di beberapa area seperti statistika & probabilitas, coding, analisis data, machine learning, product sense, dan pelaporan. Lihat panduan pertanyaan wawancara data scientist kami untuk membantu persiapan Anda!
Apakah data science pekerjaan yang membuat stres?
Tergantung. Seluruh tim/perusahaan Anda mungkin bergantung pada Anda untuk memberikan analisis dan informasi yang dapat ditindaklanjuti. Dalam beberapa kasus, Anda harus merangkap beberapa peran, seperti data engineer, data analyst, machine learning engineer, MLOps engineer, manajer data, dan pimpinan tim. Sebagian orang menganggap ini menarik dan menantang, sementara yang lain kadang merasa stres dan kewalahan.
Apakah satu tahun belajar cukup untuk data science?
Mungkin. Tergantung latar belakang Anda. Jika Anda bekerja sebagai software engineer dan ingin beralih, Anda bisa mempelajari sebagian besar hal dalam setahun. Namun, jika mulai dari nol, akan sulit untuk siap kerja dalam setahun. Mulailah perjalanan Anda sebagai Data Scientist with Python dan pelajari semua dasar dalam 6 bulan.
Apakah data science sangat bergantung pada matematika?
Ya. Anda perlu mempelajari statistika, probabilitas, matematika, analisis data, visualisasi data, serta membangun dan mengevaluasi model machine learning.
Apakah karier di data science menawarkan gaji yang baik?
Ya. Menurut Glassdoor, total gaji median untuk data scientist di AS sekitar $130.000–$145.000 per tahun per 2026, dengan peran senior di perusahaan teknologi besar jauh di atas itu. Gaji sangat bervariasi menurut perusahaan, lokasi, dan tingkat pengalaman. Lihat panduan kami tentang Cara Menjadi Data Scientist pada 2026 untuk info lebih lanjut tentang jalur karier dan kompensasi.
Bagaimana saya bisa menunjukkan pengetahuan data science saya kepada pemberi kerja?
Selain menyelesaikan kursus dan mengerjakan proyek data science dunia nyata, Sertifikasi Data Scientist kami adalah cara terbaik untuk membuktikan keahlian Anda kepada pemberi kerja. Sertifikasi yang diakui industri ini menguji keterampilan Anda melalui dua ujian berdurasi lalu ujian praktis.

