Exemplo n.º 1
0
class r07546035_DummyRegression(regression):
    def trainAlgo(self):

        self.model = DummyRegressor(strategy=self.param['strategy'],
                                    quantile=self.param['quantile'])

        self.model.fit(self.inputData['X'],
                       self.outputData['y'],
                       sample_weight=None)

    def predictAlgo(self):

        self.result['y'] = self.model.predict(self.inputData['X'])

    def get_paramsAlgo(self):

        self.model.get_params(self)
def train_dummy_regressors(features, target):
    for strat in ['mean', 'median']:
        dr = DummyRegressor(strategy=strat)
        dr.fit(features, y=target.flatten())

        dummy_score = (100 * dr.score(features, target))
        print('{:.1f} % score for a dummy regressor using the {} stragety'.format(
	    dummy_score,
	    dr.get_params()['strategy']))
Exemplo n.º 3
0
class PerfectClassifierMeanRegressor():        
    def fit(self,X: pd.DataFrame, y: pd.Series):
        self.X = X
        self.y = y
        self.regressor = DummyRegressor(strategy='mean')
        
    def cross_val(self,scoring,k=10):
        self.scores = {}

        for name, scorer in scoring.items():
            for split in ['train','test']:
                self.scores[split+'_'+name] = []

        splitter = KFold(n_splits=k,shuffle=True,random_state=7)   
        for train_index, test_index in splitter.split(self.X,self.y):
            
            X_train = self.X.values[train_index]
            y_train = self.y.values[train_index]
            
            X_test = self.X.values[test_index]
            y_test = self.y.values[test_index]
            
            # get test y class labels for perfect classification
            y_test_binary = (y_test != 0)
            y_train_binary = (y_train != 0)

            self.regressor.fit(X_train,y_train.reshape(-1,1))
            
            reg_pred_test = self.regressor.predict(X_test).flatten()
            reg_pred_train = self.regressor.predict(X_train).flatten()

            y_pred_test = np.multiply(y_test_binary,reg_pred_test)
            y_pred_train = np.multiply(y_train_binary,reg_pred_train)

            for name, scorer in scoring.items():
                self.scores['test_'+name].append(scorer(y_test,y_pred_test))
                self.scores['train_'+name].append(scorer(y_train,y_pred_train))

                
        return self.scores
    
    def get_params(self):
        return(self.regressor.get_params())