Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 233

 
Vladimir Perervenko :

İyi sonuçlar alamadım. Güçlü bir şekilde ilişkili olan tahmin edicilere (diğer modellerin aksine) ihtiyacımız var.

Kabul edilebilir bir sonuç verecek hiçbir şey bulamadım. Doğru, kısa bir süre denedim. Zaman bitiyor. Sen dene. Örnek tamamen işlevsel bir koda sahiptir.

İyi şanlar

not. Giriş matrislerinde denerseniz, tahmin ediciler sütunlar değil satırlar olmalıdır.

Teşekkür ederim ama ne yazık ki şimdi tamamen farklı bir şey yapıyorum, yakın gelecekte kesinlikle oturamayacağım, çalışan bir metoda rastlamış gibiyim ama her şey hala nemli, araştırma yeni başlıyor ve Uzun süre uzayacağını hissediyorum, çok iş var...

Böyle bir başka soru, sadece vurma) Standart MO paketleri, ormanlar, ağlar, vektörler, kıvrımlar vb. Kullanmak mümkün mü? öğretmensiz öğrenmede?

Bunun mümkün olduğundan şüpheleniyorum ama nasıl olduğunu anlayamıyorum.

örneğin forrest'ta

data( "iris" )

library(randomForest)

label <- factor(iris$Species)
set <- iris[,-ncol(iris)]


model <- randomForest(x = set ,data = set , mtry= 4 , ntree= 20 )

öğretmensiz öğretilmiş gibi

google translate'e göre ----> denetimsiz sınıflandırma

> model

Call:
randomForest(x = set, ntree = 20 , mtry = 4 , data = set)
               Type of random forest: unsupervised
                     Number of trees: 20
No. of variables tried at each split: 4

ama nasıl tanırsın? ))

predict(model , set [ 1 ,])



Error in predict.randomForest(model, set [ 1 , ]) :
  No forest component in the object


Bunu benim için bir şekilde açıklayabilir misin?

 
mytarmailS :

Teşekkür ederim ama ne yazık ki şimdi tamamen farklı bir şey yapıyorum, yakın gelecekte kesinlikle oturamayacağım, çalışan bir metoda rastlamış gibiyim ama her şey hala nemli, araştırma yeni başlıyor ve Uzun süre uzayacağını hissediyorum, çok iş var...

Böyle bir başka soru, sadece vurma) Standart MO paketleri, ormanlar, ağlar, vektörler, kıvrımlar vb. Kullanmak mümkün mü? öğretmensiz öğrenmede?

Bunun mümkün olduğundan şüpheleniyorum ama nasıl olduğunu anlayamıyorum.

örneğin forrest'ta

data( "iris" )

library(randomForest)

label <- factor(iris$Species)
set <- iris[,-ncol(iris)]


model <- randomForest(x = set ,data = set , mtry= 4 , ntree= 20 )

öğretmensiz öğretilmiş gibi

google translate'e göre ----> denetimsiz sınıflandırma

> model

Call:
randomForest(x = set, ntree = 20 , mtry = 4 , data = set)
               Type of random forest: unsupervised
                     Number of trees: 20
No. of variables tried at each split: 4

ama nasıl tanırsın? ))

predict(model , set [ 1 ,])



Error in predict.randomForest(model, set [ 1 , ]) :
  No forest component in the object


Bunu benim için bir şekilde açıklayabilir misin?

==============================================

"RandomUniformForest" kullanmanızı şiddetle tavsiye ederim. Diğer "ormanlarda" bulunmayan birçok fırsat var. Özellikle denetimsiz öğrenme için:

Rastgele Tekdüzen Ormanlarla Denetimsiz Öğrenme

Tanım

Denetimsiz Rastgele Tekdüzen Orman modu, her durumda kümeleme, boyut küçültme, kolay görselleştirme, derin değişken önemi, gözlemler, değişkenler ve kümeler arasındaki ilişkileri sağlamak için tasarlanmıştır. Ayrıca iki özel nokta ile birlikte gelir: kolay değerlendirme (küme analizi) ve dinamik kümeleme, herhangi bir kümeleme şeklini anında değiştirmeye izin verir. Üç katmanlı bir motor kullanılır: farklılık matrisi, Çok Boyutlu Ölçekleme (MDS) veya Spektral ayrıştırma ve k-ortalamalar veya hiyerarşik kümeleme. Denetimsiz mod, boşluk istatistiği sayesinde küme sayısının bilinmesini gerektirmez ve denetimli modun ana algoritmik özelliklerini miras alarak (neredeyse) her tür değişkene izin verir.

