Logo Studenta

Unidad II - Segunda parte

¡Este material tiene más páginas!

Vista previa del material en texto

Nombre del alumno: Antony Arturo García Pérez
Matrícula: 2020690020
Carrera: Licenciatura en Ciencia de Datos
Nombre de la materia: Desarrollo de aplicaciones para análisis de datos
Nombre del docente: Jesús Álvarez
2.4.6 Recolección de datos de redes sociales
Sabinas, Coahuila							02/11/2021
Unidad II.
2.4.6 Recolección de datos de redes sociales
La popularidad de las redes sociales y la facilidad con la que las personas navegan por ellas, suben contenido y la disponibilidad que estas presentan hace de ellas un lugar perfecto para la recolección de datos significativos para cualquier empresa. Las redes sociales presentan hoy un conglomerado de información que engloba desde los gustos de las personas hacia productos hasta la satisfacción de las mismas con las decisiones de los mandatarios de todo el mundo o con las leyes que se proponen en los parlamentos de sus ciudades.
Dentro de las redes sociales podemos encontrar varios tipos ya que no de todas se pueden sacar los mismos datos, por ejemplo, Twitter es una red en la que sus usuarios publican opiniones sobre cualquier tema, en cambio, en Instagram, los usuarios suben fotos suyas o suyas o de diferentes lugares a los que han acudido buscando que los demás les otorguen los máximos «me gustas».
Y ¿por qué debemos hacer esto?
Analizar las redes sociales no solo nos ayuda a revisar el estado de nuestra marca en Internet sino que también nos ayuda a crear perfiles de nuestros competidores directos e indirectos. Gracias a este análisis podremos obtener datos de como nuestros competidores están evolucionando, cuales son los productos por los que apuestan, que opinan los consumidores de ellos y lo que es mas importante, que estrategia podemos aplicar para crear un producto/servicio que los clientes prefieran.
Hoy en día las redes sociales aportan un gran valor a nuestra empresa, permiten que nos comuniquemos con nuestros clientes, que nos promocionemos, que creemos expectativas. Este uso de las redes va un poco mas allá, intenta utilizarlas para crear una ventaja competitiva, para buscar que es lo que los clientes están buscando antes de que la competencia lo desarrolle y lo implemente. Esta es la forma que verdaderamente exprime la información que las redes sociales ofrecen a las empresas y les permite avanzar hacia la personalización de los productos al cliente, esto es lo que verdaderamente les hace competitivas.
2.4.7 Recolección de datos de geolocalización
El software de recolección de datos es un sistema computarizado para la recolección y el almacenamiento de datos cualitativos y cuantitativos en un sistema electrónico formulario. Las ventajas de utilizar sistemas de reunión de datos es que eliminan el uso de encuestas en papel y permiten exportar rápidamente los datos para su análisis y presentación.
Captura de datos offline
Las aplicaciones de recopilación de datos son aplicaciones móviles que permiten recoger datos de un teléfono inteligente, un tablet o un iPad. Una de las principales ventajas de las aplicaciones de recopilación de datos es la posibilidad de recopilar datos offline o mientras se viaja. Offline formularios permiten a los investigadores que trabajan en lugares con una Internet poco fiable almacenar una copia de seguridad de sus datos en su dispositivo móvil y cargarla una vez que se disponga de una conexión a Internet.
Seguimiento de Casos
Algunos proyectos requerirán que los mismos sujetos sean encuestados en diferentes momentos de tiempo, en otras palabras, longitudinalmente. Para poder hacer un seguimiento eficiente de los sujetos, los proyectos longitudinales requieren una solución de recolección de datos que apoye Gestión de Casos.
Gestión de Casos es la capacidad de crear entidades y hacer un seguimiento de ellas a través del tiempo. Un caso puede ser cualquier cosa: paciente, beneficiario, ubicación, programa o instalación. Gestión de Casos ahorra tiempo y mejora la calidad de los datos en la investigación longitudinal porque elimina la necesidad de volver a introducir datos de referencia cada vez que se evalúa el mismo sujeto.
IMÁGENES.
 
