gpt4 book ai didi

python - sklearn SGDClassifier 无法使其确定性地训练或预测

转载 作者:行者123 更新时间:2023-11-30 08:57:58 25 4
gpt4 key购买 nike

我正在使用 sklearn.linear_model.SGDClassifier 训练一个简单的线性模型。我看到一些结果,在相同的训练集上进行训练有时会产生截然不同的结果。我正在尝试运行一个实验,在其中卡住有关特征构建管道和样本选择的所有内容,以查看初始随机状态对分类器结果有什么样的影响。因此,在这里我尝试多次循环相同的拟合和预测代码,每次都重新实例化分类器对象并将种子设置为 123456。

    classif['classifier'].random_state = 123456
classif['classifier'].fit(LABELED, LABELS)
y_test = classif['classifier'].predict(TEST_LABELED[:1000])
classif['accuracy_over_iter'] = np.append(classif['accuracy_over_iter'], accuracy_score(TEST_LABELS[:1000], y_test))
classif["score"] = accuracy_score(TEST_LABELS[:1000], y_test)
print(f'{classif["description"]} score {classif["score"]}')

之后,我训练的每个分类器最终都会得到略有不同的预测。我是不是没有正确设置种子?

reflectance_standard_scaler__SGD score 0.642    
reflectance_standard_scaler__SGD score 0.644
reflectance_standard_scaler__SGD score 0.632
reflectance_standard_scaler__SGD score 0.623
reflectance_standard_scaler__SGD score 0.66
reflectance_standard_scaler__SGD score 0.601
reflectance_standard_scaler__SGD score 0.671

最佳答案

看来 sklearn 仅在实例化时检查 random_state 变量的状态。在这种情况下,我在其他地方实例化,然后设置状态,但为时已晚,因为 sklearn 已经创建了自己的 RNG。

在实例化时传入 random_state 会导致确定性结果。

关于python - sklearn SGDClassifier 无法使其确定性地训练或预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52413325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com