İyi şanlar

 
Vladimir Perervenko :

Evet, soru genel, tüm bu popüler MO paketlerini öğretmen olmadan öğretmek mümkün mü - randomforest , nnet , svm ...... vb.

Forrest, sadece örnek aldı ...

Genel olarak, bir öğretmen olmadan evrişimli bir ağ eğitmek istiyorum.

 
mytarmailS :

Evet, soru genel, tüm bu popüler MO paketlerini öğretmen olmadan öğretmek mümkün mü - randomforest , nnet , svm ...... vb.

Forrest, sadece örnek aldı ...

Genel olarak, bir öğretmen olmadan evrişimli bir ağ eğitmek istiyorum.

Ona ne öğretmek istiyorsun?

Fikir nedir?

Yalnızca denetimsiz öğrenme için bu modelleri biliyorum: AutoEncoder, RBM, çeşitli çeşitlerin RF'si, kümeleme modelleri. Ama evrim imkansız...

İyi şanlar

 
Vladimir Perervenko :

Ona ne öğretmek istiyorsun?

Fikir nedir?

Yalnızca denetimsiz öğrenme için bu modelleri biliyorum: AutoEncoder, RBM, çeşitli çeşitlerin RF'si, kümeleme modelleri. Ama evrim imkansız...

İyi şanlar

iyi, bir evrişimli ağ , şekil olarak biraz farklı olan benzer kalıpları tanıyabildiğinden, bu, onu olağan "doğrusal" ML'den ayırır.

orman türü, obch. ağlar vb...

Ve bir öğretmen olmadan öğretmek istiyorum çünkü önce onu “doğal bir şekilde, benzerlikle” sanki kümelere bölmek ve sonra hedefle karşılaştırmak, hemen hedefle ve nasıl oluşturulacağını / ayarlanacağını öğretmekten çok daha iyidir. hedef için küme

Kümelerle ilgili fikir hakkında yazdım, okursanız, hedefim için herhangi bir geleneksel ML'den gerçekten daha iyi çalışıyor ...

Bütün bunlarda bir problem daha var, bu piyasada kesinlikle aynı durumların olmaması, bunlar durağan değil ve burada şimdiye kadar iki yol görüyorum, bu ya bir evrişimli ağ ya da bir dtw algoritması ya da ne çok az anlaşılmış ve bulaşmış bir tür enterpolasyon veya ekstrapolasyon var tam olarak ne dendiğini bile bilmiyorum

Bu fikir, kümeyi durağan olmayan duruma daha uyumlu hale getirmektir.

 

Lütfen anlamama yardım et...

şöyle bir kod var:

#есть вектор с некими нужными событиями "999" и не нужными "0"

X <- rep( 0 , 1000 )
Y <- rep( 999 , 100 )

dat <- sample(c(X, Y))
dat
> dat
   [ 1 ]   0 999    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
  [ 28 ]   0    0    0 999 999    0    0    0    0    0    0    0    0    0    0 999    0    0    0    0    0    0    0    0    0 999    0
  [ 55 ]   0    0    0    0 999    0    0    0    0    0 999    0    0    0    0    0 999    0    0    0    0    0    0    0    0    0    0
  [ 82 ]   0    0    0    0    0    0    0    0 999    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
[ 109 ]   0    0    0    0    0    0    0    0 999    0    0    0 999    0    0    0    0    0    0    0    0    0    0    0    0    0    0
[ 136 ]   0    0    0    0    0    0    0 999    0    0    0    0    0 999    0 999    0    0    0    0    0    0    0    0    0    0    0

# ///в каждой итерации цыкла я хочу видеть последние три нуждые события те когда было "999"

for (i in 101 :length(dat)){
    
       idx <- 1 :i
      
                  s1 <- dat[idx]
                  s2 <- which(s1!= 0 )   # s2 - получаем индексы нужного события те когда s1 было не ноль
                  s3 <- tail(s2, 3 )     # оставляем три поледних индекса
                  
                  print(  dat[s3]   )
                  
}