Ejemplos de algunas redes sociales más famosas actualmente
EJEMPLOS.
Análisis de datos en redes sociales
PALABRAS CLAVE.
Offline: Sin conexión a internet o a otra red de datos.
Geolocalizacion: El geoposicionamiento, también conocido como seguimiento geográfico, geolocalización, o fijación de posición geográfica es el proceso de determinar o estimando la posición geográfica de un objeto.​​​​​​​​
LINK/PÁGINAS WEB.
Documentación: video análisis de redes sociales con Python: Web Scrapping - Instagram
https://www.youtube.com/watch?v=W7naFPRztKQ&t=186s
2.5 Preprocesamiento de datos
DEFINICION.
Encontramos datos en todas partes, estos pueden ser recolectados de manera manual por científicos, pero ahora es cada vez más común que sean recolectados de manera digital utilizando aplicaciones especificas configuradas para este propósito. 
Pero tenemos que tener claro que los datos no necesariamente signifiquen información, por lo que es necesario aplicar un análisis a los mismos para que nos ayude a responder preguntas, descubrir información útil a través de ellos e inclusive para predecir el futuro utilizando Machine Learning.
Para hacer el análisis de datos en Python, primero debemos hablar sobre los principales paquetes o librerías que se utilizan para el análisis. Para que tengan claro una librería de Python es una colección de funciones y métodos que permiten realizar muchas acciones sin necesidad de escribir ningún código, generalmente contienen módulos integrados que proporcionan diferentes funcionalidades que puedes usarlo directamente.
Lo dividimos en tres grupos, comencemos con el primer grupo, la librería de datos, en donde encontramos a:
Pandas: ofrece estructura de datos y herramientas para manipulación y análisis de datos de manera efectiva. El instrumento principal de Pandas es una tabla bidimensional que consiste en etiquetas de columna y fila llama DataFrame.
Numpy: utiliza matrices para sus entradas y salidas, por lo que se puede realizar un procesamiento rápido de matrices.
SciPy: incluye funciones para algunos problemas matemáticos avanzados, como integrales, ecuaciones diferenciales, entre otros. 
2.5.1 Limpieza de datos y manejo de datos faltantes
Paso 1. Cargar el conjunto de datos.
Importación de las librerías. 
Lo primero que debes hacer es importar las librerías para el preprocesamiento de datos. Hay muchas librerías disponibles, pero las más populares e importantes para trabajar con datos son NumPy, Matplotlib y Pandas.
Paso 2. Exploración del conjunto de datos
Compresión de los datos
Ahora ya tienes los datos con los que vas a trabajar, aunque se ha hecho varias modificaciones básicas, aún así deberías dedicar algo de tiempo a explorarlos y comprender qué función representa cada columna. Esta revisión manual del conjunto de datos es importante para evitar errores en el análisis de los datos y en el proceso de modelado.
Paso 3. Preparación de las características para Machine Learning
Finalmente, es hora de hacer el trabajo preparatorio para limpiar las características de los algoritmos de Machine Learning. Para limpiar el conjunto de datos, es necesario manejar los valores que faltan y las características categóricas, porque la matemática subyacente en la mayoría de los modelos de Machine Learning asume que los datos son numéricos y no contienes valores que faltan. Además, la librería Scikit Learn devuelve un error si se intenta entrenar un modelo como la Regresión Lineal y la Regresión Logística utilizando datos que contienen valores perdidos o no numéricos.
Manejar valores faltantes
La falta de datos es quizás el rasgo más común de los datos impuros. Estos valores
suelen tomar la forma de NaN o None.
Hay varias causas de que falten valores, a veces faltan valores porque no existen, o porque la recopilación de datos es inadecuada o porque la entrada de datos es deficiente. Por ejemplo, si alguien es menor de edad, y la pregunta se aplica a personasmayores de 18 año, entonces la pregunta tendrá un valor que falta. En tales casos, sería un error rellenar un valor para esa pregunta.
Manejo de datos categóricos
Machine Learning solo utiliza valores numéricos, tipo de datos flotantes o enteros. Sin embargo, los conjuntos de datos a menudo contienen el objeto como tipo de datos, por lo tanto se hace necesario transformarlo en numérico. En la mayoría de los casos, los valores categóricos son discretos y puedes ser codificados como variables ficticias, asignando un número para cada categoría. La forma más sencilla es usar One Hot Encoder, especificando el índice de la columna en la que quieres trabajar.
Escala y normalización
La escala es importante si necesitas especificar que una modificación en una cantidad no es igual a otra modificación en otra. Con la ayuda del escalado, te aseguras de que aunque algunas características son grandes no se usarán como predictor principal. Por ejemplo, si se utiliza la edad y el salario de una persona en la predicción, algunos algoritmos prestarán más atención al salario porque es más grande, lo que no tiene ningún sentido.
Guardar en CSV
Para estar Seguro de que todavía tienes los datos en bruto, es una buena práctica almacenar la salida final de cada sección o etapa del flujo de trabajo en un archive csv separado. De esta manera, podrás realizar cambios en el flujo de procesamiento de datos sin tener que volver a calcularlo todo.
2.5.2 Transformación de datos
La transformación de datos es el proceso de convertir datos o información de un formato a otro, usualmente desde el formato de un sistema fuente hasta el formato requerido de un nuevo sistema de destino.
El proceso usual implica sólo convertir documentos, pero las conversiones de datos a veces implican la conversión de un programa de un lenguaje de computadora a otro para permitir que el programa funcione en una plataforma diferente. La razón habitual de esta migración de datos es la adopción de un nuevo sistema totalmente diferente del anterior.
En la práctica real, la transformación de datos implica el uso de un programa especial que es capaz de leer el lenguaje base original de los datos, determinar el idioma en el que los datos que se deben traducir para que sea utilizable por el nuevo programa o sistema y luego procede a Transformar esos datos.
La transformación de datos implica dos fases clave:
Mapeo de datos: La asignación de elementos de la base o sistema de origen hacia el destino para capturar todas las transformaciones que se producen. Esto se hace más complicado cuando hay transformaciones complejas como muchas a una o reglas una a muchas para la transformación.
Generación de código: La creación del programa de transformación real. La especificación del mapa de datos resultante se utiliza para crear un programa ejecutable para ejecutar en sistemas informáticos.
2.5.3 Manipulación de cadenas
Manipular cadenas de caracteres en Python
Si has estado expuesto antes a otro lenguaje de programación, sabrás que necesitas declarar o escribir variables antes de que puedas almacenar cualquier cosa en ellas. Esto no es necesario cuando trabajas con cadenas de caracteres en Python. Podemos crear una cadena de caracteres simplemente encerrando contenido entre comillas después de un signo de igual (=).
Operadores de cadenas de caracteres: adición y multiplicación
Una cadena de caracteres en un objeto que consiste precisamente en una serie de signos o caracteres. Python sabe cómo tratar un número de representaciones poderosas y de propósito general, incluidas las cadenas de caracteres. Una forma de manipular cadenas de caracteres es utilizar operadores de cadenas de caracteres. Dichos operadores se representan con símbolos que asociamos a las matemáticas, como +, -, *, / y =. Estos signos realizan acciones similares a sus contrapartes matemáticas cuando se usan con las cadenas de caracteres, aunque no iguales.
Concatenar
Este término significa juntar cadenas de caracteres. El proceso de concatenación se realiza mediante el operador de suma (+). Ten en cuenta que debes marcar explícitamente dónde quieres los espacios en blanco y colocarlos entre comillas.
Multiplicar
Si quieres varias copias de una cadena de caracteres utiliza el operador de multiplicación (*). En este ejemplo, la cadena de caracteres mensaje2a lleva el contenido “Hola” tres veces, mientras que la cadena de caracteres mensaje2b tiene el contenido “Mundo”. Ordenemos imprimir las dos cadenas.
Añadir
¿Qué pasa si quieres añadir material de manera sucesiva al final de una cadena de caracteres? El operador especial para ello es compuesto (+=).
2.5.4 Volcado de datos
Ficheros planos
Son ficheros de texto que almacenan registros (filas de características o atributos). En la primera fila podemos encontrar una cabecera con el nombre de cada una de las características o atributos.
Existen dos extensiones: .csv (valores separados por comas) y .txt (los valores pueden estar separados por coma, espacio, tabulador...). Hagamos un breve recordatorio sobre el uso de librerías en Python. Para usar una función de una librería específica, previamente hemos de cargar la librería mediante import. Para hacer la llamada a dicha función usaremos nombre_librería.nombre_función() o bien alias_librería.nombre_función(). Otro aspecto a tener en cuenta es que los archivos a importar han de estar en el directorio de trabajo actual. Si no recordamos su ubicación, podemos comprobarlo
1. NumPy
Los datos importados se almacenan en una matriz.
• Mismo tipo de datos.
La función loadtxt() de NumPy carga el archivo en una matriz.
El delimitador por defecto es espacio en blanco, si es otro habrá que pasarlo como segundo argumento delimiter (‘,’ en el caso de coma, ‘\t’ si es tabulador...).
Si el archivo tiene cabecera podemos saltar las filas correspondientes con skiprows (pasar el valor 0 es equivalente a omitir este argumento, devolviendo todas las filas). Para fijar las columnas pasamos el argumento usecols=[...] con sus índices, recordando que a la primera columna corresponde el índice 0.
2. pandas
Los datos importados se almacenan en un dataframe. La librería pandas hace posible llevar a cabo todo el proceso (lectura de datos, depuración, análisis y modelización) sin necesidad de cambiar a un lenguaje más específico como R (idea difícil de encajar para un R lover ).
Encontramos aquí el concepto dataframe, análogo al de R, que no es más que un conjunto de observaciones y variables. La función read_csv() lee un fichero plano y lo almacena en un dataframe. El argumento nrows limita el número de filas a importar. En caso de no tener cabecera, pasamos el argumento header=None. Limitamos la visualización de datos con la función nombre_dataframe.head(). Vemos que los valores perdidos se han recodificado como NaN.
La función read_csv() puede tomar otros argumentos como:
• sep: indica el tipo de separador.
• comment: especifica el carácter que precede a un comentario.
• na_values: pasa una lista de cadenas que queremos identificar como valores
perdidos.
IMÁGENES.
Manipulación de cadenas uso de “=”:
Manipulación de cadenas uso de “+”:
Manipulación de cadenas uso de “*”:
Manipulación de cadenas uso de “+=”:
Volcado de datos comprobación de ubicación:
Volcado de datos uso de columnas:
Volcado de datos visualización de datos:
EJEMPLOS.
Ejemplos relativas a la transformación de datos en Python
PALABRAS CLAVE.
Pandas (Python): En Computación y Ciencia de datos, pandas es una biblioteca de software escrita como extensión de NumPy para manipulación y análisis de datos para el lenguaje de programación Python. En particular, ofrece estructuras de datos y operaciones para manipular tablas numéricas y series temporales.
NumPy: NumPy es una biblioteca para el lenguaje de programación Python que da soporte para crear vectores y matrices grandes multidimensionales, junto con una gran colección de funciones matemáticas de alto nivel para operar con ellas.
LINKS/PÁGINAS WEB.
Documentación: Exportación e importación de volcadosde bases de datos:
https://docs.plesk.com/es-ES/onyx/customer-guide/bases-de-datos-de-sitios-web/exportaci%C3%B3n-e-importaci%C3%B3n-de-volcados-de-bases-de-datos.69538/

Continuar navegando