pertanyaan ini dimulai dengan " Mengelompokkan data spasial dalam R " dan sekarang telah pindah ke pertanyaan DBSCAN.
Sebagai tanggapan terhadap pertanyaan pertama yang disarankan saya mencari informasi tentang DBSCAN dan membaca beberapa dokumen tentang. Pertanyaan baru telah muncul.
DBSCAN membutuhkan beberapa parameter, salah satunya adalah "jarak". Karena data saya tiga dimensi, bujur, lintang dan suhu, "jarak" mana yang harus saya gunakan? dimensi mana yang terkait dengan jarak itu? Saya kira seharusnya suhu. Bagaimana cara menemukan jarak minimum dengan R?
Parameter lain adalah jumlah minimum poin yang ditetapkan untuk membentuk sebuah cluster. Apakah ada metode untuk menemukan nomor itu? Sayangnya saya belum menemukan.
Mencari melalui Google saya tidak bisa menemukan contoh R untuk menggunakan dbscan dalam dataset yang mirip dengan saya, apakah Anda tahu situs web dengan contoh seperti itu? Jadi saya bisa membaca dan mencoba beradaptasi dengan kasus saya.
Pertanyaan terakhir adalah bahwa upaya R pertama saya dengan DBSCAN (tanpa jawaban yang tepat untuk pertanyaan sebelumnya) menghasilkan masalah memori. R mengatakan itu tidak dapat mengalokasikan vektor. Saya mulai dengan kisi spasi 4 km dengan 779191 poin yang berakhir pada sekitar 300.000 baris x 3 kolom (lintang, bujur dan suhu) saat melepas titik SST yang tidak valid. Ada petunjuk untuk mengatasi masalah memori ini. Apakah itu tergantung pada komputer saya atau di DBSCAN sendiri?
Terima kasih atas kesabarannya membaca pesan yang panjang dan mungkin membosankan serta atas bantuan Anda.
sumber
Jawaban:
Saya masih terjebak dengan masalah ini. Saya telah menerima beberapa saran dari mailing list R (terima kasih kepada Christian Hennig) yang saya lampirkan di sini:
Saya telah melakukan beberapa upaya dengan data saya tetapi tidak berhasil:
"Ya, saya sudah mencoba dbscan dari fpc tapi saya masih terjebak pada masalah memori. Mengenai jawaban Anda, saya tidak yakin parameter memori mana yang harus saya perhatikan. Berikut adalah kode yang saya coba dengan parameter dbscan, mungkin Anda bisa lihat apakah ada kesalahan.
Dalam contoh ini saya hanya berlaku
dbscan()
untuk nilai suhu, bukan lon / lat, jadieps
parameternya adalah 0,1. Karena ini adalah data grid, setiap titik dikelilingi oleh delapan titik data, maka saya berpikir bahwa setidaknya 5 titik di sekitarnya harus berada dalam jarak jangkauan. Tapi saya tidak yakin saya mendapatkan pendekatan yang tepat dengan hanya mempertimbangkan nilai suhu, mungkin kemudian saya kehilangan informasi spasial. Bagaimana saya harus berurusan dengan data bujur dan lintang?Dimensi
sst2
adalah: 152243 baris x 3 kolom "Saya membagikan pesan email ini di sini kalau-kalau ada yang bisa berbagi sedikit tentang R dan DBSCAN. Terima kasih lagi
sumber
Masalahnya di sini adalah dengan R . Agar DBSCAN menjadi efektif, Anda harus memiliki struktur indeks yang sesuai (yang harus sesuai dengan jarak Anda). Namun R tidak benar-benar melakukan pengindeksan. Selain itu, paket fpc adalah implementasi DBSCAN yang minimalis, hanya menawarkan sebagian kecil dari fungsinya.
Lihatlah "Generalized DBSCAN" untuk prinsip-prinsip umum yang dibutuhkan DBSCAN: gagasan "lingkungan" dan gagasan "titik inti" (atau "kepadatan").
sumber