|Defining Data - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
Data consists of facts, information, observations, and measurements that are used to make discoveries and support informed decisions. A data point is a single unit of data within a dataset, which is a collection of data points. Datasets can come in various formats and structures, often depending on their source or origin. For instance, a company's monthly earnings might be stored in a spreadsheet, while hourly heart rate data from a smartwatch might be in [JSON](https://stackoverflow.com/a/383699) format. It's common for data scientists to work with different types of data within a dataset.
Data is facts, information, observations and measurements that are used to make discoveries and to support informed decisions. A data point is a single unit of data within a dataset, which is a collection of data points. Datasets may come in different formats and structures, and will usually be based on its source, or where the data came from. For example, a company's monthly earnings might be in a spreadsheet but hourly heart rate data from a smartwatch may be in [JSON](https://stackoverflow.com/a/383699) format. It's common for data scientists to work with different types of data within a dataset.
This lesson focuses on identifying and classifying data based on its characteristics and sources.
This lesson focuses on identifying and classifying data by its characteristics and its sources.
Raw data refers to data in its original state, as it comes from its source, without any analysis or organization. To make sense of a dataset, it needs to be organized into a format that is understandable to both humans and the technology used for further analysis. The structure of a dataset describes how it is organized and can be classified as structured, unstructured, or semi-structured. These structural types vary depending on the source but ultimately fall into one of these three categories.
Raw data is data that has come from its source in its initial state and has not been analyzed or organized. In order to make sense of what is happening with a dataset, it needs to be organized into a format that can be understood by humans as well as the technology they may use to analyze it further. The structure of a dataset describes how it's organized and can be classified as structured, unstructured, and semi-structured. These types of structure will vary, depending on the source but will ultimately fit into these three categories.
### Quantitative Data
Quantitative data consists of numerical observations within a dataset that can typically be analyzed, measured, and used mathematically. Examples of quantitative data include a country's population, a person's height, or a company's quarterly earnings. With additional analysis, quantitative data can be used to uncover seasonal trends in the Air Quality Index (AQI) or estimate the likelihood of rush hour traffic on a typical workday.
Quantitative data is numerical observations within a dataset and can typically be analyzed, measured and used mathematically. Some examples of quantitative data are: a country's population, a person's height or a company's quarterly earnings. With some additional analysis, quantitative data could be used to discover seasonal trends of the Air Quality Index (AQI) or estimate the probability of rush hour traffic on a typical work day.
### Qualitative Data
Qualitative data, also known as categorical data, cannot be measured objectively like quantitative data. It generally consists of subjective information that captures the quality of something, such as a product or process. Sometimes, qualitative data may include numbers that are not typically used mathematically, such as phone numbers or timestamps. Examples of qualitative data include video comments, the make and model of a car, or your closest friends' favorite colors. Qualitative data can be used to determine which products consumers prefer or to identify popular keywords in job application resumes.
Qualitative data, also known as categorical data, is data that cannot be measured objectively like observations of quantitative data. It's generally various formats of subjective data that capture the quality of something, such as a product or process. Sometimes, qualitative data is numerical and wouldn't typically be used mathematically, like phone numbers or timestamps. Some examples of qualitative data are: video comments, the make and model of a car or your closest friends' favorite color. Qualitative data could be used to understand which products consumers like best or identifying popular keywords in job application resumes.
### Structured Data
Structured data is organized into rows and columns, where each row contains the same set of columns. Columns represent specific types of values and are identified by names that describe what the values represent, while rows contain the actual data. Columns often have specific rules or restrictions to ensure the values accurately represent the column. For example, imagine a spreadsheet of customers where each row must include a phone number, and the phone numbers cannot contain alphabetical characters. Rules might be applied to the phone number column to ensure it is never empty and only contains numbers.
Structured data is data that is organized into rows and columns, where each row will have the same set of columns. Columns represent a value of a particular type and will be identified with a name describing what the value represents, while rows contain the actual values. Columns will often have a specific set of rules or restrictions on the values, to ensure that the values accurately represent the column. For example imagine a spreadsheet of customers where each row must have a phone number and the phone numbers never contain alphabetical characters. There may be rules applied to the phone number column to make sure it's never empty and only contains numbers.
One advantage of structured data is that it can be organized in a way that allows it to relate to other structured data. However, because the data is designed to follow a specific structure, making changes to its overall organization can require significant effort. For instance, adding an email column to the customer spreadsheet that cannot be empty would require determining how to populate this column for existing rows in the dataset.
A benefit of structured data is that it can be organized in such a way that it can be related to other structured data. However, because the data is designed to be organized in a specific way, making changes to its overall structure can take a lot of effort to do. For example, adding an email column to the customer spreadsheet that cannot be empty means you'll need to figure out how you'll add these values to the existing rows of customers in the dataset.
Examples of structured data: spreadsheets, relational databases, phone numbers, bank statements.
Examples of structured data: spreadsheets, relational databases, phone numbers, bank statements
### Unstructured Data
Unstructured data cannot typically be categorized into rows or columns and does not follow a specific format or set of rules. Because unstructured data has fewer restrictions, it is easier to add new information compared to structured datasets. For example, if a sensor that records barometric pressure every two minutes is updated to also measure temperature, no changes are needed to the existing data if it is unstructured. However, analyzing or investigating unstructured data may take longer. For instance, a scientist trying to calculate the average temperature for the previous month might find that the sensor recorded an "e" in some entries to indicate it was broken, resulting in incomplete data.
Unstructured data typically cannot be categorized into rows or columns and doesn't contain a format or set of rules to follow. Because unstructured data has fewer restrictions on its structure, it's easier to add new information in comparison to a structured dataset. If a sensor capturing data on barometric pressure every 2 minutes has received an update that now allows it to measure and record temperature, it doesn't require altering the existing data if it's unstructured. However, this may make analyzing or investigating this type of data take longer. For example, a scientist who wants to find the average temperature of the previous month from the sensor's data, but discovers that the sensor recorded an "e" in some of its recorded data to note that it was broken instead of a typical number, which means the data is incomplete.
Examples of unstructured data: text files, text messages, video files.
Examples of unstructured data: text files, text messages, video files
### Semi-structured Data
Semi-structured data combines features of both structured and unstructured data. While it does not typically conform to a row-and-column format, it is organized in a way that is considered structured and may follow a fixed format or set of rules. The structure can vary between sources, ranging from a well-defined hierarchy to a more flexible format that allows for easy integration of new information. Metadata serves as indicators that help determine how the data is organized and stored, and it may have various names depending on the type of data. Common terms for metadata include tags, elements, entities, and attributes. For example, a typical email message includes a subject, body, and a set of recipients, and it can be organized by sender or date sent.
### Semi-structured
Semi-structured data has features that make it a combination of structured and unstructured data. It doesn't typically conform to a format of rows and columns but is organized in a way that is considered structured and may follow a fixed format or set of rules. The structure will vary between sources, such as a well-defined hierarchy to something more flexible that allows for easy integration of new information. Metadata are indicators that help decide how the data is organized and stored and will have various names, based on the type of data. Some common names for metadata are tags, elements, entities and attributes. For example, a typical email message will have a subject, body and a set of recipients and can be organized by whom or when it was sent.
A data source refers to the original location where the data was generated or "lives," and it varies based on how and when the data was collected. Data generated by its user(s) is known as primary data, while secondary data comes from a source that has collected data for general use. For example, a group of scientists collecting observations in a rainforest would be considered primary data, and if they share it with other scientists, it would be considered secondary data for those who use it.
A data source is the initial location of where the data was generated, or where it "lives" and will vary based on how and when it was collected. Data generated by its user(s) are known as primary data while secondary data comes from a source that has collected data for general use. For example, a group of scientists collecting observations in a rainforest would be considered primary and if they decide to share it with other scientists it would be considered secondary to those that use it.
Databases are a common data source and rely on a database management system to host and maintain the data. Users interact with the data using commands called queries. Files can also serve as data sources, including audio, image, and video files, as well as spreadsheets like Excel. The internet is another common location for hosting data, where both databases and files can be found. Application programming interfaces (APIs) allow programmers to create ways to share data with external users over the internet, while web scraping involves extracting data from web pages. The [lessons in Working with Data](../../../../../../../../../2-Working-With-Data) focus on how to use various data sources.
Databases are a common source and rely on a database management system to host and maintain the data where users use commands called queries to explore the data. Files as data sources can be audio, image, and video files as well as spreadsheets like Excel. Internet sources are a common location for hosting data, where databases as well as files can be found. Application programming interfaces, also known as APIs allow programmers to create ways to share data with external users through the internet, while the process of web scraping extracts data from a web page. The [lessons in Working with Data](../../../../../../../../../2-Working-With-Data) focus on how to use various data sources.
## Conclusion
In this lesson, we have learned:
In this lesson we have learned:
- What data is
- How data is described
@ -55,16 +54,18 @@ In this lesson, we have learned:
## 🚀 Challenge
Kaggle is an excellent source of open datasets. Use the [dataset search tool](https://www.kaggle.com/datasets) to find some interesting datasets and classify 3-5 datasets using the following criteria:
Kaggle is an excellent source of open datasets. Use the [dataset search tool](https://www.kaggle.com/datasets) to find some interesting datasets and classify 3-5 datasets with this criteria:
- Is the data quantitative or qualitative?
- Is the data structured, unstructured, or semi-structured?
- This Microsoft Learn unit, titled [Classify your Data](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), provides a detailed breakdown of structured, semi-structured, and unstructured data.
- This Microsoft Learn unit, titled [Identify data formats](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) has a detailed breakdown of structured, semi-structured, and unstructured data.
## Assignment
@ -72,5 +73,7 @@ Kaggle is an excellent source of open datasets. Use the [dataset search tool](ht
---
**Disclaimer**:
This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
"> **Note**: This diagram suggests that, on average, the heights of first basemen are higher than the heights of second basemen. Later we will learn how we can test this hypothesis more formally, and how to demonstrate that our data is statistically significant to show that. \n",
"> **Note**: This diagram suggests, that on average, the heights of first basemen are higher than heights of second basemen. Later we will learn how we can test this hypothesis more formally, and how to demonstrate that our data is statistically significant to show that. \n",
"\n",
"Age, height, and weight are all continuous random variables. What do you think their distribution is? A good way to find out is to plot the histogram of values: \n"
"Age, height and weight are all continuous random variables. What do you think their distribution is? A good way to find out is to plot the histogram of values: \n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nThis document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please note that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nThis document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Now let's compute the number of new infected people each day. This will allow us to see the speed at which the pandemic progresses. The easiest way to do it is to use `diff`:\n"
"Now let's compute the number of new infected people each day. This will allow us to see the speed at which pandemic progresses. The easiest way to do it is to use `diff`:\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Because this dataset contains information on both countries and provinces, to get the population of the whole country we need to be a little bit clever:\n"
"Because this dataset contains information on both countries and provinces, to get the population of the whole country we need to be a little bit clever:\n"
]
},
{
@ -2261,6 +2261,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Computing $R_t$\n",
"\n",
"To see how infectious the disease is, we look at the **basic reproduction number** $R_0$, which indicates the number of people that an infected person would further infect. When $R_0$ is more than 1, the epidemic is likely to spread.\n",
@ -2298,7 +2299,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that there are some gaps in the graph. Those can be caused by either `NaN`, or if `inf` values are present in the dataset. `inf` may be caused by division by 0, and `NaN` can indicate missing data, or no data available to compute the result (like in the very beginning of our frame, where a rolling window of width 8 is not yet available). To make the graph nicer, we need to fill those values using the `replace` and `fillna` functions.\n",
"You can see that there are some gaps in the graph. Those can be caused by either `NaN`, or if `inf` values are present in the dataset. `inf` may be caused by division by 0, and `NaN` can indicate missing data, or no data available to compute the result (like in the very beginning of our frame, where rolling window of width 8 is not yet available). To make the graph nicer, we need to fill those values using `replace` and `fillna` function.\n",
"\n",
"Let's further look at the beginning of the pandemic. We will also limit the y-axis values to show only values below 6, in order to see better, and draw a horizontal line at 1.\n"
]
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Another interesting indicator of the pandemic is the **derivative**, or **daily difference** in new cases. It allows us to see clearly when the pandemic is increasing or declining.\n"
"Another interesting indicator of the pandemic is the **derivative**, or **daily difference** in new cases. It allows us to see clearly when pandemic is increasing or declining.\n"
]
},
{
@ -2390,6 +2391,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Challenge\n",
"\n",
"Now it is time for you to play more with the code and data! Here are a few suggestions you can experiment with:\n",
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nThis document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Disclaimer**:\nThis document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
To begin, make sure NPM and Node are installed and running on your computer. Install the dependencies (npm install) and then launch the project locally (npm run serve):
To get started, you need to ensure that you have NPM and Node **>=20.0.0** running on your machine. Install the dependencies (npm install) and then run the project locally (npm run serve):
## Project setup
```
@ -23,9 +23,11 @@ npm run lint
```
### Customize configuration
Refer to [Configuration Reference](https://cli.vuejs.org/config/).
See [Configuration Reference](https://cli.vuejs.org/config/).
---
**Disclaimer**:
This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
To begin, make sure NPM and Node are installed and running on your computer. Install the dependencies (npm install) and then launch the project locally (npm run serve):
To get started, you need to ensure that you have NPM and Node **>=20.0.0** running on your machine. Install the dependencies (npm install) and then run the project locally (npm run serve):
## Project setup
```
@ -23,9 +23,11 @@ npm run lint
```
### Customize configuration
Refer to [Configuration Reference](https://cli.vuejs.org/config/).
See [Configuration Reference](https://cli.vuejs.org/config/).
---
**Disclaimer**:
This document has been translated using the AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we aim for accuracy, please note that automated translations may include errors or inaccuracies. The original document in its native language should be regarded as the authoritative source. For critical information, professional human translation is advised. We are not responsible for any misunderstandings or misinterpretations resulting from the use of this translation.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
This document has been translated using AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). While we strive for accuracy, please be aware that automated translations may contain errors or inaccuracies. The original document in its native language should be considered the authoritative source. For critical information, professional human translation is recommended. We are not liable for any misunderstandings or misinterpretations arising from the use of this translation.
|Definiendo Datos - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
Los datos son hechos, información, observaciones y mediciones que se utilizan para hacer descubrimientos y tomar decisiones informadas. Un punto de datos es una unidad única de datos dentro de un conjunto de datos, que es una colección de puntos de datos. Los conjuntos de datos pueden venir en diferentes formatos y estructuras, y generalmente estarán basados en su fuente, o de dónde provienen los datos. Por ejemplo, las ganancias mensuales de una empresa podrían estar en una hoja de cálculo, pero los datos de frecuencia cardíaca por hora de un reloj inteligente podrían estar en formato [JSON](https://stackoverflow.com/a/383699). Es común que los científicos de datos trabajen con diferentes tipos de datos dentro de un conjunto de datos.
Los datos son hechos, información, observaciones y mediciones que se usan para hacer descubrimientos y apoyar decisiones informadas. Un punto de datos es una unidad única de datos dentro de un conjunto de datos, que es una colección de puntos de datos. Los conjuntos de datos pueden venir en diferentes formatos y estructuras, y usualmente estarán basados en su fuente, o de dónde provienen los datos. Por ejemplo, las ganancias mensuales de una empresa podrían estar en una hoja de cálculo, pero los datos de frecuencia cardíaca por hora de un reloj inteligente pueden estar en formato [JSON](https://stackoverflow.com/a/383699). Es común que los científicos de datos trabajen con diferentes tipos de datos dentro de un conjunto de datos.
Esta lección se centra en identificar y clasificar los datos según sus características y sus fuentes.
Esta lección se enfoca en identificar y clasificar datos por sus características y sus fuentes.
## [Cuestionario Previo a la Clase](https://ff-quizzes.netlify.app/en/ds/quiz/4)
Los datos crudos son datos que provienen de su fuente en su estado inicial y no han sido analizados ni organizados. Para entender lo que está sucediendo con un conjunto de datos, es necesario organizarlos en un formato que pueda ser comprendido tanto por humanos como por la tecnología que puedan usar para analizarlos más a fondo. La estructura de un conjunto de datos describe cómo está organizado y puede clasificarse como estructurada, no estructurada y semiestructurada. Estos tipos de estructura variarán dependiendo de la fuente, pero en última instancia encajarán en estas tres categorías.
Los datos crudos son datos que han llegado de su fuente en su estado inicial y no han sido analizados u organizados. Para entender qué está pasando con un conjunto de datos, debe organizarse en un formato que pueda ser entendido por humanos así como por la tecnología que pueda usarse para analizarlo más a fondo. La estructura de un conjunto de datos describe cómo está organizado y puede clasificarse en estructurado, no estructurado y semi-estructurado. Estos tipos de estructura variarán dependiendo de la fuente, pero en última instancia encajarán en estas tres categorías.
### Datos Cuantitativos
Los datos cuantitativos son observaciones numéricas dentro de un conjunto de datos y, por lo general, pueden analizarse, medirse y usarse matemáticamente. Algunos ejemplos de datos cuantitativos son: la población de un país, la altura de una persona o las ganancias trimestrales de una empresa. Con un análisis adicional, los datos cuantitativos podrían usarse para descubrir tendencias estacionales del Índice de Calidad del Aire (AQI) o estimar la probabilidad de tráfico en hora punta en un día laboral típico.
Los datos cuantitativos son observaciones numéricas dentro de un conjunto de datos y típicamente pueden ser analizados, medidos y usados matemáticamente. Algunos ejemplos de datos cuantitativos son: la población de un país, la altura de una persona o las ganancias trimestrales de una empresa. Con un análisis adicional, los datos cuantitativos podrían usarse para descubrir tendencias estacionales del Índice de Calidad del Aire (AQI) o estimar la probabilidad del tráfico en hora pico en un día típico laboral.
### Datos Cualitativos
Los datos cualitativos, también conocidos como datos categóricos, son datos que no pueden medirse objetivamente como las observaciones de datos cuantitativos. Generalmente son varios formatos de datos subjetivos que capturan la calidad de algo, como un producto o proceso. A veces, los datos cualitativos son numéricos pero no se usarían típicamente de manera matemática, como números de teléfono o marcas de tiempo. Algunos ejemplos de datos cualitativos son: comentarios en videos, la marca y modelo de un automóvil o el color favorito de tus amigos más cercanos. Los datos cualitativos podrían usarse para entender qué productos prefieren los consumidores o identificar palabras clave populares en currículums de solicitudes de empleo.
Los datos cualitativos, también conocidos como datos categóricos, son datos que no pueden ser medidos objetivamente como las observaciones cuantitativas. Generalmente son varios formatos de datos subjetivos que capturan la calidad de algo, como un producto o un proceso. A veces, los datos cualitativos son numéricos y no se usan típicamente de forma matemática, como números de teléfono o marcas de tiempo. Algunos ejemplos de datos cualitativos son: comentarios en video, la marca y modelo de un auto o el color favorito de tus amigos más cercanos. Los datos cualitativos podrían usarse para entender qué productos prefieren los consumidores o identificar palabras clave populares en currículums de solicitudes de empleo.
### Datos Estructurados
Los datos estructurados son datos organizados en filas y columnas, donde cada fila tendrá el mismo conjunto de columnas. Las columnas representan un valor de un tipo particular y estarán identificadas con un nombre que describe lo que representa el valor, mientras que las filas contienen los valores reales. Las columnas a menudo tendrán un conjunto específico de reglas o restricciones sobre los valores, para garantizar que los valores representen con precisión la columna. Por ejemplo, imagina una hoja de cálculo de clientes donde cada fila debe tener un número de teléfono y los números de teléfono nunca contienen caracteres alfabéticos. Podría haber reglas aplicadas a la columna de números de teléfono para asegurarse de que nunca esté vacía y solo contenga números.
Los datos estructurados son datos que están organizados en filas y columnas, donde cada fila tendrá el mismo conjunto de columnas. Las columnas representan un valor de un tipo particular y serán identificadas con un nombre que describe lo que representa el valor, mientras que las filas contienen los valores reales. Las columnas a menudo tendrán un conjunto específico de reglas o restricciones sobre los valores, para asegurar que los valores representen con precisión la columna. Por ejemplo, imagina una hoja de cálculo de clientes donde cada fila debe tener un número telefónico y los números telefónicos nunca contienen caracteres alfabéticos. Puede haber reglas aplicadas en la columna de números telefónicos para asegurarse que nunca esté vacía y que contenga solo números.
Un beneficio de los datos estructurados es que pueden organizarse de tal manera que puedan relacionarse con otros datos estructurados. Sin embargo, debido a que los datos están diseñados para estar organizados de una manera específica, realizar cambios en su estructura general puede requerir mucho esfuerzo. Por ejemplo, agregar una columna de correo electrónico a la hoja de cálculo de clientes que no puede estar vacía significa que tendrás que averiguar cómo agregar estos valores a las filas existentes de clientes en el conjunto de datos.
Un beneficio de los datos estructurados es que pueden organizarse de tal manera que puedan relacionarse con otros datos estructurados. Sin embargo, debido a que los datos están diseñados para organizarse de una manera específica, hacer cambios en su estructura general puede requerir mucho esfuerzo. Por ejemplo, agregar una columna de correo electrónico a la hoja de clientes que no puede estar vacía significa que deberás descubrir cómo añadir esos valores a las filas existentes de clientes en el conjunto de datos.
Ejemplos de datos estructurados: hojas de cálculo, bases de datos relacionales, números de teléfono, extractos bancarios.
Ejemplos de datos estructurados: hojas de cálculo, bases de datos relacionales, números telefónicos, estados de cuenta bancarios
### Datos No Estructurados
Los datos no estructurados generalmente no pueden categorizarse en filas o columnas y no contienen un formato o conjunto de reglas a seguir. Debido a que los datos no estructurados tienen menos restricciones en su estructura, es más fácil agregar nueva información en comparación con un conjunto de datos estructurado. Si un sensor que captura datos sobre la presión barométrica cada 2 minutos recibe una actualización que ahora le permite medir y registrar la temperatura, no requiere alterar los datos existentes si son no estructurados. Sin embargo, esto puede hacer que analizar o investigar este tipo de datos lleve más tiempo. Por ejemplo, un científico que quiere encontrar la temperatura promedio del mes anterior a partir de los datos del sensor, pero descubre que el sensor registró una "e" en algunos de sus datos para indicar que estaba roto en lugar de un número típico, lo que significa que los datos están incompletos.
Los datos no estructurados típicamente no pueden categorizarse en filas o columnas y no contienen un formato o conjunto de reglas a seguir. Debido a que los datos no estructurados tienen menos restricciones en su estructura, es más fácil añadir nueva información en comparación con un conjunto de datos estructurado. Si un sensor que captura datos de presión barométrica cada 2 minutos recibe una actualización que ahora le permite medir y registrar la temperatura, no requiere alterar los datos existentes si estos son no estructurados. Sin embargo, esto puede hacer que analizar o investigar este tipo de datos tome más tiempo. Por ejemplo, un científico que quiere encontrar la temperatura promedio del mes anterior a partir de los datos del sensor, pero descubre que el sensor registró una "e" en algunos de sus datos para indicar que estaba roto en lugar de un número típico, lo que significa que los datos están incompletos.
Ejemplos de datos no estructurados: archivos de texto, mensajes de texto, archivos de video.
Ejemplos de datos no estructurados: archivos de texto, mensajes de texto, archivos de video
### Datos Semiestructurados
Los datos semiestructurados tienen características que los convierten en una combinación de datos estructurados y no estructurados. Generalmente no se ajustan a un formato de filas y columnas, pero están organizados de una manera que se considera estructurada y pueden seguir un formato fijo o un conjunto de reglas. La estructura variará entre fuentes, como una jerarquía bien definida o algo más flexible que permita una fácil integración de nueva información. Los metadatos son indicadores que ayudan a decidir cómo se organizan y almacenan los datos y tendrán varios nombres, según el tipo de datos. Algunos nombres comunes para los metadatos son etiquetas, elementos, entidades y atributos. Por ejemplo, un mensaje de correo electrónico típico tendrá un asunto, cuerpo y un conjunto de destinatarios y puede organizarse según quién o cuándo se envió.
### Semi-estructurado
Los datos semi-estructurados tienen características que los hacen una combinación de datos estructurados y no estructurados. Típicamente no se conforman a un formato de filas y columnas, pero están organizados de una manera que se considera estructurada y pueden seguir un formato fijo o conjunto de reglas. La estructura varía entre fuentes, desde una jerarquía bien definida a algo más flexible que permite una fácil integración de nueva información. Los metadatos son indicadores que ayudan a decidir cómo se organizan y almacenan los datos y tendrán varios nombres, basadosen el tipo de dato. Algunos nombres comunes para los metadatos son etiquetas, elementos, entidades y atributos. Por ejemplo, un mensaje de correo electrónico típico tendrá un asunto, cuerpo y un conjunto de destinatarios, y puede organizarse por quién o cuándo fue enviado.
Ejemplos de datos semiestructurados: HTML, archivos CSV, JavaScript Object Notation (JSON).
Ejemplos de datos semi-estructurados: HTML, archivos CSV, JavaScript Object Notation (JSON)
## Fuentes de Datos
Una fuente de datos es la ubicación inicial de donde se generaron los datos, o donde "viven", y variará según cómo y cuándo se recopilaron. Los datos generados por sus usuarios se conocen como datos primarios, mientras que los datos secundarios provienen de una fuente que ha recopilado datos para uso general. Por ejemplo, un grupo de científicos que recopila observaciones en una selva tropical se consideraría primario, y si deciden compartirlo con otros científicos, se consideraría secundario para aquellos que lo utilicen.
Una fuente de datos es la ubicación inicial de donde se generaron los datos, o dónde "viven" y variará dependiendo de cómo y cuándo fueron recolectados. Los datos generados por sus usuarios se conocen como datos primarios, mientras que los datos secundarios provienen de una fuente que ha recolectado datos para uso general. Por ejemplo, un grupo de científicos recolectando observaciones en una selva tropical sería considerado primario, y si deciden compartirlo con otros científicos, sería considerado secundario para aquellos que lo usan.
Las bases de datos son una fuente común y dependen de un sistema de gestión de bases de datos para alojar y mantener los datos, donde los usuarios utilizan comandos llamados consultas para explorar los datos. Los archivos como fuentes de datos pueden ser archivos de audio, imagen y video, así como hojas de cálculo como Excel. Las fuentes de internet son una ubicación común para alojar datos, donde se pueden encontrar tanto bases de datos como archivos. Las interfaces de programación de aplicaciones, también conocidas como APIs, permiten a los programadores crear formas de compartir datos con usuarios externos a través de internet, mientras que el proceso de web scraping extrae datos de una página web. Las [lecciones en Trabajando con Datos](../../../../../../../../../2-Working-With-Data) se centran en cómo usar varias fuentes de datos.
Las bases de datos son una fuente común y dependen de un sistema de gestión de base de datos para alojar y mantener los datos donde los usuarios usan comandos llamados consultas para explorar los datos. Los archivos como fuentes de datos pueden ser archivos de audio, imagen y video, así como hojas de cálculo como Excel. Las fuentes de internet son una ubicación común para alojar datos, donde se pueden encontrar bases de datos así como archivos. Las interfaces de programación de aplicaciones, también conocidas como APIs, permiten a los programadores crear formas de compartir datos con usuarios externos a través de internet, mientras que el proceso de web scraping extrae datos de una página web. Las [lecciones en Trabajando con Datos](../../../../../../../../../2-Working-With-Data) se enfocan en cómo usar varias fuentes de datos.
## Conclusión
@ -55,16 +54,18 @@ En esta lección hemos aprendido:
## 🚀 Desafío
Kaggle es una excelente fuente de conjuntos de datos abiertos. Usa la [herramienta de búsqueda de conjuntos de datos](https://www.kaggle.com/datasets) para encontrar algunos conjuntos de datos interesantes y clasifica de 3 a 5 conjuntos de datos con este criterio:
Kaggle es una excelente fuente de conjuntos de datos abiertos. Usa la [herramienta de búsqueda de conjuntos de datos](https://www.kaggle.com/datasets) para encontrar algunos conjuntos de datos interesantes y clasifica de 3 a 5 conjuntos con este criterio:
- ¿Son los datos cuantitativos o cualitativos?
- ¿Son los datos estructurados, no estructurados o semi-estructurados?
- ¿Los datos son estructurados, no estructurados o semiestructurados?
## [Cuestionario Posterior a la Clase](https://ff-quizzes.netlify.app/en/ds/quiz/5)
## Revisión y Autoestudio
## Repaso y Autoestudio
- Esta unidad de Microsoft Learn, titulada [Clasifica tus Datos](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), tiene un desglose detallado de datos estructurados, semiestructurados y no estructurados.
- Esta unidad de Microsoft Learn, titulada [Identificar formatos de datos](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) tiene un desglose detallado de datos estructurados, semi-estructurados y no estructurados.
## Tarea
@ -72,5 +73,7 @@ Kaggle es una excelente fuente de conjuntos de datos abiertos. Usa la [herramien
---
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Si bien nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.
"# Introducción a la Probabilidad y Estadística\n",
"En este cuaderno, exploraremos algunos de los conceptos que hemos discutido previamente. Muchos conceptos de probabilidad y estadística están bien representados en las principales bibliotecas para el procesamiento de datos en Python, como `numpy` y `pandas`.\n"
"En este cuaderno, vamos a experimentar con algunos de los conceptos que hemos discutido anteriormente. Muchos conceptos de probabilidad y estadística están bien representados en las principales bibliotecas para procesamiento de datos en Python, como `numpy` y `pandas`.\n"
]
},
{
@ -25,7 +25,7 @@
"metadata": {},
"source": [
"## Variables aleatorias y distribuciones\n",
"Comencemos extrayendo una muestra de 30 valores de una distribución uniforme de 0 a 9. También calcularemos la media y la varianza.\n"
"Comencemos con extraer una muestra de 30 valores de una distribución uniforme de 0 a 9. También calcularemos la media y la varianza.\n"
]
},
{
@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Estamos utilizando un paquete llamado [**Pandas**](https://pandas.pydata.org/) aquí para análisis de datos. Hablaremos más sobre Pandas y cómo trabajar con datos en Python más adelante en este curso.\n",
"> Estamos usando un paquete llamado [**Pandas**](https://pandas.pydata.org/) aquí para análisis de datos. Hablaremos más sobre Pandas y trabajar con datos en Python más adelante en este curso.\n",
"\n",
"Vamos a calcular los valores promedio para edad, altura y peso:\n"
"Calculemos los valores promedio de edad, altura y peso:\n"
]
},
{
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ahora centrémonos en la altura y calculemos la desviación estándar y la varianza:\n"
"Ahora centrémonos en la altura y calculemos la desviación estándar y la varianza:\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Además de la media, tiene sentido observar el valor mediano y los cuartiles. Se pueden visualizar usando un **diagrama de caja**:\n"
"Además de la media, tiene sentido observar el valor mediano y los cuartiles. Pueden visualizarse utilizando un **diagrama de caja**:\n"
"También podemos hacer diagramas de caja de subconjuntos de nuestro conjunto de datos, por ejemplo, agrupados por rol del jugador.\n"
"También podemos hacer diagramas de caja de subconjuntos de nuestro conjunto de datos, por ejemplo, agrupados por rol de jugador.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Nota**: Este diagrama sugiere que, en promedio, las alturas de los primeros bases son mayores que las alturas de los segundos bases. Más adelante aprenderemos cómo podemos probar esta hipótesis de manera más formal y cómo demostrar que nuestros datos son estadísticamente significativos para mostrarlo. \n",
"> **Nota**: Este diagrama sugiere que, en promedio, las alturas de los primera base son mayores que las alturas de los segunda base. Más adelante aprenderemos cómo podemos probar esta hipótesis de manera más formal, y cómo demostrar que nuestros datos son estadísticamente significativos para mostrar eso. \n",
"\n",
"La edad, la altura y el peso son todas variables aleatorias continuas. ¿Qué crees que es su distribución? Una buena manera de averiguarlo es trazar el histograma de valores: \n"
"La edad, la altura y el peso son todas variables aleatorias continuas. ¿Qué crees que es su distribución? Una buena manera de descubrirlo es trazar el histograma de los valores: \n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dado que la mayoría de los valores en la vida real se distribuyen normalmente, no deberíamos usar un generador de números aleatorios uniforme para generar datos de muestra. Esto es lo que sucede si intentamos generar pesos con una distribución uniforme (generada por `np.random.rand`):\n"
"Dado que la mayoría de los valores en la vida real se distribuyen normalmente, no deberíamos usar un generador de números aleatorios uniforme para generar datos de muestra. Esto es lo que ocurre si intentamos generar pesos con una distribución uniforme (generada por `np.random.rand`):\n"
]
},
{
@ -253,7 +253,7 @@
"source": [
"## Intervalos de confianza\n",
"\n",
"Ahora calculemos intervalos de confianza para los pesos y las alturas de los jugadores de béisbol. Usaremos el código [de esta discusión en stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
"Ahora calculemos intervalos de confianza para los pesos y alturas de los jugadores de béisbol. Usaremos el código [de esta discusión en stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -280,7 +280,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pruebas de hipótesis\n",
"## Pruebas de Hipótesis\n",
"\n",
"Exploremos diferentes roles en nuestro conjunto de datos de jugadores de béisbol:\n"
]
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos a probar la hipótesis de que los primeros base son más altos que los segundos base. La forma más sencilla de hacer esto es probar los intervalos de confianza:\n"
"Probemos la hipótesis de que los Primera Base son más altos que los Segunda Base. La forma más sencilla de hacer esto es probar los intervalos de confianza:\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Podemos ver que los intervalos no se superponen.\n",
"\n",
"Una forma estadísticamente más correcta de probar la hipótesis es usar un **test t de Student**:\n"
"Una forma estadísticamente más correcta de probar la hipótesis es usar una **prueba t de Student**:\n"
]
},
{
@ -339,8 +339,8 @@
"metadata": {},
"source": [
"Los dos valores devueltos por la función `ttest_ind` son:\n",
"* El valor p puede considerarse como la probabilidad de que dos distribuciones tengan la misma media. En nuestro caso, es muy bajo, lo que significa que hay una fuerte evidencia que respalda que los primera base son más altos.\n",
"* El valor t es el valor intermedio de la diferencia de medias normalizada que se utiliza en la prueba t, y se compara con un valor umbral para un valor de confianza dado.\n"
"* El valor p puede considerarse como la probabilidad de que dos distribuciones tengan la misma media. En nuestro caso, es muy bajo, lo que significa que hay una fuerte evidencia que apoya que los primera base son más altos.\n",
"* El valor t es el valor intermedio de la diferencia de medias normalizada que se usa en la prueba t, y se compara contra un valor umbral para un valor de confianza dado.\n"
]
},
{
@ -349,7 +349,7 @@
"source": [
"## Simulando una Distribución Normal con el Teorema del Límite Central\n",
"\n",
"El generador pseudoaleatorio en Python está diseñado para darnos una distribución uniforme. Si queremos crear un generador para distribución normal, podemos usar el teorema del límite central. Para obtener un valor distribuido normalmente simplemente calcularemos la media de una muestra generada uniformemente.\n"
"El generador pseudoaleatorio en Python está diseñado para darnos una distribución uniforme. Si queremos crear un generador para distribución normal, podemos usar el teorema del límite central. Para obtener un valor distribuido normalmente, simplemente calcularemos la media de una muestra generada uniformemente.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Correlación y Evil Baseball Corp\n",
"\n",
"La correlación nos permite encontrar relaciones entre secuencias de datos. En nuestro ejemplo ficticio, imaginemos que hay una corporación malvada de béisbol que paga a sus jugadores según su altura: cuanto más alto es el jugador, más dinero recibe. Supongamos que hay un salario base de $1000 y un bono adicional de $0 a $100, dependiendo de la altura. Tomaremos a los jugadores reales de la MLB y calcularemos sus salarios imaginarios:\n"
"La correlación nos permite encontrar relaciones entre secuencias de datos. En nuestro ejemplo de juguete, imaginemos que hay una corporación malvada de béisbol que paga a sus jugadores según su altura: mientras más alto es el jugador, más dinero gana. Supongamos que existe un salario base de $1000 y un bono adicional de $0 a $100, dependiendo de la altura. Tomaremos a los jugadores reales de la MLB y calcularemos sus sueldos imaginarios:\n"
"Veamos qué pasa si la relación no es lineal. Supongamos que nuestra corporación decidió ocultar la obvia dependencia lineal entre alturas y salarios, e introdujo cierta no linealidad en la fórmula, como `sin`:\n"
"Veamos qué sucede si la relación no es lineal. Supongamos que nuestra corporación decidió ocultar la dependencia lineal obvia entre las alturas y los salarios, e introdujo cierta no linealidad en la fórmula, como `sin`:\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"En este caso, la correlación es un poco menor, pero todavía es bastante alta. Ahora, para hacer que la relación sea aún menos obvia, podríamos querer agregar un poco de aleatoriedad extra añadiendo alguna variable aleatoria al salario. Veamos qué sucede:\n"
"En este caso, la correlación es un poco menor, pero aún sigue siendo bastante alta. Ahora, para hacer la relación aún menos obvia, podríamos querer agregar un poco de aleatoriedad adicional añadiendo alguna variable aleatoria al salario. Veamos qué sucede:\n"
]
},
{
@ -478,7 +478,7 @@
"source": [
"> ¿Puedes adivinar por qué los puntos se alinean en líneas verticales así?\n",
"\n",
"Hemos observado la correlación entre un concepto artificialmente creado como el salario y la variable observada *altura*. Veamos también si las dos variables observadas, como la altura y el peso, también se correlacionan:\n"
"Hemos observado la correlación entre un concepto artificialmente diseñado como el salario y la variable observada *altura*. También veamos si las dos variables observadas, como la altura y el peso, se correlacionan:\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Desafortunadamente, no obtuvimos ningún resultado, solo algunos valores extraños `nan`. Esto se debe a que algunos de los valores en nuestra serie están indefinidos, representados como `nan`, lo que provoca que el resultado de la operación también sea indefinido. Al observar la matriz podemos ver que `Weight` es la columna problemática, porque se ha calculado la autocorrelación entre los valores de `Height`.\n",
"Desafortunadamente, no obtuvimos ningún resultado, solo algunos valores extraños `nan`. Esto se debe a que algunos de los valores en nuestra serie están indefinidos, representados como `nan`, lo que causa que el resultado de la operación también sea indefinido. Al mirar la matriz podemos ver que `Weight` es la columna problemática, porque se ha calculado la autocorrelación entre los valores de `Height`.\n",
"\n",
"> Este ejemplo muestra la importancia de la **preparación de datos** y la **limpieza**. Sin datos adecuados no podemos calcular nada.\n",
"> Este ejemplo muestra la importancia de la **preparación** y **limpieza** de datos. Sin datos adecuados no podemos calcular nada.\n",
"\n",
"Usemos el método `fillna` para completar los valores faltantes y calcular la correlación:\n"
"Usemos el método `fillna` para rellenar los valores faltantes y calcular la correlación:\n"
"En este cuaderno hemos aprendido cómo realizar operaciones básicas sobre datos para calcular funciones estadísticas. Ahora sabemos cómo usar un aparato sólido de matemáticas y estadísticas para probar algunas hipótesis, y cómo calcular intervalos de confianza para variables arbitrarias dado un conjunto de datos.\n"
"En este cuaderno hemos aprendido cómo realizar operaciones básicas sobre datos para calcular funciones estadísticas. Ahora sabemos cómo usar un sólido aparato de matemáticas y estadística para probar algunas hipótesis, y cómo calcular intervalos de confianza para variables arbitrarias dado un conjunto de datos.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Aviso Legal**:\nEste documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de ningún malentendido o interpretación errónea que pueda surgir del uso de esta traducción.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Descargo de responsabilidad**:\nEste documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Usaremos datos sobre individuos infectados con COVID-19, proporcionados por el [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) en la [Universidad Johns Hopkins](https://jhu.edu/). El conjunto de datos está disponible en [este repositorio de GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
"Usaremos datos sobre personas infectadas con COVID-19, proporcionados por el [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) en la [Universidad Johns Hopkins](https://jhu.edu/). El conjunto de datos está disponible en [este repositorio de GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ahora carguemos los datos de personas infectadas y veamos cómo se ven los datos:\n"
"Ahora carguemos los datos de individuos infectados y veamos cómo se ven los datos:\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Podemos ver que cada fila de la tabla define el número de individuos infectados por cada país y/o provincia, y las columnas corresponden a fechas. Tablas similares pueden cargarse para otros datos, como el número de recuperados y el número de muertes.\n"
"Podemos ver que cada fila de la tabla define el número de individuos infectados para cada país y/o provincia, y las columnas corresponden a fechas. Se pueden cargar tablas similares para otros datos, como el número de recuperados y el número de fallecidos.\n"
]
},
{
@ -282,9 +282,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Entendiendo los datos\n",
"## Entendiendo los Datos\n",
"\n",
"De la tabla anterior no queda claro el rol de la columna provincia. Veamos los diferentes valores que están presentes en la columna `Province/State`:\n"
"En la tabla anterior no está claro el papel de la columna provincia. Veamos los diferentes valores que están presentes en la columna `Province/State`:\n"
]
},
{
@ -1323,7 +1323,7 @@
"source": [
"## Preprocesamiento de los Datos \n",
"\n",
"No nos interesa desglosar los países en territorios adicionales, por lo que primero nos desharemos de este desglose y agregaremos información de todos los territorios juntos, para obtener información del país entero. Esto se puede hacer usando `groupby`:\n"
"No nos interesa desglosar los países en territorios más pequeños, por lo que primero eliminaríamos este desglose y agregaríamos la información de todos los territorios juntos, para obtener información para todo el país. Esto se puede hacer usando `groupby`:\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Puedes ver que debido al uso de `groupby` todos los DataFrames ahora están indexados por País/Región. Por lo tanto, podemos acceder a los datos de un país específico usando `.loc`:|\n"
"Puedes ver que, debido al uso de `groupby`, todos los DataFrames ahora están indexados por País/Región. Por lo tanto, podemos acceder a los datos de un país específico usando `.loc`:|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Nota** cómo usamos `[3:]` para eliminar los primeros tres elementos de una secuencia que contienen metadatos que no son fechas (las columnas de Provincia/Estado y geolocalización). También podemos eliminar esas tres columnas por completo:\n"
"> **Nota** cómo usamos `[3:]` para eliminar los tres primeros elementos de una secuencia que contienen metadatos no relacionados con fechas (las columnas de Provincia/Estado y geolocalización). También podemos eliminar esas tres columnas por completo:\n"
]
},
{
@ -1627,7 +1627,7 @@
"source": [
"## Investigando los Datos\n",
"\n",
"Ahora cambiemos a investigar un país específico. Creemos un marco que contenga los datos de infecciones indexados por fecha:\n"
"Ahora cambiemos a investigar un país específico. Vamos a crear un marco que contenga los datos de infecciones indexados por fecha:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Ahora calculemos el número de personas nuevas infectadas cada día. Esto nos permitirá ver la velocidad a la que avanza la pandemia. El día más fácil para hacerlo es usar `diff`:\n"
"Ahora calculemos el número de personas nuevas infectadas cada día. Esto nos permitirá ver la velocidad a la que avanza la pandemia. La forma más sencilla de hacerlo es usar `diff`:\n"
]
},
{
@ -1823,7 +1823,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Podemos ver altas fluctuaciones en los datos. Vamos a observar más de cerca uno de los meses:\n"
"Podemos ver grandes fluctuaciones en los datos. Observemos más de cerca uno de los meses:\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Claramente parece que hay fluctuaciones semanales en los datos. Debido a que queremos poder ver las tendencias, tiene sentido suavizar la curva calculando un promedio móvil (es decir, para cada día calcularemos el valor promedio de los días anteriores):\n"
"Claramente parece que hay fluctuaciones semanales en los datos. Como queremos poder ver las tendencias, tiene sentido suavizar la curva calculando el promedio móvil (es decir, para cada día calcularemos el valor promedio de los días anteriores):\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Debido a que este conjunto de datos contiene información tanto de países como de provincias, para obtener la población de todo el país necesitamos ser un poco más ingeniosos:\n"
"Debido a que este conjunto de datos contiene información tanto de países como de provincias, para obtener la población de todo el país necesitamos ser un poco astutos: \n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Cálculo de $R_t$\n",
"\n",
"Para ver qué tan contagiosa es la enfermedad, observamos el **número básico de reproducción** $R_0$, que indica el número de personas que una persona infectada infectaría a su vez. Cuando $R_0$ es mayor que 1, es probable que la epidemia se propague.\n",
"Para ver qué tan contagiosa es la enfermedad, observamos el **número básico de reproducción** $R_0$, que indica la cantidad de personas que una persona infectada infectaría a su vez. Cuando $R_0$ es mayor que 1, es probable que la epidemia se propague.\n",
"\n",
"$R_0$ es una propiedad de la enfermedad en sí, y no tiene en cuenta algunas medidas de protección que las personas pueden tomar para frenar la pandemia. Durante la progresión de la pandemia, podemos estimar el número de reproducción $R_t$ en un momento dado $t$. Se ha demostrado que este número puede estimarse aproximadamente tomando una ventana de 8 días, y calculando $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"$R_0$ es una propiedad de la enfermedad en sí y no tiene en cuenta algunas medidas protectoras que las personas pueden tomar para frenar la pandemia. Durante la evolución de la pandemia, podemos estimar el número de reproducción $R_t$ en cualquier momento dado $t$. Se ha demostrado que este número puede estimarse aproximadamente tomando una ventana de 8 días y calculando $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"donde $I_t$ es el número de individuos recién infectados en el día $t$.\n",
"\n",
"Calculemos $R_t$ para nuestros datos de la pandemia. Para ello, tomaremos una ventana móvil de 8 valores de `ninfected`, y aplicaremos la función para calcular la razón anterior:\n"
"Calculemos $R_t$ para nuestros datos de pandemia. Para hacer esto, tomaremos una ventana móvil de 8 valores de `ninfected` y aplicaremos la función para calcular la proporción anterior:\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Puedes ver que hay algunos espacios en el gráfico. Esos pueden ser causados por `NaN`, o si hay valores `inf` presentes en el conjunto de datos. `inf` puede ser causado por una división por 0, y `NaN` puede indicar datos faltantes, o que no hay datos disponibles para calcular el resultado (como al principio de nuestro marco, donde la ventana móvil de ancho 8 aún no está disponible). Para hacer el gráfico más agradable, necesitamos llenar esos valores usando las funciones `replace` y `fillna`.\n",
"Puedes ver que hay algunos huecos en el gráfico. Estos pueden ser causados por `NaN`, o si hay valores `inf` presentes en el conjunto de datos. `inf` puede ser causado por una división por 0, y `NaN` puede indicar datos faltantes, o no hay datos disponibles para calcular el resultado (como al principio de nuestro marco, donde la ventana móvil de ancho 8 aún no está disponible). Para hacer el gráfico más agradable, necesitamos llenar esos valores usando las funciones `replace` y `fillna`.\n",
"\n",
"Veamos más de cerca el comienzo de la pandemia. También limitaremos los valores del eje y para mostrar solo valores por debajo de 6, con el fin de ver mejor, y dibujaremos una línea horizontal en 1.\n"
"Observemos más a fondo el inicio de la pandemia. También limitaremos los valores del eje y para mostrar solo valores por debajo de 6, para ver mejor, y dibujaremos una línea horizontal en 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Otro indicador interesante de la pandemia es la **derivada**, o **diferencia diaria** en los nuevos casos. Nos permite ver claramente cuándo la pandemia está aumentando o disminuyendo.\n"
"Otro indicador interesante de la pandemia es la **derivada**, o **diferencia diaria** en los casos nuevos. Nos permite ver claramente cuándo la pandemia está aumentando o disminuyendo.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dado que hay muchas fluctuaciones en los datos causadas por los informes, tiene sentido suavizar la curva mediante el promedio móvil para obtener una imagen general. Volvamos a centrarnos en los primeros meses de la pandemia:\n"
"Dado que hay muchas fluctuaciones en los datos causadas por la información reportada, tiene sentido suavizar la curva aplicando un promedio móvil para obtener una visión general. Centrémonos nuevamente en los primeros meses de la pandemia:\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Desafío\n",
"\n",
"¡Ahora es el momento de que juegues más con el código y los datos! Aquí tienes algunas sugerencias con las que puedes experimentar:\n",
"* Ver la propagación de la pandemia en diferentes países.\n",
"* Graficar las curvas de $R_t$ para varios países en un mismo gráfico para comparación, o hacer varios gráficos uno al lado del otro.\n",
"* Ver cómo el número de muertes y recuperaciones se correlaciona con el número de casos infectados.\n",
"* Intentar descubrir cuánto dura típicamente una enfermedad correlacionando visualmente la tasa de infección y la tasa de muertes y buscando algunas anomalías. Es posible que necesites observar diferentes países para descubrirlo.\n",
"* Calcular la tasa de letalidad y cómo cambia con el tiempo. Quizás quieras tomar en cuenta la duración de la enfermedad en días para desplazar una serie temporal antes de hacer los cálculos.\n"
"* Graficar $R_t$ para varios países en un solo gráfico para comparar, o hacer varios gráficos uno al lado del otro.\n",
"* Ver cómo se correlacionan el número de muertes y recuperaciones con el número de casos infectados.\n",
"* Intentar averiguar cuánto dura típicamente una enfermedad correlacionando visualmente la tasa de infección y la tasa de muertes y buscando algunas anomalías. Puede que necesites mirar diferentes países para descubrirlo.\n",
"* Calcular la tasa de letalidad y cómo cambia con el tiempo. Puede que quieras tener en cuenta la duración de la enfermedad en días para desplazar una serie temporal antes de hacer los cálculos.\n"
]
},
{
@ -2407,8 +2409,8 @@
"## Referencias\n",
"\n",
"Puede consultar estudios adicionales sobre la propagación de la epidemia de COVID en las siguientes publicaciones:\n",
"* [Modelo SIR deslizante para la estimación de Rt durante la pandemia de COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), entrada de blog de [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimación del número de reproducción dependiente del tiempo para el brote global de COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Modelo SIR Deslizante para la Estimación de Rt durante la Pandemia de COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), publicación de blog por [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimación del Número de Reproducción Dependiente del Tiempo para el Brote Global de COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi: 10.20944/preprints202006.0289.v1)\n",
"* [Código para el artículo anterior en GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Aviso legal**: \nEste documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por un humano. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Descargo de responsabilidad**:\nEste documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Proyecto de visualización de datos Dangerous Liaisons
# Proyecto de visualización de datos de Dangerous Liaisons
Para comenzar, asegúrate de tener NPM y Node funcionando en tu máquina. Instala las dependencias (npm install) y luego ejecuta el proyecto localmente (npm run serve):
Para comenzar, debes asegurarte de tener NPM y Node **>=20.0.0** ejecutándose en tu máquina. Instala las dependencias (npm install) y luego ejecuta el proyecto localmente (npm run serve):
## Configuración del proyecto
```
npm install
```
### Compila y recarga automáticamente para desarrollo
### Compila y recarga en caliente para desarrollo
```
npm run serve
```
@ -17,13 +17,17 @@ npm run serve
npm run build
```
### Analiza y corrige archivos
### Lint y corrige archivos
```
npm run lint
```
### Personalizar configuración
Consulta [Referencia de Configuración](https://cli.vuejs.org/config/).
### Personaliza la configuración
Consulta la [Referencia de configuración](https://cli.vuejs.org/config/).
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.
# Proyecto de visualización de datos Dangerous Liaisons
# Proyecto de visualización de datos Liaison Peligrosas
Para comenzar, asegúrate de tener NPM y Node funcionando en tu máquina. Instala las dependencias (npm install) y luego ejecuta el proyecto localmente (npm run serve):
Para comenzar, debes asegurarte de tener NPM y Node **>=20.0.0** ejecutándose en tu máquina. Instala las dependencias (npm install) y luego ejecuta el proyecto localmente (npm run serve):
## Configuración del proyecto
```
npm install
```
### Compila y recarga automáticamente para desarrollo
### Compila y recarga en caliente para desarrollo
```
npm run serve
```
@ -17,13 +17,17 @@ npm run serve
npm run build
```
### Analiza y corrige archivos
### Corrige y arregla archivos
```
npm run lint
```
### Personalizar configuración
### Personaliza la configuración
Consulta [Referencia de Configuración](https://cli.vuejs.org/config/).
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Descargo de responsabilidad**:
Este documento ha sido traducido utilizando el servicio de traducción automática [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.
| ](../../sketchnotes/03-DefiningData.png)|
|:---:|
|Définir les données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
|Définir les Données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
Les données sont des faits, des informations, des observations et des mesures utilisées pour faire des découvertes et soutenir des décisions éclairées. Un point de données est une unité unique de données au sein d'un ensemble de données, qui est une collection de points de données. Les ensembles de données peuvent se présenter sous différents formats et structures, et sont généralement basés sur leur source ou leur origine. Par exemple, les revenus mensuels d'une entreprise pourraient être dans une feuille de calcul, tandis que les données de fréquence cardiaque horaire d'une montre connectée pourraient être au format [JSON](https://stackoverflow.com/a/383699). Il est courant que les data scientists travaillent avec différents types de données au sein d'un ensemble de données.
Les données sont des faits, informations, observations et mesures utilisées pour faire des découvertes et soutenir des décisions éclairées. Un point de données est une seule unité de données dans un ensemble de données, qui est une collection de points de données. Les ensembles de données peuvent venir sous différents formats et structures, et seront généralement basés sur leur source, ou d'où proviennent les données. Par exemple, les gains mensuels d'une entreprise pourraient être dans une feuille de calcul mais les données de fréquence cardiaque horaire d'une montre connectée peuvent être en format [JSON](https://stackoverflow.com/a/383699). Il est courant que les data scientists travaillent avec différents types de données au sein d'un ensemble de données.
Cette leçon se concentre sur l'identification et la classification des données en fonction de leurs caractéristiques et de leurs sources.
## [Quiz avant la leçon](https://ff-quizzes.netlify.app/en/ds/quiz/4)
Cette leçon se concentre sur l'identification et la classification des données selon leurs caractéristiques et leurs sources.
## [Quiz avant la conférence](https://ff-quizzes.netlify.app/en/ds/quiz/4)
## Comment les données sont décrites
### Données brutes
Les données brutes sont des données provenant de leur source dans leur état initial et qui n'ont pas été analysées ou organisées. Pour comprendre ce qui se passe avec un ensemble de données, il doit être organisé dans un format compréhensible par les humains ainsi que par la technologie utilisée pour l'analyser davantage. La structure d'un ensemble de données décrit comment il est organisé et peut être classée comme structuré, non structuré ou semi-structuré. Ces types de structures varient en fonction de la source, mais s'inscrivent finalement dans ces trois catégories.
### Données Brutes
Les données brutes sont des données qui proviennent de leur source dans leur état initial et n'ont pas été analysées ou organisées. Pour comprendre ce qui se passe avec un ensemble de données, il doit être organisé dans un format compréhensible par les humains ainsi que par la technologie utilisée pour l'analyser plus avant. La structure d'un ensemble de données décrit comment il est organisé et peut être classée en structuré, non structuré et semi-structuré. Ces types de structure varient selon la source mais entrent finalement dans ces trois catégories.
### Données quantitatives
Les données quantitatives sont des observations numériques au sein d'un ensemble de données et peuvent généralement être analysées, mesurées et utilisées mathématiquement. Quelques exemples de données quantitatives sont : la population d'un pays, la taille d'une personne ou les revenus trimestriels d'une entreprise. Avec une analyse supplémentaire, les données quantitatives pourraient être utilisées pour découvrir des tendances saisonnières de l'indice de qualité de l'air (AQI) ou estimer la probabilité de trafic aux heures de pointe lors d'une journée de travail typique.
### Données Quantitatives
Les données quantitatives sont des observations numériques dans un ensemble de données qui peuvent généralement être analysées, mesurées et utilisées mathématiquement. Quelques exemples de données quantitatives sont : la population d'un pays, la taille d'une personne ou les revenus trimestriels d'une entreprise. Avec une analyse supplémentaire, les données quantitatives pourraient être utilisées pour découvrir des tendances saisonnières de l'Indice de Qualité de l'Air (IQA) ou estimer la probabilité d'embouteillages aux heures de pointe un jour de travail typique.
### Données qualitatives
Les données qualitatives, également appelées données catégorielles, sont des données qui ne peuvent pas être mesurées objectivement comme les observations des données quantitatives. Ce sont généralement divers formats de données subjectives qui capturent la qualité de quelque chose, comme un produit ou un processus. Parfois, les données qualitatives sont numériques mais ne seraient pas utilisées mathématiquement, comme les numéros de téléphone ou les horodatages. Quelques exemples de données qualitatives sont : les commentaires vidéo, la marque et le modèle d'une voiture ou la couleur préférée de vos amis proches. Les données qualitatives pourraient être utilisées pour comprendre quels produits les consommateurs préfèrent ou pour identifier des mots-clés populaires dans les CV de candidatures.
### Données Qualitatives
Les données qualitatives, également appelées données catégorielles, sont des données qui ne peuvent pas être mesurées objectivement comme des observations de données quantitatives. Ce sont généralement divers formats de données subjectives qui capturent la qualité de quelque chose, comme un produit ou un processus. Parfois, les données qualitatives sont numériques et ne seraient pas typiquement utilisées mathématiquement, comme les numéros de téléphone ou les horodatages. Quelques exemples de données qualitatives sont : les commentaires vidéo, la marque et le modèle d'une voiture ou la couleur préférée de vos amis proches. Les données qualitatives pourraient être utilisées pour comprendre quels produits les consommateurs préfèrent ou identifier des mots-clés populaires dans des CV de candidatures.
### Données structurées
Les données structurées sont des données organisées en lignes et colonnes, où chaque ligne aura le même ensemble de colonnes. Les colonnes représentent une valeur d'un type particulier et seront identifiées par un nom décrivant ce que représente la valeur, tandis que les lignes contiennent les valeurs réelles. Les colonnes auront souvent un ensemble spécifique de règles ou de restrictions sur les valeurs, afin de garantir que les valeurs représentent correctement la colonne. Par exemple, imaginez une feuille de calcul de clients où chaque ligne doit avoir un numéro de téléphone et les numéros de téléphone ne contiennent jamais de caractères alphabétiques. Il peut y avoir des règles appliquées à la colonne des numéros de téléphone pour s'assurer qu'elle n'est jamais vide et ne contient que des chiffres.
### Données Structurées
Les données structurées sont des données organisées en lignes et colonnes, où chaque ligne a le même ensemble de colonnes. Les colonnes représentent une valeur d'un type particulier et sont identifiées par un nom décrivant ce que la valeur représente, tandis que les lignes contiennent les valeurs réelles. Les colonnes auront souvent un ensemble spécifique de règles ou de restrictions sur les valeurs, pour assurer que celles-ci représentent précisément la colonne. Par exemple, imaginez une feuille de calcul de clients où chaque ligne doit avoir un numéro de téléphone et les numéros de téléphone ne contiennent jamais de caractères alphabétiques. Il peut y avoir des règles appliquées à la colonne numéro de téléphone pour s'assurer qu'elle n'est jamais vide et ne contient que des nombres.
Un avantage des données structurées est qu'elles peuvent être organisées de manière à être liées à d'autres données structurées. Cependant, comme les données sont conçues pour être organisées d'une manière spécifique, apporter des modifications à leur structure globale peut demander beaucoup d'efforts. Par exemple, ajouter une colonne d'e-mail à la feuille de calcul des clients qui ne peut pas être vide signifie que vous devrez trouver comment ajouter ces valeurs aux lignes existantes de clients dans l'ensemble de données.
Un avantage des données structurées est qu'elles peuvent être organisées de manière à pouvoir être reliées à d'autres données structurées. Cependant, parce que les données sont conçues pour être organisées d'une certaine manière, modifier leur structure globale peut demander beaucoup d'efforts. Par exemple, ajouter une colonne d'emails à la feuille de calcul client qui ne peut pas être vide signifie que vous devrez trouver comment ajouter ces valeurs aux lignes déjà existantes dans l'ensemble de données.
Exemples de données structurées : feuilles de calcul, bases de données relationnelles, numéros de téléphone, relevés bancaires.
Exemples de données structurées : feuilles de calcul, bases de données relationnelles, numéros de téléphone, relevés bancaires
### Données non structurées
Les données non structurées ne peuvent généralement pas être catégorisées en lignes ou colonnes et ne contiennent pas de format ou de règles à suivre. Comme les données non structurées ont moins de restrictions sur leur structure, il est plus facile d'ajouter de nouvelles informations par rapport à un ensemble de données structuré. Si un capteur capturant des données sur la pression barométrique toutes les 2 minutes reçoit une mise à jour lui permettant désormais de mesurer et d'enregistrer la température, cela ne nécessite pas de modification des données existantes si elles sont non structurées. Cependant, cela peut rendre l'analyse ou l'examen de ce type de données plus long. Par exemple, un scientifique qui souhaite trouver la température moyenne du mois précédent à partir des données du capteur découvre que le capteur a enregistré un "e" dans certaines de ses données pour indiquer qu'il était en panne au lieu d'un nombre typique, ce qui signifie que les données sont incomplètes.
### Données Non Structurées
Les données non structurées ne peuvent généralement pas être catégorisées en lignes ou colonnes et ne contiennent pas de format ou d'ensemble de règles à suivre. Parce que les données non structurées ont moins de restrictions sur leur structure, il est plus facile d'y ajouter de nouvelles informations par comparaison à un ensemble de données structuré. Si un capteur mesurant la pression barométrique toutes les 2 minutes reçoit une mise à jour qui lui permet maintenant de mesurer et enregistrer la température, il n'est pas nécessaire d'altérer les données existantes si elles sont non structurées. Cependant, cela peut rendre l'analyse ou l'investigation de ce type de données plus longue. Par exemple, un scientifique qui veut trouver la température moyenne du mois précédent à partir des données du capteur, mais découvre que le capteur a enregistré un "e" dans certaines de ses données notant qu'il était cassé au lieu d'un nombre typique, ce qui signifie que les données sont incomplètes.
Exemples de données non structurées : fichiers texte, messages texte, fichiers vidéo.
Exemples de données non structurées : fichiers texte, messages texte, fichiers vidéo
### Données semi-structurées
Les données semi-structurées ont des caractéristiques qui en font une combinaison de données structurées et non structurées. Elles ne se conforment généralement pas à un format de lignes et colonnes, mais sont organisées d'une manière considérée comme structurée et peuvent suivre un format fixe ou un ensemble de règles. La structure varie selon les sources, allant d'une hiérarchie bien définie à quelque chose de plus flexible permettant une intégration facile de nouvelles informations. Les métadonnées sont des indicateurs qui aident à décider comment les données sont organisées et stockées et auront divers noms, en fonction du type de données. Quelques noms courants pour les métadonnées sont balises, éléments, entités et attributs. Par exemple, un message e-mail typique aura un sujet, un corps et un ensemble de destinataires et peut être organisé par qui ou quand il a été envoyé.
### Semi-structurées
Les données semi-structurées ont des caractéristiques qui en font une combinaison de données structurées et non structurées. Elles ne se conforment généralement pas à un format de lignes et colonnes mais sont organisées d'une manière considérée comme structurée et peuvent suivre un format fixe ou un ensemble de règles. La structure variera selon les sources, comme une hiérarchie bien définie à quelque chose de plus flexible permettant une intégration facile de nouvelles informations. Les métadonnées sont des indicateurs qui aident à décider comment les données sont organisées et stockées et auront différents noms selon le type de données. Quelques noms communs pour les métadonnées sont tags, éléments, entités et attributs. Par exemple, un message email typique aura un sujet, un corps et un ensemble de destinataires et peut être organisé par qui ou quand il a été envoyé.
Une source de données est l'emplacement initial où les données ont été générées ou où elles "résident" et varie en fonction de la manière et du moment où elles ont été collectées. Les données générées par leurs utilisateurs sont appelées données primaires, tandis que les données secondaires proviennent d'une source ayant collecté des données pour un usage général. Par exemple, un groupe de scientifiques collectant des observations dans une forêt tropicale serait considéré comme primaire, et s'ils décident de les partager avec d'autres scientifiques, cela serait considéré comme secondaire pour ceux qui les utilisent.
Une source de données est l'emplacement initial où les données ont été générées, ou où elles "vivent", et variera selon comment et quand elles ont été collectées. Les données générées par leur(s) utilisateur(s) sont appelées données primaires tandis que les données secondaires proviennent d'une source ayant collecté des données pour un usage général. Par exemple, un groupe de scientifiques collectant des observations dans une forêt tropicale serait considéré comme primaire, et s'ils décident de les partager avec d'autres scientifiques, elles seraient alors considérées comme secondaires pour ceux qui les utilisent.
Les bases de données sont une source courante et reposent sur un système de gestion de bases de données pour héberger et maintenir les données, où les utilisateurs utilisent des commandes appelées requêtes pour explorer les données. Les fichiers en tant que sources de données peuvent être des fichiers audio, image et vidéo ainsi que des feuilles de calcul comme Excel. Les sources Internet sont un emplacement courant pour héberger des données, où des bases de données ainsi que des fichiers peuvent être trouvés. Les interfaces de programmation d'applications, également appelées API, permettent aux programmeurs de créer des moyens de partager des données avec des utilisateurs externes via Internet, tandis que le processus de web scraping extrait des données d'une page web. Les [leçons sur le travail avec les données](../../../../../../../../../2-Working-With-Data) se concentrent sur la manière d'utiliser diverses sources de données.
Les bases de données sont une source commune et reposent sur un système de gestion de bases de données pour héberger et maintenir les données où les utilisateurs utilisent des commandes appelées requêtes pour explorer les données. Les fichiers comme sources de données peuvent être des fichiers audio, image, et vidéo ainsi que des feuilles de calcul comme Excel. Les sources Internet sont un lieu commun pour héberger des données, où bases de données ainsi que fichiers peuvent être trouvés. Les interfaces de programmation d'applications, aussi appelées APIs, permettent aux programmeurs de créer des moyens de partager des données avec des utilisateurs externes via Internet, tandis que le processus de récupération web extrait des données d'une page web. Les [leçons sur Travailler avec les Données](../../../../../../../../../2-Working-With-Data) se concentrent sur comment utiliser diverses sources de données.
## Conclusion
@ -50,27 +49,31 @@ Dans cette leçon, nous avons appris :
- Ce que sont les données
- Comment les données sont décrites
- Comment les données sont classées et catégorisées
- Comment les données sont classifiées et catégorisées
- Où les données peuvent être trouvées
## 🚀 Défi
Kaggle est une excellente source d'ensembles de données ouverts. Utilisez l'[outil de recherche d'ensembles de données](https://www.kaggle.com/datasets) pour trouver des ensembles de données intéressants et classifiez 3 à 5 ensembles de données selon ces critères :
Kaggle est une excellente source d'ensembles de données ouverts. Utilisez l'[outil de recherche de jeux de données](https://www.kaggle.com/datasets) pour trouver des ensembles de données intéressants et classifiez 3-5 ensembles avec ces critères :
- Les données sont-elles quantitatives ou qualitatives ?
- Les données sont-elles structurées, non structurées ou semi-structurées ?
## [Quiz après la leçon](https://ff-quizzes.netlify.app/en/ds/quiz/5)
- Cette unité Microsoft Learn, intitulée [Classifiez vos données](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), propose une analyse détaillée des données structurées, semi-structurées et non structurées.
- Cette unité Microsoft Learn, intitulée [Identifier les formats de données](https://learn.microsoft.com/en-us/training/modules/explore-core-data-concepts/2-data-formats?pivots=text) offre une analyse détaillée des données structurées, semi-structurées et non structurées.
## Devoir
[Classifiez les ensembles de données](assignment.md)
[Classifying Datasets](assignment.md)
---
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.
"# Introduction à la probabilité et aux statistiques\n",
"Dans ce carnet, nous allons explorer certains des concepts que nous avons précédemment abordés. De nombreux concepts de probabilité et de statistiques sont bien représentés dans les principales bibliothèques de traitement de données en Python, telles que `numpy` et `pandas`.\n"
"# Introduction à la Probabilité et aux Statistiques\n",
"Dans ce cahier, nous allons manipuler certains des concepts que nous avons précédemment abordés. De nombreux concepts de probabilité et de statistiques sont bien représentés dans les principales bibliothèques de traitement des données en Python, telles que `numpy` et `pandas`.\n"
]
},
{
@ -44,7 +44,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour estimer visuellement combien de valeurs différentes se trouvent dans l’échantillon, nous pouvons tracer l'**histogramme** :\n"
"Pour estimer visuellement combien de valeurs différentes il y a dans l'échantillon, nous pouvons tracer l'**histogramme** :\n"
]
},
{
@ -61,9 +61,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Analyse des données réelles\n",
"## Analyse de données réelles\n",
"\n",
"La moyenne et la variance sont très importantes lors de l'analyse de données du monde réel. Chargons les données sur les joueurs de baseball depuis [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
"La moyenne et la variance sont très importantes lors de l'analyse de données réelles. Chargeons les données sur les joueurs de baseball depuis [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
@ -80,7 +80,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Nous utilisons un package appelé [**Pandas**](https://pandas.pydata.org/) ici pour l'analyse des données. Nous parlerons plus en détail de Pandas et du travail avec les données en Python plus tard dans ce cours.\n",
"> Nous utilisons ici un package appelé [**Pandas**](https://pandas.pydata.org/) pour l'analyse de données. Nous parlerons davantage de Pandas et du travail avec les données en Python plus tard dans ce cours.\n",
"\n",
"Calculons les valeurs moyennes pour l'âge, la taille et le poids :\n"
]
@ -98,7 +98,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Concentrons-nous maintenant sur la taille, et calculons l'écart type et la variance :\n"
"Concentrons-nous maintenant sur la taille, et calculons l'écart type et la variance :\n"
]
},
{
@ -126,7 +126,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"En plus de la moyenne, il est judicieux d'examiner la valeur médiane et les quartiles. Ils peuvent être visualisés à l'aide d'un **diagramme en boîte** :\n"
"En plus de la moyenne, il est logique de regarder la valeur médiane et les quartiles. Ils peuvent être visualisés à l'aide d'un **box plot** :\n"
"Nous pouvons également réaliser des diagrammes en boîte de sous-ensembles de notre ensemble de données, par exemple, regroupés par rôle du joueur.\n"
"Nous pouvons également réaliser des diagrammes en boîte pour des sous-ensembles de notre jeu de données, par exemple, regroupés par rôle des joueurs.\n"
]
},
{
@ -165,9 +165,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Note** : Ce diagramme suggère qu'en moyenne, les joueurs de première base sont plus grands que les joueurs de deuxième base. Plus tard, nous apprendrons comment tester cette hypothèse de manière plus formelle, et comment démontrer que nos données sont statistiquement significatives pour le montrer. \n",
"> **Note** : Ce diagramme suggère que, en moyenne, les tailles des premiers baseurs sont plus grandes que celles des seconds baseurs. Plus tard, nous apprendrons comment tester cette hypothèse de manière plus formelle, et comment démontrer que nos données sont statistiquement significatives pour le montrer. \n",
"\n",
"L'âge, la taille et le poids sont tous des variables aléatoires continues. Quelle est selon vous leur distribution ? Une bonne façon de le découvrir est de tracer l'histogramme des valeurs : \n"
"L'âge, la taille et le poids sont tous des variables aléatoires continues. Que pensez-vous de leur distribution ? Une bonne façon de le découvrir est de tracer l'histogramme des valeurs : \n"
]
},
{
@ -231,7 +231,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Puisque la plupart des valeurs dans la vie réelle suivent une distribution normale, nous ne devrions pas utiliser un générateur de nombres aléatoires uniformes pour générer des données d'échantillon. Voici ce qui se passe si nous essayons de générer des poids avec une distribution uniforme (générée par `np.random.rand`):\n"
"Comme la plupart des valeurs dans la vie réelle sont distribuées normalement, nous ne devrions pas utiliser un générateur de nombres aléatoires uniformes pour générer des données d'échantillon. Voici ce qui se passe si nous essayons de générer des poids avec une distribution uniforme (générée par `np.random.rand`):\n"
]
},
{
@ -251,9 +251,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Intervalles de confiance\n",
"## Intervalles de Confiance\n",
"\n",
"Calculons maintenant les intervalles de confiance pour les poids et tailles des joueurs de baseball. Nous allons utiliser le code [de cette discussion Stack Overflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data) :\n"
"Calculons maintenant les intervalles de confiance pour les poids et les hauteurs des joueurs de baseball. Nous utiliserons le code [de cette discussion stackoverflow](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data) :\n"
]
},
{
@ -272,7 +272,7 @@
" return m, h\n",
"\n",
"for p in [0.85, 0.9, 0.95]:\n",
" m, h = mean_confidence_interval(df['Weight'].fillna(method='pad'),p)\n",
" m, h = mean_confidence_interval(df['Weight'].ffill(),p)\n",
" print(f\"p={p:.2f}, mean = {m:.2f} ± {h:.2f}\")"
]
},
@ -282,7 +282,7 @@
"source": [
"## Test d'hypothèse\n",
"\n",
"Explorons différents rôles dans notre ensemble de données sur les joueurs de baseball :\n"
"Explorons différents rôles dans notre ensemble de données des joueurs de baseball :\n"
]
},
{
@ -298,7 +298,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Testons l'hypothèse que les premiers buteurs sont plus grands que les seconds buteurs. La manière la plus simple de le faire est de tester les intervalles de confiance :\n"
"Testons l'hypothèse que les premiers buts sont plus grands que les deuxièmes buts. La manière la plus simple de le faire est de tester les intervalles de confiance :\n"
]
},
{
@ -319,7 +319,7 @@
"source": [
"Nous pouvons voir que les intervalles ne se chevauchent pas.\n",
"\n",
"Une manière statistiquement plus correcte de prouver l’hypothèse est d’utiliser un **test t de Student** :\n"
"Une façon statistiquement plus correcte de prouver l'hypothèse est d'utiliser un **test t de Student** :\n"
]
},
{
@ -339,8 +339,8 @@
"metadata": {},
"source": [
"Les deux valeurs retournées par la fonction `ttest_ind` sont :\n",
"* La p-value peut être considérée comme la probabilité que deux distributions aient la même moyenne. Dans notre cas, elle est très faible, ce qui signifie qu'il existe une forte preuve soutenant que les premiers buts sont plus grands.\n",
"* La t-value est la valeur intermédiaire de la différence de moyenne normalisée qui est utilisée dans le test t, et elle est comparée à une valeur seuil pour un niveau de confiance donné.\n"
"* La p-valeur peut être considérée comme la probabilité que deux distributions aient la même moyenne. Dans notre cas, elle est très faible, ce qui signifie qu'il existe de fortes preuves soutenant que les première base sont plus grandes.\n",
"* La valeur t est la valeur intermédiaire de la différence moyenne normalisée utilisée dans le test t, et elle est comparée à une valeur seuil pour une valeur de confiance donnée.\n"
]
},
{
@ -375,7 +375,7 @@
"source": [
"## Corrélation et Evil Baseball Corp\n",
"\n",
"La corrélation nous permet de trouver des relations entre des séquences de données. Dans notre exemple ludique, imaginons qu'il existe une corporation de baseball maléfique qui paie ses joueurs en fonction de leur taille - plus le joueur est grand, plus il/elle reçoit d'argent. Supposons qu'il y ait un salaire de base de 1000 $, et un bonus additionnel de 0 à 100 $, selon la taille. Nous prendrons les vrais joueurs de la MLB, et calculerons leurs salaires imaginaires :\n"
"La corrélation nous permet de trouver des relations entre des séquences de données. Dans notre exemple simple, imaginons qu'il existe une corporation maléfique de baseball qui paie ses joueurs en fonction de leur taille - plus le joueur est grand, plus il/elle gagne d'argent. Supposons qu'il y ait un salaire de base de 1000 $, et un bonus supplémentaire de 0 à 100 $, selon la taille. Nous prendrons les vrais joueurs de la MLB, et calculerons leurs salaires imaginaires :\n"
"Calculons maintenant la covariance et la corrélation de ces séquences. `np.cov` nous donnera une **matrice de covariance**, qui est une extension de la covariance à plusieurs variables. L'élément $M_{ij}$ de la matrice de covariance $M$ est une covariance entre les variables d'entrée $X_i$ et $X_j$, et les valeurs diagonales $M_{ii}$ sont la variance de $X_{i}$. De même, `np.corrcoef` nous donnera la **matrice de corrélation**.\n"
"Calculons maintenant la covariance et la corrélation de ces séquences. `np.cov` nous donnera une **matrice de covariance**, qui est une extension de la covariance à plusieurs variables. L'élément $M_{ij}$ de la matrice de covariance $M$ est une covariance entre les variables d'entrée $X_i$ et $X_j$, et les valeurs diagonales $M_{ii}$ correspondent à la variance de $X_{i}$. De même, `np.corrcoef` nous donnera la **matrice de corrélation**.\n"
]
},
{
@ -411,7 +411,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Une corrélation égale à 1 signifie qu'il existe une **relation linéaire** forte entre deux variables. Nous pouvons voir visuellement la relation linéaire en traçant une valeur par rapport à l'autre :\n"
"Une corrélation égale à 1 signifie qu'il existe une forte **relation linéaire** entre deux variables. Nous pouvons voir visuellement la relation linéaire en traçant une valeur en fonction de l'autre :\n"
]
},
{
@ -447,7 +447,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Dans ce cas, la corrélation est légèrement plus faible, mais elle reste assez élevée. Maintenant, pour rendre la relation encore moins évidente, nous pourrions vouloir ajouter un peu de hasard supplémentaire en ajoutant une variable aléatoire au salaire. Voyons ce qui se passe :\n"
"Dans ce cas, la corrélation est légèrement plus faible, mais elle reste tout de même assez élevée. Maintenant, pour rendre la relation encore moins évidente, nous pourrions vouloir ajouter un peu d'aléa supplémentaire en ajoutant une variable aléatoire au salaire. Voyons ce qui se passe :\n"
]
},
{
@ -476,9 +476,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> Pouvez-vous deviner pourquoi les points s’alignent en lignes verticales comme ceci ?\n",
"> Pouvez-vous deviner pourquoi les points s'alignent en lignes verticales de cette manière ?\n",
"\n",
"Nous avons observé la corrélation entre un concept artificiellement conçu comme le salaire et la variable observée *taille*. Voyons également si les deux variables observées, comme la taille et le poids, sont également corrélées:\n"
"Nous avons observé la corrélation entre un concept artificiellement créé comme le salaire et la variable observée *taille*. Voyons également si les deux variables observées, telles que la taille et le poids, sont aussi corrélées :\n"
]
},
{
@ -494,11 +494,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Malheureusement, nous n'avons obtenu aucun résultat - seulement quelques valeurs étranges `nan`. Cela est dû au fait que certaines des valeurs de notre série sont indéfinies, représentées comme `nan`, ce qui entraîne que le résultat de l'opération soit également indéfini. En regardant la matrice, on peut voir que `Weight` est la colonne problématique, car la corrélation avec elle-même entre les valeurs de `Height` a été calculée.\n",
"Malheureusement, nous n'avons obtenu aucun résultat - seulement quelques valeurs étranges `nan`. Cela est dû au fait que certaines valeurs de notre série sont indéfinies, représentées par `nan`, ce qui rend le résultat de l'opération lui aussi indéfini. En regardant la matrice, nous pouvons voir que `Weight` est la colonne problématique, car la corrélation avec elle-même entre les valeurs de `Height` a été calculée.\n",
"\n",
"> Cet exemple montre l'importance de la **préparation des données** et du **nettoyage**. Sans données appropriées, nous ne pouvons rien calculer.\n",
"\n",
"Utilisons la méthode `fillna` pour remplir les valeurs manquantes, et calculons la corrélation :\n"
"Utilisons la méthode `fillna` pour remplir les valeurs manquantes, et calculons la corrélation :\n"
"Il existe en effet une corrélation, mais pas aussi forte que dans notre exemple artificiel. En effet, si l'on regarde le nuage de points d'une valeur par rapport à l'autre, la relation serait beaucoup moins évidente :\n"
"Il existe en effet une corrélation, mais pas aussi forte que dans notre exemple artificiel. En effet, si nous regardons le nuage de points d’une valeur par rapport à l’autre, la relation serait bien moins évidente :\n"
]
},
{
@ -537,14 +537,14 @@
"source": [
"## Conclusion\n",
"\n",
"Dans ce carnet, nous avons appris comment effectuer des opérations de base sur les données pour calculer des fonctions statistiques. Nous savons maintenant comment utiliser un appareil mathématique et statistique solide afin de vérifier certaines hypothèses, et comment calculer des intervalles de confiance pour des variables arbitraires à partir d'un échantillon de données.\n"
"Dans ce carnet, nous avons appris à effectuer des opérations de base sur les données pour calculer des fonctions statistiques. Nous savons maintenant comment utiliser un ensemble solide de mathématiques et de statistiques afin de vérifier certaines hypothèses, et comment calculer des intervalles de confiance pour des variables arbitraires à partir d’un échantillon de données. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Clause de non-responsabilité** : \nCe document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d’assurer l’exactitude de la traduction, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle effectuée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d’interprétations erronées résultant de l’utilisation de cette traduction.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Avertissement** :\nCe document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"Nous utiliserons des données sur les personnes infectées par la COVID-19, fournies par le [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) de la [Johns Hopkins University](https://jhu.edu/). Le jeu de données est disponible dans [ce dépôt GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
"Nous utiliserons les données sur les personnes infectées par la COVID-19, fournies par le [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) de [l'université Johns Hopkins](https://jhu.edu/). Le jeu de données est disponible dans [ce dépôt GitHub](https://github.com/CSSEGISandData/COVID-19).\n"
]
},
{
@ -27,7 +27,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous pouvons charger les données les plus récentes directement depuis GitHub en utilisant `pd.read_csv`. Si, pour une raison quelconque, les données ne sont pas disponibles, vous pouvez toujours utiliser la copie disponible localement dans le dossier `data` - il suffit de décommenter la ligne ci-dessous qui définit `base_url` :\n"
"Nous pouvons charger les données les plus récentes directement depuis GitHub en utilisant `pd.read_csv`. Si pour une raison quelconque les données ne sont pas disponibles, vous pouvez toujours utiliser la copie disponible localement dans le dossier `data` - il suffit de décommenter la ligne ci-dessous qui définit `base_url` :\n"
]
},
{
@ -48,7 +48,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Chargeons maintenant les données des personnes infectées et voyons à quoi ressemble les données :\n"
"Chargeons maintenant les données des individus infectés et voyons à quoi elles ressemblent :\n"
]
},
{
@ -265,7 +265,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous pouvons voir que chaque ligne du tableau définit le nombre d'individus infectés pour chaque pays et/ou province, et que les colonnes correspondent aux dates. Des tableaux similaires peuvent être chargés pour d'autres données, telles que le nombre de guéris et le nombre de décès.\n"
"Nous pouvons voir que chaque ligne du tableau définit le nombre d'individus infectés pour chaque pays et/ou province, et les colonnes correspondent aux dates. Des tableaux similaires peuvent être chargés pour d'autres données, telles que le nombre de guéris et le nombre de décès.\n"
]
},
{
@ -282,7 +282,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Donner du sens aux données\n",
"## Donner un sens aux données\n",
"\n",
"D'après le tableau ci-dessus, le rôle de la colonne province n'est pas clair. Voyons les différentes valeurs présentes dans la colonne `Province/State` :\n"
]
@ -1321,9 +1321,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pré-traitement des données \n",
"## Prétraitement des données \n",
"\n",
"Nous ne souhaitons pas décomposer les pays en territoires supplémentaires, nous allons donc d'abord supprimer cette décomposition et ajouter les informations de tous les territoires ensemble, afin d'obtenir des informations pour l'ensemble du pays. Cela peut être fait en utilisant `groupby` :\n"
"Nous ne sommes pas intéressés par la subdivision des pays en territoires supplémentaires, nous allons donc d'abord éliminer cette subdivision et ajouter les informations sur tous les territoires ensemble, afin d'obtenir des informations pour le pays entier. Cela peut être fait en utilisant `groupby` :\n"
]
},
{
@ -1578,7 +1578,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vous pouvez voir qu'en utilisant `groupby`, tous les DataFrames sont maintenant indexés par Pays/Région. Nous pouvons donc accéder aux données d'un pays spécifique en utilisant `.loc` :|\n"
"Vous pouvez voir qu'en utilisant `groupby`, tous les DataFrames sont maintenant indexés par Pays/Région. Nous pouvons ainsi accéder aux données d'un pays spécifique en utilisant `.loc` :|\n"
]
},
{
@ -1607,7 +1607,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"> **Remarque** comment nous utilisons `[3:]` pour supprimer les trois premiers éléments d'une séquence qui contiennent des métadonnées non datées (les colonnes Province/État et géolocalisation). Nous pouvons également supprimer ces trois colonnes complètement :\n"
"> **Note** comment nous utilisons `[3:]` pour supprimer les trois premiers éléments d'une séquence contenant des métadonnées non datées (la Province/État et les colonnes de géolocalisation). Nous pouvons également supprimer ces trois colonnes dans leur intégralité :\n"
]
},
{
@ -1625,9 +1625,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Enquête sur les données\n",
"## Investigation des données\n",
"\n",
"Passons maintenant à l'examen d'un pays spécifique. Créons un cadre contenant les données sur les infections indexées par date:\n"
"Passons maintenant à l'investigation d'un pays spécifique. Créons un cadre contenant les données sur les infections indexées par date:\n"
]
},
{
@ -1793,7 +1793,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Calculons maintenant le nombre de nouvelles personnes infectées chaque jour. Cela nous permettra de voir la vitesse à laquelle la pandémie progresse. Le jour le plus simple pour le faire est d'utiliser `diff` :\n"
"Calculons maintenant le nombre de nouvelles personnes infectées chaque jour. Cela nous permettra de voir la vitesse à laquelle la pandémie progresse. La façon la plus simple de le faire est d'utiliser `diff` :\n"
]
},
{
@ -1852,7 +1852,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"On voit clairement qu'il y a des fluctuations hebdomadaires dans les données. Parce que nous voulons pouvoir voir les tendances, il est logique d'adoucir la courbe en calculant la moyenne mobile (c'est-à-dire que pour chaque jour, nous calculerons la valeur moyenne des plusieurs jours précédents) :\n"
"Il est clair qu'il y a des fluctuations hebdomadaires dans les données. Parce que nous voulons pouvoir voir les tendances, il est logique de lisser la courbe en calculant une moyenne mobile (c'est-à-dire que pour chaque jour, nous calculerons la valeur moyenne des plusieurs jours précédents) :\n"
]
},
{
@ -1882,7 +1882,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Afin de pouvoir comparer plusieurs pays, nous pourrions vouloir prendre en compte la population du pays et comparer le pourcentage d'individus infectés par rapport à la population du pays. Pour obtenir la population du pays, chargeons le jeu de données des pays :\n"
"Afin de pouvoir comparer plusieurs pays, nous pourrions vouloir prendre en compte la population du pays, et comparer le pourcentage d'individus infectés par rapport à la population du pays. Pour obtenir la population du pays, chargeons le jeu de données des pays :\n"
]
},
{
@ -2153,7 +2153,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Parce que cet ensemble de données contient des informations à la fois sur les pays et les provinces, pour obtenir la population de l'ensemble du pays, nous devons être un peu plus astucieux :\n"
"Parce que cet ensemble de données contient des informations sur les pays ainsi que sur les provinces, pour obtenir la population de l'ensemble du pays, nous devons être un peu plus astucieux :\n"
]
},
{
@ -2261,14 +2261,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Calcul de $R_t$\n",
"\n",
"Pour voir à quel point la maladie est infectieuse, nous regardons le **nombre de reproduction de base** $R_0$, qui indique le nombre de personnes qu'une personne infectée infecterait à son tour. Lorsque $R_0$ est supérieur à 1, l'épidémie est susceptible de se propager.\n",
"Pour évaluer la contagiosité de la maladie, nous examinons le **nombre de reproduction de base** $R_0$, qui indique le nombre de personnes qu'une personne infectée infecterait à son tour. Lorsque $R_0$ est supérieur à 1, l'épidémie est susceptible de se propager.\n",
"\n",
"$R_0$ est une propriété de la maladie elle-même, et ne prend pas en compte certaines mesures de protection que les gens peuvent prendre pour ralentir la pandémie. Pendant la progression de la pandémie, nous pouvons estimer le nombre de reproduction $R_t$ à un moment donné $t$. Il a été démontré que ce nombre peut être approximativement estimé en prenant une fenêtre de 8 jours, et en calculant $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"où $I_t$ est le nombre de nouvelles personnes infectées au jour $t$.\n",
"$R_0$ est une caractéristique propre à la maladie elle-même et ne tient pas compte des mesures protectrices que les gens peuvent prendre pour ralentir la pandémie. Au cours de la progression de la pandémie, nous pouvons estimer le nombre de reproduction $R_t$ à un instant donné $t$. Il a été démontré que ce nombre peut être approximativement estimé en prenant une fenêtre de 8 jours, et en calculant $$R_t=\\frac{I_{t-7}+I_{t-6}+I_{t-5}+I_{t-4}}{I_{t-3}+I_{t-2}+I_{t-1}+I_t}$$\n",
"où $I_t$ est le nombre de nouveaux individus infectés le jour $t$.\n",
"\n",
"Calculons $R_t$ pour nos données de pandémie. Pour ce faire, nous prendrons une fenêtre glissante de 8 valeurs `ninfected`, et appliquerons la fonction pour calculer le ratio ci-dessus :\n"
"Calculons $R_t$ pour nos données de pandémie. Pour ce faire, nous allons prendre une fenêtre glissante de 8 valeurs `ninfected` et appliquer la fonction pour calculer le ratio ci-dessus :\n"
]
},
{
@ -2298,9 +2299,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Vous pouvez voir qu'il y a des lacunes dans le graphique. Celles-ci peuvent être causées soit par des valeurs `NaN`, soit par la présence de valeurs `inf` dans le jeu de données. `inf` peut être causé par une division par 0, et `NaN` peut indiquer des données manquantes, ou aucune donnée disponible pour calculer le résultat (comme au tout début de notre cadre, où la fenêtre glissante de largeur 8 n'est pas encore disponible). Pour rendre le graphique plus joli, nous devons remplir ces valeurs en utilisant les fonctions `replace` et `fillna`.\n",
"Vous pouvez voir qu'il y a des lacunes dans le graphique. Celles-ci peuvent être causées soit par des `NaN`, soit par des valeurs `inf` présentes dans le jeu de données. `inf` peut être causé par une division par 0, et `NaN` peut indiquer des données manquantes, ou l'absence de données disponibles pour calculer le résultat (comme au tout début de notre cadre, où la fenêtre glissante de largeur 8 n'est pas encore disponible). Pour rendre le graphique plus agréable, nous devons remplir ces valeurs en utilisant les fonctions `replace` et `fillna`.\n",
"\n",
"Regardons plus en détail le début de la pandémie. Nous limiterons également les valeurs de l'axe y pour n'afficher que celles inférieures à 6, afin de mieux voir, et tracerons une ligne horizontale à 1.\n"
"Regardons plus en détail le début de la pandémie. Nous limiterons également les valeurs de l'axe y pour n'afficher que les valeurs inférieures à 6, afin de mieux voir, et tracerons une ligne horizontale à 1.\n"
]
},
{
@ -2331,7 +2332,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Un autre indicateur intéressant de la pandémie est la **dérivée**, ou la **différence quotidienne** des nouveaux cas. Cela nous permet de voir clairement quand la pandémie augmente ou diminue.\n"
"Un autre indicateur intéressant de la pandémie est la **dérivée**, ou **différence quotidienne** des nouveaux cas. Cela nous permet de voir clairement quand la pandémie augmente ou diminue.\n"
]
},
{
@ -2360,7 +2361,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Étant donné qu'il y a beaucoup de fluctuations dans les données causées par les rapports, il est logique de lisser la courbe en appliquant une moyenne mobile pour obtenir une vue d'ensemble. Concentrons-nous à nouveau sur les premiers mois de la pandémie :\n"
"Étant donné qu'il y a beaucoup de fluctuations dans les données causées par le reporting, il est logique de lisser la courbe en effectuant une moyenne glissante pour obtenir une vue d'ensemble. Concentrons-nous à nouveau sur les premiers mois de la pandémie :\n"
]
},
{
@ -2390,14 +2391,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Défi\n",
"\n",
"Il est maintenant temps pour vous de jouer davantage avec le code et les données ! Voici quelques suggestions avec lesquelles vous pouvez expérimenter :\n",
"Il est maintenant temps pour vous de jouer davantage avec le code et les données ! Voici quelques suggestions que vous pouvez expérimenter :\n",
"* Voir la propagation de la pandémie dans différents pays.\n",
"* Tracer des graphiques de $R_t$ pour plusieurs pays sur un même graphique pour comparaison, ou faire plusieurs graphiques côte à côte.\n",
"* Tracer les graphiques de $R_t$ pour plusieurs pays sur un même graphique pour comparaison, ou faire plusieurs graphiques côte à côte\n",
"* Voir comment le nombre de décès et de guérisons corrèle avec le nombre de cas infectés.\n",
"* Essayer de découvrir combien de temps dure une maladie typique en corrélant visuellement le taux d'infection et le taux de décès et en recherchant des anomalies. Vous pourriez avoir besoin d’examiner différents pays pour le découvrir.\n",
"* Calculer le taux de létalité et comment il évolue dans le temps. Vous pourriez vouloir prendre en compte la durée de la maladie en jours pour décaler une série temporelle avant de faire les calculs.\n"
"* Essayer de déterminer combien de temps dure une maladie typique en corrélant visuellement le taux d'infection et le taux de décès et en recherchant des anomalies. Vous devrez peut-être examiner différents pays pour cela.\n",
"* Calculer le taux de létalité et comment il évolue dans le temps. Vous pouvez vouloir prendre en compte la durée de la maladie en jours pour décaler une série temporelle avant de faire les calculs\n"
]
},
{
@ -2408,7 +2410,7 @@
"\n",
"Vous pouvez consulter d'autres études sur la propagation de l'épidémie de COVID dans les publications suivantes :\n",
"* [Modèle SIR glissant pour l'estimation de Rt pendant la pandémie de COVID](https://soshnikov.com/science/sliding-sir-model-for-rt-estimation/), article de blog par [Dmitry Soshnikov](http://soshnikov.com)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation du nombre de reproduction dépendant du temps pour la pandémie mondiale de COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi : 10.20944/preprints202006.0289.v1)\n",
"* T.Petrova, D.Soshnikov, A.Grunin. [Estimation du nombre de reproduction dépendant du temps pour l'épidémie mondiale de COVID-19](https://www.preprints.org/manuscript/202006.0289/v1). *Preprints* **2020**, 2020060289 (doi : 10.20944/preprints202006.0289.v1)\n",
"* [Code pour l'article ci-dessus sur GitHub](https://github.com/shwars/SlidingSIR)\n"
]
},
@ -2423,7 +2425,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Avertissement** : \nCe document a été traduit à l’aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous fassions tout notre possible pour assurer l’exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant foi. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou mauvaise interprétations résultant de l’utilisation de cette traduction.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Avertissement** :\nCe document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
# Projet de visualisation des données Dangerous Liaisons
# Projet de visualisation de données Dangerous Liaisons
Pour commencer, assurez-vous que NPM et Node sont installés et fonctionnent sur votre machine. Installez les dépendances (npm install) puis exécutez le projet en local (npm run serve) :
Pour commencer, vous devez vous assurer que NPM et Node **>=20.0.0** sont installés sur votre machine. Installez les dépendances (npm install) puis lancez le projet localement (npm run serve) :
## Configuration du projet
```
npm install
```
### Compilation et rechargement à chaud pour le développement
### Compile et recharge à chaud pour le développement
```
npm run serve
```
### Compilation et minification pour la production
### Compile et minifie pour la production
```
npm run build
```
### Analyse et correction des fichiers
### Analyse et corrige les fichiers
```
npm run lint
```
@ -25,5 +25,9 @@ npm run lint
### Personnaliser la configuration
Voir [Référence de configuration](https://cli.vuejs.org/config/).
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.
# Projet de visualisation des données Dangerous Liaisons
# Projet de visualisation de données Liaisons dangereuses
Pour commencer, assurez-vous que NPM et Node sont installés et fonctionnent sur votre machine. Installez les dépendances (npm install), puis exécutez le projet en local (npm run serve) :
Pour commencer, vous devez vous assurer que NPM et Node **>=20.0.0** sont installés sur votre machine. Installez les dépendances (npm install) puis exécutez le projet localement (npm run serve) :
## Configuration du projet
```
npm install
```
### Compilation et rechargement à chaud pour le développement
### Compile et recharge à chaud pour le développement
```
npm run serve
```
### Compilation et minification pour la production
### Compile et minifie pour la production
```
npm run build
```
### Analyse et correction des fichiers
### Lint et corrige les fichiers
```
npm run lint
```
### Personnaliser la configuration
Voir [Référence de configuration](https://cli.vuejs.org/config/).
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Avertissement** :
Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforçions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d'interprétation découlant de l'utilisation de cette traduction.