def train(self):
        print(path)
        if self.path == 'data/bank-additional-full.csv':
            data = pd.read_csv('data/bank-additional-full.csv', sep=';')
            data['y'] = data['y'].map({'yes': 1, 'no': 0})
        else:
            data = pd.read_csv('path')

        process = Preprocessor(data)
        data, columns = process._divide_data(data, self.label)
        categorical, numerical = process._classify_data(columns, data)
        transformed, y = process._preprocess_data(categorical,
                                                  numerical,
                                                  preprocessor=scaler)

        #dealing with our imbalanced data by oversampling the data set
        model = Modelling()
        x_train, x_test, y_train, y_test = model._splitdata(transformed,
                                                            y,
                                                            size=self.validate)
        X, y = DealwithSample(x_train, y_train, method=sampler)

        model = model.Prediction(X, x_test, y, y_test, method=self.model)