У меня есть следующий код:Как исправить возникновение случайных чисел
Accuracy=off(data,z)
for i=1:100
n = size(data,1);
data_rand = data(randperm(n),:);
m = ceil(n/20);
k = 1:m:n-m;
test = data_rand(k:k+m-1,:);
train = [data_rand(1:k-1,:); data_rand(k+m:end,:)];
%/ code to calculate auc
end
accuracy=mean(auc)
каждой итерации значения train
и test
изменяются, поэтому значение auc
изменяется каждый раз.
Скажем, конечный результат: accuracy=0.7654
и в другой раз accuracy=0.6543
или accuracy=0.4657
. Я хочу зафиксировать определенный результат, скажем 0.6543
, т.е. если я запустил предыдущий код больше раз, я хочу получить тот же результат (0.6543
).
, но в некоторых наборах данных это дает плохие результаты. –
@AsmaaDaoud. Вы можете играть с «семенем» rng (см. Связанную документацию) для создания начальной точки, но в противном случае вы не можете исправить это через RNG. Однако вы можете использовать 'randperm' свои данные, пока не получите удовлетворительный набор, сохраните его до цикла и продолжайте использовать его. – Adriaan
Большое спасибо, но как использовать семя –