Python Class MachineLearning Preprocessing
Verfasst: Mittwoch 6. November 2019, 15:57
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
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_