[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999
[ 1 ] 999 999 999

Her şey yolunda, her şey çalışıyor ama sırada bir sorun var.

idx <- 1 :i

her yinelemede, idx vektörü artar ve çok fazla veri varsa, kod doğal olarak çılgınca yavaşlar ve ne kadar uzak olursa o kadar fazla ...

Sorunu basitçe çözdüm, sadece her yinelemede, vektörün tamamı değil, yalnızca son 100 değeri alınacak

idx<-(i-100):i

for (i in 101 :length(dat)){
    

       idx <- (i- 100 ):i # последние 100 значени вместо idx <- 1 :i
      
                  s1 <- dat[idx]
                  s2 <- which(s1!= 0 )   # s2 - получаем индексы нужного события те когда s1 было не ноль
                  s3 <- tail(s2, 3 )     # оставляем три поледних индекса
                  
                  print(  dat[s3]   )
                  
}

ama böyle bir kodun çıktısı zaten bir tür saçmalık

[ 1 ] 0 0 0
[ 1 ] 0 0 0
[ 1 ] 0 0 0
[ 1 ] 0 0 0
[ 1 ] 0 0 0
[ 1 ] 0 0 0
[ 1 ] 999    0    0
[ 1 ] 0 0 0
[ 1 ]   0    0 999
[ 1 ] 999    0    0
[ 1 ] 0 0 0
[ 1 ] 0 0 0

ne oluyor be? hala doğru gibi görünüyor, bir hata nedir ya da ne?

 
şaşkın mı? :) görünüşe göre..
 

mytarmailS :


ne oluyor be? hala doğru gibi görünüyor, bir hata nedir ya da ne?

Buna "iç çamaşırı" denir, sanki utanmadan iç çamaşırları bayanlar ve bayların yüzlerine girer ve diğerleri bundan pek hoşlanmaz. Alt kısmın gizlenmesi arzu edilir. Örneğin Nikolai Kositsyn veya Reshetov'un iç çamaşırı gösterdiğini gördünüz mü?
 
pantural :

Aslında buna "bug var ama nasıl çoğaltılacağına dair bir örnek yok" deniyor. 100'den fazla sütunu olan özel olarak tasarlanmış bir tabloya ihtiyacınız var ve sonra bir şeyler ters gidecek. Ve örneğin, üzerinde hiçbir şeyin kontrol edilemediği küçük bir tablo parçası ve hatta bir RData dosyası değil metin verilir.

Tamamen rastgele - Hatanın dizinlerde olduğunu düşünüyorum. Başlangıç indeksi i ne olursa olsun, s3'teki değerler her zaman 1 ile 100 arasında olacaktır.
s1'i dat tablosunun başlangıcına göre (i-100)-1 ile ofsetlerseniz, alınan yeni indekslerle dat'e tekrar eriştiğinizde bu offset dikkate alınmalıdır. Son satır yazdırılmalıdır (dat[i-101+s3]). Belki 101 değil 100. Veya 102. O sayılarda bir yerde :)

 

pantural :
Buna "iç çamaşırı" denir, sanki utanmadan iç çamaşırları bayanlar ve bayların yüzlerine girer ve diğerleri bundan pek hoşlanmaz. Alt kısmın gizlenmesi arzu edilir. Örneğin Nikolai Kositsyn veya Reshetov'un iç çamaşırı gösterdiğini gördünüz mü?

=========================

Belki de buna "iç çamaşırı" diyorsunuz, ancak R topluluğunda bir soru sorarken tekrarlanabilir kod vermek gelenekseldir. Ve doğru. Kodsuz hikayeler boş sözlerdir. Bu konunun amacı MO örneklerinden öğrenmektir.

Neden etrafındaki herkes için imza atıyorsun? Kural koymanıza gerek yok, kimse bunu yapmanıza izin vermedi.

Her şey mytarmailS ve birçok kişinin kendileri için yararlı bir şeyler öğrenebileceği kod örnekleri sağlayan diğer katkıda bulunanlar tarafından doğru bir şekilde yapılır.