Pregunta

Sé sobre map / reduce alghoritm y su uso. Está usando funciones que se llaman Mappers y Reducers, pero también encuentro que la gente usa la palabra Filtros.

¿Son los filtros iguales a los Mappers o hay alguna diferencia significativa?

¿Fue útil?

Solución

Un filtro es como un mapa para el cual la función pasada siempre es una "función característica", es decir, una función que devuelve "sí". o " no " a la pregunta " ¿esto pertenece aquí? "

En otras palabras, piense en un conjunto definido como {x | x & # 8712; X y P (x) }. El filtro toma el conjunto base, prueba para ver si P (x) es verdadero y devuelve solo aquellos miembros para los que es verdadero.

Entonces { x | x es un número natural y el impar ( x )} es {1,3,5,7 ...}.

Un mapa aplica una función arbitraria, por lo que puedes pensar en eso como un conjunto como {y | x & # 8712; X y y = f (x) }.

Entonces { y | x es un número natural y y = x & # 178; } es {1,4,9,16, ...}.

Otros consejos

El filtro toma una " lista " y una función, aplica la función a cada miembro de la lista y devuelve una nueva lista que contiene solo miembros donde la aplicación de la función se volvió verdadera. Por ejemplo:

l = [1,2,3,4]
l = filter(lambda x: x < 3, l)
print l # [1,2]

El mapa hace lo mismo, pero devuelve una lista que contiene los resultados de la aplicación de función:

l = [1,2,3,4]
l = map(lambda x: x < 3, l)
print l # [True,True,False,False]

Un filtro determina si un elemento debe conservarse o eliminarse. Un mapeador simplemente traduce el valor a otro. Como consecuencia: el conjunto de salida de una operación de mapeo siempre tiene el mismo tamaño que el conjunto de entrada. La salida en una operación de filtro es más pequeña que el conjunto de entrada.

En general, las funciones del mapa toman un conjunto de entrada y una función, y devuelven un conjunto que contiene la salida de la función para cada elemento de entrada. Un filtro toma un conjunto de entrada y una función booleana, y devuelve un conjunto que contiene los valores de entrada para los que la función devuelve verdadero.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top