La función scipy.stats.signaltonoise(arr, axis=0, ddof=0) calcula la relación señal-ruido de los datos de entrada.
Su fórmula:
Parámetros:
arr: [array_like] Array de entrada u objeto que tiene los elementos para calcular la relación señal-ruido
axis: Eje a lo largo del cual se calculará la media. Por defecto eje = 0.
ddof : Grado de corrección de libertad para Desviación Estándar.Resultados: relación media a desviación estándar, es decir, relación señal-ruido.
Código #1: Trabajando
# stats.signaltonoise() method import numpy as np from scipy import stats arr1 = [[20, 2, 7, 1, 34], [50, 12, 12, 34, 4]] arr2 = [50, 12, 12, 34, 4] print ("\narr1 : ", arr1) print ("\narr2 : ", arr2) print ("\nsignaltonoise ratio for arr1 : ", stats.signaltonoise(arr1, axis = 0, ddof = 0)) print ("\nsignaltonoise ratio for arr1 : ", stats.signaltonoise(arr1, axis = 1, ddof = 0)) print ("\nsignaltonoise ratio for arr1 : ", stats.signaltonoise(arr2, axis = 0, ddof = 0))
Producción :
arr1 : [[20, 2, 7, 1, 34], [50, 12, 12, 34, 4]]
arr2 : [50, 12, 12, 34, 4]
relación señal/ruido para arr1 : [2.33333333 1.4 3.8 1.06060606 1.26666667]
relación señal-ruido para arr1 : [1.01779811 1.31482934]
relación señal-ruido para arr2: 1.3148293369202024
Código #2: Cómo implementar
def signaltonoise(a, axis, ddof): a = np.asanyarray(a) m = a.mean(axis) sd = a.std(axis = axis, ddof = ddof) return np.where(sd == 0, 0, m / sd) print ("\nsignaltonoise ratio for arr1 : ", signaltonoise(arr1, axis = 0, ddof = 0)) print ("\nsignaltonoise ratio for arr1 : ", signaltonoise(arr1, axis = 1, ddof = 0)) print ("\nsignaltonoise ratio for arr2 : ", signaltonoise(arr2, axis = 0, ddof = 0))
Producción :
relación señal/ruido para arr1 : [2.33333333 1.4 3.8 1.06060606 1.26666667]
relación señal-ruido para arr1 : [1.01779811 1.31482934]
relación señal-ruido para arr2: 1.3148293369202024
Publicación traducida automáticamente
Artículo escrito por vishal3096 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA