Python Class MachineLearning Preprocessing

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Joey20
User
Beiträge: 9
Registriert: Dienstag 22. Januar 2019, 23:38

Hallo liebe Community,

ich weiss leider mit meinen aktuellen Kenntnissen nicht mehr weiter :-/ .

Ich hab eine Klasse mit einer Pipeline für's PreProc. geschrieben.

Aktuell sind ca 10 Feature Selection Methoden vorhanden (Filter,Embedded,Wrapper...) .

Nun habe ich noch eine Methode geschrieben , die alle selektierten Features von den Feat Sel Methoden vergleicht und eine List mit bspw n=10
gleichen Features ausgibt.

Alles schön und gut , leider muss ich alle Feat Sel Methoden vorher ausführen um die letzte Methode ausführen zu können.

Gibt es da echt keine Alternative diesbezüglich :?:

Code: Alles auswählen

class test(BaseEstimator,TransformerMixin):
    def __init__(self,data):
        self.data = data
        
        self.categorical = ...
        
        self.numerical = ...
        
        self.discrete = ...
        
        self.numerical = ...
        
        self.data[self.discrete] = ....
        
        self.X = ...
        self.y = ...
      
        
        
    def fit(self):

        pipe = Pipeline([..........
                    
                 ])
        
        
        self.fit = pipe.fit(self.X,self.y)
        
        
        return self
    
    
    def transform(self):
        self.x = self.fit.transform(self.X)
        
        return self
    
   
    def eins(self):
        
        sel = f_regression(self.x,self.y)
        p_val = pd.Series(sel[1])
      
        p_val.index = self.x.columns

        p_val.sort_values(ascending=True, inplace=True)
        
        p_val = p_val[p_val < 0.05]
        
        X_ = self.x[p_val.index]
        
        self.X_anova_set = set(X_)
        
        return X_,self
    
    
    def zwei(self):
        ....
        return X_,self
    
    

    
    def drei(self):        
        ....
        return X_,self
    
    
    

    def vier(self):
        ....
        return X_,self


     #----um die Methode auszuführen , müssen alle Feat Sel ausgeführt sein---
   
    def gleiche_feat(self,n):
        feat_name = list(islice(eins&zwei&drei&vier......, n))
        
        X_ = self.x[feat_name]
        
        return X_
    
Antworten