大家好!我想得到很多不同的结果,并看到标准偏差。这是我的代码:
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中得到相同的结果?