No entiendo la respuesta sugerida para la Tarea 2 en el Tutorial de Numpy Ultraquick de Google.
He realizado algunos entrenamientos de Python pero todavía soy principiante. En el Tutorial Numpy Ultraquick de Google, la Tarea 2 te pide que añadas algo de ruido a un conjunto de datos lineal que creaste en la Tarea 1.
A continuación está mi código para la Tarea 1 y 2:
<h1>Tarea 1 - crear un conjunto de datos lineal</h1>
<h1>Asigna una secuencia de enteros del 6 al 20 (inclusive) a un array NumPy llamado "feature".</h1>
<p>feature = np.arange(6, 21)</p>
<h1>Asigna 15 valores a un array NumPy llamado "label" de tal manera que: label = (3)(feature) + 4</h1>
<p>label = (feature * 3) + 4</p>
<h1>Tarea 2 - añadir algo de ruido al conjunto de datos</h1>
<h1>Modifica cada valor asignado a "label" añadiendo un valor de punto flotante aleatorio diferente entre -2 y +2.</h1>
<p>noise = np.random.randint(-2, 2, size=15)</p>
<p>label = label + noise</p>
<p><code>
A continuación está la respuesta sugerida en el tutorial:
</code>py
feature = np.arange(6, 21)
print(feature)
label = (feature * 3) + 4
print(label)</p>
<p>noise = (np.random.random([15]) * 4) - 2
print(noise)
label = label + noise
print(label)
No entiendo la segunda parte de la respuesta sugerida. ¿Por qué se multiplica el array aleatorio por 2 y luego se le resta 2?
davy.ai
La matriz aleatoria en la respuesta sugerida se multiplica por 4 y luego se resta 2 para crear un rango de valores de punto flotante aleatorios entre -2 y +2. Multiplicar por 4 expande el rango de valores posibles a -4 a +4, y luego restar 2 desplaza el rango para que comience en -2 y termine en +2. Esto crea una matriz de ruido con valores que se pueden agregar a la matriz de etiquetas para introducir cierta variabilidad en los datos.