Lors de la sortie du résultat de prédiction calculé par machine learning
--Je veux sortir 0/1 pour la classification binaire --S'il s'agit d'une valeur de probabilité, vous voulez la sortir avec [0,1], soit environ 5 chiffres après la virgule décimale. --Pour la régression, je souhaite utiliser la notation exponentielle en fonction de la plage de valeurs possibles.
Vous souhaiterez peut-être ajuster le nombre de chiffres de la valeur de sortie.
Dans numpy, vous pouvez sortir csv et tsv avec numpy.savetxt ()
, mais vous pouvez ajuster le nombre de chiffres en spécifiant le paramètre fmt
à ce moment.
In [1]: import numpy as np
In [2]: np.savetxt("output.csv", [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]])
In [3]: cat output.csv
1.000000000000000056e-01 2.000000000000000111e-01 2.999999999999999889e-01
4.000000000000000222e-01 5.000000000000000000e-01 5.999999999999999778e-01
In [4]: np.savetxt("output.csv", [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], fmt="%.5f")
In [5]: cat output.csv
0.10000 0.20000 0.30000
0.40000 0.50000 0.60000
En fait, vous pouvez spécifier plusieurs de ce paramètre au format liste. Si vous définissez des paramètres tels que fmt = ["% .0f ","% .1f ","% .5f "]
, chaque colonne (chaque colonne) sera sortie avec le nombre de chiffres spécifié.
In [6]: np.savetxt("output.csv", [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], fmt=["%.0f", "%.1f", "%.5f"])
In [7]: cat output.csv
0 0.2 0.30000
0 0.5 0.60000
In [8]: np.savetxt("output.csv", [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], fmt=["%.0e", "%.1e", "%.5e"])
In [9]: cat output1.csv
1e-01 2.0e-01 3.00000e-01
4e-01 5.0e-01 6.00000e-01
Cependant, lors de la spécification de chaque colonne, elle doit être spécifiée dans toutes les colonnes, et si le nombre de colonnes ne correspond pas, une erreur se produit.
In [10]: np.savetxt("output.csv", [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]], fmt=["%.0e", "%.1e"])
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-11-6d7d74124420> in <module>()
----> 1 np.savetxt("output.csv", [[0.1, 0.2, 0.3] ,[0.4, 0.5, 0.6]], fmt=["%.0e", "%.1e"])
[...]
AttributeError: fmt has wrong shape. ['%.0e', '%.1e']
Ceci est utile lorsque l'ID est dans la première colonne, ou lorsque la variable explicative est flottante mais que la variable objectif est d'un type différent tel que int.
Recommended Posts