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

 

İlgilenenler için, bir sınıflandırma problemini çözerken sınıfları dengelemek için bir komut dosyası ekliyorum.

Dengeleme, orijinal örneğin bir Gauss karışım modeli kullanılarak yeniden örneklenmesine dayanır. Yerel veri kümelerinde sınıf etiketleri nadiren dengelendiğinden kullanmanızı tavsiye ederim.

Çok fazla zaman ve sinir tasarrufu sağlar.

import pandas as pd
from sklearn import mixture
import numpy as np

class GMM(object):
    def __init__(self, n_components):
        self.gmm = mixture.GaussianMixture(
                                            n_components=n_components,
                                            covariance_type='full', verbose= 0 ,
                                            max_iter= 1000 ,
                                            tol= 1 e- 4 ,
                                            init_params='kmeans')
        self.name_col = []
        # print("GMM_model -- create")


    def fit_data(self, data):
        self.name_col =  data.columns
        self.gmm.fit(data)
        # print("GMM_model -- fit comlite")

    def get_samples(self, n_samp):
        generated = self.gmm.sample(n_samp)
        gen = pd.DataFrame(generated[ 0 ])
         for c in range(len(self.name_col)):
            gen.rename(columns={gen.columns[c]: self.name_col[c]}, inplace=True)

         return gen

def get_balance_dataset(X,Y, gmm= 30 ,num_samples= 200 , frac= 1 ):
        '''
        X -             features
        Y -             targets [ 0 , 1 ]
        gmm -           number of mixture components
        num_samples -   number of samples for each class
        num_samples -   percentage of a random number of samples from the original sampling


        '''
    name_targ = Y.columns
    X_out = pd.DataFrame()
    Y_out = pd.DataFrame()
     for index,name in enumerate(name_targ):
        prt_data = pd.concat([X, Y[name]], axis= 1 )
         if frac!= 1 :
            prt_data = prt_data[prt_data[name] == 1 ].drop(columns=[name]).sample(frac=frac)
         else :
            prt_data = prt_data[prt_data[name] == 1 ].drop(columns=[name])

        gmm_1 = GMM(n_components=gmm)
        gmm_1.fit_data(prt_data)
        sig_X = gmm_1.get_samples(num_samples)
        sig_Y = np.zeros((num_samples, len(name_targ)))
        sig_Y[:, index] = 1
        sig_Y = pd.DataFrame(sig_Y, columns=name_targ)
        X_out = pd.concat([X_out, sig_X], axis= 0 )
        Y_out = pd.concat([Y_out, sig_Y], axis= 0 )

     return X_out.to_numpy(), Y_out.to_numpy()
 
iwelimorn # :

İlgilenenler için, bir sınıflandırma problemini çözerken sınıfları dengelemek için bir komut dosyası ekliyorum.

Dengeleme, orijinal örneğin bir Gauss karışım modeli kullanılarak yeniden örneklenmesine dayanır. Yerel veri kümelerinde sınıf etiketleri nadiren dengelendiğinden kullanmanızı tavsiye ederim.

Çok fazla zaman ve sinir tasarrufu sağlar.

Standart bir İncil yok mu? Bunun için python'da mı?

 
mytarmailS # :

Standart bir İncil yok mu? Bunun için python'da mı?

Muhtemelen böyle kütüphaneler vardır ama ben rastlamadım.

 
iwelimorn # :

İlgilenenler için, bir sınıflandırma problemini çözerken sınıfları dengelemek için bir komut dosyası ekliyorum.

Dengeleme, orijinal örneğin bir Gauss karışım modeli kullanılarak yeniden örneklenmesine dayanır. Yerel veri kümelerinde sınıf etiketleri nadiren dengelendiğinden kullanmanızı tavsiye ederim.

Çok fazla zaman ve sinir tasarrufu sağlar.

Sinir ağları ile sınıflandırma problemlerini çözerken neyin açıklığa kavuşturulması gerektiğini düşünüyorum.
İskele ve yükseltme dengeleme gerektirmez.

 
iwelimorn # :

Muhtemelen böyle kütüphaneler vardır ama ben rastlamadım.

Açıktır ... sadece R-ke'de MO için çok şey var, gözleriniz bile doluyor ve python MO için bir dil olarak konumlandırılmış ve içinde 2-3 şifreli İncil dışında hiçbir şey yok .

nasıl belli değil

 
elibrarius # :

Sinir ağları ile sınıflandırma problemlerini çözerken neyin açıklığa kavuşturulması gerektiğini düşünüyorum.
İskele ve yükseltme dengeleme gerektirmez.

Belki.

 
mytarmailS # :

Açık... bu sadece R-ke'de MO için çok şey var, hatta gözler faltaşı gibi açılıyor ve python MO için bir dil olarak konumlandırılmış ve içinde 2-3 kuyu dışında hiçbir şey yok- bilinen İnciller.

nasıl belli değil

R'ye aşina değilim, isteğe bağlı bir kurs olarak MO yapıyorum ve Dunning-Kruger'e göre umutsuzluk geçidine giden yolun yalnızca başındayım.

 
mytarmailS # :

Standart bir İncil yok mu? Bunun için python'da mı?

Sadece sarılmış bir İncil kullanır
 
iwelimorn # :

İlgilenenler için, bir sınıflandırma problemini çözerken sınıfları dengelemek için bir komut dosyası ekliyorum.

Dengeleme, orijinal örneğin bir Gauss karışım modeli kullanılarak yeniden örneklenmesine dayanır. Yerel veri kümelerinde sınıf etiketleri nadiren dengelendiğinden kullanmanızı tavsiye ederim.

Çok fazla zaman ve sinir tasarrufu sağlar.

Benim düşünceme göre standardizasyonun dengelemeden daha fazla etkisi var. Ayrıca dağıtımlardan örnekleme, fazla takmaya karşı yardımcı olur
 
iwelimorn # :

umutsuzluk vadisine giden yolun başlangıcı

))) Her şey iyi olacak!