Περισσότερα
Πώς να κανονικοποιήσετε έναν πίνακα στο NumPy;
Θα ήθελα να έχω τον κανόνα ενός πίνακα NumPy. Πιο συγκεκριμένα, ψάχνω για μια ισοδύναμη έκδοση αυτής της συνάρτησης
def normalize(v):
norm = np.linalg.norm(v)
if norm == 0:
return v
return v / norm
Υπάρχει κάτι τέτοιο στο skearn
ή στο numpy
;
Αυτή η συνάρτηση λειτουργεί σε μια κατάσταση όπου v
είναι το διάνυσμα 0.
165
3
Αν χρησιμοποιείτε το scikit-learn μπορείτε να χρησιμοποιήσετε το
sklearn.preprocessing.normalize
:Θα συμφωνούσα ότι θα ήταν ωραίο αν μια τέτοια λειτουργία ήταν μέρος των μπαταριών που περιλαμβάνονται. Αλλά δεν είναι, απ' όσο γνωρίζω. Εδώ είναι μια έκδοση για αυθαίρετους άξονες και δίνει βέλτιστη απόδοση.
Μπορείτε να καθορίσετε ord για να λάβετε τη νόρμα L1. Για να αποφύγω τη μηδενική διαίρεση χρησιμοποιώ το eps, αλλά αυτό ίσως να μην είναι σπουδαίο.