LogisticRegressionCV дает другой ответ, даже если начальное число установлено - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть программа, которая реализует KFold в Logistic RegressionCV.Я настроил начальное число и использую его как в KFOLD, так и в LogisticRegressionCV.Даже если начальное число установлено, я получаю разные показатели всех моих показателей каждый раз, когда перезапускаю ядро.Вот код:

    rs = random.seed(42)
    X_train, X_test, y_train, y_test = train_test_split(X_smt, y_smt, test_size=0.1, 
                                                    random_state=42)
    kf = KFold(n_splits=15, shuffle=flase, random_state=42)
    logistic = LogisticRegressionCV(Cs=2, fit_intercept=True, cv=kf, verbose =1, random_state=42)
    logistic.fit(X_train, y_train)
    print("Train Coefficient:" , logistic.coef_) #weights of each feature
    print("Train Intercept:" , logistic.intercept_) #value of intercept
    print("\n \n \n ")


    logistic.predict(X_test)
    test_precision = metrics.precision_score(y_test, logistic.predict(X_test))
    test_avg_precision = metrics.average_precision_score(y_test, logistic.predict(X_test))

Что может быть причиной этого, и если есть простое решение для этого.

1 Ответ

0 голосов
/ 19 сентября 2018

Согласно документу SKlearn здесь : Randomized CV splitters may return different results for each call of split. You can make the results identical by setting random_state to an integer.

Тем не менее, он может устанавливать только случайное состояние сгиба, но не перемешивание.Попробуйте установить shuffle=False и посмотрите, получите ли вы другой результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...