R'deki gbm paketini kullanarak bazı büyük veri kümeleri ile çalışıyorum. Hem yordayıcı matrisim hem de yanıt vektörüm oldukça seyrek (yani çoğu giriş sıfır). Burada yapıldığı gibi, bu seyreklikten yararlanan bir algoritma kullanarak karar ağaçları oluşturmayı umuyordum ). Bu makalede, benim durumumda olduğu gibi, çoğu öğe birçok olası özellikten sadece birkaçına sahiptir, bu nedenle veriler açıkça aksi belirtilmedikçe, öğelerinin belirli bir özellikten yoksun olduğunu varsayarak çok fazla boşa hesaplamadan kaçınabildiler. Umarım bu tür bir algoritma kullanarak benzer bir hızlanma elde edebilirim (ve sonra tahminsel doğruluğumu geliştirmek için etrafına bir yükseltme algoritması sararak).
Kodlarını yayınlamadıkları için, bu durum için optimize edilmiş açık kaynaklı paketler veya kütüphaneler (herhangi bir dilde) olup olmadığını merak ediyordum. İdeal olarak, doğrudan R'nin Matrix
paketinden seyrek bir matris alabilecek bir şey istiyorum , ancak alabileceğimi alacağım.
Etrafa baktım ve bu tür şeyler orada olmalı:
Kimyagerler bu konuya çok fazla giriyor gibi görünüyor (yukarıda bağlantılı olduğum makale yeni ilaç bileşikleri bulmayı öğrenmekle ilgiliydi), ancak bulabildiğim uygulamalar ya kimyasal analiz için özel ya da son derece uzmanlaşmıştı. Yine de bunlardan birinin yeniden tasarlanması mümkündür.
Belge sınıflandırması, seyrek özellik alanlarından öğrenmenin yararlı olduğu bir alan gibi görünmektedir (belgelerin çoğu kelime içermez). Örneğin, bu makalede C4.5'in (CART benzeri bir algoritma) seyrek uygulanmasına eğik bir referans var , ancak kod yok.
Göre posta listesine WEKA seyrek veri kabul edebilir, ancak yukarıda bağlantılı gazetede metodunun aksine, WEKA aslında boşa CPU döngülerini kaçınarak açısından yararlanmak üzere optimize edilmemiştir.
Şimdiden teşekkürler!
glmnet
ve e1071::svm
her iki support seyrek Matrix
nesneler. GAMboost
ve GLMboost
(paketten GAMboost
) de olabilir.