如何为ML模型正确设置种子值?

问题描述 投票:0回答:1

我不熟悉ML,并且运行不同的分类模型。我观察到的是,每次运行模型时,我都会得到略有不同的结果。我在网上了解到,这与设定种子价值有关。但是我无法实现可复制性?

以下是我尝试设置种子值的代码,但无济于事

from sklearn.svm import SVC
random.seed(1234)
param_grid = {'C': [0.001,0.01,0.1,1,10,100],  
              'gamma': [1,0.1,0.01,0.001], 
              'kernel': ['linear','rbf','poly'],
              'class_weight':['balanced']}
svm=SVC()
svm_cv=GridSearchCV(svm,param_grid,cv=5)
svm_cv.fit(X_train_std,y_train)
y_pred = svm_cv.predict(X_test_std)
cm = confusion_matrix(y_test, y_pred)
print(cm)
print("Accuracy is ", accuracy_score(y_test, y_pred))

您能帮我理解如何设置seed值,以便每次运行上述代码时,我都得到相同的结果/准确性/指标

python machine-learning deep-learning data-mining random-seed
1个回答
0
投票

Scikit学习使用numpy随机种子。因此,您应该导入numpy并按如下所示设置其随机种子:

import numpy as np
np.random.seed(1234)

https://www.mikulskibartosz.name/how-to-set-the-global-random_state-in-scikit-learn/

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.