Я запускаю конвейер, который нормализует входные данные, запускает PCA, нормализует коэффициенты PCA, прежде чем, наконец, запустит логистическую регрессию.
Однако я получаю переменные результаты по производимой мною путанице.
Я обнаружил, что если я уберу 3-й шаг ("normalise_pca"), мои результаты будут постоянными.
Я установил random_state = 0 для всех шагов конвейера, которые могу.Любая идея, почему я получаю переменные результаты?
def exp2_classifier(X_train, y_train):
estimators = [('robust_scaler', RobustScaler()),
('reduce_dim', PCA(random_state=0)),
('normalise_pca', PowerTransformer()), #I applied this as the distribution of the PCA factors were skew
('clf', LogisticRegression(random_state=0, solver="liblinear"))]
#solver specified here to suppress warnings, it doesn't seem to effect gridSearch
pipe = Pipeline(estimators)
return pipe
exp2_eval = Evaluation().print_confusion_matrix
logit_grid = Experiment().run_experiment(asdp.data, "heavy_drinker", exp2_classifier, exp2_eval);