Je veux mettre à l'échelle une matrice (X) avec 2 colonnes. J'utilise la normalisation moyenne, et je l'ai écrit les lignes suivantes dans Octave:Vectorisation de l'échelle de caractéristiques
X_norm = X
mu = mean(X);
sigma = std(X);
X_norm(:,1) = (X_norm(:,1) .- mu(:,1)) ./ sigma(:,1);
X_norm(:,2) = (X_norm(:,2) .- mu(:,2)) ./ sigma(:,2);
Pouvez-vous s'il vous plaît laissez-moi savoir d'une manière plus propre à vectoriser ce calcul?
j'ai vérifié mon code en comparant avec le résultat de zscore(X)
et leur correspondance - à savoir un sum(X_norm - zscore(X))
me a renvoyé 0 0.
Je suis contraint de ne pas utiliser zscore()
, et par conséquent la question.
Exemple de données comme suit:
2104 3
1600 3
2400 3
1416 2
3000 4
1985 4
1534 3
1427 3
1380 3
1494 3
1940 4
2000 3
1890 3
4478 5
1268 3
2300 4
1320 2
1236 3
2609 4
3031 4
1767 3
1888 2
1604 3
1962 4
3890 3
1100 3
1458 3
2526 3
2200 3
2637 3
Très appréciée. –