Memuat
Memuat
k-Nearest Neighbors untuk Ekonomi dan Keuangan
0 kali dilihat
Menerapkan k-Nearest Neighbors pada data sintetis untuk mengklasifikasikan status gagal bayar kredit mikro berdasarkan rasio utang dan arus kas dan menilai akurasinya. k-Nearest Neighbors mengklasifikasikan sebuah titik berdasarkan kelas mayoritas dari k tetangga terdekatnya. Cocok sebagai metode dasar yang sederhana untuk data berukuran kecil sampai menengah dengan batas kelas tidak beraturan.

Menerapkan k-Nearest Neighbors pada data sintetis untuk mengklasifikasikan status gagal bayar kredit mikro berdasarkan rasio utang dan arus kas dan menilai akurasinya.
| Peran | Variabel | Satuan |
|---|---|---|
| Utama | Status gagal bayar | - |
| Pendukung 1 | Rasio utang terhadap pendapatan | % |
| Pendukung 2 | Arus kas bulanan | juta Rp |
Model k-NN mengklasifikasikan Status gagal bayar (rendah/tinggi) dari Rasio utang terhadap pendapatan dan Arus kas bulanan dengan akurasi uji 0.817, F1 0.825 dan AUC 0.919. k terbaik = 5.
Dihitung dari data sintetis sebagai ilustrasi, bukan dari penelitian nyata.
k-Nearest Neighbors mengklasifikasikan sebuah titik berdasarkan kelas mayoritas dari k tetangga terdekatnya. Cocok sebagai metode dasar yang sederhana untuk data berukuran kecil sampai menengah dengan batas kelas tidak beraturan.
Laporkan k terpilih beserta alasan pemilihannya dan metrik data uji. Catat bahwa prediksi lambat pada data besar karena seluruh data latih disimpan.
Skrip awal singkat dengan nama variabel proyek ini. Versi yang diserahkan disesuaikan dengan data Anda dan diberi komentar lengkap.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
from sklearn.model_selection import cross_val_score, train_test_split
from sklearn.metrics import accuracy_score, f1_score
rng = np.random.default_rng(51)
n = 300
debt_to_income_ratio = np.r_[rng.normal(0, 1, n // 2), rng.normal(2, 1, n // 2)]
monthly_cash_flow = np.r_[rng.normal(0, 1, n // 2), rng.normal(2, 1, n // 2)]
default_status = np.r_[np.zeros(n // 2), np.ones(n // 2)].astype(int)
X = np.column_stack([debt_to_income_ratio, monthly_cash_flow])
X_tr, X_te, y_tr, y_te = train_test_split(X, default_status, test_size=0.25, stratify=default_status, random_state=51)
ks = range(1, 26, 2)
cv = [cross_val_score(make_pipeline(StandardScaler(), KNeighborsClassifier(k)), X_tr, y_tr, cv=5).mean()
for k in ks]
best_k = list(ks)[int(np.argmax(cv))]
clf = make_pipeline(StandardScaler(), KNeighborsClassifier(best_k)).fit(X_tr, y_tr)
pred = clf.predict(X_te)
print("Best k:", best_k)
print("Accuracy:", round(accuracy_score(y_te, pred), 3), "F1:", round(f1_score(y_te, pred), 3))
plt.plot(list(ks), cv, marker="o")
plt.xlabel("k"); plt.ylabel("CV accuracy")
plt.show()Pilih seberapa banyak bantuan yang Anda perlukan. Setiap paket yang lebih tinggi sudah mencakup semua item paket di bawahnya. Harga belum termasuk PPN 11%.
Paket 1
Rp 300.000
belum termasuk PPN 11%
Waktu pengerjaan: 3 hari kerja
Output: Berkas Python + gambar hasil
Yang Anda terima
Paket 2 · paling dipilih
Rp 900.000
belum termasuk PPN 11%
Waktu pengerjaan: 7 hari kerja
Output: Kode + analisis + bahan interpretasi
Termasuk semua item Paket 1, ditambah
Paket 3
Rp 1.950.000
belum termasuk PPN 11%
Waktu pengerjaan: 12-15 hari kerja
Output: Kode + analisis + pendampingan hingga siap dipresentasikan
Termasuk semua item Paket 1 & 2, ditambah
Cocok. k-Nearest Neighbors lazim dipakai pada jenjang ini di bidang Ekonomi dan Keuangan. Analisis kami sesuaikan dengan pertanyaan penelitian, data Anda sendiri, dan ketentuan dosen pembimbing.
Bukan. Lembar hasil dihitung dari data sintetis sebagai ilustrasi jenis keluaran Python. Untuk pesanan Anda, metode yang sama dijalankan pada data penelitian Anda sendiri.
Itu tujuan paketnya. Setiap skrip diberi komentar, dan Paket 3 mencakup dua sesi pendampingan serta latihan tanya jawab supaya Anda bisa menjelaskan metode dan hasilnya saat seminar dan sidang.
Tiap proyek punya tiga paket: Paket 1 (kode dan penjelasan) Rp 300.000, Paket 2 (analisis data Anda dan interpretasi) Rp 900.000, dan Paket 3 (pendampingan lengkap) Rp 1.950.000, belum termasuk PPN 11%. Data yang besar, metode tambahan, atau tenggat ketat menyesuaikan penawaran setelah konsultasi singkat.
Lembar hasil memakai data sintetis sebagai ilustrasi. Python adalah merek dagang Python Software Foundation.
Kembali ke portofolio Python