在Logistic回归中更改随机状态不会更改结果

时间:2018-09-12 07:58:58

标签: python machine-learning logistic-regression

大家好!我想得到很多不同的结果,并看到标准偏差。这是我的代码:

lr_score, lr_tune_params = auto_tune_lr_second(x_train, x_test, y_train, y_test)
print('Random state changing...')
for i in range(1, 151):
    LR = LogisticRegression(C=lr_tune_params[0], max_iter=lr_tune_params[1], penalty=lr_tune_params[2], random_state=i)
    LR.fit(x_train, y_train)
    pred = LR.predict(x_test)
    pr_money_lr.append(find_profit(confusion_matrix(y_test, pred)))
pr_money_lr = np.array(pr_money_lr)
lr_mean = pr_money_lr.mean()
lr_std = pr_money_lr.std()
print ([lr_mean - lr_std, lr_mean + lr_std])

其中auto_tune_lr_second(x_train, x_test, y_train, y_test)与GridSearch()相同, 函数find_profit(confusion_matrix(y_test, pred))是用于优化的手工度量,它获得混淆矩阵并返回一些标量结果。

在每次迭代中,我都更改random_state,但得到相同的结果(相同的混淆矩阵)。我尝试将差异random_states设置为Logistic Regrassion中的参数,并尝试设置差异numpy.random.seed()。他们都没有工作。您有什么主意,为什么我在不同的random_states中得到相同的结果?

0 个答案:

没有答案