Representando datasets con tensores
Clase 6 de 27 • Curso de Introducción a Machine Learning 2019
Contenido del curso
Clase 6 de 27 • Curso de Introducción a Machine Learning 2019
Contenido del curso
Cristian Henao Rojas
Erick Herrera
Luis Fernando Pedroza Taborda
Axel Jiménez
Daniel Reyes Barrera
- -
Christian Sanclemente
JERSON ALEXANDER SUAZA GALLEGO
Alberto Sánchez
Usuario anónimo
Cristian Henao Rojas
Diego Alejandro Medina López
Cristian Arias Reyes
Usuario anónimo
Miguel Angel Hernández Torres
Usuario anónimo
Usuario anónimo
Juan Camilo Alvarez Jurado
Rodrigo Urquizo Yepez
Usuario anónimo
Usuario anónimo
Victor Macas
David Alsina
Usuario anónimo
Christian Sanclemente
Rodrigo Urquizo Yepez
Christian Sanclemente
Usuario anónimo
johan Stever Rodriguez Molina
Usuario anónimo
Arturo Baduna
Usuario anónimo
Wilson Fernando Antury Torres
Arturo Baduna
pablo calderon
Danilo Toro
Sergio Said Alemán Martínez
Pablo Castillo
Juan Camilo Alfonso Mesquida
Arturo Baduna
Fabricio Xavier Galárraga Pérez
Sergio Rubiano
Rodrigo Urquizo Yepez
Dropna() método de pandas
los parametros que están en el vídeo son axis y how. axis recibe cómo parametro un 1 y un 0. 0 indica que se borrará la fila donde encontremos valores faltantes 1 se borrará la columna donde se encuentre un valor faltante.
how recibe cómo parametro ‘any’ y ‘all’ ‘any’ significa que si encuentra al menos una columna con dato faltante, la elimine (en este caso, lo que haría sería ver el parametro axis para ver que acción debe tomar) **‘all’ **significa que debe eliminar la fila donde todos sus datos estén vacíos.
además puede recibir otros parámetros.
Me confundí con eso un poco, entonces quise compartirlo, por si alguno tenía mi misma duda.
Método dropna() de la documentación oficial con ejemplos
gracias
Excelente aprote Tholes, gracias.
Si quieren practicar más con datasets, en esta página hay una infinidad: https://www.dataquest.io/blog/free-datasets-for-projects/
Gracias amigo
++Thanks!!++
El dim en PyTorch se llama axis en NumPy. dim=0 equivale a las filas, y dim=1 equivale a las columnas. Si tienen algo más que complementar dejen su comentario.
Gracias hombre
buenos días: me genera este error al cargar el data set: SyntaxError- EOL while scanning string literal. An EOL ( End of Line ) error indicates that the Python interpreter expected a particular character or set of characters to have occurred in a specific line of code, but that those characters were not found before the end of the line . como lo puedo solucionar gracias.
Para los que cómo yo, tengan problemas en entender las dimensiones les recomiendo este articulo, ayuda a ver visualmente un poco mejor: Articulo
Muchísimas gracias por el articulo! no sabes cuanto me ayudó!
muchas gracias, muy clarificador!
Cuidado: La normalización se entiende como dejar todos los valores entre 0 y 1. Lo que se hacce aqui es "normalizar" los valores a la raiz de la desviación, que es lo mismo que escalar todo, en decir, comparar la diferencia de la media con el valor real, con la desviación.
gracias por el comentario. muy buena aclaración.
Si gracias a lugar!
Profesor con todo el respeto, quiero hacer el siguiente comentario: Se ve que usted sabe muchísimo al respecto, pero debería tener un orden de desarrollo. Coge un tema y se devuelve, luego se adelanta un poco, y así nos perdemos. Recuerde que la mayoría somo algo novatos es este aprendizaje. El desarrollo de un temas debe ser muy organizado y ordenado ascendente. La pedagogía es muy importante para trasmitir conocimientos. Y veo que le falta esta partecita profesor. Disculpe usted.
Para este tipo de retroalimentación existe el botón "Reportar un problema" (justo bajo el video), en donde se puede enviar todo el detalle para la revisión y mejora de los cursos
Los que nunca han visto programacion y de frente se meten a aprender IA es tiempo perdido, seria ideal que primero se conozca la logica de la programacion y un determinado lenguaje, en este caso: Python, para despues aplicarlos a otras cosas, como AI.
Hola, tengo una pregunta:
Al normalizar, en qué momento se está elevando al cuadrado la desviación estandar.
norm = (data - mean) / torch.sqrt(std)
Entiendo en esa expresión que se está hallando la raiz, pero no veo en que momento lo elevan al cuadrado. Si solo se toma la raiz habría que tener la varianza y no la desviación estandar, no?
Hola, para normalizar los datos es restar la media y dividir entre la desviación estándar (no entre la raíz de la desviación estándar como se hace en el vídeo) :) Gracias
En este ejemplo. Dice que el tensor es (2,2) y puede ir valores -2 a 1. ¿de dónde saca eso? ¿a qué se refiere?
algunas abreviaciones con su significado para recordar:
torch.ge() --> ge = GreaterEqual (>=) torch.sta() --> std = STandardDeviation(desviación estándar) torch.mean() --> mean = media/promedio
(yo estoy haciendo este curso sin saber python, así que si ya se sabía por teoría yo me acabo de enterar por descubrimiento de lo siguiente, espero a alguien le resulte útil) :
en este caso me di cuenta de que los : significan desde:
target = players[:, 0]
lo que me está diciendo esa linea de arriba es que dentro del tensor players en la las filas empiece teniendo en cuenta desde la fila cero "players[:, 0]" y tenga en cuenta solo la columna 0 "players[:, 0]" lo notamos por la ausencia de los dos puntos, y al ponerlos en l google colab y mirar los cambios lo podemos entender
Más exactamente, players[:, 0] significa: Todas las filas y sólo la columna 0.
Puedes consultar sobre la notación slices de Python.
Comentario tomado mas abajo, por usuario Tholes: dropna() método de pandas
los parametros que están en el vídeo son axis y how. axis recibe cómo parametro un 1 y un 0. 0 indica que se borrará la fila donde encontremos valores faltantes 1 se borrará la columna donde se encuentre un valor faltante.
how recibe cómo parametro ‘any’ y ‘all’ ‘any’ significa que si encuentra al menos una columna con dato faltante, la elimine (en este caso, lo que haría sería ver el parametro axis para ver que acción debe tomar) **‘all’ **significa que debe eliminar la fila donde todos sus datos estén vacíos.
En la formula de distribucion normal (norm) que vi en wikipedia y otras fuentes, no se eleva la desviacion estandar al cuadrado o se saca la raiz cuadrada, me parece un poco raro, aparte se confundieron con la funcion sqrt. Aca hay una explicacion de la formula: https://www.youtube.com/watch?v=_gyrWRyh6Qg Porque elevarla al cuadrado?Si alguien me lo dice seria de gran ayuda
Rodrigo, es cierto, estoy buscando por todo lado, intentando realmente comprender la razón por la cual eleva la desviación estándar al cuadrado, incluso en este vídeo no lo hacen, y es de machine learning. https://www.youtube.com/watch?v=H5-Gwg1UVtY
Hola, estoy de acuerdo, yo estudié estadística. La confusión del profe puede ser porque pudo haber confundido la desviación estándar con la varianza. Si hubiese sido la varianza si es válido sacar la raíz cuadrada.
Un par de métodos útiles dentro de pandas para saber desde el comienzo si tenemos datos nulos o na y algunas maneras de trabajar con estos datos los dejo aquí.
Se puede simplificar el print del final, en este caso no es necesario el enumerate:
for args in zip(columns, goodMean, averageMean, notSoGoodMean): print('{:25} {:6.2f} {:6.2f} {:6.2f}'.format(*args))
for i, args in enumerate(zip(columns, goodMean, averageMean, notSoGoodMean)): print('{:25} {:6.2f} {:6.2f} {:6.2f}'.format(*args))
no me quedoo nada claro e hice los cursos y los hice bien jeje
Hola de nuevo arturo, en ese print estas dando formato puedes ver mas en este link
Lo que hicimos en ésta clase:
graciasss
me parece que falta mas teroria en algunas cosas para entender bien lo que trata de decir.. por lo menos para mi que todos esto es nuevo
Si intenta explicar cada cosa, el curso sería eterno, este curso pertenece a una carrera y este es el 6to curso. Siendo de nivel intermedio. Para entender mejor el curso, te recomiendo tomar los cursos previos.
Recuerda que no se puede aprender lo de secundaria sin aprobar la primaria ;) Saludos!
Tienes razón. Aún viendo los cursos anteriores no te enteras de nada; tienes que buscar la información fuera de Platzi.
Hice un test:
sqrt = torch.tensor([[4., -4.], [4., -4.]]) torch.sqrt(sqrt)
da:
tensor([[2., nan], [2., nan]])
La función sqrt no es el cuadrado, es la raíz cuadrada.
Tienes razón, fue un error del profesor; sqrt (square root) se refiere a la raíz cuadrada.
muy buen descubrimiento te felicito
cómo sería para cargar una base de datos igual csv pero que la tenga guardada en mi computadora.??
Hola Harry, puedes hacerlo mediante la librería pandas
import pandas as pd df = pd.read_csv('mi_dataset.csv')
puedes cargar tu dataSet directamente desde tu unidad Drive o directamente subir el archivo
Holaa, si te refieres a un gestor de base de datos, te recomiendo usar MySQL Workbench, al mostrarte la consulta, veras un boton parecido al boton de save donde al costado dice:export/import, en el boton dira:"export recordset to an external file", le das click ahi y guardas el archivo con la extension .csv,listo.Saber gestionar bases de datos es vital para hacer machine learning, es un skill muy demandado.Espero haber entendido tu pregunta y si no que te pueda servir de algo mi respuesta.