diff --git a/README.md b/README.md
index ec609e0c..bd7ad395 100644
--- a/README.md
+++ b/README.md
@@ -34,6 +34,16 @@ Azure Cloud Advocates at Microsoft are pleased to offer a 10-week, 20-lesson cur
[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh/README.md) | [Chinese (Traditional, Hong Kong)](./translations/hk/README.md) | [Chinese (Traditional, Macau)](./translations/mo/README.md) | [Chinese (Traditional, Taiwan)](./translations/tw/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/br/README.md) | [Portuguese (Portugal)](./translations/pt/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md)
+
+> **Prefer to Clone Locally?**
+
+> This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:
+> ```bash
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
+> cd Data-Science-For-Beginners
+> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
+> ```
+> This gives you everything you need to complete the course with a much faster download.
**If you wish to have additional translations languages supported are listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.en.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.en.png
deleted file mode 100644
index 950cb651..00000000
Binary files a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.en.png and /dev/null differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.es.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.es.png
deleted file mode 100644
index 4003a162..00000000
Binary files a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.es.png and /dev/null differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png
deleted file mode 100644
index 00118693..00000000
Binary files a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png and /dev/null differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.en.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.en.png
deleted file mode 100644
index db92f5b8..00000000
Binary files a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.en.png and /dev/null differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.es.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.es.png
deleted file mode 100644
index df0f48c8..00000000
Binary files a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.es.png and /dev/null differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png
deleted file mode 100644
index da312c3e..00000000
Binary files a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png and /dev/null differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.en.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.en.png
deleted file mode 100644
index a419bcfc..00000000
Binary files a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.en.png and /dev/null differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.es.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.es.png
deleted file mode 100644
index 8ba615ff..00000000
Binary files a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.es.png and /dev/null differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png
deleted file mode 100644
index 91023406..00000000
Binary files a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png and /dev/null differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.en.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.en.png
deleted file mode 100644
index 69ab4f33..00000000
Binary files a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.en.png and /dev/null differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.es.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.es.png
deleted file mode 100644
index ee595a69..00000000
Binary files a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.es.png and /dev/null differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png
deleted file mode 100644
index 99ec6bd9..00000000
Binary files a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png and /dev/null differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.en.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.en.png
deleted file mode 100644
index 5e1c3c2d..00000000
Binary files a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.en.png and /dev/null differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.es.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.es.png
deleted file mode 100644
index 8d13a266..00000000
Binary files a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.es.png and /dev/null differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png
deleted file mode 100644
index 28f006d7..00000000
Binary files a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png and /dev/null differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.en.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.en.png
deleted file mode 100644
index f70af7ab..00000000
Binary files a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.en.png and /dev/null differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.es.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.es.png
deleted file mode 100644
index 330922bd..00000000
Binary files a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.es.png and /dev/null differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png
deleted file mode 100644
index 90f287c7..00000000
Binary files a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png and /dev/null differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.en.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.en.png
deleted file mode 100644
index b765b496..00000000
Binary files a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.en.png and /dev/null differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.es.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.es.png
deleted file mode 100644
index 4e3d6743..00000000
Binary files a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.es.png and /dev/null differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png
deleted file mode 100644
index 2b700e8e..00000000
Binary files a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png and /dev/null differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.en.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.en.png
deleted file mode 100644
index f687a7de..00000000
Binary files a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.en.png and /dev/null differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.es.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.es.png
deleted file mode 100644
index f4f83b26..00000000
Binary files a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.es.png and /dev/null differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png
deleted file mode 100644
index b1191760..00000000
Binary files a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png and /dev/null differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.en.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.en.png
deleted file mode 100644
index 946bb3aa..00000000
Binary files a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.en.png and /dev/null differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.es.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.es.png
deleted file mode 100644
index fbc552e1..00000000
Binary files a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.es.png and /dev/null differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png
deleted file mode 100644
index d5706eb4..00000000
Binary files a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png and /dev/null differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.en.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.en.png
deleted file mode 100644
index 36493094..00000000
Binary files a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.en.png and /dev/null differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.es.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.es.png
deleted file mode 100644
index 83507af7..00000000
Binary files a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.es.png and /dev/null differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png
deleted file mode 100644
index 86ef25ae..00000000
Binary files a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png and /dev/null differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.en.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.en.png
deleted file mode 100644
index 1f632298..00000000
Binary files a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.en.png and /dev/null differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.es.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.es.png
deleted file mode 100644
index 63338083..00000000
Binary files a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.es.png and /dev/null differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png
deleted file mode 100644
index 53b86704..00000000
Binary files a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png and /dev/null differ
diff --git a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.en.png b/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.en.png
deleted file mode 100644
index 573392a1..00000000
Binary files a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.en.png and /dev/null differ
diff --git a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.es.png b/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.es.png
deleted file mode 100644
index 97f88c0c..00000000
Binary files a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.es.png and /dev/null differ
diff --git a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.fr.png b/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.fr.png
deleted file mode 100644
index 7d65b5db..00000000
Binary files a/translated_images/1.0b520df6a0d9d3c4e443f4ea574b205a713ab768c6929d32f5b35dcb2bfb43ae.fr.png and /dev/null differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.en.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.en.png
deleted file mode 100644
index a0146fcb..00000000
Binary files a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.en.png and /dev/null differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.es.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.es.png
deleted file mode 100644
index 9cddb6fe..00000000
Binary files a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.es.png and /dev/null differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png
deleted file mode 100644
index 07957b72..00000000
Binary files a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png and /dev/null differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.en.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.en.png
deleted file mode 100644
index 27113fb3..00000000
Binary files a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.en.png and /dev/null differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.es.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.es.png
deleted file mode 100644
index c81557fe..00000000
Binary files a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.es.png and /dev/null differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png
deleted file mode 100644
index fd526b0d..00000000
Binary files a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png and /dev/null differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.en.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.en.png
deleted file mode 100644
index 949b4c34..00000000
Binary files a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.en.png and /dev/null differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.es.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.es.png
deleted file mode 100644
index 28abb9c5..00000000
Binary files a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.es.png and /dev/null differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png
deleted file mode 100644
index 4a765062..00000000
Binary files a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png and /dev/null differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.en.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.en.png
deleted file mode 100644
index f520a98a..00000000
Binary files a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.en.png and /dev/null differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.es.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.es.png
deleted file mode 100644
index 642f7510..00000000
Binary files a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.es.png and /dev/null differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png
deleted file mode 100644
index 707acf09..00000000
Binary files a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png and /dev/null differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.en.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.en.png
deleted file mode 100644
index b5002dc0..00000000
Binary files a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.en.png and /dev/null differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.es.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.es.png
deleted file mode 100644
index 42715de9..00000000
Binary files a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.es.png and /dev/null differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png
deleted file mode 100644
index da6ea7a3..00000000
Binary files a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png and /dev/null differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.en.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.en.png
deleted file mode 100644
index 5e17e22a..00000000
Binary files a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.en.png and /dev/null differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.es.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.es.png
deleted file mode 100644
index 0a6aa4bc..00000000
Binary files a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.es.png and /dev/null differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png
deleted file mode 100644
index fcec53ed..00000000
Binary files a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png and /dev/null differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.en.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.en.png
deleted file mode 100644
index ca4e25d3..00000000
Binary files a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.en.png and /dev/null differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.es.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.es.png
deleted file mode 100644
index 5ab17286..00000000
Binary files a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.es.png and /dev/null differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png
deleted file mode 100644
index 9271ab0f..00000000
Binary files a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png and /dev/null differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.en.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.en.png
deleted file mode 100644
index 89322f34..00000000
Binary files a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.en.png and /dev/null differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.es.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.es.png
deleted file mode 100644
index ffeb223d..00000000
Binary files a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.es.png and /dev/null differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png
deleted file mode 100644
index 69f90a42..00000000
Binary files a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png and /dev/null differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.en.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.en.png
deleted file mode 100644
index bc7a75fc..00000000
Binary files a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.en.png and /dev/null differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.es.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.es.png
deleted file mode 100644
index 5bd059d6..00000000
Binary files a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.es.png and /dev/null differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png
deleted file mode 100644
index a4680b2a..00000000
Binary files a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png and /dev/null differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.en.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.en.png
deleted file mode 100644
index f33d184b..00000000
Binary files a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.en.png and /dev/null differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.es.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.es.png
deleted file mode 100644
index 008ecf97..00000000
Binary files a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.es.png and /dev/null differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png
deleted file mode 100644
index 40d169e8..00000000
Binary files a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.en.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.en.png
deleted file mode 100644
index c0faa4c2..00000000
Binary files a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.en.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.es.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.es.png
deleted file mode 100644
index 869f72b6..00000000
Binary files a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.es.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png
deleted file mode 100644
index 563a804c..00000000
Binary files a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png and /dev/null differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.en.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.en.png
deleted file mode 100644
index 596f12d3..00000000
Binary files a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.en.png and /dev/null differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.es.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.es.png
deleted file mode 100644
index f7ef89b0..00000000
Binary files a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.es.png and /dev/null differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png
deleted file mode 100644
index eab0a589..00000000
Binary files a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.en.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.en.png
deleted file mode 100644
index db111c5b..00000000
Binary files a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.en.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.es.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.es.png
deleted file mode 100644
index 0c267c0d..00000000
Binary files a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.es.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png
deleted file mode 100644
index 24f39074..00000000
Binary files a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.en.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.en.png
deleted file mode 100644
index 1dae91aa..00000000
Binary files a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.en.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.es.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.es.png
deleted file mode 100644
index 23ed28cb..00000000
Binary files a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.es.png and /dev/null differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png
deleted file mode 100644
index fe71e770..00000000
Binary files a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png and /dev/null differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.en.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.en.png
deleted file mode 100644
index 9876f25c..00000000
Binary files a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.en.png and /dev/null differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.es.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.es.png
deleted file mode 100644
index 968ce52e..00000000
Binary files a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.es.png and /dev/null differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png
deleted file mode 100644
index 968ce52e..00000000
Binary files a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png and /dev/null differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.en.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.en.png
deleted file mode 100644
index 3a85f737..00000000
Binary files a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.en.png and /dev/null differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.es.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.es.png
deleted file mode 100644
index 19b2d90c..00000000
Binary files a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.es.png and /dev/null differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png
deleted file mode 100644
index 19b2d90c..00000000
Binary files a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png and /dev/null differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.en.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.en.png
deleted file mode 100644
index 347d30f4..00000000
Binary files a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.en.png and /dev/null differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.es.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.es.png
deleted file mode 100644
index 95ef6670..00000000
Binary files a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.es.png and /dev/null differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png
deleted file mode 100644
index 022638b2..00000000
Binary files a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png and /dev/null differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.en.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.en.png
deleted file mode 100644
index d4d3c761..00000000
Binary files a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.en.png and /dev/null differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.es.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.es.png
deleted file mode 100644
index d4d3c761..00000000
Binary files a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.es.png and /dev/null differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png
deleted file mode 100644
index c83f6e28..00000000
Binary files a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png and /dev/null differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.en.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.en.png
deleted file mode 100644
index d4d3c761..00000000
Binary files a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.en.png and /dev/null differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.es.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.es.png
deleted file mode 100644
index 830c6fcc..00000000
Binary files a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.es.png and /dev/null differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png
deleted file mode 100644
index 28bcfd8d..00000000
Binary files a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png and /dev/null differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.en.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.en.png
deleted file mode 100644
index f16b4c67..00000000
Binary files a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.en.png and /dev/null differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.es.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.es.png
deleted file mode 100644
index ff46ddc7..00000000
Binary files a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.es.png and /dev/null differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png
deleted file mode 100644
index 4b65a73f..00000000
Binary files a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.en.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.en.png
deleted file mode 100644
index 1b1699ee..00000000
Binary files a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.en.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.es.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.es.png
deleted file mode 100644
index 9ad678aa..00000000
Binary files a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.es.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png
deleted file mode 100644
index 91b58394..00000000
Binary files a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.en.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.en.png
deleted file mode 100644
index e43e4de2..00000000
Binary files a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.en.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.es.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.es.png
deleted file mode 100644
index a2542e1d..00000000
Binary files a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.es.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png
deleted file mode 100644
index 6cdc18a9..00000000
Binary files a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.en.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.en.png
deleted file mode 100644
index 4af84c27..00000000
Binary files a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.en.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.es.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.es.png
deleted file mode 100644
index 06b381b7..00000000
Binary files a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.es.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png
deleted file mode 100644
index 936e3f12..00000000
Binary files a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.en.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.en.png
deleted file mode 100644
index b18bb01f..00000000
Binary files a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.en.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.es.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.es.png
deleted file mode 100644
index b5a3f783..00000000
Binary files a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.es.png and /dev/null differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png
deleted file mode 100644
index 4ae71bf0..00000000
Binary files a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png and /dev/null differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.en.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.en.png
deleted file mode 100644
index fe025577..00000000
Binary files a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.en.png and /dev/null differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.es.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.es.png
deleted file mode 100644
index 56f5205c..00000000
Binary files a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.es.png and /dev/null differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png
deleted file mode 100644
index dd60fa18..00000000
Binary files a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png and /dev/null differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.en.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.en.png
deleted file mode 100644
index f6c3c3e6..00000000
Binary files a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.en.png and /dev/null differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.es.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.es.png
deleted file mode 100644
index 2d24fff6..00000000
Binary files a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.es.png and /dev/null differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png
deleted file mode 100644
index 7efd83e6..00000000
Binary files a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png and /dev/null differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.en.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.en.png
deleted file mode 100644
index 6b632eca..00000000
Binary files a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.en.png and /dev/null differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.es.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.es.png
deleted file mode 100644
index 53df81a5..00000000
Binary files a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.es.png and /dev/null differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png
deleted file mode 100644
index e0774017..00000000
Binary files a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png and /dev/null differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.en.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.en.png
deleted file mode 100644
index 79d7b717..00000000
Binary files a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.en.png and /dev/null differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.es.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.es.png
deleted file mode 100644
index 19a06b92..00000000
Binary files a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.es.png and /dev/null differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png
deleted file mode 100644
index 6a9e03cf..00000000
Binary files a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.en.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.en.png
deleted file mode 100644
index cff44653..00000000
Binary files a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.en.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.es.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.es.png
deleted file mode 100644
index 81bb7231..00000000
Binary files a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.es.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png
deleted file mode 100644
index 0c357099..00000000
Binary files a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.en.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.en.png
deleted file mode 100644
index cff44653..00000000
Binary files a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.en.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.es.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.es.png
deleted file mode 100644
index 89988b0a..00000000
Binary files a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.es.png and /dev/null differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png
deleted file mode 100644
index 0c357099..00000000
Binary files a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png and /dev/null differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.en.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.en.jpg
deleted file mode 100644
index 83f93eea..00000000
Binary files a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.es.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.es.jpg
deleted file mode 100644
index c7647956..00000000
Binary files a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg
deleted file mode 100644
index a5cb324c..00000000
Binary files a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.en.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.en.jpg
deleted file mode 100644
index 83f93eea..00000000
Binary files a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.es.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.es.jpg
deleted file mode 100644
index c7647956..00000000
Binary files a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg
deleted file mode 100644
index fec2bf6c..00000000
Binary files a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.en.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.en.jpg
deleted file mode 100644
index 630293c5..00000000
Binary files a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.es.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.es.jpg
deleted file mode 100644
index e79840cc..00000000
Binary files a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg
deleted file mode 100644
index ccd50860..00000000
Binary files a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.en.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.en.jpg
deleted file mode 100644
index 630293c5..00000000
Binary files a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.es.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.es.jpg
deleted file mode 100644
index 19246be4..00000000
Binary files a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg
deleted file mode 100644
index b575cf37..00000000
Binary files a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.en.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.en.jpg
deleted file mode 100644
index fd2f7a0a..00000000
Binary files a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.es.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.es.jpg
deleted file mode 100644
index 2c93ed78..00000000
Binary files a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg
deleted file mode 100644
index 2fc2ad7d..00000000
Binary files a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.en.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.en.jpg
deleted file mode 100644
index fd2f7a0a..00000000
Binary files a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.en.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.es.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.es.jpg
deleted file mode 100644
index c985c13e..00000000
Binary files a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.es.jpg and /dev/null differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg
deleted file mode 100644
index e934fe35..00000000
Binary files a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg and /dev/null differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.en.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.en.jpg
deleted file mode 100644
index 032326e9..00000000
Binary files a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.en.jpg and /dev/null differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.es.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.es.jpg
deleted file mode 100644
index 032326e9..00000000
Binary files a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.es.jpg and /dev/null differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg
deleted file mode 100644
index 032326e9..00000000
Binary files a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg and /dev/null differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.en.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.en.png
deleted file mode 100644
index f63e0173..00000000
Binary files a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.en.png and /dev/null differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.es.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.es.png
deleted file mode 100644
index 6bf9bef3..00000000
Binary files a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.es.png and /dev/null differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png
deleted file mode 100644
index a9301b6e..00000000
Binary files a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png and /dev/null differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.en.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.en.png
deleted file mode 100644
index 0c3cd8cc..00000000
Binary files a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.en.png and /dev/null differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.es.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.es.png
deleted file mode 100644
index 0da2488b..00000000
Binary files a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.es.png and /dev/null differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png
deleted file mode 100644
index 52d7e830..00000000
Binary files a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png and /dev/null differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.en.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.en.png
deleted file mode 100644
index 839b08c7..00000000
Binary files a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.en.png and /dev/null differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.es.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.es.png
deleted file mode 100644
index 7be1d979..00000000
Binary files a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.es.png and /dev/null differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png
deleted file mode 100644
index 0870f68f..00000000
Binary files a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png and /dev/null differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.en.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.en.png
deleted file mode 100644
index 79e030ec..00000000
Binary files a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.en.png and /dev/null differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.es.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.es.png
deleted file mode 100644
index 030b135e..00000000
Binary files a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.es.png and /dev/null differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png
deleted file mode 100644
index 85f26a22..00000000
Binary files a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png and /dev/null differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.en.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.en.png
deleted file mode 100644
index 78c4859c..00000000
Binary files a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.en.png and /dev/null differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.es.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.es.png
deleted file mode 100644
index 3423a5cc..00000000
Binary files a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.es.png and /dev/null differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png
deleted file mode 100644
index 1c896ff1..00000000
Binary files a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png and /dev/null differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.en.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.en.png
deleted file mode 100644
index 78c4859c..00000000
Binary files a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.en.png and /dev/null differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.es.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.es.png
deleted file mode 100644
index ee9a64cb..00000000
Binary files a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.es.png and /dev/null differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png
deleted file mode 100644
index 1c896ff1..00000000
Binary files a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png and /dev/null differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.en.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.en.png
deleted file mode 100644
index f2bb6df3..00000000
Binary files a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.en.png and /dev/null differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.es.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.es.png
deleted file mode 100644
index 5c6a2eb2..00000000
Binary files a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.es.png and /dev/null differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png
deleted file mode 100644
index 7a159cf7..00000000
Binary files a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png and /dev/null differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.en.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.en.png
deleted file mode 100644
index 6132710f..00000000
Binary files a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.en.png and /dev/null differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.es.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.es.png
deleted file mode 100644
index 6132710f..00000000
Binary files a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.es.png and /dev/null differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png
deleted file mode 100644
index 6132710f..00000000
Binary files a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png and /dev/null differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.en.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.en.png
deleted file mode 100644
index 4e45429f..00000000
Binary files a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.en.png and /dev/null differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.es.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.es.png
deleted file mode 100644
index 64d41e93..00000000
Binary files a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.es.png and /dev/null differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png
deleted file mode 100644
index 839059b4..00000000
Binary files a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png and /dev/null differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.en.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.en.png
deleted file mode 100644
index 871c099c..00000000
Binary files a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.en.png and /dev/null differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.es.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.es.png
deleted file mode 100644
index 2d509b27..00000000
Binary files a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.es.png and /dev/null differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png
deleted file mode 100644
index 7c62a9e9..00000000
Binary files a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png and /dev/null differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.en.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.en.png
deleted file mode 100644
index bea2b83a..00000000
Binary files a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.en.png and /dev/null differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.es.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.es.png
deleted file mode 100644
index bea2b83a..00000000
Binary files a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.es.png and /dev/null differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png
deleted file mode 100644
index bea2b83a..00000000
Binary files a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png and /dev/null differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.en.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.en.jpg
deleted file mode 100644
index 30a2ba6e..00000000
Binary files a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.en.jpg and /dev/null differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.es.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.es.jpg
deleted file mode 100644
index 30a2ba6e..00000000
Binary files a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.es.jpg and /dev/null differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg
deleted file mode 100644
index 30a2ba6e..00000000
Binary files a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg and /dev/null differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.en.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.en.png
deleted file mode 100644
index ef3c1a38..00000000
Binary files a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.en.png and /dev/null differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.es.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.es.png
deleted file mode 100644
index 4adc2ce7..00000000
Binary files a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.es.png and /dev/null differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png
deleted file mode 100644
index edd3c293..00000000
Binary files a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png and /dev/null differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.en.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.en.png
deleted file mode 100644
index 2b466eef..00000000
Binary files a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.en.png and /dev/null differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.es.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.es.png
deleted file mode 100644
index 861de3d2..00000000
Binary files a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.es.png and /dev/null differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png
deleted file mode 100644
index 6902b5d4..00000000
Binary files a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png and /dev/null differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.en.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.en.png
deleted file mode 100644
index ec57b526..00000000
Binary files a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.en.png and /dev/null differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.es.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.es.png
deleted file mode 100644
index e370f56f..00000000
Binary files a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.es.png and /dev/null differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png
deleted file mode 100644
index d35daeb2..00000000
Binary files a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png and /dev/null differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.en.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.en.png
deleted file mode 100644
index 66763c41..00000000
Binary files a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.en.png and /dev/null differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.es.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.es.png
deleted file mode 100644
index 96add336..00000000
Binary files a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.es.png and /dev/null differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png
deleted file mode 100644
index 12b5a708..00000000
Binary files a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png and /dev/null differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.en.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.en.jpg
deleted file mode 100644
index 59186b72..00000000
Binary files a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.en.jpg and /dev/null differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.es.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.es.jpg
deleted file mode 100644
index cf2cdf11..00000000
Binary files a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.es.jpg and /dev/null differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg
deleted file mode 100644
index cf2cdf11..00000000
Binary files a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg and /dev/null differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.en.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.en.png
deleted file mode 100644
index 99784641..00000000
Binary files a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.en.png and /dev/null differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.es.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.es.png
deleted file mode 100644
index 3332fc8b..00000000
Binary files a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.es.png and /dev/null differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png
deleted file mode 100644
index 6495b2cc..00000000
Binary files a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png and /dev/null differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.en.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.en.png
deleted file mode 100644
index acfb8c77..00000000
Binary files a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.en.png and /dev/null differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.es.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.es.png
deleted file mode 100644
index 30c55901..00000000
Binary files a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.es.png and /dev/null differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png
deleted file mode 100644
index 5b1712c6..00000000
Binary files a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png and /dev/null differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.en.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.en.png
deleted file mode 100644
index 12d2bad4..00000000
Binary files a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.en.png and /dev/null differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.es.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.es.png
deleted file mode 100644
index bc9886e2..00000000
Binary files a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.es.png and /dev/null differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png
deleted file mode 100644
index 79724176..00000000
Binary files a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.en.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.en.png
deleted file mode 100644
index a5834f60..00000000
Binary files a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.en.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.es.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.es.png
deleted file mode 100644
index 1fbdacf5..00000000
Binary files a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.es.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png
deleted file mode 100644
index 94f68db6..00000000
Binary files a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.en.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.en.png
deleted file mode 100644
index 08651a1f..00000000
Binary files a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.en.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.es.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.es.png
deleted file mode 100644
index 1d95d82e..00000000
Binary files a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.es.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png
deleted file mode 100644
index aeb534ca..00000000
Binary files a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.en.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.en.png
deleted file mode 100644
index 8945ab59..00000000
Binary files a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.en.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.es.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.es.png
deleted file mode 100644
index 60132c41..00000000
Binary files a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.es.png and /dev/null differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png
deleted file mode 100644
index e24da1be..00000000
Binary files a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png and /dev/null differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.en.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.en.png
deleted file mode 100644
index 6835acab..00000000
Binary files a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.en.png and /dev/null differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.es.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.es.png
deleted file mode 100644
index ba8b88eb..00000000
Binary files a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.es.png and /dev/null differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png
deleted file mode 100644
index ca982942..00000000
Binary files a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png and /dev/null differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.en.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.en.png
deleted file mode 100644
index 2740b3a3..00000000
Binary files a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.en.png and /dev/null differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.es.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.es.png
deleted file mode 100644
index b3dab7e5..00000000
Binary files a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.es.png and /dev/null differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png
deleted file mode 100644
index d9680921..00000000
Binary files a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png and /dev/null differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.en.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.en.jpg
deleted file mode 100644
index 54145b36..00000000
Binary files a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.en.jpg and /dev/null differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.es.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.es.jpg
deleted file mode 100644
index 1d9e3628..00000000
Binary files a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.es.jpg and /dev/null differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg
deleted file mode 100644
index 1d9e3628..00000000
Binary files a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg and /dev/null differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.en.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.en.png
deleted file mode 100644
index eb098d4b..00000000
Binary files a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.en.png and /dev/null differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.es.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.es.png
deleted file mode 100644
index e38c5dec..00000000
Binary files a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.es.png and /dev/null differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png
deleted file mode 100644
index 112325f9..00000000
Binary files a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png and /dev/null differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.en.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.en.jpg
deleted file mode 100644
index c3db321e..00000000
Binary files a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.en.jpg and /dev/null differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.es.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.es.jpg
deleted file mode 100644
index 746576bf..00000000
Binary files a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.es.jpg and /dev/null differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg
deleted file mode 100644
index 04950fd0..00000000
Binary files a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg and /dev/null differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.en.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.en.jpg
deleted file mode 100644
index a857f64c..00000000
Binary files a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.en.jpg and /dev/null differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.es.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.es.jpg
deleted file mode 100644
index 247ff5e6..00000000
Binary files a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.es.jpg and /dev/null differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg
deleted file mode 100644
index efdca0c1..00000000
Binary files a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg and /dev/null differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.en.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.en.png
deleted file mode 100644
index d6a5a148..00000000
Binary files a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.en.png and /dev/null differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.es.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.es.png
deleted file mode 100644
index e6f56507..00000000
Binary files a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.es.png and /dev/null differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png
deleted file mode 100644
index f79b8934..00000000
Binary files a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png and /dev/null differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.en.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.en.jpg
deleted file mode 100644
index 6cfe7d38..00000000
Binary files a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.en.jpg and /dev/null differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.es.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.es.jpg
deleted file mode 100644
index 42c83a3f..00000000
Binary files a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.es.jpg and /dev/null differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg
deleted file mode 100644
index 147d3c89..00000000
Binary files a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg and /dev/null differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.en.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.en.png
deleted file mode 100644
index b02fc9c8..00000000
Binary files a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.en.png and /dev/null differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.es.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.es.png
deleted file mode 100644
index 923c5017..00000000
Binary files a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.es.png and /dev/null differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png
deleted file mode 100644
index 408631dd..00000000
Binary files a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png and /dev/null differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.en.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.en.png
deleted file mode 100644
index c07c292c..00000000
Binary files a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.en.png and /dev/null differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.es.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.es.png
deleted file mode 100644
index 6e11b4e5..00000000
Binary files a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.es.png and /dev/null differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png
deleted file mode 100644
index 290e3b19..00000000
Binary files a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png and /dev/null differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.en.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.en.png
deleted file mode 100644
index ffb71143..00000000
Binary files a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.en.png and /dev/null differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.es.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.es.png
deleted file mode 100644
index 5abb91d0..00000000
Binary files a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.es.png and /dev/null differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png
deleted file mode 100644
index aedd58ec..00000000
Binary files a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png and /dev/null differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.en.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.en.png
deleted file mode 100644
index 89b8b9d6..00000000
Binary files a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.en.png and /dev/null differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.es.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.es.png
deleted file mode 100644
index 6dc40d2f..00000000
Binary files a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.es.png and /dev/null differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png
deleted file mode 100644
index 5345f108..00000000
Binary files a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png and /dev/null differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.en.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.en.png
deleted file mode 100644
index 4e5f57e4..00000000
Binary files a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.en.png and /dev/null differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.es.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.es.png
deleted file mode 100644
index e1115acb..00000000
Binary files a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.es.png and /dev/null differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png
deleted file mode 100644
index 3c58d71d..00000000
Binary files a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png and /dev/null differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.en.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.en.png
deleted file mode 100644
index 8fba86fc..00000000
Binary files a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.en.png and /dev/null differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.es.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.es.png
deleted file mode 100644
index 27437a46..00000000
Binary files a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.es.png and /dev/null differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png
deleted file mode 100644
index 80eb1333..00000000
Binary files a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png and /dev/null differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.en.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.en.png
deleted file mode 100644
index ac3e3467..00000000
Binary files a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.en.png and /dev/null differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.es.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.es.png
deleted file mode 100644
index 3598c773..00000000
Binary files a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.es.png and /dev/null differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png
deleted file mode 100644
index ce6d40bb..00000000
Binary files a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png and /dev/null differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.en.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.en.png
deleted file mode 100644
index 5affb092..00000000
Binary files a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.en.png and /dev/null differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.es.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.es.png
deleted file mode 100644
index 92d77bd9..00000000
Binary files a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.es.png and /dev/null differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png
deleted file mode 100644
index 9031201c..00000000
Binary files a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png and /dev/null differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.en.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.en.png
deleted file mode 100644
index 5733b809..00000000
Binary files a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.en.png and /dev/null differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.es.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.es.png
deleted file mode 100644
index 73fc9d92..00000000
Binary files a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.es.png and /dev/null differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png
deleted file mode 100644
index 427ef6fe..00000000
Binary files a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png and /dev/null differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.en.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.en.png
deleted file mode 100644
index 005a5bd3..00000000
Binary files a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.en.png and /dev/null differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.es.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.es.png
deleted file mode 100644
index 3b26d07e..00000000
Binary files a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.es.png and /dev/null differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png
deleted file mode 100644
index 49bade81..00000000
Binary files a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png and /dev/null differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.en.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.en.png
deleted file mode 100644
index 735eaf66..00000000
Binary files a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.en.png and /dev/null differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.es.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.es.png
deleted file mode 100644
index 75bcc859..00000000
Binary files a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.es.png and /dev/null differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png
deleted file mode 100644
index f7bb8733..00000000
Binary files a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png and /dev/null differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.en.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.en.png
deleted file mode 100644
index 509d7ba4..00000000
Binary files a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.en.png and /dev/null differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.es.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.es.png
deleted file mode 100644
index 3cb35f2e..00000000
Binary files a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.es.png and /dev/null differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png
deleted file mode 100644
index f3a408ef..00000000
Binary files a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png and /dev/null differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.en.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.en.png
deleted file mode 100644
index ccc99767..00000000
Binary files a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.en.png and /dev/null differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.es.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.es.png
deleted file mode 100644
index ccc99767..00000000
Binary files a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.es.png and /dev/null differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png
deleted file mode 100644
index ccc99767..00000000
Binary files a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png and /dev/null differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.en.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.en.png
deleted file mode 100644
index c8fbf022..00000000
Binary files a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.en.png and /dev/null differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.es.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.es.png
deleted file mode 100644
index 84a90b99..00000000
Binary files a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.es.png and /dev/null differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png
deleted file mode 100644
index 456ce032..00000000
Binary files a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png and /dev/null differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.en.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.en.png
deleted file mode 100644
index f2d0f317..00000000
Binary files a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.en.png and /dev/null differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.es.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.es.png
deleted file mode 100644
index f2d0f317..00000000
Binary files a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.es.png and /dev/null differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png
deleted file mode 100644
index f2d0f317..00000000
Binary files a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png and /dev/null differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.en.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.en.png
deleted file mode 100644
index a5d3180b..00000000
Binary files a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.en.png and /dev/null differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.es.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.es.png
deleted file mode 100644
index aee035b3..00000000
Binary files a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.es.png and /dev/null differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png
deleted file mode 100644
index 4b782c37..00000000
Binary files a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png and /dev/null differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.en.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.en.png
deleted file mode 100644
index e48b0151..00000000
Binary files a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.en.png and /dev/null differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.es.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.es.png
deleted file mode 100644
index e48b0151..00000000
Binary files a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.es.png and /dev/null differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png
deleted file mode 100644
index e48b0151..00000000
Binary files a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png and /dev/null differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.en.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.en.png
deleted file mode 100644
index a18c1885..00000000
Binary files a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.en.png and /dev/null differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.es.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.es.png
deleted file mode 100644
index 0e9619c5..00000000
Binary files a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.es.png and /dev/null differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png
deleted file mode 100644
index cc1eba8f..00000000
Binary files a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png and /dev/null differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.en.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.en.png
deleted file mode 100644
index 710b509c..00000000
Binary files a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.en.png and /dev/null differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.es.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.es.png
deleted file mode 100644
index 258d62a2..00000000
Binary files a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.es.png and /dev/null differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.fr.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.fr.png
deleted file mode 100644
index d2e18463..00000000
Binary files a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.fr.png and /dev/null differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.en.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.en.png
deleted file mode 100644
index c9a6ff0c..00000000
Binary files a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.en.png and /dev/null differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.es.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.es.png
deleted file mode 100644
index ed38c4e5..00000000
Binary files a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.es.png and /dev/null differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png
deleted file mode 100644
index f4b851a8..00000000
Binary files a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png and /dev/null differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.en.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.en.png
deleted file mode 100644
index 55fdc9c9..00000000
Binary files a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.en.png and /dev/null differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.es.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.es.png
deleted file mode 100644
index cdfe9ff7..00000000
Binary files a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.es.png and /dev/null differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png
deleted file mode 100644
index bcfec65b..00000000
Binary files a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png and /dev/null differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.en.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.en.png
deleted file mode 100644
index 9185374b..00000000
Binary files a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.en.png and /dev/null differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.es.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.es.png
deleted file mode 100644
index 95558177..00000000
Binary files a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.es.png and /dev/null differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png
deleted file mode 100644
index 75f6256d..00000000
Binary files a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png and /dev/null differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.en.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.en.png
deleted file mode 100644
index 145028d4..00000000
Binary files a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.en.png and /dev/null differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.es.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.es.png
deleted file mode 100644
index aa0f9e3a..00000000
Binary files a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.es.png and /dev/null differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png
deleted file mode 100644
index e109b4c9..00000000
Binary files a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png and /dev/null differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.en.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.en.png
deleted file mode 100644
index f4c463d2..00000000
Binary files a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.en.png and /dev/null differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.es.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.es.png
deleted file mode 100644
index 4ca77003..00000000
Binary files a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.es.png and /dev/null differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png
deleted file mode 100644
index 5c782d20..00000000
Binary files a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png and /dev/null differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.en.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.en.png
deleted file mode 100644
index 359a7650..00000000
Binary files a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.en.png and /dev/null differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.es.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.es.png
deleted file mode 100644
index 5855b7fd..00000000
Binary files a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.es.png and /dev/null differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png
deleted file mode 100644
index eda025f6..00000000
Binary files a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png and /dev/null differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.en.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.en.png
deleted file mode 100644
index 3324d997..00000000
Binary files a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.en.png and /dev/null differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.es.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.es.png
deleted file mode 100644
index d65a7fc9..00000000
Binary files a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.es.png and /dev/null differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png
deleted file mode 100644
index fade35ca..00000000
Binary files a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png and /dev/null differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.en.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.en.png
deleted file mode 100644
index 0567db6b..00000000
Binary files a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.en.png and /dev/null differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.es.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.es.png
deleted file mode 100644
index 01586c16..00000000
Binary files a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.es.png and /dev/null differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png
deleted file mode 100644
index 3c237683..00000000
Binary files a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png and /dev/null differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.en.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.en.png
deleted file mode 100644
index 9773f440..00000000
Binary files a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.en.png and /dev/null differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.es.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.es.png
deleted file mode 100644
index 9150d468..00000000
Binary files a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.es.png and /dev/null differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png
deleted file mode 100644
index 322025b5..00000000
Binary files a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png and /dev/null differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.en.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.en.png
deleted file mode 100644
index 818b668e..00000000
Binary files a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.en.png and /dev/null differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.es.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.es.png
deleted file mode 100644
index 1f13e99e..00000000
Binary files a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.es.png and /dev/null differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png
deleted file mode 100644
index 95963b83..00000000
Binary files a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png and /dev/null differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png
deleted file mode 100644
index 26e0ae43..00000000
Binary files a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.en.png and /dev/null differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.es.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.es.png
deleted file mode 100644
index 26e0ae43..00000000
Binary files a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.es.png and /dev/null differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png
deleted file mode 100644
index 26e0ae43..00000000
Binary files a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png and /dev/null differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.en.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.en.png
deleted file mode 100644
index c9764cc6..00000000
Binary files a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.en.png and /dev/null differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.es.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.es.png
deleted file mode 100644
index 68697669..00000000
Binary files a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.es.png and /dev/null differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png
deleted file mode 100644
index 73e6f587..00000000
Binary files a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png and /dev/null differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.en.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.en.png
deleted file mode 100644
index 2831ef4f..00000000
Binary files a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.en.png and /dev/null differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.es.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.es.png
deleted file mode 100644
index 5aa450f5..00000000
Binary files a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.es.png and /dev/null differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png
deleted file mode 100644
index ac2007db..00000000
Binary files a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png and /dev/null differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.en.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.en.png
deleted file mode 100644
index 76cfae01..00000000
Binary files a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.en.png and /dev/null differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.es.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.es.png
deleted file mode 100644
index 9c4b05af..00000000
Binary files a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.es.png and /dev/null differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png
deleted file mode 100644
index 9bfd8617..00000000
Binary files a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png and /dev/null differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.en.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.en.png
deleted file mode 100644
index bc3879fa..00000000
Binary files a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.en.png and /dev/null differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.es.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.es.png
deleted file mode 100644
index 3402e174..00000000
Binary files a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.es.png and /dev/null differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png
deleted file mode 100644
index a4a86c50..00000000
Binary files a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png and /dev/null differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.en.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.en.png
deleted file mode 100644
index 04813932..00000000
Binary files a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.en.png and /dev/null differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.es.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.es.png
deleted file mode 100644
index 10986094..00000000
Binary files a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.es.png and /dev/null differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png
deleted file mode 100644
index d93fc22b..00000000
Binary files a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png and /dev/null differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.en.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.en.png
deleted file mode 100644
index 7013bcf0..00000000
Binary files a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.en.png and /dev/null differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.es.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.es.png
deleted file mode 100644
index fbcebe3e..00000000
Binary files a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.es.png and /dev/null differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png
deleted file mode 100644
index 5a586d18..00000000
Binary files a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png and /dev/null differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.en.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.en.png
deleted file mode 100644
index 09dcc959..00000000
Binary files a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.en.png and /dev/null differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.es.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.es.png
deleted file mode 100644
index a5ab64a8..00000000
Binary files a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.es.png and /dev/null differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png
deleted file mode 100644
index 371cf420..00000000
Binary files a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png and /dev/null differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.en.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.en.png
deleted file mode 100644
index ba861dc0..00000000
Binary files a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.en.png and /dev/null differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.es.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.es.png
deleted file mode 100644
index 2270660a..00000000
Binary files a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.es.png and /dev/null differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png
deleted file mode 100644
index 2b3a87a2..00000000
Binary files a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png and /dev/null differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.en.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.en.png
deleted file mode 100644
index ae456a3b..00000000
Binary files a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.en.png and /dev/null differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.es.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.es.png
deleted file mode 100644
index ce5e7b9c..00000000
Binary files a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.es.png and /dev/null differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png
deleted file mode 100644
index a7dd72c3..00000000
Binary files a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png and /dev/null differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.en.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.en.png
deleted file mode 100644
index e4247856..00000000
Binary files a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.en.png and /dev/null differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.es.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.es.png
deleted file mode 100644
index 02c06bb1..00000000
Binary files a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.es.png and /dev/null differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png
deleted file mode 100644
index 3731ab08..00000000
Binary files a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.en.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.en.png
deleted file mode 100644
index dc54336c..00000000
Binary files a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.en.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.es.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.es.png
deleted file mode 100644
index 00cdb07f..00000000
Binary files a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.es.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png
deleted file mode 100644
index 209dc536..00000000
Binary files a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.en.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.en.png
deleted file mode 100644
index 77866ee4..00000000
Binary files a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.en.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.es.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.es.png
deleted file mode 100644
index 08c46735..00000000
Binary files a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.es.png and /dev/null differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png
deleted file mode 100644
index 1131752d..00000000
Binary files a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png and /dev/null differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.en.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.en.png
deleted file mode 100644
index ddbf95e5..00000000
Binary files a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.en.png and /dev/null differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.es.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.es.png
deleted file mode 100644
index 82abcbef..00000000
Binary files a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.es.png and /dev/null differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png
deleted file mode 100644
index d037fc3a..00000000
Binary files a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png and /dev/null differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.en.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.en.png
deleted file mode 100644
index cf8f635d..00000000
Binary files a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.en.png and /dev/null differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.es.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.es.png
deleted file mode 100644
index 47abeb76..00000000
Binary files a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.es.png and /dev/null differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png
deleted file mode 100644
index ccd602ff..00000000
Binary files a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png and /dev/null differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.en.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.en.png
deleted file mode 100644
index 0aadca47..00000000
Binary files a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.en.png and /dev/null differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.es.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.es.png
deleted file mode 100644
index 47abeb76..00000000
Binary files a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.es.png and /dev/null differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png
deleted file mode 100644
index ccd602ff..00000000
Binary files a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png and /dev/null differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.en.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.en.png
deleted file mode 100644
index c98c779b..00000000
Binary files a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.en.png and /dev/null differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.es.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.es.png
deleted file mode 100644
index 386bbf13..00000000
Binary files a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.es.png and /dev/null differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png
deleted file mode 100644
index 848da812..00000000
Binary files a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png and /dev/null differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.en.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.en.png
deleted file mode 100644
index 7eacf69f..00000000
Binary files a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.en.png and /dev/null differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.es.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.es.png
deleted file mode 100644
index dd0b0018..00000000
Binary files a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.es.png and /dev/null differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png
deleted file mode 100644
index e55356e5..00000000
Binary files a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png and /dev/null differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.en.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.en.png
deleted file mode 100644
index 42f7e434..00000000
Binary files a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.en.png and /dev/null differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.es.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.es.png
deleted file mode 100644
index e82cb9c4..00000000
Binary files a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.es.png and /dev/null differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png
deleted file mode 100644
index 0aebc5b7..00000000
Binary files a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png and /dev/null differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.en.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.en.png
deleted file mode 100644
index 9830e95f..00000000
Binary files a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.en.png and /dev/null differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.es.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.es.png
deleted file mode 100644
index 0cf10ec3..00000000
Binary files a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.es.png and /dev/null differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png
deleted file mode 100644
index 99356908..00000000
Binary files a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png and /dev/null differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.en.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.en.png
deleted file mode 100644
index 4aa8802c..00000000
Binary files a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.en.png and /dev/null differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.es.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.es.png
deleted file mode 100644
index d7e56b2f..00000000
Binary files a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.es.png and /dev/null differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png
deleted file mode 100644
index deaca8a5..00000000
Binary files a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png and /dev/null differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.en.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.en.png
deleted file mode 100644
index 96713a66..00000000
Binary files a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.en.png and /dev/null differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.es.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.es.png
deleted file mode 100644
index a7809886..00000000
Binary files a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.es.png and /dev/null differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png
deleted file mode 100644
index 74e41fb6..00000000
Binary files a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.en.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.en.png
deleted file mode 100644
index c5c1e4bb..00000000
Binary files a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.en.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.es.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.es.png
deleted file mode 100644
index 91670870..00000000
Binary files a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.es.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png
deleted file mode 100644
index eaa3be8d..00000000
Binary files a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.en.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.en.png
deleted file mode 100644
index 0c37ab05..00000000
Binary files a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.en.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.es.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.es.png
deleted file mode 100644
index 0c37ab05..00000000
Binary files a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.es.png and /dev/null differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png
deleted file mode 100644
index 0c37ab05..00000000
Binary files a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png and /dev/null differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.en.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.en.png
deleted file mode 100644
index 72f5a3e4..00000000
Binary files a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.en.png and /dev/null differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.es.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.es.png
deleted file mode 100644
index 72f5a3e4..00000000
Binary files a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.es.png and /dev/null differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png
deleted file mode 100644
index 72f5a3e4..00000000
Binary files a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png and /dev/null differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.en.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.en.png
deleted file mode 100644
index f2abc333..00000000
Binary files a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.en.png and /dev/null differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.es.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.es.png
deleted file mode 100644
index 540a6093..00000000
Binary files a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.es.png and /dev/null differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png
deleted file mode 100644
index cbcfe19f..00000000
Binary files a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png and /dev/null differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.en.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.en.png
deleted file mode 100644
index 7cd55663..00000000
Binary files a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.en.png and /dev/null differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.es.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.es.png
deleted file mode 100644
index 663cd919..00000000
Binary files a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.es.png and /dev/null differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png
deleted file mode 100644
index 6da7428f..00000000
Binary files a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png and /dev/null differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.en.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.en.png
deleted file mode 100644
index 3e9ab8ac..00000000
Binary files a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.en.png and /dev/null differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.es.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.es.png
deleted file mode 100644
index 7ad19fc3..00000000
Binary files a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.es.png and /dev/null differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png
deleted file mode 100644
index 7796e784..00000000
Binary files a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png and /dev/null differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.en.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.en.png
deleted file mode 100644
index 27905fbf..00000000
Binary files a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.en.png and /dev/null differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.es.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.es.png
deleted file mode 100644
index 99644ccf..00000000
Binary files a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.es.png and /dev/null differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png
deleted file mode 100644
index 84afbdb6..00000000
Binary files a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png and /dev/null differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.en.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.en.png
deleted file mode 100644
index 497fb824..00000000
Binary files a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.en.png and /dev/null differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.es.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.es.png
deleted file mode 100644
index 422de398..00000000
Binary files a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.es.png and /dev/null differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png
deleted file mode 100644
index 6ee9941e..00000000
Binary files a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png and /dev/null differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.en.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.en.png
deleted file mode 100644
index 00145d0b..00000000
Binary files a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.en.png and /dev/null differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.es.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.es.png
deleted file mode 100644
index 2ab12fe2..00000000
Binary files a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.es.png and /dev/null differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png
deleted file mode 100644
index 8eaf91ae..00000000
Binary files a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png and /dev/null differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.en.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.en.png
deleted file mode 100644
index aa05ebcc..00000000
Binary files a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.en.png and /dev/null differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.es.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.es.png
deleted file mode 100644
index 79eaac8f..00000000
Binary files a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.es.png and /dev/null differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png
deleted file mode 100644
index f6f41ba5..00000000
Binary files a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png and /dev/null differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.en.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.en.png
deleted file mode 100644
index 499a8096..00000000
Binary files a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.en.png and /dev/null differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.es.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.es.png
deleted file mode 100644
index cff392d4..00000000
Binary files a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.es.png and /dev/null differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png
deleted file mode 100644
index c67abaf3..00000000
Binary files a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png and /dev/null differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.en.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.en.png
deleted file mode 100644
index 8a965ac6..00000000
Binary files a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.en.png and /dev/null differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.es.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.es.png
deleted file mode 100644
index 6ab14938..00000000
Binary files a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.es.png and /dev/null differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png
deleted file mode 100644
index 69a31562..00000000
Binary files a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png and /dev/null differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.en.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.en.png
deleted file mode 100644
index 9787580e..00000000
Binary files a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.en.png and /dev/null differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.es.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.es.png
deleted file mode 100644
index 0d367745..00000000
Binary files a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.es.png and /dev/null differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png
deleted file mode 100644
index 2776b1be..00000000
Binary files a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png and /dev/null differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.en.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.en.png
deleted file mode 100644
index d24ff6b4..00000000
Binary files a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.en.png and /dev/null differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.es.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.es.png
deleted file mode 100644
index 276636a0..00000000
Binary files a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.es.png and /dev/null differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png
deleted file mode 100644
index 276636a0..00000000
Binary files a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png and /dev/null differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.en.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.en.png
deleted file mode 100644
index ebdeb496..00000000
Binary files a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.en.png and /dev/null differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.es.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.es.png
deleted file mode 100644
index f612d892..00000000
Binary files a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.es.png and /dev/null differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png
deleted file mode 100644
index 108dc0c2..00000000
Binary files a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png and /dev/null differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.en.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.en.png
deleted file mode 100644
index ebdeb496..00000000
Binary files a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.en.png and /dev/null differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.es.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.es.png
deleted file mode 100644
index 9628766d..00000000
Binary files a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.es.png and /dev/null differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png
deleted file mode 100644
index 200640c0..00000000
Binary files a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png and /dev/null differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.en.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.en.png
deleted file mode 100644
index 9f5e3815..00000000
Binary files a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.en.png and /dev/null differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.es.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.es.png
deleted file mode 100644
index edc34b92..00000000
Binary files a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.es.png and /dev/null differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png
deleted file mode 100644
index e4eae7e3..00000000
Binary files a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png and /dev/null differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.en.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.en.png
deleted file mode 100644
index 4b96709c..00000000
Binary files a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.en.png and /dev/null differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.es.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.es.png
deleted file mode 100644
index e7ecbae7..00000000
Binary files a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.es.png and /dev/null differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png
deleted file mode 100644
index e7ecbae7..00000000
Binary files a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png and /dev/null differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.en.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.en.png
deleted file mode 100644
index da6a578b..00000000
Binary files a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.en.png and /dev/null differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.es.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.es.png
deleted file mode 100644
index 7319b1c4..00000000
Binary files a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.es.png and /dev/null differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png
deleted file mode 100644
index ae8ec06a..00000000
Binary files a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png and /dev/null differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.en.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.en.png
deleted file mode 100644
index a463a701..00000000
Binary files a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.en.png and /dev/null differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.es.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.es.png
deleted file mode 100644
index 5362d897..00000000
Binary files a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.es.png and /dev/null differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png
deleted file mode 100644
index 0dfe8167..00000000
Binary files a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png and /dev/null differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.en.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.en.png
deleted file mode 100644
index 4cdfa0a1..00000000
Binary files a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.en.png and /dev/null differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.es.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.es.png
deleted file mode 100644
index dad73556..00000000
Binary files a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.es.png and /dev/null differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png
deleted file mode 100644
index 9985f4ad..00000000
Binary files a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png and /dev/null differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.en.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.en.png
deleted file mode 100644
index 101dbfb1..00000000
Binary files a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.en.png and /dev/null differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.es.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.es.png
deleted file mode 100644
index 909bb0b0..00000000
Binary files a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.es.png and /dev/null differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png
deleted file mode 100644
index cdc89fb9..00000000
Binary files a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png and /dev/null differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.en.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.en.png
deleted file mode 100644
index eb86e1f3..00000000
Binary files a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.en.png and /dev/null differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.es.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.es.png
deleted file mode 100644
index d21f39d2..00000000
Binary files a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.es.png and /dev/null differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png
deleted file mode 100644
index d16f8586..00000000
Binary files a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png and /dev/null differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.en.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.en.png
deleted file mode 100644
index b81b54df..00000000
Binary files a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.en.png and /dev/null differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.es.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.es.png
deleted file mode 100644
index b67cfffb..00000000
Binary files a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.es.png and /dev/null differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png
deleted file mode 100644
index 380ad975..00000000
Binary files a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.en.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.en.png
deleted file mode 100644
index e44bb76f..00000000
Binary files a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.en.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.es.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.es.png
deleted file mode 100644
index 00463c40..00000000
Binary files a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.es.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png
deleted file mode 100644
index b6e2a23f..00000000
Binary files a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.en.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.en.png
deleted file mode 100644
index 420674b6..00000000
Binary files a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.en.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.es.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.es.png
deleted file mode 100644
index 420674b6..00000000
Binary files a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.es.png and /dev/null differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png
deleted file mode 100644
index 420674b6..00000000
Binary files a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png and /dev/null differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.en.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.en.png
deleted file mode 100644
index b754fd91..00000000
Binary files a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.en.png and /dev/null differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.es.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.es.png
deleted file mode 100644
index 3bd8f346..00000000
Binary files a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.es.png and /dev/null differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png
deleted file mode 100644
index 9ac8723a..00000000
Binary files a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png and /dev/null differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.en.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.en.png
deleted file mode 100644
index 96bda8e2..00000000
Binary files a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.en.png and /dev/null differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.es.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.es.png
deleted file mode 100644
index a9f4f12f..00000000
Binary files a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.es.png and /dev/null differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png
deleted file mode 100644
index 046b7073..00000000
Binary files a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png and /dev/null differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.en.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.en.png
deleted file mode 100644
index da86292d..00000000
Binary files a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.en.png and /dev/null differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.es.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.es.png
deleted file mode 100644
index 98395d3c..00000000
Binary files a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.es.png and /dev/null differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png
deleted file mode 100644
index 457b8669..00000000
Binary files a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png and /dev/null differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.en.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.en.png
deleted file mode 100644
index 462346a6..00000000
Binary files a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.en.png and /dev/null differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.es.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.es.png
deleted file mode 100644
index 462346a6..00000000
Binary files a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.es.png and /dev/null differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png
deleted file mode 100644
index 462346a6..00000000
Binary files a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png and /dev/null differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.en.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.en.png
deleted file mode 100644
index e636a593..00000000
Binary files a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.en.png and /dev/null differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.es.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.es.png
deleted file mode 100644
index fd228bc5..00000000
Binary files a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.es.png and /dev/null differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png
deleted file mode 100644
index 54bcf067..00000000
Binary files a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png and /dev/null differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.en.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.en.png
deleted file mode 100644
index 816cbb77..00000000
Binary files a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.en.png and /dev/null differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.es.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.es.png
deleted file mode 100644
index c21e4cd0..00000000
Binary files a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.es.png and /dev/null differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png
deleted file mode 100644
index f34da329..00000000
Binary files a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png and /dev/null differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.en.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.en.png
deleted file mode 100644
index 7785932b..00000000
Binary files a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.en.png and /dev/null differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.es.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.es.png
deleted file mode 100644
index 0d78944e..00000000
Binary files a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.es.png and /dev/null differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png
deleted file mode 100644
index 9dfe2abe..00000000
Binary files a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png and /dev/null differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.en.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.en.png
deleted file mode 100644
index f268b100..00000000
Binary files a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.en.png and /dev/null differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.es.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.es.png
deleted file mode 100644
index b416c122..00000000
Binary files a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.es.png and /dev/null differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png
deleted file mode 100644
index 81afe705..00000000
Binary files a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png and /dev/null differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.en.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.en.png
deleted file mode 100644
index 136d7262..00000000
Binary files a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.en.png and /dev/null differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.es.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.es.png
deleted file mode 100644
index 06d91d96..00000000
Binary files a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.es.png and /dev/null differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png
deleted file mode 100644
index 7b96dee9..00000000
Binary files a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png and /dev/null differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.en.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.en.png
deleted file mode 100644
index 136d7262..00000000
Binary files a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.en.png and /dev/null differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.es.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.es.png
deleted file mode 100644
index 06d91d96..00000000
Binary files a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.es.png and /dev/null differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png
deleted file mode 100644
index b99936b1..00000000
Binary files a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png and /dev/null differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.en.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.en.png
deleted file mode 100644
index b6b6f7f3..00000000
Binary files a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.en.png and /dev/null differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.es.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.es.png
deleted file mode 100644
index 1fb44000..00000000
Binary files a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.es.png and /dev/null differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png
deleted file mode 100644
index 618c84ea..00000000
Binary files a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png and /dev/null differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.en.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.en.png
deleted file mode 100644
index 973b0c53..00000000
Binary files a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.en.png and /dev/null differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.es.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.es.png
deleted file mode 100644
index 7ac4a027..00000000
Binary files a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.es.png and /dev/null differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png
deleted file mode 100644
index 7b51bb3f..00000000
Binary files a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png and /dev/null differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.en.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.en.png
deleted file mode 100644
index 01653336..00000000
Binary files a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.en.png and /dev/null differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.es.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.es.png
deleted file mode 100644
index af568de9..00000000
Binary files a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.es.png and /dev/null differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png
deleted file mode 100644
index 02cc8abd..00000000
Binary files a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png and /dev/null differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.en.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.en.png
deleted file mode 100644
index 8f7e2b63..00000000
Binary files a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.en.png and /dev/null differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.es.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.es.png
deleted file mode 100644
index 58b15470..00000000
Binary files a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.es.png and /dev/null differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png
deleted file mode 100644
index 181db0ba..00000000
Binary files a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png and /dev/null differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.en.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.en.png
deleted file mode 100644
index 31e29502..00000000
Binary files a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.en.png and /dev/null differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.es.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.es.png
deleted file mode 100644
index 9ea23d5b..00000000
Binary files a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.es.png and /dev/null differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png
deleted file mode 100644
index b0b4d7f7..00000000
Binary files a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png and /dev/null differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.en.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.en.png
deleted file mode 100644
index c3128ec7..00000000
Binary files a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.en.png and /dev/null differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.es.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.es.png
deleted file mode 100644
index 177d0c29..00000000
Binary files a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.es.png and /dev/null differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png
deleted file mode 100644
index 59f57f5b..00000000
Binary files a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png and /dev/null differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.en.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.en.png
deleted file mode 100644
index d677978a..00000000
Binary files a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.en.png and /dev/null differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.es.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.es.png
deleted file mode 100644
index 0a3971f0..00000000
Binary files a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.es.png and /dev/null differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png
deleted file mode 100644
index 5b6ec622..00000000
Binary files a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png and /dev/null differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.en.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.en.png
deleted file mode 100644
index 48447eae..00000000
Binary files a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.en.png and /dev/null differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.es.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.es.png
deleted file mode 100644
index 016ffbce..00000000
Binary files a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.es.png and /dev/null differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png
deleted file mode 100644
index a37f403b..00000000
Binary files a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png and /dev/null differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.en.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.en.png
deleted file mode 100644
index 20195d67..00000000
Binary files a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.en.png and /dev/null differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.es.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.es.png
deleted file mode 100644
index 8d6e6406..00000000
Binary files a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.es.png and /dev/null differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png
deleted file mode 100644
index 2639c025..00000000
Binary files a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png and /dev/null differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.en.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.en.png
deleted file mode 100644
index c9a0a770..00000000
Binary files a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.en.png and /dev/null differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.es.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.es.png
deleted file mode 100644
index c400efb4..00000000
Binary files a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.es.png and /dev/null differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png
deleted file mode 100644
index df3acc57..00000000
Binary files a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png and /dev/null differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.en.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.en.png
deleted file mode 100644
index 0ddd8e45..00000000
Binary files a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.en.png and /dev/null differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.es.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.es.png
deleted file mode 100644
index 72904f93..00000000
Binary files a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.es.png and /dev/null differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png
deleted file mode 100644
index 2112c3e8..00000000
Binary files a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png and /dev/null differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.en.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.en.png
deleted file mode 100644
index 4560fd38..00000000
Binary files a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.en.png and /dev/null differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.es.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.es.png
deleted file mode 100644
index ee860302..00000000
Binary files a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.es.png and /dev/null differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png
deleted file mode 100644
index 8af36496..00000000
Binary files a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png and /dev/null differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.en.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.en.png
deleted file mode 100644
index 282caed4..00000000
Binary files a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.en.png and /dev/null differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.es.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.es.png
deleted file mode 100644
index 366d050b..00000000
Binary files a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.es.png and /dev/null differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png
deleted file mode 100644
index 32009ac8..00000000
Binary files a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png and /dev/null differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.en.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.en.png
deleted file mode 100644
index 82c73f63..00000000
Binary files a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.en.png and /dev/null differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.es.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.es.png
deleted file mode 100644
index 411c7a6d..00000000
Binary files a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.es.png and /dev/null differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png
deleted file mode 100644
index 044a780c..00000000
Binary files a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png and /dev/null differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.en.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.en.png
deleted file mode 100644
index 432579fb..00000000
Binary files a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.en.png and /dev/null differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.es.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.es.png
deleted file mode 100644
index e26834cd..00000000
Binary files a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.es.png and /dev/null differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png
deleted file mode 100644
index 6fb44a77..00000000
Binary files a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png and /dev/null differ
diff --git a/translations/ar/1-Introduction/01-defining-data-science/README.md b/translations/ar/1-Introduction/01-defining-data-science/README.md
index b95a62b2..30826de6 100644
--- a/translations/ar/1-Introduction/01-defining-data-science/README.md
+++ b/translations/ar/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [اختبار ما قبل المحاضرة](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
في هذا التحدي، سنحاول العثور على المفاهيم ذات الصلة بمجال علم البيانات من خلال النظر في النصوص. سنأخذ مقالة من ويكيبيديا عن علم البيانات، ونقوم بتنزيل ومعالجة النص، ثم نبني سحابة كلمات مثل هذه:
-
+
قم بزيارة [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') لقراءة الكود. يمكنك أيضًا تشغيل الكود، ومشاهدة كيفية تنفيذ جميع تحويلات البيانات في الوقت الفعلي.
diff --git a/translations/ar/1-Introduction/04-stats-and-probability/README.md b/translations/ar/1-Introduction/04-stats-and-probability/README.md
index 4506cd2f..f06667bc 100644
--- a/translations/ar/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/ar/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
نظرية الإحصاء والاحتمالات هما مجالان مترابطان في الرياضيات ولهما أهمية كبيرة في علم البيانات. يمكن العمل مع البيانات دون معرفة عميقة بالرياضيات، ولكن من الأفضل معرفة بعض المفاهيم الأساسية على الأقل. هنا سنقدم مقدمة قصيرة لمساعدتك على البدء.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [اختبار ما قبل المحاضرة](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
يمكننا فقط الحديث عن احتمال أن يقع المتغير في نطاق معين من القيم، مثل P(t1≤X2). في هذه الحالة، يتم وصف توزيع الاحتمالات بواسطة **دالة كثافة الاحتمال** p(x)، بحيث
-.
diff --git a/translations/ar/1-Introduction/README.md b/translations/ar/1-Introduction/README.md
index f1e71301..f5995c0f 100644
--- a/translations/ar/1-Introduction/README.md
+++ b/translations/ar/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# مقدمة في علم البيانات
-
+
> الصورة بواسطة ستيفن داوسون على Unsplash
في هذه الدروس، ستتعرف على كيفية تعريف علم البيانات وستتعلم عن الاعتبارات الأخلاقية التي يجب أن يأخذها عالم البيانات بعين الاعتبار. كما ستتعرف على تعريف البيانات وستتعلم قليلاً عن الإحصاء والاحتمالات، وهما المجالان الأكاديميان الأساسيان لعلم البيانات.
diff --git a/translations/ar/2-Working-With-Data/07-python/README.md b/translations/ar/2-Working-With-Data/07-python/README.md
index 0ec7cc64..65e271e0 100644
--- a/translations/ar/2-Working-With-Data/07-python/README.md
+++ b/translations/ar/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| العمل مع بايثون - _رسم توضيحي بواسطة [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
بينما توفر قواعد البيانات طرقًا فعالة جدًا لتخزين البيانات واستعلامها باستخدام لغات الاستعلام، فإن الطريقة الأكثر مرونة لمعالجة البيانات هي كتابة برنامج خاص بك لمعالجتها. في كثير من الحالات، يكون إجراء استعلام قاعدة بيانات أكثر فعالية. ومع ذلك، في بعض الحالات التي تتطلب معالجة بيانات أكثر تعقيدًا، لا يمكن القيام بذلك بسهولة باستخدام SQL.
يمكن برمجة معالجة البيانات بأي لغة برمجة، ولكن هناك لغات معينة تعتبر عالية المستوى فيما يتعلق بالعمل مع البيانات. يفضل علماء البيانات عادةً إحدى اللغات التالية:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
الآن افترض أننا ننظم حفلة للأصدقاء كل أسبوع، ونأخذ 10 عبوات إضافية من الآيس كريم للحفلة. يمكننا إنشاء سلسلة أخرى، مفهرسة حسب الأسبوع، لتوضيح ذلك:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **ملاحظة** أننا لا نستخدم الصيغة البسيطة `total_items+additional_items`. إذا فعلنا ذلك، فسنحصل على الكثير من القيم `NaN` (*ليس رقمًا*) في السلسلة الناتجة. هذا لأن هناك قيم مفقودة لبعض نقاط الفهرس في سلسلة `additional_items`، وإضافة `NaN` إلى أي شيء يؤدي إلى `NaN`. لذلك نحتاج إلى تحديد معلمة `fill_value` أثناء الجمع.
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### إطار البيانات
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
نظرًا لأننا نريد توضيح كيفية التعامل مع البيانات، ندعوك لفتح [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) وقراءته من البداية إلى النهاية. يمكنك أيضًا تنفيذ الخلايا، والقيام ببعض التحديات التي تركناها لك في النهاية.
-
+
> إذا كنت لا تعرف كيفية تشغيل الكود في Jupyter Notebook، ألقِ نظرة على [هذه المقالة](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
افتح [`notebook-papers.ipynb`](notebook-papers.ipynb) وقراءته من البداية إلى النهاية. يمكنك أيضًا تنفيذ الخلايا، والقيام ببعض التحديات التي تركناها لك في النهاية.
-
+
## معالجة بيانات الصور
diff --git a/translations/ar/2-Working-With-Data/README.md b/translations/ar/2-Working-With-Data/README.md
index 6ea6f8df..e011b566 100644
--- a/translations/ar/2-Working-With-Data/README.md
+++ b/translations/ar/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# العمل مع البيانات
-
+
> الصورة بواسطة ألكسندر سين على Unsplash
في هذه الدروس، ستتعلم بعض الطرق التي يمكن من خلالها إدارة البيانات ومعالجتها واستخدامها في التطبيقات. ستتعرف على قواعد البيانات العلائقية وغير العلائقية وكيف يمكن تخزين البيانات فيها. ستتعلم أساسيات العمل مع Python لإدارة البيانات، وستكتشف بعض الطرق العديدة التي يمكنك من خلالها استخدام Python لإدارة البيانات واستخراجها.
diff --git a/translations/ar/3-Data-Visualization/12-visualization-relationships/README.md b/translations/ar/3-Data-Visualization/12-visualization-relationships/README.md
index f22e6f4e..5d6ec48e 100644
--- a/translations/ar/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/ar/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
الآن، اعرض نفس البيانات باستخدام نظام ألوان يشبه العسل لعرض كيفية تطور السعر على مدار السنوات. يمكنك القيام بذلك عن طريق إضافة معلمة 'hue' لعرض التغيير عامًا بعد عام:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
مع هذا التغيير في نظام الألوان، يمكنك أن ترى بوضوح تقدمًا قويًا على مدار السنوات فيما يتعلق بسعر العسل لكل رطل. بالفعل، إذا نظرت إلى مجموعة بيانات للتحقق (اختر ولاية معينة، مثل أريزونا)، يمكنك رؤية نمط زيادة الأسعار عامًا بعد عام، مع بعض الاستثناءات:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
يمكنك رؤية حجم النقاط يزداد تدريجيًا.
-
+
هل هذا مجرد حالة بسيطة من العرض والطلب؟ بسبب عوامل مثل تغير المناخ وانهيار المستعمرات، هل هناك كمية أقل من العسل المتاحة للشراء عامًا بعد عام، وبالتالي ترتفع الأسعار؟
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
الإجابة: نعم، مع بعض الاستثناءات حول عام 2003:
-
+
✅ لأن Seaborn يقوم بتجميع البيانات حول خط واحد، فإنه يعرض "القياسات المتعددة عند كل قيمة x عن طريق رسم المتوسط وفاصل الثقة بنسبة 95% حول المتوسط". [المصدر](https://seaborn.pydata.org/tutorial/relational.html). يمكن تعطيل هذا السلوك الذي يستغرق وقتًا عن طريق إضافة `ci=None`.
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
الإجابة: ليس حقًا. إذا نظرت إلى الإنتاج الإجمالي، يبدو أنه قد زاد في ذلك العام تحديدًا، على الرغم من أن كمية العسل المنتجة عمومًا في انخفاض خلال هذه السنوات.
@@ -139,7 +139,7 @@ sns.relplot(
```
في هذا التصور، يمكنك مقارنة الإنتاج لكل مستعمرة وعدد المستعمرات عامًا بعد عام، جنبًا إلى جنب مع التفاف مضبوط على 3 للأعمدة:
-
+
بالنسبة لهذه المجموعة من البيانات، لا يبرز شيء بشكل خاص فيما يتعلق بعدد المستعمرات وإنتاجها، عامًا بعد عام وولاية بعد ولاية. هل هناك طريقة مختلفة للبحث عن علاقة بين هذين المتغيرين؟
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
بينما لا يبرز شيء للعين حول عام 2003، فإنه يسمح لنا بإنهاء هذا الدرس بملاحظة أكثر إيجابية: على الرغم من وجود انخفاض عام في عدد المستعمرات، فإن عدد المستعمرات يستقر حتى لو كان إنتاجها لكل مستعمرة يتناقص.
diff --git a/translations/ar/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/ar/3-Data-Visualization/R/09-visualization-quantities/README.md
index 667b9743..716ddf79 100644
--- a/translations/ar/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/ar/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
هنا، تقوم بتثبيت حزمة `ggplot2` ثم استيرادها إلى مساحة العمل باستخدام الأمر `library("ggplot2")`. لرسم أي مخطط في ggplot، يتم استخدام وظيفة `ggplot()` وتحديد مجموعة البيانات، متغيرات x و y كسمات. في هذه الحالة، نستخدم وظيفة `geom_line()` لأننا نهدف إلى رسم مخطط خطي.
-
+
ما الذي تلاحظه فورًا؟ يبدو أن هناك على الأقل نقطة شاذة واحدة - هذا عرض جناح كبير جدًا! عرض جناح يزيد عن 2000 سنتيمتر يساوي أكثر من 20 مترًا - هل هناك تيروداكتيلات تتجول في مينيسوتا؟ دعونا نحقق في الأمر.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
نحدد الزاوية في `theme` ونحدد تسميات المحورين x و y في `xlab()` و `ylab()` على التوالي. يعطي `ggtitle()` اسمًا للرسم البياني/المخطط.
-
+
حتى مع تدوير التسميات إلى 45 درجة، هناك الكثير منها لقراءتها. دعونا نحاول استراتيجية مختلفة: قم بتسمية النقاط الشاذة فقط وضع التسميات داخل الرسم البياني. يمكنك استخدام مخطط مبعثر لتوفير مساحة أكبر للتسمية:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
ماذا تكتشف؟
-
+
## تصفية البيانات الخاصة بك
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
قمنا بإنشاء إطار بيانات جديد `birds_filtered` ثم رسمنا مخططًا مبعثرًا. من خلال تصفية النقاط الشاذة، أصبحت بياناتك الآن أكثر تماسكًا وفهمًا.
-
+
الآن بعد أن أصبح لدينا مجموعة بيانات أنظف على الأقل من حيث عرض الجناح، دعونا نكتشف المزيد عن هذه الطيور.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
في المقتطف التالي، نقوم بتثبيت حزم [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) و[lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) للمساعدة في معالجة وتجميع البيانات من أجل رسم مخطط عمودي مكدس. أولاً، نقوم بتجميع البيانات حسب `Category` الطيور ثم تلخيص الأعمدة `MinLength`, `MaxLength`, `MinBodyMass`,`MaxBodyMass`,`MinWingspan`,`MaxWingspan`. ثم، نرسم المخطط العمودي باستخدام حزمة `ggplot2` ونحدد الألوان للفئات المختلفة والتسميات.
-
+
ومع ذلك، هذا المخطط العمودي غير قابل للقراءة لأنه يحتوي على الكثير من البيانات غير المجمعة. تحتاج إلى اختيار البيانات التي تريد رسمها فقط، لذا دعونا ننظر إلى طول الطيور بناءً على فئتها.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
أولاً، تقوم بعد القيم الفريدة في عمود `Category` ثم ترتيبها في إطار بيانات جديد `birds_count`. يتم ترتيب هذه البيانات المصفاة بنفس المستوى بحيث يتم رسمها بطريقة مرتبة. باستخدام `ggplot2`، تقوم بعد ذلك برسم البيانات في مخطط عمودي. يقوم `coord_flip()` برسم الأعمدة أفقيًا.
-
+
يوفر هذا المخطط العمودي عرضًا جيدًا لعدد الطيور في كل فئة. في لمحة، ترى أن أكبر عدد من الطيور في هذه المنطقة ينتمي إلى فئة البط/الإوز/طيور الماء. مينيسوتا هي "أرض 10,000 بحيرة"، لذا هذا ليس مفاجئًا!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
نقوم بتجميع بيانات `birds_filtered` حسب `Category` ثم رسم مخطط عمودي.
-
+
لا شيء مفاجئ هنا: الطيور الطنانة لديها أقل طول أقصى مقارنة بالبجع أو الإوز. من الجيد عندما تكون البيانات منطقية!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 تحدي
diff --git a/translations/ar/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/ar/3-Data-Visualization/R/10-visualization-distributions/README.md
index 0889e66f..1c26dde6 100644
--- a/translations/ar/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/ar/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
يوفر هذا نظرة عامة على التوزيع العام لطول الجسم لكل رتبة من الطيور، ولكنه ليس الطريقة المثلى لعرض التوزيعات الحقيقية. عادةً ما يتم التعامل مع هذه المهمة من خلال إنشاء مخطط هيستوجرام.
@@ -57,7 +57,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
كما ترى، فإن معظم الطيور البالغ عددها 400+ في هذه المجموعة تقع في نطاق أقل من 2000 بالنسبة لأقصى كتلة جسم. احصل على مزيد من الفهم للبيانات عن طريق تغيير معلمة `bins` إلى رقم أعلى، مثل 30:
@@ -65,7 +65,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
يعرض هذا المخطط التوزيع بطريقة أكثر تفصيلًا. يمكن إنشاء مخطط أقل انحرافًا إلى اليسار عن طريق التأكد من اختيار البيانات فقط ضمن نطاق معين:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ جرب بعض الفلاتر ونقاط البيانات الأخرى. لرؤية التوزيع الكامل للبيانات، قم بإزالة الفلتر `['MaxBodyMass']` لعرض التوزيعات المسماة.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
يبدو أن هناك علاقة متوقعة بين هذين العنصرين على محور متوقع، مع نقطة تقارب قوية بشكل خاص:
-
+
تعمل الهيستوجرامات بشكل جيد افتراضيًا مع البيانات الرقمية. ماذا لو كنت بحاجة إلى رؤية التوزيعات وفقًا للبيانات النصية؟
@@ -123,7 +123,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
لا يبدو أن هناك علاقة جيدة بين امتداد الجناح الأدنى وحالة الحفظ. اختبر عناصر أخرى من مجموعة البيانات باستخدام هذه الطريقة. يمكنك تجربة فلاتر مختلفة أيضًا. هل تجد أي علاقة؟
@@ -137,7 +137,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
يمكنك أن ترى كيف يعكس المخطط السابق بيانات امتداد الجناح الأدنى؛ إنه فقط أكثر سلاسة. إذا كنت ترغب في إعادة النظر في خط MaxBodyMass المتعرج في المخطط الثاني الذي أنشأته، يمكنك تنعيمه بشكل جيد جدًا عن طريق إعادة إنشائه باستخدام هذه الطريقة:
@@ -145,7 +145,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
إذا كنت تريد خطًا ناعمًا، ولكن ليس ناعمًا جدًا، قم بتحرير معلمة `adjust`:
@@ -153,7 +153,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ اقرأ عن المعلمات المتاحة لهذا النوع من المخططات وجربها!
@@ -163,7 +163,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 تحدٍ
diff --git a/translations/ar/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/ar/3-Data-Visualization/R/11-visualization-proportions/README.md
index ba546e3f..4ab4e4ea 100644
--- a/translations/ar/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/ar/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
ها هو، مخطط دائري يظهر نسب هذه البيانات وفقًا لهاتين الفئتين من الفطر. من المهم جدًا الحصول على ترتيب التسميات بشكل صحيح، خاصة هنا، لذا تأكد من التحقق من الترتيب الذي يتم بناء مصفوفة التسميات به!
-
+
## دونات!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
يستخدم هذا الكود المكتبتين - ggplot2 وwebr. باستخدام وظيفة PieDonut من مكتبة webr، يمكننا إنشاء مخطط دونات بسهولة!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
باستخدام مخطط وافل، يمكنك رؤية نسب ألوان قبعات الفطر في هذه المجموعة البيانات بوضوح. من المثير للاهتمام أن هناك العديد من الفطر ذو القبعات الخضراء!
-
+
في هذه الدرس، تعلمت ثلاث طرق لتصور النسب. أولاً، تحتاج إلى تجميع بياناتك في فئات ثم تقرر الطريقة الأفضل لعرض البيانات - دائري، دونات، أو وافل. جميعها لذيذة وتمنح المستخدم لمحة فورية عن مجموعة البيانات.
diff --git a/translations/ar/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/ar/3-Data-Visualization/R/12-visualization-relationships/README.md
index ac35f612..53e5a440 100644
--- a/translations/ar/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/ar/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
الآن، اعرض نفس البيانات باستخدام نظام ألوان العسل لإظهار كيفية تطور السعر على مر السنين. يمكنك القيام بذلك عن طريق إضافة معامل 'scale_color_gradientn' لإظهار التغيير عامًا بعد عام:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
مع هذا التغيير في نظام الألوان، يمكنك أن ترى بوضوح تقدمًا قويًا على مر السنين فيما يتعلق بسعر العسل لكل رطل. بالفعل، إذا نظرت إلى مجموعة بيانات عينة للتحقق (اختر ولاية معينة، مثل أريزونا)، يمكنك رؤية نمط زيادة الأسعار عامًا بعد عام، مع بعض الاستثناءات:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
يمكنك رؤية حجم النقاط يزداد تدريجيًا.
-
+
هل هذا مجرد حالة بسيطة من العرض والطلب؟ بسبب عوامل مثل تغير المناخ وانهيار المستعمرات، هل هناك كمية أقل من العسل المتاحة للشراء عامًا بعد عام، وبالتالي يرتفع السعر؟
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
الإجابة: نعم، مع بعض الاستثناءات حول عام 2003:
-
+
السؤال: حسنًا، في عام 2003 هل يمكننا أيضًا رؤية زيادة في كمية العسل المتوفرة؟ ماذا لو نظرت إلى الإنتاج الإجمالي عامًا بعد عام؟
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
الإجابة: ليس حقًا. إذا نظرت إلى الإنتاج الإجمالي، يبدو أنه قد زاد في ذلك العام بالذات، على الرغم من أن كمية العسل المنتجة عمومًا كانت في انخفاض خلال هذه السنوات.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
في هذا التصور، يمكنك مقارنة الإنتاج لكل مستعمرة وعدد المستعمرات عامًا بعد عام جنبًا إلى جنب مع التفاف مضبوط على 3 للأعمدة:
-
+
بالنسبة لهذه المجموعة من البيانات، لا يبرز أي شيء بشكل خاص فيما يتعلق بعدد المستعمرات وإنتاجها، عامًا بعد عام وولاية بعد ولاية. هل هناك طريقة مختلفة للنظر في إيجاد علاقة بين هذين المتغيرين؟
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
بينما لا يبرز شيء للعين حول عام 2003، فإنه يسمح لنا بإنهاء هذا الدرس بملاحظة أكثر سعادة: على الرغم من وجود انخفاض عام في عدد المستعمرات، فإن عدد المستعمرات يستقر حتى لو كان إنتاجها لكل مستعمرة يتناقص.
diff --git a/translations/ar/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/ar/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 8a0e7074..3389de46 100644
--- a/translations/ar/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/ar/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
حتى إذا كان عالم البيانات حريصًا على اختيار الرسم البياني المناسب للبيانات المناسبة، هناك العديد من الطرق التي يمكن بها عرض البيانات لإثبات نقطة معينة، غالبًا على حساب البيانات نفسها. هناك العديد من الأمثلة على الرسوم البيانية والمخططات المضللة!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "كيف تكذب الرسوم البيانية")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "كيف تكذب الرسوم البيانية")
> 🎥 انقر على الصورة أعلاه لمشاهدة محاضرة حول الرسوم البيانية المضللة
هذا الرسم البياني يعكس المحور X ليظهر عكس الحقيقة بناءً على التاريخ:
-
+
[هذا الرسم البياني](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) أكثر تضليلًا، حيث يجذب العين إلى اليمين لتستنتج أن حالات COVID قد انخفضت مع الزمن في المقاطعات المختلفة. في الواقع، إذا نظرت عن كثب إلى التواريخ، ستجد أنها أعيد ترتيبها لإظهار هذا الاتجاه المضلل.
-
+
هذا المثال الشهير يستخدم الألوان ومحور Y مقلوب لخداع العين: بدلاً من استنتاج أن وفيات الأسلحة ارتفعت بعد تمرير تشريعات داعمة للأسلحة، يتم خداع العين لتعتقد العكس:
-
+
هذا الرسم الغريب يظهر كيف يمكن التلاعب بالنسب، بشكل مضحك:
-
+
مقارنة ما لا يمكن مقارنته هي خدعة أخرى مشبوهة. هناك [موقع ويب رائع](https://tylervigen.com/spurious-correlations) يعرض "ارتباطات زائفة" تظهر "حقائق" تربط بين أشياء مثل معدل الطلاق في ولاية مين واستهلاك المارجرين. كما أن هناك مجموعة على Reddit تجمع [الاستخدامات السيئة](https://www.reddit.com/r/dataisugly/top/?t=all) للبيانات.
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
إذا كانت بياناتك نصية وطويلة على المحور X، يمكنك إمالة النص لتحسين القراءة. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) يقدم رسومات ثلاثية الأبعاد إذا كانت بياناتك تدعم ذلك. يمكن إنتاج تصورات بيانات متطورة باستخدامه.
-
+
## الرسوم المتحركة وعرض الرسوم ثلاثية الأبعاد
بعض أفضل تصورات البيانات اليوم متحركة. شيرلي وو لديها أمثلة مذهلة باستخدام D3، مثل '[زهور الأفلام](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'، حيث يمثل كل زهرة تصورًا لفيلم. مثال آخر للجارديان هو 'باصات المشردين'، تجربة تفاعلية تجمع بين التصورات مع Greensock وD3 بالإضافة إلى تنسيق مقال سردي لعرض كيفية تعامل مدينة نيويورك مع مشكلة المشردين من خلال إرسالهم خارج المدينة.
-
+
> "باصات المشردين: كيف تنقل أمريكا مشرديها" من [الجارديان](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). تصورات بواسطة نادية بريمر وشيرلي وو.
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
ستكمل تطبيق ويب يعرض عرضًا متحركًا لهذه الشبكة الاجتماعية. يستخدم مكتبة تم إنشاؤها لإنشاء [تصور لشبكة](https://github.com/emiliorizzo/vue-d3-network) باستخدام Vue.js وD3. عندما يعمل التطبيق، يمكنك سحب العقد على الشاشة لتحريك البيانات.
-
+
## المشروع: بناء رسم بياني لعرض شبكة باستخدام D3.js
diff --git a/translations/ar/3-Data-Visualization/README.md b/translations/ar/3-Data-Visualization/README.md
index f8ad4b55..a3082ee4 100644
--- a/translations/ar/3-Data-Visualization/README.md
+++ b/translations/ar/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# التصورات
-
+
> الصورة بواسطة Jenna Lee على Unsplash
تصور البيانات هو أحد أهم المهام التي يقوم بها عالم البيانات. الصور تعادل ألف كلمة، ويمكن للتصور أن يساعدك في التعرف على جميع أنواع الأجزاء المثيرة للاهتمام في بياناتك مثل القمم، والقيم الشاذة، والتجمعات، والاتجاهات، والمزيد، مما يمكن أن يساعدك في فهم القصة التي تحاول بياناتك سردها.
diff --git a/translations/ar/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/ar/4-Data-Science-Lifecycle/14-Introduction/README.md
index 621f8871..a85df37b 100644
--- a/translations/ar/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/ar/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
تركز هذه الدرس على ثلاثة أجزاء من دورة الحياة: الالتقاط، المعالجة، والصيانة.
-
+
> صورة بواسطة [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## الالتقاط
@@ -101,7 +101,7 @@ CO_OP_TRANSLATOR_METADATA:
|عملية فريق علم البيانات (TDSP)|المعيار الصناعي لعملية التنقيب عن البيانات (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| صورة بواسطة [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | صورة بواسطة [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [اختبار ما بعد المحاضرة](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/ar/4-Data-Science-Lifecycle/README.md b/translations/ar/4-Data-Science-Lifecycle/README.md
index f1fb58c8..a3ae1d93 100644
--- a/translations/ar/4-Data-Science-Lifecycle/README.md
+++ b/translations/ar/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# دورة حياة علم البيانات
-
+
> الصورة بواسطة Headway على Unsplash
في هذه الدروس، ستستكشف بعض جوانب دورة حياة علم البيانات، بما في ذلك التحليل والتواصل حول البيانات.
diff --git a/translations/ar/5-Data-Science-In-Cloud/README.md b/translations/ar/5-Data-Science-In-Cloud/README.md
index 34f8902f..f5b217e7 100644
--- a/translations/ar/5-Data-Science-In-Cloud/README.md
+++ b/translations/ar/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# علم البيانات في السحابة
-
+
> الصورة بواسطة [Jelleke Vanooteghem](https://unsplash.com/@ilumire) من [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
عندما يتعلق الأمر بممارسة علم البيانات مع البيانات الضخمة، يمكن أن تكون السحابة نقطة تحول. في الدروس الثلاثة القادمة، سنستعرض ما هي السحابة ولماذا يمكن أن تكون مفيدة جدًا. سنقوم أيضًا باستكشاف مجموعة بيانات عن فشل القلب وبناء نموذج يساعد في تقييم احتمالية إصابة شخص بفشل القلب. سنستخدم قوة السحابة لتدريب النموذج ونشره واستهلاكه بطريقتين مختلفتين. الطريقة الأولى باستخدام واجهة المستخدم فقط بأسلوب "Low code/No code"، والطريقة الثانية باستخدام Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### المواضيع
diff --git a/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 57ce280a..020000e1 100644
--- a/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [علم البيانات في الرعاية الصحية](https://data-flair.training/blogs/data-science-in-healthcare/) - يبرز تطبيقات مثل التصوير الطبي (مثل التصوير بالرنين المغناطيسي، الأشعة السينية، التصوير المقطعي)، الجينوميات (تسلسل الحمض النووي)، تطوير الأدوية (تقييم المخاطر، التنبؤ بالنجاح)، التحليلات التنبؤية (رعاية المرضى ولوجستيات الإمداد)، تتبع الأمراض والوقاية منها، إلخ.
- مصدر الصورة: [Data Flair: 6 Amazing Data Science Applications](https://data-flair.training/blogs/data-science-applications/)
+ مصدر الصورة: [Data Flair: 6 Amazing Data Science Applications](https://data-flair.training/blogs/data-science-applications/)
تُظهر الصورة مجالات وأمثلة أخرى لتطبيق تقنيات علم البيانات. هل تريد استكشاف تطبيقات أخرى؟ تحقق من قسم [المراجعة والدراسة الذاتية](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) أدناه.
diff --git a/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 101d6d1c..56e9c168 100644
--- a/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/ar/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. استكشاف [كتالوج البيانات](https://planetarycomputer.microsoft.com/catalog) - لمعرفة الغرض من كل مجموعة بيانات.
3. استخدام Explorer - اختيار مجموعة بيانات تهمك، وتحديد استعلام مناسب وخيار عرض.
-
+
`مهمتك:`
الآن قم بدراسة التصور الذي يتم عرضه في المتصفح وأجب عن الأسئلة التالية:
diff --git a/translations/ar/CONTRIBUTING.md b/translations/ar/CONTRIBUTING.md
index 11ea33e4..d52d1406 100644
--- a/translations/ar/CONTRIBUTING.md
+++ b/translations/ar/CONTRIBUTING.md
@@ -315,7 +315,7 @@ def calculate_mean(data):
```
````
-- أضف نصوص بديلة للصور: ``
+- أضف نصوص بديلة للصور: ``
- حافظ على طول الأسطر معقولًا (حوالي 80-100 حرف)
### Python
diff --git a/translations/ar/README.md b/translations/ar/README.md
index f731ac6b..e952375c 100644
--- a/translations/ar/README.md
+++ b/translations/ar/README.md
@@ -28,7 +28,7 @@ CO_OP_TRANSLATOR_METADATA:
**🙏 شكر خاص 🙏 لمؤلفينا ومراجعي المحتوى والمساهمين من [سفراء طلاب مايكروسوفت](https://studentambassadors.microsoft.com/)،** لا سيما Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| علوم البيانات للمبتدئين - _مخطط مرسوم بواسطة [@nitya](https://twitter.com/nitya)_ |
@@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA:
لدينا سلسلة على Discord بعنوان "تعلم مع الذكاء الاصطناعي" جارية، اعرف المزيد وانضم إلينا على [Learn with AI Series](https://aka.ms/learnwithai/discord) من 18 - 30 سبتمبر، 2025. ستحصل على نصائح وحيل لاستخدام GitHub Copilot لعلوم البيانات.
-
+
# هل أنت طالب؟
@@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA:
## الدروس
-||
+||
|:---:|
| خريطة طريق علوم البيانات للمبتدئين - _مخطط توضيحي بواسطة [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/ar/sketchnotes/README.md b/translations/ar/sketchnotes/README.md
index 71a24c07..d9d99808 100644
--- a/translations/ar/sketchnotes/README.md
+++ b/translations/ar/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
نيتيا ناراسيمهان، الفنانة
-
+
---
diff --git a/translations/bg/1-Introduction/01-defining-data-science/README.md b/translations/bg/1-Introduction/01-defining-data-science/README.md
index 9393578a..7fcfc32b 100644
--- a/translations/bg/1-Introduction/01-defining-data-science/README.md
+++ b/translations/bg/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Тест преди лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -151,7 +151,7 @@ CO_OP_TRANSLATOR_METADATA:
В това предизвикателство ще се опитаме да намерим концепции, свързани с областта на науката за данни, като разгледаме текстове. Ще вземем статия от Wikipedia за науката за данни, ще изтеглим и обработим текста, и след това ще създадем облак от думи като този:
-
+
Посетете [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore'), за да разгледате кода. Можете също така да изпълните кода и да видите как той извършва всички трансформации на данни в реално време.
diff --git a/translations/bg/1-Introduction/04-stats-and-probability/README.md b/translations/bg/1-Introduction/04-stats-and-probability/README.md
index 14eb2b0d..49d69734 100644
--- a/translations/bg/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/bg/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Статистиката и теорията на вероятностите са две силно свързани области на математиката, които са изключително важни за науката за данни. Възможно е да се работи с данни без задълбочени математически познания, но все пак е добре да се знаят поне основните концепции. Тук ще представим кратко въведение, което ще ви помогне да започнете.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Тест преди лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
Можем да говорим само за вероятността променливата да попадне в даден интервал от стойности, напр. P(t1≤X2). В този случай разпределението на вероятностите се описва чрез **функция на плътността на вероятностите** p(x), така че
-.
diff --git a/translations/bg/1-Introduction/README.md b/translations/bg/1-Introduction/README.md
index b66018e2..cbab3211 100644
--- a/translations/bg/1-Introduction/README.md
+++ b/translations/bg/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Въведение в науката за данните
-
+
> Снимка от Stephen Dawson на Unsplash
В тези уроци ще откриете как се дефинира науката за данните и ще научите за етичните съображения, които трябва да бъдат взети предвид от специалиста по данни. Ще научите също как се дефинират данните и ще се запознаете с основите на статистиката и вероятностите, които са основни академични области на науката за данните.
diff --git a/translations/bg/2-Working-With-Data/07-python/README.md b/translations/bg/2-Working-With-Data/07-python/README.md
index 1eaa3b29..10d89cb6 100644
--- a/translations/bg/2-Working-With-Data/07-python/README.md
+++ b/translations/bg/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :---------------------------------------------------------------------------------------------------: |
| Работа с Python - _Скетч от [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Докато базите данни предлагат много ефективни начини за съхранение на данни и тяхното извличане чрез език за заявки, най-гъвкавият начин за обработка на данни е да напишете собствена програма за манипулиране на данните. В много случаи използването на заявка към база данни би било по-ефективно. Въпреки това, в някои случаи, когато е необходима по-сложна обработка на данни, това не може лесно да се направи с SQL.
Обработката на данни може да бъде програмирана на всеки език за програмиране, но има определени езици, които са по-високо ниво, когато става въпрос за работа с данни. Специалистите по данни обикновено предпочитат един от следните езици:
@@ -75,7 +75,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Сега да предположим, че всяка седмица организираме парти за приятели и вземаме допълнителни 10 опаковки сладолед за партито. Можем да създадем друга серия, индексирана по седмици, за да демонстрираме това:
```python
@@ -86,7 +86,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Забележка**: Не използваме простия синтаксис `total_items+additional_items`. Ако го направим, ще получим много стойности `NaN` (*Not a Number*) в резултатната серия. Това е така, защото липсват стойности за някои точки от индекса в серията `additional_items`, и добавянето на `NaN` към нещо води до `NaN`. Затова трябва да зададем параметъра `fill_value` по време на събирането.
@@ -95,7 +95,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -221,7 +221,7 @@ df = pd.read_csv('file.csv')
Тъй като искаме да демонстрираме как да работим с данни, ви каним да отворите [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) и да го прочетете от началото до края. Можете също така да изпълните клетките и да решите някои предизвикателства, които сме оставили за вас в края.
-
+
> Ако не знаете как да изпълнявате код в Jupyter Notebook, разгледайте [тази статия](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -243,7 +243,7 @@ df = pd.read_csv('file.csv')
Отворете [`notebook-papers.ipynb`](notebook-papers.ipynb) и го прочетете от началото до края. Можете също така да изпълните клетките и да решите някои предизвикателства, които сме оставили за вас в края.
-
+
## Обработка на данни от изображения
diff --git a/translations/bg/2-Working-With-Data/README.md b/translations/bg/2-Working-With-Data/README.md
index 8a4f62ac..070d1282 100644
--- a/translations/bg/2-Working-With-Data/README.md
+++ b/translations/bg/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Работа с данни
-
+
> Снимка от Alexander Sinn на Unsplash
В тези уроци ще научите някои от начините, по които данните могат да бъдат управлявани, манипулирани и използвани в приложения. Ще се запознаете с релационни и нерелационни бази данни и как данните могат да се съхраняват в тях. Ще научите основите на работата с Python за управление на данни и ще откриете някои от многото начини, по които можете да използвате Python за управление и анализ на данни.
diff --git a/translations/bg/3-Data-Visualization/12-visualization-relationships/README.md b/translations/bg/3-Data-Visualization/12-visualization-relationships/README.md
index 3065ea7b..5fdc914b 100644
--- a/translations/bg/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/bg/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Сега покажете същите данни с цветова схема, свързана с меда, за да покажете как цената се променя през годините. Можете да направите това, като добавите параметър 'hue', който показва промяната година след година:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
С тази промяна в цветовата схема можете да видите, че има очевидна силна прогресия през годините по отношение на цената на килограм мед. Всъщност, ако разгледате примерен набор от данни, за да проверите (например за щата Аризона), можете да видите модел на увеличение на цената година след година, с малки изключения:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Можете да видите как размерът на точките постепенно се увеличава.
-
+
Дали това е просто случай на търсене и предлагане? Поради фактори като климатични промени и колапс на колониите, има ли по-малко наличен мед за покупка година след година, което води до увеличение на цената?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Отговор: Да, с някои изключения около 2003 година:
-
+
✅ Тъй като Seaborn агрегира данните около една линия, той показва „многобройните измервания за всяка стойност на x, като изобразява средната стойност и 95% доверителен интервал около средната стойност“. [Източник](https://seaborn.pydata.org/tutorial/relational.html). Това поведение, което отнема време, може да бъде изключено, като добавите `ci=None`.
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Отговор: Не съвсем. Ако разгледате общото производство, то всъщност изглежда, че се е увеличило през тази конкретна година, въпреки че като цяло количеството произведен мед намалява през тези години.
@@ -139,7 +139,7 @@ sns.relplot(
```
В тази визуализация можете да сравните добива на колония и броя на колониите година след година, една до друга, с настройка на wrap на 3 за колоните:
-
+
За този набор от данни нищо особено не изпъква по отношение на броя на колониите и техния добив, година след година и щат след щат. Има ли друг начин да се намери корелация между тези две променливи?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Докато нищо не изпъква около 2003 година, това ни позволява да завършим урока с малко по-оптимистична нотка: въпреки че като цяло броят на колониите намалява, броят на колониите се стабилизира, дори ако техният добив на колония намалява.
diff --git a/translations/bg/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/bg/3-Data-Visualization/R/09-visualization-quantities/README.md
index a0850616..481671ca 100644
--- a/translations/bg/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/bg/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Тук инсталирате пакета `ggplot2` и след това го импортирате в работната среда с командата `library("ggplot2")`. За да създадете графика в ggplot, използвате функцията `ggplot()` и задавате набора от данни, x и y променливите като атрибути. В този случай използваме функцията `geom_line()`, тъй като целим да създадем линейна графика.
-
+
Какво забелязвате веднага? Изглежда, че има поне един аутлайър – това е доста голям размах на крилата! Размах от над 2000 сантиметра е повече от 20 метра – дали в Минесота се разхождат птеродактили? Нека разследваме.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Задаваме ъгъла в `theme` и задаваме етикетите на x и y осите с `xlab()` и `ylab()` съответно. `ggtitle()` дава име на графиката.
-
+
Дори с ротацията на етикетите, зададена на 45 градуса, те са твърде много, за да се четат. Нека опитаме различна стратегия: да етикетираме само аутлайърите и да поставим етикетите вътре в графиката. Можете да използвате точкова диаграма, за да освободите повече място за етикетиране:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
Какво откривате?
-
+
## Филтрирайте данните си
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Създадохме нов датафрейм `birds_filtered` и след това начертахме точкова диаграма. Чрез филтриране на аутлайърите, данните ви сега са по-цялостни и разбираеми.
-
+
Сега, когато имаме по-чист набор от данни поне по отношение на размаха на крилата, нека открием повече за тези птици.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
В следващия кодов фрагмент инсталираме пакетите [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) и [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0), за да помогнем при манипулирането и групирането на данни с цел начертаване на стълбовидна диаграма. Първо, групирате данните по `Category` на птиците и след това обобщавате колоните `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. След това начертавате стълбовидната диаграма, използвайки пакета `ggplot2`, и задавате цветовете за различните категории и етикетите.
-
+
Тази стълбовидна диаграма обаче е нечетлива, защото има твърде много негрупирани данни. Трябва да изберете само данните, които искате да визуализирате, така че нека разгледаме дължината на птиците въз основа на тяхната категория.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Първо преброявате уникалните стойности в колоната `Category` и след това ги сортирате в нов датафрейм `birds_count`. Тези сортирани данни след това се подреждат на същото ниво, за да бъдат начертани в сортиран вид. Използвайки `ggplot2`, след това начертавате данните в стълбовидна диаграма. `coord_flip()` начертава хоризонтални стълбове.
-
+
Тази стълбовидна диаграма показва добър изглед на броя на птиците във всяка категория. С един поглед виждате, че най-големият брой птици в този регион са в категорията Патици/Гъски/Водоплаващи. Минесота е "земята на 10 000 езера", така че това не е изненадващо!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Групираме данните `birds_filtered` по `Category` и след това начертаваме стълбовидна диаграма.
-
+
Тук няма нищо изненадващо: колибритата имат най-малка максимална дължина в сравнение с пеликаните или гъските. Добре е, когато данните имат логически смисъл!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Предизвикателство
diff --git a/translations/bg/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/bg/3-Data-Visualization/R/10-visualization-distributions/README.md
index 5720ca71..a0192738 100644
--- a/translations/bg/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/bg/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Това дава общ преглед на разпределението на дължината на тялото по разред на птиците, но не е най-добрият начин за показване на истински разпределения. Тази задача обикновено се изпълнява чрез създаване на хистограма.
## Работа с хистограми
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Както виждате, повечето от 400+ птици в този набор от данни попадат в диапазона под 2000 за тяхната максимална телесна маса. Получете повече информация за данните, като промените параметъра `bins` на по-голямо число, например 30:
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Тази диаграма показва разпределението по малко по-гранулиран начин. Диаграма, която е по-малко изкривена наляво, може да бъде създадена, като се уверите, че избирате само данни в даден диапазон:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Опитайте някои други филтри и точки от данни. За да видите пълното разпределение на данните, премахнете филтъра `['MaxBodyMass']`, за да покажете етикетирани разпределения.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Изглежда, че има очаквана корелация между тези два елемента по очаквана ос, с една особено силна точка на сближаване:
-
+
Хистограмите работят добре по подразбиране за числови данни. Ами ако трябва да видите разпределения според текстови данни?
## Изследване на набора от данни за разпределения с текстови данни
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Не изглежда да има добра корелация между минималния размах на крилата и статуса на опазване. Тествайте други елементи от набора от данни, използвайки този метод. Можете да опитате различни филтри. Откривате ли някаква корелация?
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Можете да видите как плотът отразява предишния за данните за минималния размах на крилата; той е просто малко по-гладък. Ако искате да преразгледате тази назъбена линия на MaxBodyMass във втората диаграма, която създадохте, можете да я изгладите много добре, като я пресъздадете, използвайки този метод:
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Ако искате гладка, но не прекалено гладка линия, редактирайте параметъра `adjust`:
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Прочетете за наличните параметри за този тип плот и експериментирайте!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Предизвикателство
diff --git a/translations/bg/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/bg/3-Data-Visualization/R/11-visualization-proportions/README.md
index 47ca07ae..047b2150 100644
--- a/translations/bg/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/bg/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voilà, кръгова диаграма, показваща пропорциите на тези данни според двата класа гъби. Много е важно да се уверите, че редът на етикетите е правилен, особено тук, така че проверете реда, с който е изградена масивът от етикети!
-
+
## Пръстени!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Този код използва две библиотеки - ggplot2 и webr. Използвайки функцията PieDonut от библиотеката webr, можем лесно да създадем пръстеновидна диаграма!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
С помощта на вафлена диаграма можете ясно да видите пропорциите на цветовете на шапките в този набор от данни за гъби. Интересно е, че има много гъби със зелени шапки!
-
+
В този урок научихте три начина за визуализиране на пропорции. Първо, трябва да групирате данните си в категории и след това да решите кой е най-добрият начин за показване на данните - кръгова, пръстеновидна или вафлена диаграма. Всички са вкусни и предоставят на потребителя моментална снимка на набора от данни.
diff --git a/translations/bg/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/bg/3-Data-Visualization/R/12-visualization-relationships/README.md
index a1a259a3..4ac9aad7 100644
--- a/translations/bg/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/bg/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Сега покажете същите данни с цветова схема, вдъхновена от мед, за да покажете как цената се развива през годините. Можете да направите това, като добавите параметър 'scale_color_gradientn', който показва промяната година след година:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
С тази промяна в цветовата схема можете да видите, че има очевидна прогресия през годините по отношение на цената на килограм мед. Всъщност, ако разгледате примерен набор от данни, за да проверите (например щат Аризона), можете да видите модел на увеличение на цената година след година, с малко изключения:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Можете да видите как размерът на точките постепенно се увеличава.
-
+
Дали това е просто случай на търсене и предлагане? Поради фактори като климатични промени и колапс на колониите, има ли по-малко мед за покупка година след година, и затова цената се увеличава?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Отговор: Да, с някои изключения около 2003 година:
-
+
Въпрос: Е, през 2003 година можем ли да видим и скок в предлагането на мед? Какво ще стане, ако разгледате общото производство година след година?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Отговор: Не съвсем. Ако разгледате общото производство, всъщност изглежда, че то се е увеличило през тази конкретна година, въпреки че като цяло количеството произведен мед намалява през тези години.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
В тази визуализация можете да сравните добива на колония и броя на колониите година след година, една до друга, с настройка на wrap на 3 за колоните:
-
+
За този набор от данни нищо особено не изпъква по отношение на броя на колониите и техния добив, година след година и щат след щат. Има ли различен начин за откриване на корелация между тези две променливи?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Докато нищо не изпъква около 2003 година, това ни позволява да завършим урока с малко по-щастлива нотка: въпреки че броят на колониите като цяло намалява, той се стабилизира, дори ако техният добив на колония намалява.
diff --git a/translations/bg/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/bg/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index b379ea83..0e4fa4ab 100644
--- a/translations/bg/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/bg/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
Дори ако специалистът по данни внимателно избере правилната диаграма за правилните данни, има много начини, по които данните могат да бъдат представени, за да докажат дадена теза, често за сметка на самите данни. Има много примери за подвеждащи диаграми и инфографики!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Как диаграмите лъжат")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Как диаграмите лъжат")
> 🎥 Кликнете върху изображението по-горе за конференция относно подвеждащи диаграми
Тази диаграма обръща оста X, за да покаже обратното на истината, базирано на дата:
-
+
[Тази диаграма](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) е още по-подвеждаща, тъй като окото се насочва към заключението, че с времето случаите на COVID са намалели в различните окръзи. Всъщност, ако погледнете внимателно датите, ще откриете, че те са пренаредени, за да създадат този подвеждащ низходящ тренд.
-
+
Този известен пример използва цветове И обърната ос Y, за да заблуди: вместо да заключите, че смъртните случаи от огнестрелни оръжия са се увеличили след приемането на законодателство, благоприятстващо оръжията, окото е заблудено да мисли, че обратното е вярно:
-
+
Тази странна диаграма показва как пропорциите могат да бъдат манипулирани, с комичен ефект:
-
+
Сравняването на несравними неща е още един съмнителен трик. Има [чудесен уебсайт](https://tylervigen.com/spurious-correlations), посветен на 'фалшиви корелации', показващ 'факти', които корелират неща като процента на разводите в Мейн и консумацията на маргарин. Група в Reddit също събира [грозни примери](https://www.reddit.com/r/dataisugly/top/?t=all) за използване на данни.
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
Ако вашите данни са текстови и подробни на оста X, можете да наклоните текста за по-добра четливост. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) предлага 3D графики, ако вашите данни го поддържат. Сложни визуализации на данни могат да бъдат създадени с него.
-
+
## Анимация и 3D визуализация
Някои от най-добрите визуализации на данни днес са анимирани. Шърли Ву има невероятни примери, направени с D3, като '[цветя от филми](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', където всяко цвете е визуализация на филм. Друг пример за Guardian е 'bussed out', интерактивно преживяване, комбиниращо визуализации с Greensock и D3 плюс формат на статия с разказ, за да покаже как Ню Йорк се справя с проблема с бездомните, като ги изпраща извън града.
-
+
> "Bussed Out: Как Америка премества своите бездомни" от [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Визуализации от Надие Бремер и Шърли Ву
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
Ще завършите уеб приложение, което ще показва анимиран изглед на тази социална мрежа. То използва библиотека, създадена за [визуализация на мрежа](https://github.com/emiliorizzo/vue-d3-network) с Vue.js и D3. Когато приложението работи, можете да местите възлите на екрана, за да пренареждате данните.
-
+
## Проект: Създаване на диаграма за показване на мрежа с D3.js
diff --git a/translations/bg/3-Data-Visualization/README.md b/translations/bg/3-Data-Visualization/README.md
index c4ac010c..ad9c2c0b 100644
--- a/translations/bg/3-Data-Visualization/README.md
+++ b/translations/bg/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Визуализации
-
+
> Снимка от Jenna Lee на Unsplash
Визуализирането на данни е една от най-важните задачи на специалиста по данни. Една картина казва повече от хиляда думи, а визуализацията може да ви помогне да идентифицирате всякакви интересни аспекти на вашите данни, като пикове, отклонения, групирания, тенденции и други, които могат да ви помогнат да разберете историята, която вашите данни се опитват да разкажат.
diff --git a/translations/bg/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/bg/4-Data-Science-Lifecycle/14-Introduction/README.md
index d2932e92..3edeef6f 100644
--- a/translations/bg/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/bg/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
Тази лекция се фокусира върху 3 части от жизнения цикъл: събиране, обработка и поддръжка.
-
+
> Снимка от [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Събиране
@@ -101,7 +101,7 @@ CO_OP_TRANSLATOR_METADATA:
|Процес за екипна наука за данни (TDSP)|Стандарт за процеса на извличане на данни в различни индустрии (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Изображение от [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Изображение от [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Тест след лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/bg/4-Data-Science-Lifecycle/README.md b/translations/bg/4-Data-Science-Lifecycle/README.md
index 1c9a6a4f..9ac7de0f 100644
--- a/translations/bg/4-Data-Science-Lifecycle/README.md
+++ b/translations/bg/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Жизненият цикъл на науката за данни
-
+
> Снимка от Headway на Unsplash
В тези уроци ще разгледате някои аспекти на жизнения цикъл на науката за данни, включително анализ и комуникация, свързани с данните.
diff --git a/translations/bg/5-Data-Science-In-Cloud/README.md b/translations/bg/5-Data-Science-In-Cloud/README.md
index b960a68e..132cfb07 100644
--- a/translations/bg/5-Data-Science-In-Cloud/README.md
+++ b/translations/bg/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Наука за данни в облака
-
+
> Снимка от [Jelleke Vanooteghem](https://unsplash.com/@ilumire) от [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Когато става въпрос за работа с големи данни в науката за данни, облакът може да бъде истинска промяна. В следващите три урока ще разгледаме какво представлява облакът и защо може да бъде много полезен. Ще изследваме набор от данни за сърдечна недостатъчност и ще изградим модел, който да помогне за оценка на вероятността някой да има сърдечна недостатъчност. Ще използваме силата на облака, за да обучим, внедрим и използваме модел по два различни начина. Единият начин е чрез потребителския интерфейс в стил "Low code/No code", а другият - чрез Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Теми
diff --git a/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index d1399b2d..4d975277 100644
--- a/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [Наука за данни в здравеопазването](https://data-flair.training/blogs/data-science-in-healthcare/) - подчертава приложения като медицинско изображение (напр. MRI, рентген, CT-сканиране), геномика (секвениране на ДНК), разработка на лекарства (оценка на риска, прогноза за успех), предсказателен анализ (грижа за пациенти и логистика на доставки), проследяване и предотвратяване на заболявания и др.
- Кредит за изображението: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Кредит за изображението: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Фигурата показва други области и примери за прилагане на техники за наука за данни. Искате ли да разгледате други приложения? Вижте секцията [Преглед и самостоятелно обучение](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) по-долу.
diff --git a/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 65ae1d67..f8aea9a7 100644
--- a/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/bg/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. Разгледайте [Каталога](https://planetarycomputer.microsoft.com/catalog) на наборите от данни - научете за целта на всеки.
3. Използвайте Explorer - изберете набор от данни, който ви интересува, изберете подходящо запитване и опция за визуализация.
-
+
`Вашата задача:`
Сега изучете визуализацията, която се генерира в браузъра, и отговорете на следните въпроси:
diff --git a/translations/bg/CONTRIBUTING.md b/translations/bg/CONTRIBUTING.md
index 83851b33..fdc0adc5 100644
--- a/translations/bg/CONTRIBUTING.md
+++ b/translations/bg/CONTRIBUTING.md
@@ -312,7 +312,7 @@ def calculate_mean(data):
import pandas as pd
```
````
-- Добавяйте alt текст към изображения: ``
+- Добавяйте alt текст към изображения: ``
- Поддържайте разумна дължина на редовете (около 80-100 символа)
### Python
diff --git a/translations/bg/README.md b/translations/bg/README.md
index 97847a6a..52042940 100644
--- a/translations/bg/README.md
+++ b/translations/bg/README.md
@@ -33,7 +33,7 @@ CO_OP_TRANSLATOR_METADATA:
**🙏 Специални благодарности 🙏 на нашите [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) автори, рецензенти и съдържателни сътрудници,** по-специално Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Наука за данни за начинаещи - _Скетчнот от [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ CO_OP_TRANSLATOR_METADATA:
Провеждаме серия в Discord „Научи се с ИИ“, научете повече и се присъединете към нас на [Научи се с ИИ - серия](https://aka.ms/learnwithai/discord) от 18 - 30 септември 2025 г. Ще получите съвети и трикове за използване на GitHub Copilot за наука за данни.
-
+
# Студент ли сте?
@@ -132,7 +132,7 @@ CO_OP_TRANSLATOR_METADATA:
## Уроци
-||
+||
|:---:|
| Наука за данни за начинаещи: Пътна карта - _Скетчнот от [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/bg/sketchnotes/README.md b/translations/bg/sketchnotes/README.md
index 8320f09c..12fa0180 100644
--- a/translations/bg/sketchnotes/README.md
+++ b/translations/bg/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
Нитя Нарасимхан, художник
-
+
---
diff --git a/translations/bn/1-Introduction/01-defining-data-science/README.md b/translations/bn/1-Introduction/01-defining-data-science/README.md
index 7955a3f9..436c753c 100644
--- a/translations/bn/1-Introduction/01-defining-data-science/README.md
+++ b/translations/bn/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [পূর্ব-লেকচার কুইজ](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -149,7 +149,7 @@ CO_OP_TRANSLATOR_METADATA:
এই চ্যালেঞ্জে, আমরা ডেটা সায়েন্স ক্ষেত্রের সাথে সম্পর্কিত ধারণাগুলো খুঁজে বের করার চেষ্টা করব টেক্সট বিশ্লেষণ করে। আমরা ডেটা সায়েন্স সম্পর্কিত একটি উইকিপিডিয়া নিবন্ধ নেব, টেক্সট ডাউনলোড এবং প্রক্রিয়া করব, এবং তারপর একটি ওয়ার্ড ক্লাউড তৈরি করব যা এরকম দেখতে হবে:
-
+
[`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') পরিদর্শন করুন কোডটি পড়ার জন্য। আপনি কোডটি চালাতে পারেন এবং দেখতে পারেন এটি কীভাবে রিয়েল টাইমে সমস্ত ডেটা রূপান্তর সম্পন্ন করে।
diff --git a/translations/bn/1-Introduction/04-stats-and-probability/README.md b/translations/bn/1-Introduction/04-stats-and-probability/README.md
index 8b9dc2b5..99cdc8d5 100644
--- a/translations/bn/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/bn/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
পরিসংখ্যান এবং সম্ভাবনা তত্ত্ব হল গণিতের দুটি ঘনিষ্ঠভাবে সম্পর্কিত শাখা, যা ডেটা সায়েন্সের জন্য অত্যন্ত গুরুত্বপূর্ণ। গভীর গণিত জ্ঞান ছাড়াও ডেটা নিয়ে কাজ করা সম্ভব, তবে কিছু মৌলিক ধারণা জানা সবসময়ই ভালো। এখানে আমরা একটি সংক্ষিপ্ত পরিচিতি উপস্থাপন করব যা আপনাকে শুরু করতে সাহায্য করবে।
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [পূর্ব-লেকচার কুইজ](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
আমরা কেবল একটি ভেরিয়েবলের নির্দিষ্ট মানের পরিসরে পড়ার সম্ভাবনা নিয়ে কথা বলতে পারি, যেমন P(t1≤X2)। এই ক্ষেত্রে, সম্ভাবনা বণ্টন একটি **সম্ভাবনা ঘনত্ব ফাংশন** p(x) দ্বারা বর্ণিত হয়, যাতে
- পাওয়া যাবে।
diff --git a/translations/bn/1-Introduction/README.md b/translations/bn/1-Introduction/README.md
index 25a459dd..31dd153f 100644
--- a/translations/bn/1-Introduction/README.md
+++ b/translations/bn/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ডেটা সায়েন্সের পরিচিতি
-
+
> ছবি: স্টিফেন ডসন এর তোলা আনস্প্ল্যাশ এ
এই পাঠগুলোতে, আপনি শিখবেন কীভাবে ডেটা সায়েন্স সংজ্ঞায়িত হয় এবং একজন ডেটা বিজ্ঞানীর জন্য বিবেচনা করতে হবে এমন নৈতিক বিষয়গুলো সম্পর্কে জানবেন। আপনি ডেটা কীভাবে সংজ্ঞায়িত হয় তা শিখবেন এবং পরিসংখ্যান ও সম্ভাবনার বিষয়ে কিছুটা ধারণা পাবেন, যা ডেটা সায়েন্সের মূল একাডেমিক ক্ষেত্র।
diff --git a/translations/bn/2-Working-With-Data/07-python/README.md b/translations/bn/2-Working-With-Data/07-python/README.md
index 2491ffe2..aac16483 100644
--- a/translations/bn/2-Working-With-Data/07-python/README.md
+++ b/translations/bn/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| পাইথনের সাথে কাজ করা - _[@nitya](https://twitter.com/nitya) এর স্কেচনোট_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
ডেটাবেস ডেটা সংরক্ষণ এবং কুয়েরি করার জন্য খুবই কার্যকর পদ্ধতি প্রদান করে, তবে ডেটা প্রক্রিয়াকরণের সবচেয়ে নমনীয় উপায় হল আপনার নিজের প্রোগ্রাম লিখে ডেটা ম্যানিপুলেট করা। অনেক ক্ষেত্রে, ডেটাবেস কুয়েরি করা আরও কার্যকর হতে পারে। তবে, কিছু ক্ষেত্রে যখন আরও জটিল ডেটা প্রক্রিয়াকরণের প্রয়োজন হয়, তখন এটি সহজে SQL ব্যবহার করে করা সম্ভব হয় না।
ডেটা প্রক্রিয়াকরণ যেকোনো প্রোগ্রামিং ভাষায় করা যেতে পারে, তবে কিছু ভাষা ডেটার সাথে কাজ করার জন্য উচ্চতর স্তরের সুবিধা প্রদান করে। ডেটা বিজ্ঞানীরা সাধারণত নিম্নলিখিত ভাষাগুলোর একটি পছন্দ করেন:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
এখন ধরুন প্রতি সপ্তাহে আমরা বন্ধুদের জন্য একটি পার্টি আয়োজন করি এবং পার্টির জন্য অতিরিক্ত ১০ প্যাক আইসক্রিম নিই। আমরা এটি দেখানোর জন্য সপ্তাহ অনুযায়ী ইনডেক্স করা আরেকটি সিরিজ তৈরি করতে পারি:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **নোট** যে আমরা সাধারণ সিনট্যাক্স `total_items+additional_items` ব্যবহার করছি না। যদি করতাম, তাহলে আমরা অনেক `NaN` (*Not a Number*) মান পেতাম। এর কারণ হল `additional_items` সিরিজের কিছু ইনডেক্স পয়েন্টে মান অনুপস্থিত, এবং `NaN`-এর সাথে কিছু যোগ করলে ফলাফল `NaN` হয়। তাই যোগ করার সময় আমাদের `fill_value` প্যারামিটার নির্দিষ্ট করতে হয়।
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### ডেটাফ্রেম (DataFrame)
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
যেহেতু আমরা ডেটা নিয়ে কাজ করার পদ্ধতি প্রদর্শন করতে চাই, আমরা আপনাকে [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) খুলে শুরু থেকে শেষ পর্যন্ত পড়ার আমন্ত্রণ জানাই। আপনি সেলগুলো চালাতে পারেন এবং শেষে আমাদের দেওয়া কিছু চ্যালেঞ্জ সম্পন্ন করতে পারেন।
-
+
> যদি আপনি Jupyter Notebook-এ কোড চালানোর পদ্ধতি না জানেন, [এই আর্টিকেলটি](https://soshnikov.com/education/how-to-execute-notebooks-from-github/) দেখুন।
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
[`notebook-papers.ipynb`](notebook-papers.ipynb) খুলুন এবং শুরু থেকে শেষ পর্যন্ত পড়ুন। আপনি সেলগুলো চালাতে পারেন এবং শেষে আমাদের দেওয়া কিছু চ্যালেঞ্জ সম্পন্ন করতে পারেন।
-
+
## ইমেজ ডেটা প্রসেসিং
diff --git a/translations/bn/2-Working-With-Data/README.md b/translations/bn/2-Working-With-Data/README.md
index ddace2e4..d65e15bb 100644
--- a/translations/bn/2-Working-With-Data/README.md
+++ b/translations/bn/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ডেটা নিয়ে কাজ করা
-
+
> ছবি আলেকজান্ডার সিন এর তোলা, আনস্প্ল্যাশ থেকে
এই পাঠগুলোতে, আপনি শিখবেন কীভাবে ডেটা পরিচালনা, পরিবর্তন এবং অ্যাপ্লিকেশনে ব্যবহার করা যায়। আপনি সম্পর্কিত এবং অ-সম্পর্কিত ডেটাবেস সম্পর্কে শিখবেন এবং কীভাবে ডেটা সেখানে সংরক্ষণ করা যায়। আপনি পাইথন ব্যবহার করে ডেটা পরিচালনার মৌলিক বিষয়গুলো শিখবেন এবং পাইথন ব্যবহার করে ডেটা পরিচালনা ও বিশ্লেষণের বিভিন্ন উপায় আবিষ্কার করবেন।
diff --git a/translations/bn/3-Data-Visualization/12-visualization-relationships/README.md b/translations/bn/3-Data-Visualization/12-visualization-relationships/README.md
index d0125a47..ef209a7a 100644
--- a/translations/bn/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/bn/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
এখন, একই ডেটা একটি মধু রঙের স্কিম দিয়ে দেখান যাতে বছরের পর বছর ধরে দাম কীভাবে পরিবর্তিত হয়েছে তা বোঝা যায়। আপনি এটি 'hue' প্যারামিটার যোগ করে করতে পারেন, যা পরিবর্তন দেখায়:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
এই রঙের স্কিম পরিবর্তনের মাধ্যমে, আপনি স্পষ্টভাবে দেখতে পারেন যে বছরের পর বছর মধুর প্রতি পাউন্ডের দামে একটি শক্তিশালী অগ্রগতি রয়েছে। আসলে, যদি আপনি ডেটার একটি নমুনা সেট পরীক্ষা করেন (উদাহরণস্বরূপ, একটি নির্দিষ্ট রাজ্য, অ্যারিজোনা), আপনি দেখতে পাবেন যে বছরের পর বছর দামের বৃদ্ধির একটি প্যাটার্ন রয়েছে, কয়েকটি ব্যতিক্রম সহ:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
আপনি দেখতে পাবেন ডটগুলির আকার ধীরে ধীরে বৃদ্ধি পাচ্ছে।
-
+
এটি কি সরবরাহ এবং চাহিদার একটি সাধারণ ঘটনা? জলবায়ু পরিবর্তন এবং কলোনি ধসের মতো কারণগুলির কারণে, প্রতি বছর কেনার জন্য কম মধু পাওয়া যাচ্ছে, এবং তাই দাম বাড়ছে?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
উত্তর: হ্যাঁ, তবে ২০০৩ সালের আশেপাশে কিছু ব্যতিক্রম রয়েছে:
-
+
✅ যেহেতু Seaborn একটি লাইন চার্টে ডেটা একত্রিত করছে, এটি "প্রতিটি x মানে একাধিক পরিমাপ প্রদর্শন করে গড় এবং গড়ের চারপাশে ৯৫% আত্মবিশ্বাসের ব্যবধান প্লট করে"। [সূত্র](https://seaborn.pydata.org/tutorial/relational.html)। এই সময়সাপেক্ষ আচরণটি `ci=None` যোগ করে নিষ্ক্রিয় করা যেতে পারে।
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
উত্তর: আসলে না। যদি আপনি মোট উৎপাদন দেখেন, এটি সেই নির্দিষ্ট বছরে বৃদ্ধি পেয়েছে বলে মনে হয়, যদিও সাধারণভাবে এই বছরগুলিতে উৎপাদিত মধুর পরিমাণ হ্রাস পাচ্ছে।
@@ -139,7 +139,7 @@ sns.relplot(
```
এই ভিজ্যুয়ালাইজেশনে, আপনি প্রতি উপনিবেশের উৎপাদন এবং উপনিবেশের সংখ্যা বছর বছর, রাজ্য রাজ্য তুলনা করতে পারেন, যেখানে কলামের জন্য wrap ৩ সেট করা হয়েছে:
-
+
এই ডেটাসেটের জন্য, রাজ্য এবং বছর অনুযায়ী উপনিবেশের সংখ্যা এবং তাদের উৎপাদনের ক্ষেত্রে কিছুই বিশেষভাবে আলাদা করে দাঁড়ায় না। এই দুটি ভেরিয়েবলের মধ্যে সম্পর্ক খুঁজে বের করার জন্য কি দেখার অন্য কোনো উপায় আছে?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
যদিও ২০০৩ সালের আশেপাশে চোখে কিছুই ধরা পড়ে না, এটি আমাদের এই পাঠটি একটি সামান্য সুখী নোটে শেষ করার অনুমতি দেয়: যদিও উপনিবেশের সংখ্যা সামগ্রিকভাবে হ্রাস পাচ্ছে, উপনিবেশের সংখ্যা স্থিতিশীল হচ্ছে, যদিও তাদের প্রতি উপনিবেশের উৎপাদন হ্রাস পাচ্ছে।
diff --git a/translations/bn/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/bn/3-Data-Visualization/R/09-visualization-quantities/README.md
index 5413c958..13a0e5e5 100644
--- a/translations/bn/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/bn/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
এখানে, আপনি `ggplot2` প্যাকেজটি ইনস্টল করেছেন এবং তারপর `library("ggplot2")` কমান্ড ব্যবহার করে এটি ওয়ার্কস্পেসে আমদানি করেছেন। ggplot-এ কোনো প্লট তৈরি করতে `ggplot()` ফাংশন ব্যবহার করা হয় এবং আপনি ডেটাসেট, x এবং y ভেরিয়েবলগুলোকে অ্যাট্রিবিউট হিসেবে নির্দিষ্ট করেন। এই ক্ষেত্রে, আমরা `geom_line()` ফাংশন ব্যবহার করি কারণ আমরা একটি লাইন প্লট তৈরি করতে চাই।
-
+
আপনি প্রথমেই কী লক্ষ্য করেন? অন্তত একটি আউটলাইয়ার রয়েছে - এটি বেশ বড় উইংসপ্যান! ২০০০+ সেন্টিমিটার উইংসপ্যান মানে ২০ মিটারের বেশি - মিনেসোটায় কি প্টেরোড্যাকটিল ঘুরে বেড়াচ্ছে? চলুন তদন্ত করি।
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
আমরা `theme`-এ কোণ নির্ধারণ করি এবং `xlab()` এবং `ylab()`-এ x এবং y অক্ষের লেবেল নির্ধারণ করি। `ggtitle()` গ্রাফ/প্লটের একটি নাম দেয়।
-
+
লেবেলগুলোকে ৪৫ ডিগ্রি কোণে ঘোরানোর পরেও, পড়ার জন্য খুব বেশি লেবেল রয়েছে। চলুন একটি ভিন্ন কৌশল চেষ্টা করি: শুধুমাত্র আউটলাইয়ারগুলো লেবেল করি এবং লেবেলগুলো চার্টের মধ্যে সেট করি। আপনি একটি স্ক্যাটার চার্ট ব্যবহার করতে পারেন যাতে লেবেলিংয়ের জন্য আরও জায়গা তৈরি হয়:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
আপনি কী আবিষ্কার করেন?
-
+
## আপনার ডেটা ফিল্টার করুন
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
আমরা একটি নতুন ডেটাফ্রেম `birds_filtered` তৈরি করেছি এবং তারপর একটি স্ক্যাটার প্লট তৈরি করেছি। আউটলাইয়ারগুলো ফিল্টার করার মাধ্যমে, আপনার ডেটা এখন আরও সংহত এবং বোধগম্য।
-
+
এখন যেহেতু আমাদের ডেটাসেট উইংসপ্যানের ক্ষেত্রে অন্তত পরিষ্কার, চলুন এই পাখিদের সম্পর্কে আরও কিছু আবিষ্কার করি।
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
নিম্নলিখিত স্নিপেটে, আমরা [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) এবং [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) প্যাকেজগুলো ইনস্টল করি যা ডেটা ম্যানিপুলেট এবং গ্রুপ করতে সাহায্য করে যাতে একটি স্ট্যাকড বার চার্ট প্লট করা যায়। প্রথমে, আপনি পাখির `Category` অনুযায়ী ডেটা গ্রুপ করেন এবং তারপর `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` কলামগুলো সারসংক্ষেপ করেন। তারপর, `ggplot2` প্যাকেজ ব্যবহার করে বার চার্ট প্লট করেন এবং বিভিন্ন বিভাগের জন্য রঙ এবং লেবেল নির্ধারণ করেন।
-
+
তবে এই বার চার্টটি পড়া কঠিন কারণ এখানে খুব বেশি অ-গ্রুপ করা ডেটা রয়েছে। আপনি শুধুমাত্র সেই ডেটা নির্বাচন করতে পারেন যা আপনি প্লট করতে চান, তাই চলুন পাখির বিভাগ অনুযায়ী দৈর্ঘ্য দেখার চেষ্টা করি।
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
প্রথমে আপনি `Category` কলামে অনন্য মানগুলো গণনা করেন এবং তারপর সেগুলোকে একটি নতুন ডেটাফ্রেম `birds_count`-এ সাজান। এই সাজানো ডেটা একই স্তরে ফ্যাক্টর করা হয় যাতে এটি সাজানোভাবে প্লট করা যায়। তারপর, `ggplot2` ব্যবহার করে আপনি ডেটা একটি বার চার্টে প্লট করেন। `coord_flip()` অনুভূমিক বার প্লট করে।
-
+
এই বার চার্টটি পাখির প্রতিটি বিভাগের সংখ্যার একটি ভালো দৃশ্য দেখায়। এক নজরে, আপনি দেখতে পারেন যে এই অঞ্চলে সবচেয়ে বেশি সংখ্যক পাখি হাঁস/গিজ/জলপাখি বিভাগে রয়েছে। মিনেসোটা '১০,০০০ হ্রদের ভূমি', তাই এটি আশ্চর্যজনক নয়!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
আমরা `birds_filtered` ডেটাকে `Category` অনুযায়ী গ্রুপ করি এবং তারপর একটি বার গ্রাফ প্লট করি।
-
+
এখানে কিছুই আশ্চর্যজনক নয়: হামিংবার্ডের MaxLength পেলিকান বা গিজের তুলনায় সবচেয়ে কম। যখন ডেটা যৌক্তিক অর্থ তৈরি করে, তখন এটি ভালো!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 চ্যালেঞ্জ
diff --git a/translations/bn/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/bn/3-Data-Visualization/R/10-visualization-distributions/README.md
index 70d306bd..f9285b77 100644
--- a/translations/bn/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/bn/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
এটি পাখির অর্ডার অনুযায়ী শরীরের দৈর্ঘ্যের সাধারণ ডিস্ট্রিবিউশন সম্পর্কে একটি ওভারভিউ দেয়, তবে এটি প্রকৃত ডিস্ট্রিবিউশন প্রদর্শনের জন্য সর্বোত্তম উপায় নয়। এই কাজটি সাধারণত একটি হিস্টোগ্রাম তৈরি করে করা হয়।
@@ -57,7 +57,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
যেমনটি আপনি দেখতে পাচ্ছেন, এই ডেটাসেটের ৪০০+ পাখির বেশিরভাগই তাদের Max Body Mass এর ক্ষেত্রে ২০০০ এর নিচে পড়ে। ডেটা সম্পর্কে আরও অন্তর্দৃষ্টি অর্জন করতে `bins` প্যারামিটারটি একটি বড় সংখ্যায় পরিবর্তন করুন, যেমন ৩০:
@@ -65,7 +65,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
এই চার্টটি আরও বিস্তারিতভাবে ডিস্ট্রিবিউশন দেখায়। একটি কম বাঁ দিকে ঝুঁকানো চার্ট তৈরি করা যেতে পারে নিশ্চিত করে যে আপনি শুধুমাত্র একটি নির্দিষ্ট পরিসরের মধ্যে ডেটা নির্বাচন করেছেন:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ কিছু অন্যান্য ফিল্টার এবং ডেটা পয়েন্ট চেষ্টা করুন। ডেটার সম্পূর্ণ ডিস্ট্রিবিউশন দেখতে, `['MaxBodyMass']` ফিল্টার সরিয়ে লেবেলযুক্ত ডিস্ট্রিবিউশন দেখান।
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
এখানে একটি প্রত্যাশিত অক্ষ বরাবর এই দুটি উপাদানের মধ্যে একটি প্রত্যাশিত সম্পর্ক দেখা যাচ্ছে, একটি বিশেষভাবে শক্তিশালী কনভারজেন্স পয়েন্ট সহ:
-
+
হিস্টোগ্রাম ডিফল্টভাবে সংখ্যাসূচক ডেটার জন্য ভালো কাজ করে। যদি আপনি টেক্সট ডেটা অনুযায়ী ডিস্ট্রিবিউশন দেখতে চান তাহলে কী করবেন?
## টেক্সট ডেটা ব্যবহার করে ডেটাসেটের ডিস্ট্রিবিউশন অন্বেষণ করুন
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
সর্বনিম্ন উইংসপ্যান এবং সংরক্ষণ অবস্থার মধ্যে ভালো সম্পর্ক দেখা যাচ্ছে না। এই পদ্ধতি ব্যবহার করে ডেটাসেটের অন্যান্য উপাদান পরীক্ষা করুন। আপনি বিভিন্ন ফিল্টারও চেষ্টা করতে পারেন। কোনো সম্পর্ক খুঁজে পাচ্ছেন কি?
@@ -136,7 +136,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
আপনি দেখতে পাচ্ছেন যে প্লটটি পূর্বের সর্বনিম্ন উইংসপ্যান ডেটার মতোই প্রতিধ্বনিত করছে; এটি শুধু একটু মসৃণ। যদি আপনি দ্বিতীয় চার্টে তৈরি করা সেই খাঁজযুক্ত MaxBodyMass লাইনটি পুনরায় দেখতে চান, আপনি এটি এই পদ্ধতি ব্যবহার করে খুব ভালোভাবে মসৃণ করতে পারেন:
@@ -144,7 +144,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
যদি আপনি একটি মসৃণ, তবে খুব বেশি মসৃণ না হওয়া লাইন চান, তাহলে `adjust` প্যারামিটার সম্পাদনা করুন:
@@ -152,7 +152,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ এই ধরনের প্লটের জন্য উপলব্ধ প্যারামিটার সম্পর্কে পড়ুন এবং পরীক্ষা করুন!
@@ -162,7 +162,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 চ্যালেঞ্জ
diff --git a/translations/bn/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/bn/3-Data-Visualization/R/11-visualization-proportions/README.md
index 4b443dd7..933dda96 100644
--- a/translations/bn/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/bn/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
দেখুন, একটি পাই চার্ট যা এই ডেটার অনুপাত দেখাচ্ছে এই দুই শ্রেণীর মাশরুম অনুযায়ী। এখানে লেবেলের ক্রম সঠিকভাবে পাওয়া খুবই গুরুত্বপূর্ণ, তাই নিশ্চিত করুন যে লেবেল অ্যারে তৈরি করার সময় ক্রমটি যাচাই করেছেন!
-
+
## ডোনাট!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
এই কোডটি দুটি লাইব্রেরি ব্যবহার করে - ggplot2 এবং webr। webr লাইব্রেরির PieDonut ফাংশন ব্যবহার করে আমরা সহজেই একটি ডোনাট চার্ট তৈরি করতে পারি!
@@ -170,7 +170,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
ওয়াফল চার্ট ব্যবহার করে, আপনি স্পষ্টভাবে এই মাশরুম ডেটাসেটের ক্যাপ রঙের অনুপাত দেখতে পারেন। মজার বিষয় হলো, অনেক সবুজ ক্যাপযুক্ত মাশরুম রয়েছে!
-
+
এই পাঠে, আপনি অনুপাত ভিজ্যুয়ালাইজ করার তিনটি উপায় শিখেছেন। প্রথমে, আপনাকে আপনার ডেটাকে ক্যাটাগরিতে গ্রুপ করতে হবে এবং তারপর সিদ্ধান্ত নিতে হবে কোনটি ডেটা প্রদর্শনের সেরা উপায় - পাই, ডোনাট, বা ওয়াফল। সবগুলোই মজাদার এবং ব্যবহারকারীকে একটি ডেটাসেটের তাৎক্ষণিক স্ন্যাপশট প্রদান করে।
diff --git a/translations/bn/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/bn/3-Data-Visualization/R/12-visualization-relationships/README.md
index f6828a6a..6a8fb8c4 100644
--- a/translations/bn/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/bn/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
এখন, একই ডেটা একটি মধু রঙের স্কিম দিয়ে দেখান যাতে বছরের পর বছর দাম কীভাবে পরিবর্তিত হয়েছে তা প্রদর্শিত হয়। এটি করতে, 'scale_color_gradientn' প্যারামিটার যোগ করুন যা পরিবর্তন দেখায়:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
এই রঙের স্কিম পরিবর্তনের মাধ্যমে, আপনি দেখতে পারেন যে প্রতি পাউন্ড মধুর দামের ক্ষেত্রে বছরের পর বছর একটি শক্তিশালী অগ্রগতি রয়েছে। আসলে, যদি আপনি ডেটার একটি নমুনা সেট পরীক্ষা করেন (উদাহরণস্বরূপ, একটি নির্দিষ্ট রাজ্য, অ্যারিজোনা), আপনি দেখতে পাবেন যে বছরের পর বছর দামের বৃদ্ধির একটি প্যাটার্ন রয়েছে, কয়েকটি ব্যতিক্রম সহ:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
আপনি দেখতে পাবেন ডটের আকার ধীরে ধীরে বৃদ্ধি পাচ্ছে।
-
+
এটি কি সরবরাহ এবং চাহিদার একটি সাধারণ ঘটনা? জলবায়ু পরিবর্তন এবং কলোনি ধ্বংসের মতো কারণগুলির কারণে, প্রতি বছর কেনার জন্য কম মধু পাওয়া যাচ্ছে, এবং তাই দাম বাড়ছে?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
উত্তর: হ্যাঁ, ২০০৩ সালের আশেপাশে কিছু ব্যতিক্রম সহ:
-
+
প্রশ্ন: তাহলে, ২০০৩ সালে মধুর সরবরাহে কি কোনো স্পাইক দেখা যায়? যদি আপনি বছর বছর মোট উৎপাদন দেখেন?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
উত্তর: আসলে না। যদি আপনি মোট উৎপাদন দেখেন, এটি সেই নির্দিষ্ট বছরে বৃদ্ধি পেয়েছে বলে মনে হয়, যদিও সাধারণভাবে এই বছরগুলিতে উৎপাদিত মধুর পরিমাণ হ্রাস পাচ্ছে।
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
এই ভিজ্যুয়ালাইজেশনে, আপনি প্রতি কলোনির উৎপাদন এবং কলোনির সংখ্যা বছর বছর, রাজ্য রাজ্য পাশাপাশি তুলনা করতে পারেন, যেখানে কলামের জন্য wrap 3 সেট করা হয়েছে:
-
+
এই ডেটাসেটের জন্য, রাজ্য রাজ্য এবং বছর বছর কলোনির সংখ্যা এবং তাদের উৎপাদনের ক্ষেত্রে কিছুই বিশেষভাবে আলাদা করে দাঁড়ায় না। এই দুটি ভেরিয়েবলের মধ্যে সম্পর্ক খুঁজে বের করার জন্য দেখার অন্য কোনো উপায় কি আছে?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
যদিও ২০০৩ সালের আশেপাশে চোখে কিছুই ধরা পড়ে না, এটি আমাদের এই পাঠটি একটি সামান্য সুখী নোটে শেষ করার অনুমতি দেয়: যদিও সামগ্রিকভাবে কলোনির সংখ্যা হ্রাস পাচ্ছে, কলোনির সংখ্যা স্থিতিশীল হচ্ছে যদিও তাদের প্রতি কলোনির উৎপাদন হ্রাস পাচ্ছে।
diff --git a/translations/bn/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/bn/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 0e0e4d40..0496aaf3 100644
--- a/translations/bn/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/bn/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
একজন ডেটা সায়েন্টিস্ট সঠিক ডেটার জন্য সঠিক চার্ট নির্বাচন করলেও, ডেটা এমনভাবে প্রদর্শন করা যেতে পারে যা একটি পয়েন্ট প্রমাণ করে, প্রায়শই ডেটার বিশ্বাসযোগ্যতাকে ক্ষুণ্ন করে। প্রতারণামূলক চার্ট এবং ইনফোগ্রাফিক্সের অনেক উদাহরণ রয়েছে!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 প্রতারণামূলক চার্ট নিয়ে একটি কনফারেন্স টক দেখতে উপরের ছবিতে ক্লিক করুন
এই চার্টটি তারিখের ভিত্তিতে সত্যের বিপরীত দেখানোর জন্য X অক্ষটি উল্টে দিয়েছে:
-
+
[এই চার্টটি](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) আরও প্রতারণামূলক, কারণ চোখ ডানদিকে আকৃষ্ট হয় এবং মনে হয় যে সময়ের সাথে সাথে বিভিন্ন কাউন্টিতে COVID কেস কমেছে। প্রকৃতপক্ষে, তারিখগুলো ঘনিষ্ঠভাবে দেখলে, আপনি দেখতে পাবেন যে সেগুলো পুনর্বিন্যাস করা হয়েছে যাতে একটি প্রতারণামূলক নিম্নগামী প্রবণতা দেখানো যায়।
-
+
এই কুখ্যাত উদাহরণটি রঙ এবং একটি উল্টানো Y অক্ষ ব্যবহার করে প্রতারণা করে: বন্দুক-বান্ধব আইন পাস হওয়ার পরে বন্দুক মৃত্যুর সংখ্যা বেড়েছে, এটি বোঝানোর পরিবর্তে চোখকে প্রতারিত করে বিপরীতটি ভাবতে বাধ্য করে:
-
+
এই অদ্ভুত চার্টটি দেখায় যে অনুপাত কীভাবে হাস্যকরভাবে হেরফের করা যায়:
-
+
অতুলনীয় জিনিসের তুলনা করাও আরেকটি ছলনামূলক কৌশল। একটি [অসাধারণ ওয়েবসাইট](https://tylervigen.com/spurious-correlations) রয়েছে যা 'স্পুরিয়াস করেলেশন' প্রদর্শন করে, যেমন মেইনে ডিভোর্স রেট এবং মার্জারিনের খরচের মধ্যে সম্পর্ক। একটি Reddit গ্রুপও ডেটার [খারাপ ব্যবহারের](https://www.reddit.com/r/dataisugly/top/?t=all) উদাহরণ সংগ্রহ করে।
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
যদি আপনার ডেটা X অক্ষে টেক্সট এবং বিস্তারিত হয়, তবে আরও ভালোভাবে পড়ার জন্য টেক্সটটি কোণাকৃতিতে সাজাতে পারেন। [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) 3D প্লটিং অফার করে, যদি আপনার ডেটা এটি সমর্থন করে। এটি ব্যবহার করে উন্নত ডেটা ভিজ্যুয়ালাইজেশন তৈরি করা যায়।
-
+
## অ্যানিমেশন এবং 3D চার্ট প্রদর্শন
আজকের সেরা ডেটা ভিজ্যুয়ালাইজেশনগুলোর মধ্যে কিছু অ্যানিমেটেড। শার্লি উ D3 দিয়ে তৈরি অসাধারণ ভিজ্যুয়ালাইজেশন করেছেন, যেমন '[ফিল্ম ফ্লাওয়ারস](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', যেখানে প্রতিটি ফুল একটি সিনেমার ভিজ্যুয়ালাইজেশন। আরেকটি উদাহরণ হলো 'বাস্ট আউট', যা গ্রিনসক এবং D3-এর সাথে ভিজ্যুয়ালাইজেশন এবং স্ক্রোলিটেলিং আর্টিকেল ফরম্যাটকে একত্রিত করে দেখায় কীভাবে NYC তার গৃহহীন সমস্যার সমাধান করে।
-
+
> "বাস্ট আউট: আমেরিকা কীভাবে তার গৃহহীন মানুষদের সরিয়ে দেয়" [দ্য গার্ডিয়ান](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study) থেকে। ভিজ্যুয়ালাইজেশন: নাদিয়েহ ব্রেমার এবং শার্লি উ
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
আপনি একটি ওয়েব অ্যাপ সম্পন্ন করবেন যা এই সামাজিক নেটওয়ার্কের একটি অ্যানিমেটেড ভিউ প্রদর্শন করবে। এটি একটি লাইব্রেরি ব্যবহার করে তৈরি করা হয়েছে যা Vue.js এবং D3 ব্যবহার করে একটি [নেটওয়ার্কের ভিজ্যুয়াল](https://github.com/emiliorizzo/vue-d3-network) তৈরি করে।
-
+
## প্রকল্প: D3.js ব্যবহার করে একটি নেটওয়ার্ক দেখানোর জন্য একটি চার্ট তৈরি করুন
diff --git a/translations/bn/3-Data-Visualization/README.md b/translations/bn/3-Data-Visualization/README.md
index 18fab894..9e2515bf 100644
--- a/translations/bn/3-Data-Visualization/README.md
+++ b/translations/bn/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ভিজুয়ালাইজেশন
-
+
> ছবি জেনা লি এর তোলা আনস্প্ল্যাশ এ
ডেটা ভিজুয়ালাইজ করা একজন ডেটা সায়েন্টিস্টের সবচেয়ে গুরুত্বপূর্ণ কাজগুলোর একটি। একটি ছবি হাজার শব্দের সমান, এবং একটি ভিজুয়ালাইজেশন আপনাকে আপনার ডেটার বিভিন্ন আকর্ষণীয় অংশ যেমন স্পাইক, আউটলায়ার, গ্রুপিং, প্রবণতা এবং আরও অনেক কিছু চিহ্নিত করতে সাহায্য করতে পারে, যা আপনার ডেটা যে গল্পটি বলতে চায় তা বুঝতে সাহায্য করে।
diff --git a/translations/bn/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/bn/4-Data-Science-Lifecycle/14-Introduction/README.md
index fb1ef0df..10336568 100644
--- a/translations/bn/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/bn/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
এই পাঠটি লাইফসাইকেলের ৩টি অংশের উপর কেন্দ্রীভূত: ডেটা সংগ্রহ, প্রক্রিয়াকরণ এবং রক্ষণাবেক্ষণ।
-
+
> ছবি [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/) দ্বারা
## ডেটা সংগ্রহ
@@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA:
|টিম ডেটা সায়েন্স প্রক্রিয়া (TDSP)|ক্রস-ইন্ডাস্ট্রি স্ট্যান্ডার্ড প্রক্রিয়া ফর ডেটা মাইনিং (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| ছবি [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) দ্বারা | ছবি [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) দ্বারা |
## [পোস্ট-লেকচার কুইজ](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/bn/4-Data-Science-Lifecycle/README.md b/translations/bn/4-Data-Science-Lifecycle/README.md
index 8168d1ca..c9f5fe50 100644
--- a/translations/bn/4-Data-Science-Lifecycle/README.md
+++ b/translations/bn/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ডেটা সায়েন্স লাইফসাইকেল
-
+
> ছবি Headway এর সৌজন্যে Unsplash এ
এই পাঠগুলোতে, আপনি ডেটা সায়েন্স লাইফসাইকেলের কিছু দিক অন্বেষণ করবেন, যার মধ্যে ডেটা বিশ্লেষণ এবং যোগাযোগ অন্তর্ভুক্ত।
diff --git a/translations/bn/5-Data-Science-In-Cloud/README.md b/translations/bn/5-Data-Science-In-Cloud/README.md
index 835f8025..60ead4bd 100644
--- a/translations/bn/5-Data-Science-In-Cloud/README.md
+++ b/translations/bn/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ক্লাউডে ডেটা সায়েন্স
-
+
> ছবি: [Jelleke Vanooteghem](https://unsplash.com/@ilumire) [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape) থেকে
বড় ডেটার সাথে ডেটা সায়েন্স করার ক্ষেত্রে ক্লাউড একটি বড় পরিবর্তন আনতে পারে। পরবর্তী তিনটি পাঠে আমরা দেখব ক্লাউড কী এবং এটি কেন খুবই সহায়ক হতে পারে। আমরা একটি হার্ট ফেইলিউর ডেটাসেট বিশ্লেষণ করব এবং একটি মডেল তৈরি করব যা কারো হার্ট ফেইলিউরের সম্ভাবনা মূল্যায়নে সাহায্য করবে। আমরা ক্লাউডের শক্তি ব্যবহার করে মডেলটি প্রশিক্ষণ, ডিপ্লয় এবং দুটি ভিন্ন উপায়ে ব্যবহার করব। একটি উপায় শুধুমাত্র ব্যবহারকারীর ইন্টারফেস ব্যবহার করে "লো কোড/নো কোড" পদ্ধতিতে, অন্যটি Azure Machine Learning Software Developer Kit (Azure ML SDK) ব্যবহার করে।
-
+
### বিষয়বস্তু
diff --git a/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index ad76feeb..b633b50d 100644
--- a/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [স্বাস্থ্যসেবায় ডেটা সায়েন্স](https://data-flair.training/blogs/data-science-in-healthcare/) - মেডিকেল ইমেজিং (যেমন এমআরআই, এক্স-রে, সিটি-স্ক্যান), জিনোমিক্স (ডিএনএ সিকোয়েন্সিং), ওষুধ উন্নয়ন (ঝুঁকি মূল্যায়ন, সাফল্যের পূর্বাভাস), পূর্বাভাসমূলক বিশ্লেষণ (রোগীর যত্ন এবং সরবরাহ লজিস্টিকস), রোগ ট্র্যাকিং এবং প্রতিরোধ ইত্যাদির মতো প্রয়োগ তুলে ধরে।
- চিত্র ক্রেডিট: [ডেটা ফ্লেয়ার: ৬টি অসাধারণ ডেটা সায়েন্স প্রয়োগ](https://data-flair.training/blogs/data-science-applications/)
+ চিত্র ক্রেডিট: [ডেটা ফ্লেয়ার: ৬টি অসাধারণ ডেটা সায়েন্স প্রয়োগ](https://data-flair.training/blogs/data-science-applications/)
চিত্রটি ডেটা সায়েন্স কৌশল প্রয়োগের অন্যান্য ডোমেইন এবং উদাহরণ দেখায়। আরও প্রয়োগ অন্বেষণ করতে চান? নীচের [পর্যালোচনা এবং স্ব-অধ্যয়ন](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) বিভাগটি দেখুন।
diff --git a/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 7a3ae0e6..431f9ee9 100644
--- a/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/bn/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. ডেটাসেট [ক্যাটালগ](https://planetarycomputer.microsoft.com/catalog) অন্বেষণ করুন - প্রতিটির উদ্দেশ্য শিখুন।
3. এক্সপ্লোরার ব্যবহার করুন - একটি আগ্রহের ডেটাসেট নির্বাচন করুন, একটি প্রাসঙ্গিক কোয়েরি এবং রেন্ডারিং অপশন নির্বাচন করুন।
-
+
`আপনার কাজ:`
এখন ব্রাউজারে রেন্ডার করা ভিজ্যুয়ালাইজেশনটি অধ্যয়ন করুন এবং নিম্নলিখিত প্রশ্নগুলির উত্তর দিন:
diff --git a/translations/bn/CONTRIBUTING.md b/translations/bn/CONTRIBUTING.md
index 685a45cb..fefa548f 100644
--- a/translations/bn/CONTRIBUTING.md
+++ b/translations/bn/CONTRIBUTING.md
@@ -311,7 +311,7 @@ def calculate_mean(data):
import pandas as pd
```
````
-- ছবিতে alt টেক্সট যোগ করুন: ``
+- ছবিতে alt টেক্সট যোগ করুন: ``
- লাইন দৈর্ঘ্য যুক্তিসঙ্গত রাখুন (প্রায় 80-100 অক্ষর)
### Python
diff --git a/translations/bn/README.md b/translations/bn/README.md
index a1f2abfc..76d59072 100644
--- a/translations/bn/README.md
+++ b/translations/bn/README.md
@@ -28,7 +28,7 @@ Azure Cloud Advocates at Microsoft আনন্দের সাথে অফা
**🙏 বিশেষ ধন্যবাদ 🙏 আমাদের [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) লেখক, রিভিউয়ার এবং কনটেন্ট কনট্রিবিউটরদের কাছে,** উল্লেখযোগ্যভাবে Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| শুরুকারীদের জন্য ডেটা সায়েন্স - _স্কেচনোট দ্বারা [@nitya](https://twitter.com/nitya)_ |
@@ -47,7 +47,7 @@ Azure Cloud Advocates at Microsoft আনন্দের সাথে অফা
আমাদের একটি Discord "এআই-এর সাথে শেখা" সিরিজ চলমান আছে—বিস্তারিত জানতে এবং আমাদের সঙ্গে যোগ দিতে [এআই-সহ শেখার সিরিজ](https://aka.ms/learnwithai/discord)-এ আসুন, সময়: 18 - 30 September, 2025। এখানে আপনি GitHub Copilot ব্যবহার করে ডেটা সায়েন্সে টিপস ও ট্রিকস পাবেন।
-
+
# আপনি কি একজন শিক্ষার্থী?
@@ -127,7 +127,7 @@ Azure Cloud Advocates at Microsoft আনন্দের সাথে অফা
## পাঠসমূহ
-||
+||
|:---:|
| Data Science For Beginners: Roadmap - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/bn/sketchnotes/README.md b/translations/bn/sketchnotes/README.md
index daaab224..7ad8f95c 100644
--- a/translations/bn/sketchnotes/README.md
+++ b/translations/bn/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
নিত্যা নারাসিমহান, শিল্পী
-
+
---
diff --git a/translations/br/1-Introduction/01-defining-data-science/README.md b/translations/br/1-Introduction/01-defining-data-science/README.md
index 90359fef..8a56ceb2 100644
--- a/translations/br/1-Introduction/01-defining-data-science/README.md
+++ b/translations/br/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz pré-aula](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Se quisermos ser ainda mais detalhados, podemos traçar o tempo gasto em cada m
Neste desafio, tentaremos encontrar conceitos relevantes para o campo de Ciência de Dados analisando textos. Vamos pegar um artigo da Wikipedia sobre Ciência de Dados, baixar e processar o texto e, em seguida, construir uma nuvem de palavras como esta:
-
+
Visite [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') para ler o código. Você também pode executar o código e ver como ele realiza todas as transformações de dados em tempo real.
diff --git a/translations/br/1-Introduction/04-stats-and-probability/README.md b/translations/br/1-Introduction/04-stats-and-probability/README.md
index f160a32e..cfc22ce7 100644
--- a/translations/br/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/br/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
A Teoria da Estatística e Probabilidade são duas áreas altamente relacionadas da Matemática que são extremamente relevantes para a Ciência de Dados. É possível trabalhar com dados sem um conhecimento profundo de matemática, mas ainda assim é melhor conhecer pelo menos alguns conceitos básicos. Aqui apresentaremos uma breve introdução que ajudará você a começar.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Quiz pré-aula](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ A distribuição discreta mais conhecida é a **distribuição uniforme**, na qu
Só podemos falar sobre a probabilidade de uma variável estar em um determinado intervalo de valores, por exemplo, P(t1≤X2). Nesse caso, a distribuição de probabilidade é descrita por uma **função densidade de probabilidade** p(x), tal que
-.
diff --git a/translations/br/1-Introduction/README.md b/translations/br/1-Introduction/README.md
index c7d4ba5c..49851040 100644
--- a/translations/br/1-Introduction/README.md
+++ b/translations/br/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introdução à Ciência de Dados
-
+
> Foto por Stephen Dawson no Unsplash
Nestes módulos, você descobrirá como a Ciência de Dados é definida e aprenderá sobre as considerações éticas que devem ser levadas em conta por um cientista de dados. Você também aprenderá como os dados são definidos e terá uma introdução a estatística e probabilidade, os principais domínios acadêmicos da Ciência de Dados.
diff --git a/translations/br/2-Working-With-Data/07-python/README.md b/translations/br/2-Working-With-Data/07-python/README.md
index 3eb33fe5..6eab0009 100644
--- a/translations/br/2-Working-With-Data/07-python/README.md
+++ b/translations/br/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Trabalhando com Python - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Embora bancos de dados ofereçam maneiras muito eficientes de armazenar dados e consultá-los usando linguagens de consulta, a forma mais flexível de processar dados é escrever seu próprio programa para manipulá-los. Em muitos casos, realizar uma consulta em um banco de dados seria uma maneira mais eficaz. No entanto, em alguns casos, quando é necessário um processamento de dados mais complexo, isso não pode ser feito facilmente usando SQL.
O processamento de dados pode ser programado em qualquer linguagem de programação, mas existem certas linguagens que são mais adequadas para trabalhar com dados. Cientistas de dados geralmente preferem uma das seguintes linguagens:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Agora suponha que, a cada semana, organizamos uma festa para amigos e levamos 10 pacotes adicionais de sorvete para a festa. Podemos criar outra série, indexada por semana, para demonstrar isso:
```python
@@ -84,7 +84,7 @@ Quando somamos duas séries, obtemos o número total:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Nota** que não estamos usando a sintaxe simples `total_items+additional_items`. Se fizéssemos isso, receberíamos muitos valores `NaN` (*Not a Number*) na série resultante. Isso ocorre porque há valores ausentes para alguns pontos do índice na série `additional_items`, e somar `NaN` a qualquer coisa resulta em `NaN`. Assim, precisamos especificar o parâmetro `fill_value` durante a soma.
@@ -93,7 +93,7 @@ Com séries temporais, também podemos **re-amostrar** a série com diferentes i
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ O primeiro problema em que vamos focar é o modelamento da propagação epidêmi
Como queremos demonstrar como lidar com dados, convidamos você a abrir [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) e lê-lo de cima a baixo. Você também pode executar as células e realizar alguns desafios que deixamos para você no final.
-
+
> Se você não sabe como executar código no Jupyter Notebook, confira [este artigo](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Um exemplo completo de análise deste conjunto de dados usando o serviço cognit
Abra [`notebook-papers.ipynb`](notebook-papers.ipynb) e leia-o de cima a baixo. Você também pode executar as células e realizar alguns desafios que deixamos para você no final.
-
+
## Processando Dados de Imagem
diff --git a/translations/br/2-Working-With-Data/README.md b/translations/br/2-Working-With-Data/README.md
index 104ebc48..e1dff327 100644
--- a/translations/br/2-Working-With-Data/README.md
+++ b/translations/br/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Trabalhando com Dados
-
+
> Foto por Alexander Sinn no Unsplash
Nestas lições, você aprenderá algumas das maneiras de gerenciar, manipular e usar dados em aplicações. Você aprenderá sobre bancos de dados relacionais e não relacionais e como os dados podem ser armazenados neles. Aprenderá os fundamentos de trabalhar com Python para gerenciar dados e descobrirá algumas das muitas formas de usar Python para gerenciar e explorar dados.
diff --git a/translations/br/3-Data-Visualization/12-visualization-relationships/README.md b/translations/br/3-Data-Visualization/12-visualization-relationships/README.md
index d92ac618..4df4abd3 100644
--- a/translations/br/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/br/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Crie um gráfico de dispersão básico para mostrar a relação entre o preço p
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Agora, mostre os mesmos dados com um esquema de cores de mel para mostrar como o preço evolui ao longo dos anos. Você pode fazer isso adicionando um parâmetro 'hue' para mostrar a mudança ano após ano:
@@ -60,7 +60,7 @@ Agora, mostre os mesmos dados com um esquema de cores de mel para mostrar como o
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Com essa mudança de esquema de cores, você pode ver claramente uma forte progressão ao longo dos anos em termos de preço do mel por libra. De fato, se você observar um conjunto de amostra nos dados para verificar (escolha um estado, como o Arizona, por exemplo), pode ver um padrão de aumento de preço ano após ano, com poucas exceções:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Você pode ver o tamanho dos pontos aumentando gradualmente.
-
+
Isso é um caso simples de oferta e demanda? Devido a fatores como mudanças climáticas e colapso das colônias, há menos mel disponível para compra ano após ano, e, portanto, o preço aumenta?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Resposta: Sim, com algumas exceções em torno do ano de 2003:
-
+
✅ Como o Seaborn está agregando dados em torno de uma linha, ele exibe "as múltiplas medições em cada valor de x, plotando a média e o intervalo de confiança de 95% em torno da média". [Fonte](https://seaborn.pydata.org/tutorial/relational.html). Esse comportamento demorado pode ser desativado adicionando `ci=None`.
@@ -114,7 +114,7 @@ Pergunta: Bem, em 2003 também podemos ver um pico na oferta de mel? E se você
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Resposta: Não exatamente. Se você observar a produção total, parece que ela realmente aumentou naquele ano específico, embora, de forma geral, a quantidade de mel sendo produzida esteja em declínio durante esses anos.
@@ -139,7 +139,7 @@ sns.relplot(
```
Nesta visualização, você pode comparar o rendimento por colônia e o número de colônias ano após ano, lado a lado, com um wrap definido em 3 para as colunas:
-
+
Para este conjunto de dados, nada particularmente se destaca em relação ao número de colônias e seu rendimento, ano após ano e estado por estado. Existe uma maneira diferente de encontrar uma correlação entre essas duas variáveis?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Embora nada salte aos olhos em torno do ano de 2003, isso nos permite terminar esta lição com uma nota um pouco mais feliz: embora o número de colônias esteja em declínio geral, ele está se estabilizando, mesmo que o rendimento por colônia esteja diminuindo.
diff --git a/translations/br/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/br/3-Data-Visualization/R/09-visualization-quantities/README.md
index e173390d..b2a97f17 100644
--- a/translations/br/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/br/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Aqui, você instala o pacote `ggplot2` e o importa para o ambiente de trabalho usando o comando `library("ggplot2")`. Para plotar qualquer gráfico no ggplot, a função `ggplot()` é usada, e você especifica o conjunto de dados, as variáveis x e y como atributos. Neste caso, usamos a função `geom_line()` porque queremos plotar um gráfico de linha.
-
+
O que você percebe imediatamente? Parece haver pelo menos um outlier - que envergadura impressionante! Uma envergadura de mais de 2000 centímetros equivale a mais de 20 metros - será que há Pterodáctilos em Minnesota? Vamos investigar.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Especificamos o ângulo no `theme` e definimos os rótulos dos eixos x e y em `xlab()` e `ylab()`, respectivamente. O `ggtitle()` dá um nome ao gráfico.
-
+
Mesmo com a rotação dos rótulos ajustada para 45 graus, ainda há muitos para ler. Vamos tentar uma estratégia diferente: rotular apenas os outliers e definir os rótulos dentro do gráfico. Você pode usar um gráfico de dispersão para criar mais espaço para os rótulos:
@@ -100,7 +100,7 @@ O que está acontecendo aqui? Você usou a função `geom_point()` para plotar p
O que você descobre?
-
+
## Filtre seus dados
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Criamos um novo dataframe `birds_filtered` e, em seguida, plotamos um gráfico de dispersão. Ao filtrar os outliers, seus dados agora estão mais coesos e compreensíveis.
-
+
Agora que temos um conjunto de dados mais limpo, pelo menos em termos de envergadura, vamos descobrir mais sobre esses pássaros.
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
No trecho a seguir, instalamos os pacotes [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) e [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) para ajudar a manipular e agrupar dados a fim de plotar um gráfico de barras empilhadas. Primeiro, agrupamos os dados pela `Categoria` do pássaro e, em seguida, resumimos as colunas `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Depois, plotamos o gráfico de barras usando o pacote `ggplot2`, especificando as cores para as diferentes categorias e os rótulos.
-
+
Este gráfico de barras, no entanto, é ilegível porque há muitos dados não agrupados. Você precisa selecionar apenas os dados que deseja plotar, então vamos observar o comprimento dos pássaros com base em sua categoria.
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Primeiro, contamos os valores únicos na coluna `Categoria` e, em seguida, os classificamos em um novo dataframe `birds_count`. Esses dados classificados são então organizados no mesmo nível para que sejam plotados de forma ordenada. Usando o `ggplot2`, você então plota os dados em um gráfico de barras. O `coord_flip()` plota barras horizontais.
-
+
Este gráfico de barras mostra uma boa visão do número de pássaros em cada categoria. Em um piscar de olhos, você vê que o maior número de pássaros nesta região está na categoria Patos/Gansos/AvesAquáticas. Minnesota é a "terra dos 10.000 lagos", então isso não é surpreendente!
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Agrupamos os dados `birds_filtered` por `Categoria` e, em seguida, plotamos um gráfico de barras.
-
+
Nada surpreendente aqui: beija-flores têm o menor ComprimentoMáximo em comparação com Pelicanos ou Gansos. É bom quando os dados fazem sentido lógico!
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Desafio
diff --git a/translations/br/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/br/3-Data-Visualization/R/10-visualization-distributions/README.md
index 745b532c..1cfddf12 100644
--- a/translations/br/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/br/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Isso fornece uma visão geral da distribuição do comprimento corporal por ordem de pássaros, mas não é a maneira ideal de exibir distribuições reais. Essa tarefa geralmente é realizada criando um histograma.
@@ -57,7 +57,7 @@ O `ggplot2` oferece ótimas maneiras de visualizar a distribuição de dados usa
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Como você pode ver, a maioria dos 400+ pássaros neste conjunto de dados está na faixa de menos de 2000 para sua massa corporal máxima. Obtenha mais informações sobre os dados alterando o parâmetro `bins` para um número maior, algo como 30:
@@ -65,7 +65,7 @@ Como você pode ver, a maioria dos 400+ pássaros neste conjunto de dados está
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Este gráfico mostra a distribuição de forma um pouco mais detalhada. Um gráfico menos inclinado para a esquerda poderia ser criado garantindo que você selecione apenas dados dentro de um determinado intervalo:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Experimente outros filtros e pontos de dados. Para ver a distribuição completa dos dados, remova o filtro `['MaxBodyMass']` para mostrar distribuições rotuladas.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Parece haver uma correlação esperada entre esses dois elementos ao longo de um eixo esperado, com um ponto de convergência particularmente forte:
-
+
Os histogramas funcionam bem por padrão para dados numéricos. E se você precisar ver distribuições de acordo com dados textuais?
## Explore o conjunto de dados para distribuições usando dados textuais
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Não parece haver uma boa correlação entre envergadura mínima e status de conservação. Teste outros elementos do conjunto de dados usando este método. Você encontra alguma correlação?
@@ -136,7 +136,7 @@ Vamos trabalhar com gráficos de densidade agora!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Você pode ver como o gráfico reflete o anterior para os dados de envergadura mínima; é apenas um pouco mais suave. Se você quisesse revisitar aquela linha irregular de MaxBodyMass no segundo gráfico que construiu, poderia suavizá-la muito bem recriando-a usando este método:
@@ -144,7 +144,7 @@ Você pode ver como o gráfico reflete o anterior para os dados de envergadura m
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Se você quisesse uma linha suave, mas não muito suave, edite o parâmetro `adjust`:
@@ -152,7 +152,7 @@ Se você quisesse uma linha suave, mas não muito suave, edite o parâmetro `adj
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Leia sobre os parâmetros disponíveis para este tipo de gráfico e experimente!
@@ -162,7 +162,7 @@ Este tipo de gráfico oferece visualizações explicativas muito bonitas. Com al
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Desafio
diff --git a/translations/br/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/br/3-Data-Visualization/R/11-visualization-proportions/README.md
index 3f2613c3..6ca7b72e 100644
--- a/translations/br/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/br/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voilá, um gráfico de pizza mostrando as proporções desses dados de acordo com essas duas classes de cogumelos. É muito importante obter a ordem correta dos rótulos, especialmente aqui, então certifique-se de verificar a ordem com a qual o array de rótulos foi construído!
-
+
## Roscas!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Este código usa duas bibliotecas - ggplot2 e webr. Usando a função PieDonut da biblioteca webr, podemos criar um gráfico de rosca facilmente!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Usando um gráfico de waffle, você pode ver claramente as proporções das cores dos chapéus neste conjunto de dados de cogumelos. Curiosamente, há muitos cogumelos com chapéus verdes!
-
+
Nesta lição, você aprendeu três maneiras de visualizar proporções. Primeiro, você precisa agrupar seus dados em categorias e, em seguida, decidir qual é a melhor maneira de exibir os dados - pizza, rosca ou waffle. Todas são deliciosas e proporcionam ao usuário uma visão instantânea de um conjunto de dados.
diff --git a/translations/br/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/br/3-Data-Visualization/R/12-visualization-relationships/README.md
index e625244a..3da07c7c 100644
--- a/translations/br/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/br/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Agora, mostre os mesmos dados com um esquema de cores de mel para ilustrar como o preço evolui ao longo dos anos. Você pode fazer isso adicionando um parâmetro 'scale_color_gradientn' para mostrar a mudança, ano após ano:
@@ -61,7 +61,7 @@ Agora, mostre os mesmos dados com um esquema de cores de mel para ilustrar como
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Com essa mudança no esquema de cores, você pode ver claramente uma forte progressão ao longo dos anos no preço do mel por libra. De fato, se você observar um conjunto de amostra nos dados para verificar (escolha um estado, como o Arizona, por exemplo), verá um padrão de aumento de preços ano após ano, com poucas exceções:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Você pode ver o tamanho dos pontos aumentando gradualmente.
-
+
Isso é um caso simples de oferta e demanda? Devido a fatores como mudanças climáticas e colapso das colônias, há menos mel disponível para compra ano após ano, e, portanto, o preço aumenta?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Resposta: Sim, com algumas exceções por volta do ano de 2003:
-
+
Pergunta: Bem, em 2003 também podemos ver um aumento na oferta de mel? E se você observar a produção total ano após ano?
@@ -115,7 +115,7 @@ Pergunta: Bem, em 2003 também podemos ver um aumento na oferta de mel? E se voc
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Resposta: Não exatamente. Se você observar a produção total, parece que ela realmente aumentou naquele ano específico, embora, de forma geral, a quantidade de mel produzida esteja em declínio durante esses anos.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Nesta visualização, você pode comparar o rendimento por colônia e o número de colônias ano após ano, lado a lado, com um wrap configurado para 3 colunas:
-
+
Para este conjunto de dados, nada particularmente se destaca em relação ao número de colônias e seu rendimento, ano após ano e estado por estado. Existe uma maneira diferente de encontrar uma correlação entre essas duas variáveis?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Embora nada salte aos olhos em torno do ano de 2003, isso nos permite terminar esta lição com uma nota um pouco mais feliz: embora o número de colônias esteja em declínio geral, ele está se estabilizando, mesmo que o rendimento por colônia esteja diminuindo.
diff --git a/translations/br/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/br/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 46328a0f..938b3c9d 100644
--- a/translations/br/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/br/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Em lições anteriores, você experimentou criar vários tipos interessantes de
Mesmo que um cientista de dados seja cuidadoso ao escolher o gráfico certo para os dados certos, há muitas maneiras de exibir dados de forma a provar um ponto, muitas vezes às custas de comprometer os próprios dados. Existem muitos exemplos de gráficos e infográficos enganosos!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Como os gráficos mentem")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Como os gráficos mentem")
> 🎥 Clique na imagem acima para assistir a uma palestra sobre gráficos enganosos
Este gráfico inverte o eixo X para mostrar o oposto da verdade, com base na data:
-
+
[Este gráfico](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) é ainda mais enganoso, pois o olhar é atraído para a direita, levando à conclusão de que, ao longo do tempo, os casos de COVID diminuíram nos vários condados. Na verdade, se você olhar atentamente para as datas, verá que elas foram reorganizadas para criar essa tendência enganosa de queda.
-
+
Este exemplo notório usa cor E um eixo Y invertido para enganar: em vez de concluir que as mortes por armas aumentaram após a aprovação de uma legislação favorável às armas, o olhar é enganado para pensar que o oposto é verdadeiro:
-
+
Este gráfico estranho mostra como a proporção pode ser manipulada, de forma hilária:
-
+
Comparar o incomparável é mais um truque duvidoso. Existe um [site maravilhoso](https://tylervigen.com/spurious-correlations) dedicado a 'correlações espúrias', exibindo 'fatos' que correlacionam coisas como a taxa de divórcio no Maine e o consumo de margarina. Um grupo no Reddit também coleta os [usos feios](https://www.reddit.com/r/dataisugly/top/?t=all) de dados.
@@ -100,13 +100,13 @@ Rotule seus eixos, forneça uma legenda, se necessário, e ofereça tooltips par
Se seus dados forem textuais e extensos no eixo X, você pode inclinar o texto para melhorar a legibilidade. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) oferece gráficos em 3D, se seus dados suportarem. Visualizações de dados sofisticadas podem ser produzidas usando essa ferramenta.
-
+
## Exibição de gráficos animados e em 3D
Algumas das melhores visualizações de dados hoje em dia são animadas. Shirley Wu tem exemplos incríveis feitos com D3, como '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', onde cada flor é uma visualização de um filme. Outro exemplo para o Guardian é 'bussed out', uma experiência interativa que combina visualizações com Greensock e D3, além de um formato de artigo com narrativa para mostrar como NYC lida com seu problema de moradores de rua, enviando pessoas para fora da cidade.
-
+
> "Bussed Out: Como os EUA Movem seus Moradores de Rua" do [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualizações por Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Embora esta lição não seja suficiente para ensinar essas poderosas biblioteca
Você completará um aplicativo web que exibirá uma visão animada dessa rede social. Ele usa uma biblioteca criada para gerar uma [visualização de uma rede](https://github.com/emiliorizzo/vue-d3-network) usando Vue.js e D3. Quando o aplicativo estiver em execução, você poderá mover os nós na tela para reorganizar os dados.
-
+
## Projeto: Crie um gráfico para mostrar uma rede usando D3.js
diff --git a/translations/br/3-Data-Visualization/README.md b/translations/br/3-Data-Visualization/README.md
index ca11a320..1e9e2dbd 100644
--- a/translations/br/3-Data-Visualization/README.md
+++ b/translations/br/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualizações
-
+
> Foto por Jenna Lee no Unsplash
Visualizar dados é uma das tarefas mais importantes de um cientista de dados. Imagens valem mais que mil palavras, e uma visualização pode ajudar você a identificar diversos aspectos interessantes dos seus dados, como picos, valores atípicos, agrupamentos, tendências e muito mais, que podem ajudar a entender a história que seus dados estão tentando contar.
diff --git a/translations/br/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/br/4-Data-Science-Lifecycle/14-Introduction/README.md
index 21f28e2f..f0a36625 100644
--- a/translations/br/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/br/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Neste ponto, você provavelmente já percebeu que a ciência de dados é um proc
Esta lição foca em 3 partes do ciclo de vida: captura, processamento e manutenção.
-
+
> Foto por [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Captura
@@ -101,7 +101,7 @@ Explore o [Ciclo de Vida do Processo de Ciência de Dados em Equipe](https://doc
|Processo de Ciência de Dados em Equipe (TDSP)|Processo padrão da indústria para mineração de dados (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Imagem por [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Imagem por [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz Pós-Aula](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/br/4-Data-Science-Lifecycle/README.md b/translations/br/4-Data-Science-Lifecycle/README.md
index 0e856a5f..38994183 100644
--- a/translations/br/4-Data-Science-Lifecycle/README.md
+++ b/translations/br/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# O Ciclo de Vida da Ciência de Dados
-
+
> Foto por Headway no Unsplash
Nestes módulos, você explorará alguns aspectos do ciclo de vida da Ciência de Dados, incluindo análise e comunicação de dados.
diff --git a/translations/br/5-Data-Science-In-Cloud/README.md b/translations/br/5-Data-Science-In-Cloud/README.md
index 340fa584..8596371e 100644
--- a/translations/br/5-Data-Science-In-Cloud/README.md
+++ b/translations/br/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Ciência de Dados na Nuvem
-
+
> Foto de [Jelleke Vanooteghem](https://unsplash.com/@ilumire) no [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Quando se trata de fazer ciência de dados com big data, a nuvem pode ser um divisor de águas. Nas próximas três lições, vamos entender o que é a nuvem e por que ela pode ser tão útil. Também vamos explorar um conjunto de dados sobre insuficiência cardíaca e construir um modelo para ajudar a avaliar a probabilidade de alguém sofrer uma insuficiência cardíaca. Usaremos o poder da nuvem para treinar, implantar e consumir um modelo de duas maneiras diferentes. Uma delas utilizando apenas a interface do usuário em um formato de Baixo Código/Sem Código, e a outra utilizando o Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Tópicos
diff --git a/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index fdb18ccc..3875f853 100644
--- a/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Graças à democratização da IA, os desenvolvedores estão encontrando mais fa
* [Ciência de Dados na Saúde](https://data-flair.training/blogs/data-science-in-healthcare/) - destaca aplicações como imagem médica (e.g., ressonância magnética, raio-X, tomografia), genômica (sequenciamento de DNA), desenvolvimento de medicamentos (avaliação de risco, previsão de sucesso), análise preditiva (cuidados com pacientes e logística de suprimentos), rastreamento e prevenção de doenças etc.
- Crédito da Imagem: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Crédito da Imagem: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
A figura mostra outros domínios e exemplos de aplicação de técnicas de ciência de dados. Quer explorar outras aplicações? Confira a seção [Revisão e Autoestudo](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) abaixo.
diff --git a/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 114363eb..4961b59d 100644
--- a/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/br/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ A interface do Explorer (mostrada na captura de tela abaixo) permite que você s
2. Explorar o [Catálogo de conjuntos de dados](https://planetarycomputer.microsoft.com/catalog) - aprender o propósito de cada conjunto de dados.
3. Usar o Explorer - escolher um conjunto de dados de interesse, selecionar uma consulta relevante e uma opção de renderização.
-
+
`Sua Tarefa:`
Agora, estude a visualização que foi gerada no navegador e responda às seguintes perguntas:
diff --git a/translations/br/CONTRIBUTING.md b/translations/br/CONTRIBUTING.md
index 094577bb..2c00e1c5 100644
--- a/translations/br/CONTRIBUTING.md
+++ b/translations/br/CONTRIBUTING.md
@@ -316,7 +316,7 @@ Inclua na descrição do seu PR:
```
````
-- Adicione texto alternativo às imagens: ``
+- Adicione texto alternativo às imagens: ``
- Mantenha os comprimentos das linhas razoáveis (cerca de 80-100 caracteres)
### Python
diff --git a/translations/br/README.md b/translations/br/README.md
index b687fde6..7a0ea897 100644
--- a/translations/br/README.md
+++ b/translations/br/README.md
@@ -33,7 +33,7 @@ Os Azure Cloud Advocates da Microsoft têm o prazer de oferecer um currículo de
**🙏 Agradecimentos especiais 🙏 aos nossos autores, revisores e colaboradores de conteúdo [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** notavelmente Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science para Iniciantes - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Os Azure Cloud Advocates da Microsoft têm o prazer de oferecer um currículo de
Temos uma série no Discord chamada Aprenda com IA em andamento; saiba mais e junte-se a nós em [Série Aprenda com IA](https://aka.ms/learnwithai/discord) de 18 a 30 de setembro de 2025. Você receberá dicas e truques para usar o GitHub Copilot em Ciência de Dados.
-
+
# Você é estudante?
@@ -132,7 +132,7 @@ Cada exemplo inclui comentários detalhados explicando cada passo, tornando-os p
## Lições
-||
+||
|:---:|
| Ciência de Dados para Iniciantes: Roteiro - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/br/sketchnotes/README.md b/translations/br/sketchnotes/README.md
index 3a44a964..9cb5e895 100644
--- a/translations/br/sketchnotes/README.md
+++ b/translations/br/sketchnotes/README.md
@@ -13,7 +13,7 @@ Encontre todos os sketchnotes aqui!
Nitya Narasimhan, artista
-
+
---
diff --git a/translations/cs/1-Introduction/01-defining-data-science/README.md b/translations/cs/1-Introduction/01-defining-data-science/README.md
index 353bb0d4..392f9157 100644
--- a/translations/cs/1-Introduction/01-defining-data-science/README.md
+++ b/translations/cs/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Kvíz před přednáškou](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Pokud se chceme pustit do ještě složitější analýzy, můžeme vykreslit č
V této výzvě se pokusíme najít koncepty relevantní pro oblast Data Science tím, že se podíváme na texty. Vezmeme článek z Wikipedie o Data Science, stáhneme a zpracujeme text, a poté vytvoříme slovní mrak, který bude vypadat takto:
-
+
Navštivte [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') a projděte si kód. Můžete také spustit kód a sledovat, jak provádí všechny transformace dat v reálném čase.
diff --git a/translations/cs/1-Introduction/04-stats-and-probability/README.md b/translations/cs/1-Introduction/04-stats-and-probability/README.md
index f798e36b..426d0ed2 100644
--- a/translations/cs/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/cs/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Teorie statistiky a pravděpodobnosti jsou dvě úzce související oblasti matematiky, které mají velký význam pro datovou vědu. Je možné pracovat s daty bez hlubokých znalostí matematiky, ale je stále lepší znát alespoň některé základní koncepty. Zde vám představíme krátký úvod, který vám pomůže začít.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Kvíz před přednáškou](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Popis pravděpodobnostního rozdělení spojité proměnné, jejíž hodnoty jso
Můžeme mluvit pouze o pravděpodobnosti, že proměnná spadne do určitého intervalu hodnot, např. P(t1≤X2). V tomto případě je pravděpodobnostní rozdělení popsáno pomocí **funkce hustoty pravděpodobnosti** p(x), takové že
-.
diff --git a/translations/cs/1-Introduction/README.md b/translations/cs/1-Introduction/README.md
index ae4bea9b..c9ce2811 100644
--- a/translations/cs/1-Introduction/README.md
+++ b/translations/cs/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Úvod do datové vědy
-
+
> Foto od Stephena Dawsona na Unsplash
V těchto lekcích objevíte, jak je datová věda definována, a seznámíte se s etickými otázkami, které musí datový vědec zohlednit. Také se naučíte, jak jsou data definována, a získáte základní znalosti o statistice a pravděpodobnosti, což jsou klíčové akademické oblasti datové vědy.
diff --git a/translations/cs/2-Working-With-Data/07-python/README.md b/translations/cs/2-Working-With-Data/07-python/README.md
index 10ba24f6..83431ef4 100644
--- a/translations/cs/2-Working-With-Data/07-python/README.md
+++ b/translations/cs/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Práce s Pythonem - _Sketchnote od [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Databáze nabízejí velmi efektivní způsoby ukládání dat a jejich dotazování pomocí dotazovacích jazyků, ale nejflexibilnějším způsobem zpracování dat je napsání vlastního programu pro manipulaci s daty. V mnoha případech by bylo efektivnější použít dotaz na databázi. Nicméně v některých situacích, kdy je potřeba složitější zpracování dat, to nelze snadno provést pomocí SQL.
Zpracování dat lze naprogramovat v jakémkoli programovacím jazyce, ale existují určité jazyky, které jsou na vyšší úrovni, pokud jde o práci s daty. Datoví vědci obvykle preferují jeden z následujících jazyků:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Předpokládejme, že každý týden pořádáme večírek pro přátele a bereme dalších 10 balení zmrzliny na večírek. Můžeme vytvořit další sérii, indexovanou podle týdne, abychom to ukázali:
```python
@@ -84,7 +84,7 @@ Když sečteme dvě série dohromady, získáme celkový počet:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Poznámka**: Nepoužíváme jednoduchou syntaxi `total_items+additional_items`. Pokud bychom to udělali, dostali bychom mnoho hodnot `NaN` (*Not a Number*) v výsledné sérii. To je proto, že některé hodnoty indexu v sérii `additional_items` chybí, a přičtení `NaN` k čemukoli vede k `NaN`. Proto musíme při sčítání specifikovat parametr `fill_value`.
@@ -93,7 +93,7 @@ U časových řad můžeme také **převzorkovat** sérii na různé časové in
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Prvním problémem, na který se zaměříme, je modelování epidemického ší
Protože chceme ukázat, jak pracovat s daty, zveme vás k otevření [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) a jeho přečtení od začátku do konce. Můžete také spustit buňky a vyzkoušet některé výzvy, které jsme pro vás nechali na konci.
-
+
> Pokud nevíte, jak spustit kód v Jupyter Notebooku, podívejte se na [tento článek](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Kompletní příklad analýzy tohoto datasetu pomocí [Text Analytics for Health
Otevřete [`notebook-papers.ipynb`](notebook-papers.ipynb) a přečtěte si jej od začátku do konce. Můžete také spustit buňky a vyzkoušet některé výzvy, které jsme pro vás nechali na konci.
-
+
## Zpracování obrazových dat
diff --git a/translations/cs/2-Working-With-Data/README.md b/translations/cs/2-Working-With-Data/README.md
index 18d2ee99..d9ca1232 100644
--- a/translations/cs/2-Working-With-Data/README.md
+++ b/translations/cs/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Práce s daty
-
+
> Foto od Alexandra Sinna na Unsplash
V těchto lekcích se naučíte některé způsoby, jak lze data spravovat, manipulovat s nimi a používat je v aplikacích. Naučíte se o relačních a nerelačních databázích a o tom, jak v nich lze data ukládat. Získáte základy práce s Pythonem pro správu dat a objevíte některé z mnoha způsobů, jak můžete Python využít k práci s daty a jejich analýze.
diff --git a/translations/cs/3-Data-Visualization/12-visualization-relationships/README.md b/translations/cs/3-Data-Visualization/12-visualization-relationships/README.md
index be1a15ef..57e64019 100644
--- a/translations/cs/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/cs/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Vytvořte základní bodový graf, který ukáže vztah mezi cenou za libru medu
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Nyní zobrazte stejná data s barevným schématem připomínajícím med, abyste ukázali, jak se cena vyvíjela v průběhu let. Toho můžete dosáhnout přidáním parametru 'hue', který ukáže změnu rok od roku:
@@ -60,7 +60,7 @@ Nyní zobrazte stejná data s barevným schématem připomínajícím med, abyst
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
S touto změnou barevného schématu je zřejmé, že cena za libru medu v průběhu let výrazně stoupá. Pokud se podíváte na vzorek dat (například stát Arizona), můžete vidět vzorec zvyšování cen rok od roku s několika výjimkami:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Vidíte, že velikost bodů se postupně zvětšuje.
-
+
Je to jednoduchý případ nabídky a poptávky? Kvůli faktorům, jako je změna klimatu a kolaps včelstev, je k dispozici méně medu k prodeji rok od roku, a proto cena stoupá?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Odpověď: Ano, s několika výjimkami kolem roku 2003:
-
+
✅ Protože Seaborn agreguje data do jedné čáry, zobrazuje „vícenásobná měření pro každou hodnotu x vykreslením průměru a 95% intervalem spolehlivosti kolem průměru“. [Zdroj](https://seaborn.pydata.org/tutorial/relational.html). Toto časově náročné chování lze vypnout přidáním `ci=None`.
@@ -114,7 +114,7 @@ Otázka: No, můžeme v roce 2003 také vidět nárůst zásob medu? Co když se
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Odpověď: Ani ne. Pokud se podíváte na celkovou produkci, zdá se, že v tomto konkrétním roce skutečně vzrostla, i když obecně množství vyprodukovaného medu v těchto letech klesá.
@@ -139,7 +139,7 @@ sns.relplot(
```
V této vizualizaci můžete porovnat výnos na včelstvo a počet včelstev rok od roku vedle sebe s nastavením wrap na 3 pro sloupce:
-
+
Pro tento dataset nic zvláštního nevyniká, pokud jde o počet včelstev a jejich výnos rok od roku a stát od státu. Existuje jiný způsob, jak hledat korelaci mezi těmito dvěma proměnnými?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
I když kolem roku 2003 nic zvláštního nevyniká, umožňuje nám to zakončit tuto lekci na trochu pozitivnější notě: i když celkový počet včelstev klesá, jejich počet se stabilizuje, i když jejich výnos na včelstvo klesá.
diff --git a/translations/cs/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/cs/3-Data-Visualization/R/09-visualization-quantities/README.md
index 40e08848..d749854e 100644
--- a/translations/cs/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/cs/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Zde nainstalujete balíček `ggplot2` a poté jej importujete do pracovního prostoru pomocí příkazu `library("ggplot2")`. Pro vykreslení jakéhokoliv grafu v ggplot se používá funkce `ggplot()` a vy specifikujete dataset, proměnné x a y jako atributy. V tomto případě použijeme funkci `geom_line()`, protože chceme vykreslit čárový graf.
-
+
Co si okamžitě všimnete? Zdá se, že existuje alespoň jeden odlehlý bod - to je docela rozpětí křídel! Rozpětí křídel přesahující 2000 centimetrů odpovídá více než 20 metrům - potulují se v Minnesotě pterodaktylové? Pojďme to prozkoumat.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Specifikujeme úhel v `theme` a specifikujeme popisky os x a y pomocí `xlab()` a `ylab()` respektive. Funkce `ggtitle()` dává grafu/jednotce název.
-
+
I při rotaci popisků na 45 stupňů je jich příliš mnoho na čtení. Zkusme jinou strategii: označme pouze odlehlé body a nastavme popisky přímo v grafu. Můžete použít bodový graf, abyste vytvořili více prostoru pro popisky:
@@ -100,7 +100,7 @@ Co se zde děje? Použili jste funkci `geom_point()` k vykreslení bodů. S tím
Co objevíte?
-
+
## Filtrování dat
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Vytvořili jsme nový dataframe `birds_filtered` a poté vykreslili bodový graf. Filtrováním odlehlých bodů jsou vaše data nyní soudržnější a srozumitelnější.
-
+
Nyní, když máme čistší dataset alespoň z hlediska rozpětí křídel, pojďme objevit více o těchto ptácích.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
V následujícím úryvku instalujeme balíčky [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) a [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0), které pomáhají manipulovat a seskupovat data za účelem vykreslení seskupeného sloupcového grafu. Nejprve seskupíte data podle `Kategorie` ptáků a poté shrnete sloupce `MinDélka`, `MaxDélka`, `MinHmotnost`, `MaxHmotnost`, `MinRozpětí`, `MaxRozpětí`. Poté vykreslíte sloupcový graf pomocí balíčku `ggplot2` a specifikujete barvy pro různé kategorie a popisky.
-
+
Tento sloupcový graf je však nečitelný, protože obsahuje příliš mnoho neseskupených dat. Musíte vybrat pouze data, která chcete vykreslit, takže se podívejme na délku ptáků podle jejich kategorie.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Nejprve spočítáte unikátní hodnoty ve sloupci `Kategorie` a poté je seřadíte do nového dataframe `birds_count`. Tato seřazená data jsou poté faktorizována na stejné úrovni, aby byla vykreslena ve správném pořadí. Pomocí `ggplot2` poté vykreslíte data ve sloupcovém grafu. Funkce `coord_flip()` vykreslí horizontální sloupce.
-
+
Tento sloupcový graf poskytuje dobrý přehled o počtu ptáků v každé kategorii. Na první pohled vidíte, že největší počet ptáků v této oblasti patří do kategorie Kachny/Husy/Vodní ptáci. Minnesota je "země 10 000 jezer", takže to není překvapivé!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Seskupíme data `birds_filtered` podle `Kategorie` a poté vykreslíme sloupcový graf.
-
+
Nic zde není překvapivé: kolibříci mají nejmenší MaxDélku ve srovnání s pelikány nebo husami. Je dobré, když data dávají logický smysl!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Výzva
diff --git a/translations/cs/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/cs/3-Data-Visualization/R/10-visualization-distributions/README.md
index 1e1be0e9..e771ce87 100644
--- a/translations/cs/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/cs/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Tento graf poskytuje přehled o obecné distribuci délky těla podle řádu ptáků, ale není to optimální způsob, jak zobrazit skutečné distribuce. Tento úkol se obvykle řeší vytvořením histogramu.
## Práce s histogramy
@@ -56,7 +56,7 @@ Tento graf poskytuje přehled o obecné distribuci délky těla podle řádu pt
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Jak vidíte, většina z více než 400 ptáků v tomto datasetu spadá do rozsahu pod 2000 pro jejich maximální tělesnou hmotnost. Získejte více informací o datech změnou parametru `bins` na vyšší číslo, například 30:
@@ -64,7 +64,7 @@ Jak vidíte, většina z více než 400 ptáků v tomto datasetu spadá do rozsa
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Tento graf ukazuje distribuci trochu podrobněji. Méně zkreslený graf by mohl být vytvořen tím, že zajistíte, že vyberete pouze data v daném rozsahu:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Vyzkoušejte některé další filtry a datové body. Chcete-li vidět plnou distribuci dat, odstraňte filtr `['MaxBodyMass']`, abyste zobrazili označené distribuce.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Zdá se, že existuje očekávaná korelace mezi těmito dvěma prvky podél očekávané osy, s jedním obzvláště silným bodem konvergence:
-
+
Histogramy fungují dobře ve výchozím nastavení pro číselná data. Co když potřebujete vidět distribuce podle textových dat?
## Prozkoumejte dataset pro distribuce pomocí textových dat
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Zdá se, že neexistuje dobrá korelace mezi minimálním rozpětím křídel a stavem ochrany. Otestujte další prvky datasetu pomocí této metody. Můžete také vyzkoušet různé filtry. Najdete nějakou korelaci?
@@ -135,7 +135,7 @@ Pojďme nyní pracovat s hustotními grafy!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Vidíte, jak graf odráží ten předchozí pro data o minimálním rozpětí křídel; je jen trochu hladší. Pokud byste chtěli znovu vytvořit tu zubatou linii MaxBodyMass z druhého grafu, který jste vytvořili, mohli byste ji velmi dobře vyhladit pomocí této metody:
@@ -143,7 +143,7 @@ Vidíte, jak graf odráží ten předchozí pro data o minimálním rozpětí k
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Pokud byste chtěli hladkou, ale ne příliš hladkou linii, upravte parametr `adjust`:
@@ -151,7 +151,7 @@ Pokud byste chtěli hladkou, ale ne příliš hladkou linii, upravte parametr `a
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Přečtěte si o dostupných parametrech pro tento typ grafu a experimentujte!
@@ -161,7 +161,7 @@ Tento typ grafu nabízí krásně vysvětlující vizualizace. Například něko
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Výzva
diff --git a/translations/cs/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/cs/3-Data-Visualization/R/11-visualization-proportions/README.md
index cb730a11..ba1d3b19 100644
--- a/translations/cs/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/cs/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -93,7 +93,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, koláčový graf zobrazující proporce těchto dat podle těchto dvou tříd hub. Je velmi důležité správně nastavit pořadí štítků, zejména zde, takže si ověřte pořadí, ve kterém je pole štítků vytvořeno!
-
+
## Prstence!
@@ -127,7 +127,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Tento kód používá dvě knihovny - ggplot2 a webr. Pomocí funkce PieDonut z knihovny webr můžeme snadno vytvořit prstencový graf!
@@ -165,7 +165,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Pomocí waflového grafu můžete jasně vidět proporce barev klobouků v této datové sadě hub. Zajímavé je, že existuje mnoho hub se zelenými klobouky!
-
+
V této lekci jste se naučili tři způsoby vizualizace proporcí. Nejprve musíte svá data seskupit do kategorií a poté se rozhodnout, který způsob zobrazení dat je nejlepší - koláč, prstenec nebo wafle. Všechny jsou chutné a uživateli okamžitě poskytují přehled o datové sadě.
diff --git a/translations/cs/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/cs/3-Data-Visualization/R/12-visualization-relationships/README.md
index c2533f53..800eed4d 100644
--- a/translations/cs/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/cs/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Nyní zobrazte stejná data s barevným schématem inspirovaným medem, abyste ukázali, jak se cena vyvíjí v průběhu let. Toho můžete dosáhnout přidáním parametru 'scale_color_gradientn', který ukáže změnu rok od roku:
@@ -61,7 +61,7 @@ Nyní zobrazte stejná data s barevným schématem inspirovaným medem, abyste u
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
S touto změnou barevného schématu můžete vidět, že v průběhu let dochází k jasnému nárůstu ceny za libru medu. Pokud se podíváte na vzorek dat (například stát Arizona), můžete vidět vzorec zvyšování cen rok od roku s několika výjimkami:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Vidíte, že velikost bodů se postupně zvětšuje.
-
+
Je to jednoduchý případ nabídky a poptávky? Kvůli faktorům, jako je změna klimatu a kolaps včelstev, je k dispozici méně medu k prodeji rok od roku, a proto cena stoupá?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Odpověď: Ano, s několika výjimkami kolem roku 2003:
-
+
Otázka: Vidíme v roce 2003 také nárůst zásob medu? Co když se podíváte na celkovou produkci rok od roku?
@@ -115,7 +115,7 @@ Otázka: Vidíme v roce 2003 také nárůst zásob medu? Co když se podíváte
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Odpověď: Ne tak docela. Pokud se podíváte na celkovou produkci, zdá se, že v tomto konkrétním roce skutečně vzrostla, i když obecně produkce medu během těchto let klesá.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
V této vizualizaci můžete porovnat výnos na včelstvo a počet včelstev rok od roku vedle sebe s nastavením wrap na 3 pro sloupce:
-
+
Pro tento dataset nic zvláštního nevyniká, pokud jde o počet včelstev a jejich výnos rok od roku a stát od státu. Existuje jiný způsob, jak najít korelaci mezi těmito dvěma proměnnými?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
I když kolem roku 2003 nic výrazně nevyniká, umožňuje nám to zakončit tuto lekci na trochu pozitivnější notě: i když celkový počet včelstev klesá, jejich počet se stabilizuje, i když jejich výnos na včelstvo klesá.
diff --git a/translations/cs/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/cs/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 79318275..2b4d2bc4 100644
--- a/translations/cs/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/cs/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ V předchozích lekcích jste experimentovali s vytvářením různých zajímav
I když datový vědec pečlivě vybere správný graf pro správná data, existuje mnoho způsobů, jak mohou být data zobrazena tak, aby podporovala určitý názor, často na úkor samotných dat. Existuje mnoho příkladů klamavých grafů a infografik!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Jak grafy lžou")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Jak grafy lžou")
> 🎥 Klikněte na obrázek výše pro konferenční přednášku o klamavých grafech
Tento graf obrací osu X, aby ukázal opak pravdy na základě data:
-
+
[Tento graf](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) je ještě klamavější, protože oko je přitahováno doprava, aby dospělo k závěru, že počet případů COVID v různých okresech v průběhu času klesal. Ve skutečnosti, pokud se podíváte pozorně na data, zjistíte, že byla přeskupena, aby vytvořila klamavý sestupný trend.
-
+
Tento notoricky známý příklad používá barvy A obrácenou osu Y k oklamání: místo závěru, že počet úmrtí na střelné zbraně vzrostl po přijetí legislativy podporující zbraně, je oko oklamáno, aby si myslelo, že opak je pravdou:
-
+
Tento podivný graf ukazuje, jak lze manipulovat s proporcemi, a to k humornému efektu:
-
+
Porovnávání neporovnatelného je další pochybný trik. Existuje [úžasná webová stránka](https://tylervigen.com/spurious-correlations) plná 'nesmyslných korelací', která zobrazuje 'fakta' korelující například míru rozvodovosti v Maine a spotřebu margarínu. Skupina na Redditu také sbírá [ošklivé použití](https://www.reddit.com/r/dataisugly/top/?t=all) dat.
@@ -100,13 +100,13 @@ Označte osy, poskytněte legendu, pokud je to nutné, a nabídněte tooltipy pr
Pokud jsou vaše data textová a na ose X příliš dlouhá, můžete text naklonit pro lepší čitelnost. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) nabízí 3D grafy, pokud vaše data podporují jejich zobrazení. Pomocí této knihovny lze vytvořit sofistikované vizualizace dat.
-
+
## Animace a 3D zobrazení grafů
Některé z nejlepších vizualizací dat dnes jsou animované. Shirley Wu vytvořila úžasné vizualizace pomocí D3, například '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', kde každá květina představuje vizualizaci filmu. Dalším příkladem pro Guardian je 'bussed out', interaktivní zážitek kombinující vizualizace s Greensock a D3 plus formát článku typu scrollytelling, který ukazuje, jak NYC řeší problém bezdomovectví tím, že lidi vyváží z města.
-
+
> "Bussed Out: Jak Amerika přesouvá své bezdomovce" od [Guardianu](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Vizualizace od Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ I když tato lekce není dostatečně podrobná, aby vás naučila používat ty
Dokončíte webovou aplikaci, která zobrazí animovaný pohled na tuto sociální síť. Používá knihovnu, která byla vytvořena pro [vizualizaci sítě](https://github.com/emiliorizzo/vue-d3-network) pomocí Vue.js a D3. Když aplikace běží, můžete uzly na obrazovce přetahovat a měnit jejich uspořádání.
-
+
## Projekt: Vytvořte graf zobrazující síť pomocí D3.js
diff --git a/translations/cs/3-Data-Visualization/README.md b/translations/cs/3-Data-Visualization/README.md
index 5c68e5ea..a8dc42ac 100644
--- a/translations/cs/3-Data-Visualization/README.md
+++ b/translations/cs/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Vizualizace
-
+
> Fotografie od Jenny Lee na Unsplash
Vizualizace dat je jedním z nejdůležitějších úkolů datového vědce. Obrázky mají hodnotu tisíce slov a vizualizace vám může pomoci identifikovat různé zajímavé aspekty vašich dat, jako jsou výkyvy, odlehlé hodnoty, seskupení, tendence a další, které vám mohou pomoci pochopit příběh, který vaše data vyprávějí.
diff --git a/translations/cs/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/cs/4-Data-Science-Lifecycle/14-Introduction/README.md
index 60dc6c21..3b3b3ff8 100644
--- a/translations/cs/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/cs/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ V tuto chvíli jste si pravděpodobně uvědomili, že datová věda je proces.
Tato lekce se zaměřuje na 3 části životního cyklu: zachycení, zpracování a údržbu.
-
+
> Foto od [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Zachycení
@@ -101,7 +101,7 @@ Prozkoumejte [životní cyklus procesu týmové datové vědy](https://docs.micr
|Proces týmové datové vědy (TDSP)|Průmyslový standardní proces pro dolování dat (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Obrázek od [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Obrázek od [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Kvíz po lekci](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/cs/4-Data-Science-Lifecycle/README.md b/translations/cs/4-Data-Science-Lifecycle/README.md
index 85750c9b..bdf8f49d 100644
--- a/translations/cs/4-Data-Science-Lifecycle/README.md
+++ b/translations/cs/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Životní cyklus datové vědy
-
+
> Foto od Headway na Unsplash
V těchto lekcích prozkoumáte některé aspekty životního cyklu datové vědy, včetně analýzy a komunikace kolem dat.
diff --git a/translations/cs/5-Data-Science-In-Cloud/README.md b/translations/cs/5-Data-Science-In-Cloud/README.md
index f2afd4ac..aa0c2795 100644
--- a/translations/cs/5-Data-Science-In-Cloud/README.md
+++ b/translations/cs/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science v cloudu
-
+
> Foto od [Jelleke Vanooteghem](https://unsplash.com/@ilumire) z [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Pokud jde o práci s datovou vědou a velkými daty, cloud může být skutečným průlomem. V následujících třech lekcích si vysvětlíme, co je to cloud a proč může být velmi užitečný. Také prozkoumáme dataset o srdečním selhání a vytvoříme model, který pomůže odhadnout pravděpodobnost, že někdo trpí srdečním selháním. Využijeme sílu cloudu k trénování, nasazení a využití modelu dvěma různými způsoby. Jeden způsob bude využívat pouze uživatelské rozhraní v režimu Low code/No code, druhý způsob bude využívat Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Témata
diff --git a/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 931bc743..677b86ca 100644
--- a/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Díky demokratizaci AI je pro vývojáře nyní snazší navrhovat a integrovat
* [Datová věda ve zdravotnictví](https://data-flair.training/blogs/data-science-in-healthcare/) - zdůrazňuje aplikace jako lékařské zobrazování (např. MRI, rentgen, CT-sken), genomiku (sekvenování DNA), vývoj léků (hodnocení rizik, predikce úspěchu), prediktivní analytiku (péče o pacienty a logistika zásob), sledování a prevence nemocí atd.
- Zdroj obrázku: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Zdroj obrázku: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Obrázek ukazuje další oblasti a příklady aplikace technik datové vědy. Chcete prozkoumat další aplikace? Podívejte se na sekci [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) níže.
diff --git a/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index e06518a1..4c31792f 100644
--- a/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/cs/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Rozhraní Explorer (zobrazené na snímku obrazovky níže) vám umožňuje vybr
2. Prozkoumat [katalog datasetů](https://planetarycomputer.microsoft.com/catalog) – zjistit účel každého datasetu.
3. Použít Explorer – vybrat dataset, který vás zajímá, zvolit relevantní dotaz a možnost vykreslení.
-
+
`Váš úkol:`
Nyní prostudujte vizualizaci, která se zobrazí v prohlížeči, a odpovězte na následující otázky:
diff --git a/translations/cs/CONTRIBUTING.md b/translations/cs/CONTRIBUTING.md
index d82e12ab..a3c8e18f 100644
--- a/translations/cs/CONTRIBUTING.md
+++ b/translations/cs/CONTRIBUTING.md
@@ -312,7 +312,7 @@ Do popisu PR zahrňte:
import pandas as pd
```
````
-- Přidávejte alt text k obrázkům: ``
+- Přidávejte alt text k obrázkům: ``
- Udržujte rozumnou délku řádků (kolem 80-100 znaků)
### Python
diff --git a/translations/cs/README.md b/translations/cs/README.md
index 20fcf7c8..8b062c43 100644
--- a/translations/cs/README.md
+++ b/translations/cs/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates v Microsoftu s potěšením nabízejí 10týdenní, 20-lek
**🙏 Zvláštní poděkování 🙏 našim autorům, recenzentům a přispěvatelům obsahu z řad [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** konkrétně Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science pro začátečníky - _Sketchnote od [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates v Microsoftu s potěšením nabízejí 10týdenní, 20-lek
Máme probíhající sérii Learn with AI na Discordu — dozvíte se více a připojit se můžete na [Learn with AI Series](https://aka.ms/learnwithai/discord) v termínu 18. - 30. září 2025. Získáte tipy a triky pro používání GitHub Copilot pro Data Science.
-
+
# Jste student?
@@ -132,7 +132,7 @@ Každý příklad obsahuje podrobné komentáře vysvětlující každý krok, c
## Lekce
-||
+||
|:---:|
| Datová věda pro začátečníky: Plán - _Sketchnote od [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/cs/sketchnotes/README.md b/translations/cs/sketchnotes/README.md
index a150f3c7..2494d8c8 100644
--- a/translations/cs/sketchnotes/README.md
+++ b/translations/cs/sketchnotes/README.md
@@ -13,7 +13,7 @@ Najděte všechny sketchnoty zde!
Nitya Narasimhan, umělkyně
-
+
---
diff --git a/translations/da/1-Introduction/01-defining-data-science/README.md b/translations/da/1-Introduction/01-defining-data-science/README.md
index 5b8de7c7..90e67fa9 100644
--- a/translations/da/1-Introduction/01-defining-data-science/README.md
+++ b/translations/da/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz før forelæsning](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Hvis vi vil gøre det endnu mere kompliceret, kan vi plotte den tid, der bruges
I denne udfordring vil vi forsøge at finde begreber, der er relevante for området Data Science ved at kigge på tekster. Vi vil tage en Wikipedia-artikel om Data Science, downloade og bearbejde teksten og derefter opbygge en ordsky som denne:
-
+
Besøg [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') for at læse koden igennem. Du kan også køre koden og se, hvordan den udfører alle datatransformationer i realtid.
diff --git a/translations/da/1-Introduction/04-stats-and-probability/README.md b/translations/da/1-Introduction/04-stats-and-probability/README.md
index 4f2de8a9..1dcd6b55 100644
--- a/translations/da/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/da/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Statistik og Sandsynlighedsteori er to nært beslægtede områder inden for matematik, som er meget relevante for datavidenskab. Det er muligt at arbejde med data uden dyb matematisk viden, men det er stadig bedre at kende i det mindste nogle grundlæggende begreber. Her præsenterer vi en kort introduktion, der kan hjælpe dig med at komme i gang.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Quiz før forelæsning](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Det er mere vanskeligt at beskrive sandsynlighedsfordelingen for en kontinuerlig
Vi kan kun tale om sandsynligheden for, at en variabel falder inden for et givet interval af værdier, fx P(t1≤X2). I dette tilfælde beskrives sandsynlighedsfordelingen af en **sandsynlighedstæthedsfunktion** p(x), sådan at
-.
diff --git a/translations/da/1-Introduction/README.md b/translations/da/1-Introduction/README.md
index 2626ad1d..f7319518 100644
--- a/translations/da/1-Introduction/README.md
+++ b/translations/da/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introduktion til Data Science
-
+
> Foto af Stephen Dawson på Unsplash
I disse lektioner vil du opdage, hvordan Data Science defineres, og lære om de etiske overvejelser, som en dataforsker skal tage højde for. Du vil også lære, hvordan data defineres, og få en introduktion til statistik og sandsynlighed, de centrale akademiske områder inden for Data Science.
diff --git a/translations/da/2-Working-With-Data/07-python/README.md b/translations/da/2-Working-With-Data/07-python/README.md
index 426aa86a..597d7f86 100644
--- a/translations/da/2-Working-With-Data/07-python/README.md
+++ b/translations/da/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Arbejde med Python - _Sketchnote af [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Selvom databaser tilbyder meget effektive måder at gemme data og forespørge dem ved hjælp af forespørgselssprog, er den mest fleksible måde at bearbejde data på at skrive dit eget program til at manipulere data. I mange tilfælde vil en databaseforespørgsel være en mere effektiv løsning. Men i nogle tilfælde, hvor mere kompleks databehandling er nødvendig, kan det ikke nemt gøres med SQL.
Databehandling kan programmeres i ethvert programmeringssprog, men der er visse sprog, der er mere avancerede, når det kommer til at arbejde med data. Dataforskere foretrækker typisk et af følgende sprog:
@@ -75,7 +75,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Antag nu, at vi hver uge arrangerer en fest for venner, og vi tager yderligere 10 pakker is med til festen. Vi kan oprette en anden series, indekseret efter uge, for at demonstrere det:
```python
@@ -86,7 +86,7 @@ Når vi lægger de to series sammen, får vi det samlede antal:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Bemærk** at vi ikke bruger den simple syntaks `total_items+additional_items`. Hvis vi gjorde det, ville vi få mange `NaN` (*Not a Number*) værdier i den resulterende series. Dette skyldes, at der mangler værdier for nogle af indeksene i `additional_items`-serien, og at lægge `NaN` til noget resulterer i `NaN`. Derfor skal vi angive parameteren `fill_value` under addition.
@@ -95,7 +95,7 @@ Med tidsserier kan vi også **resample** serien med forskellige tidsintervaller.
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -221,7 +221,7 @@ Det første problem, vi vil fokusere på, er modellering af den epidemiske spred
Da vi ønsker at demonstrere, hvordan man arbejder med data, inviterer vi dig til at åbne [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) og læse det fra top til bund. Du kan også udføre celler og lave nogle udfordringer, som vi har efterladt til dig i slutningen.
-
+
> Hvis du ikke ved, hvordan man kører kode i Jupyter Notebook, kan du kigge på [denne artikel](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -243,7 +243,7 @@ Et fuldt eksempel på analyse af dette datasæt ved hjælp af [Text Analytics fo
Åbn [`notebook-papers.ipynb`](notebook-papers.ipynb) og læs det fra top til bund. Du kan også udføre celler og lave nogle udfordringer, som vi har efterladt til dig i slutningen.
-
+
## Behandling af billeddata
diff --git a/translations/da/2-Working-With-Data/README.md b/translations/da/2-Working-With-Data/README.md
index 7817eed8..558b80bf 100644
--- a/translations/da/2-Working-With-Data/README.md
+++ b/translations/da/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Arbejde med data
-
+
> Foto af Alexander Sinn på Unsplash
I disse lektioner vil du lære nogle af de måder, data kan administreres, manipuleres og bruges i applikationer. Du vil lære om relationelle og ikke-relationelle databaser, og hvordan data kan gemmes i dem. Du vil lære grundlæggende om at arbejde med Python til at administrere data, og du vil opdage nogle af de mange måder, du kan arbejde med Python til at administrere og udvinde data.
diff --git a/translations/da/3-Data-Visualization/12-visualization-relationships/README.md b/translations/da/3-Data-Visualization/12-visualization-relationships/README.md
index fb861902..acc8d49f 100644
--- a/translations/da/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/da/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Lav et grundlæggende scatterplot for at vise forholdet mellem prisen pr. pund h
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Vis nu de samme data med en honningfarveskala for at vise, hvordan prisen udvikler sig over årene. Dette kan gøres ved at tilføje en 'hue'-parameter for at vise ændringen år for år:
@@ -60,7 +60,7 @@ Vis nu de samme data med en honningfarveskala for at vise, hvordan prisen udvikl
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Med denne farveskalaændring kan du tydeligt se en stærk progression over årene i forhold til prisen på honning pr. pund. Hvis du ser på et eksempel i datasættet for at verificere (vælg for eksempel Arizona), kan du se et mønster af prisstigninger år for år med få undtagelser:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Du kan se, at prikkerne gradvist bliver større.
-
+
Er dette et simpelt tilfælde af udbud og efterspørgsel? På grund af faktorer som klimaforandringer og kolonikollaps, er der mindre honning til rådighed år for år, og derfor stiger prisen?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Svar: Ja, med nogle undtagelser omkring året 2003:
-
+
✅ Fordi Seaborn aggregerer data omkring én linje, viser den "de multiple målinger ved hver x-værdi ved at plotte gennemsnittet og det 95% konfidensinterval omkring gennemsnittet". [Kilde](https://seaborn.pydata.org/tutorial/relational.html). Denne tidskrævende adfærd kan deaktiveres ved at tilføje `ci=None`.
@@ -114,7 +114,7 @@ Spørgsmål: Nå, men i 2003, kan vi også se en stigning i honningforsyningen?
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Svar: Ikke rigtigt. Hvis du ser på den samlede produktion, ser det faktisk ud til at være steget i det pågældende år, selvom mængden af produceret honning generelt er faldende i disse år.
@@ -139,7 +139,7 @@ sns.relplot(
```
I denne visualisering kan du sammenligne udbytte pr. koloni og antal kolonier år for år, side om side med en wrap sat til 3 for kolonnerne:
-
+
For dette datasæt skiller intet sig særligt ud med hensyn til antallet af kolonier og deres udbytte, år for år og stat for stat. Er der en anden måde at finde en sammenhæng mellem disse to variabler?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Selvom intet springer i øjnene omkring året 2003, giver det os mulighed for at afslutte denne lektion på en lidt gladere note: Selvom antallet af kolonier generelt er faldende, stabiliserer antallet sig, selvom deres udbytte pr. koloni falder.
diff --git a/translations/da/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/da/3-Data-Visualization/R/09-visualization-quantities/README.md
index 1da4854c..993054e2 100644
--- a/translations/da/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/da/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Her installerer du `ggplot2`-pakken og importerer den derefter til arbejdsområdet ved hjælp af kommandoen `library("ggplot2")`. For at plotte et diagram i ggplot bruges funktionen `ggplot()`, hvor du angiver datasættet samt x- og y-variabler som attributter. I dette tilfælde bruger vi funktionen `geom_line()`, da vi ønsker at plotte et linjediagram.
-
+
Hvad bemærker du med det samme? Der ser ud til at være mindst én outlier – det er et ret stort vingefang! Et vingefang på over 2000 centimeter svarer til mere end 20 meter – er der pterodaktyler i Minnesota? Lad os undersøge det nærmere.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Vi angiver vinklen i `theme` og specificerer labels for x- og y-aksen i henholdsvis `xlab()` og `ylab()`. `ggtitle()` giver diagrammet en titel.
-
+
Selv med rotationen af labels sat til 45 grader er der for mange til at læse. Lad os prøve en anden strategi: kun at label outliers og placere labels inden for diagrammet. Du kan bruge et punktdiagram for at skabe mere plads til labeling:
@@ -100,7 +100,7 @@ Hvad sker der her? Du brugte funktionen `geom_point()` til at plotte punkter. Me
Hvad opdager du?
-
+
## Filtrer dine data
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Vi oprettede en ny dataframe `birds_filtered` og plottede derefter et punktdiagram. Ved at filtrere outliers ud er dine data nu mere sammenhængende og forståelige.
-
+
Nu hvor vi har et renere datasæt, i det mindste hvad angår vingefang, lad os opdage mere om disse fugle.
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
I det følgende snippet installerer vi pakkerne [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) og [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) for at hjælpe med at manipulere og gruppere data for at plotte et stablet søjlediagram. Først grupperer du dataene efter fuglenes `Category` og opsummerer kolonnerne `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Derefter plottes søjlediagrammet ved hjælp af `ggplot2`-pakken, hvor du specificerer farverne for de forskellige kategorier og labels.
-
+
Dette søjlediagram er dog ulæseligt, fordi der er for mange ikke-grupperede data. Du skal vælge kun de data, du vil plotte, så lad os se på længden af fugle baseret på deres kategori.
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Du tæller først unikke værdier i kolonnen `Category` og sorterer dem derefter i en ny dataframe `birds_count`. Disse sorterede data faktoreres derefter på samme niveau, så de plottes i den sorterede rækkefølge. Ved hjælp af `ggplot2` plottes dataene derefter i et søjlediagram. `coord_flip()` plottes som vandrette søjler.
-
+
Dette søjlediagram giver et godt overblik over antallet af fugle i hver kategori. Med et øjeblik ser du, at det største antal fugle i denne region tilhører kategorien Ænder/Gæs/Vandfugle. Minnesota er trods alt "de 10.000 søers land", så det er ikke overraskende!
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Vi grupperer dataene `birds_filtered` efter `Category` og plottede derefter et søjlediagram.
-
+
Intet er overraskende her: kolibrier har den mindste MaxLength sammenlignet med pelikaner eller gæs. Det er godt, når data giver logisk mening!
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Udfordring
diff --git a/translations/da/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/da/3-Data-Visualization/R/10-visualization-distributions/README.md
index cc657e06..83606408 100644
--- a/translations/da/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/da/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Dette giver et overblik over den generelle fordeling af kropslængde pr. fugleorden, men det er ikke den optimale måde at vise egentlige fordelinger. Denne opgave håndteres normalt ved at oprette et histogram.
## Arbejde med histogrammer
@@ -56,7 +56,7 @@ Dette giver et overblik over den generelle fordeling af kropslængde pr. fugleor
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Som du kan se, falder de fleste af de 400+ fugle i dette datasæt inden for området under 2000 for deres maksimale kropsmasse. Få mere indsigt i dataene ved at ændre `bins`-parameteren til et højere tal, f.eks. 30:
@@ -64,7 +64,7 @@ Som du kan se, falder de fleste af de 400+ fugle i dette datasæt inden for omr
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Dette diagram viser fordelingen på en lidt mere detaljeret måde. Et diagram, der er mindre skævt mod venstre, kunne oprettes ved at sikre, at du kun vælger data inden for et givet område:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Prøv nogle andre filtre og datapunkter. For at se den fulde fordeling af dataene skal du fjerne `['MaxBodyMass']`-filteret for at vise mærkede fordelinger.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Der ser ud til at være en forventet korrelation mellem disse to elementer langs en forventet akse, med et særligt stærkt konvergenspunkt:
-
+
Histogrammer fungerer godt som standard for numeriske data. Hvad hvis du har brug for at se fordelinger baseret på tekstdata?
## Udforsk datasættet for fordelinger ved hjælp af tekstdata
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Der ser ikke ud til at være en god korrelation mellem minimumsvingefang og bevaringsstatus. Test andre elementer i datasættet ved hjælp af denne metode. Du kan også prøve forskellige filtre. Finder du nogen korrelation?
@@ -135,7 +135,7 @@ Lad os arbejde med tæthedsdiagrammer nu!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Du kan se, hvordan diagrammet afspejler det tidligere for Minimum Wingspan-data; det er bare lidt glattere. Hvis du ville genbesøge den hakkede MaxBodyMass-linje i det andet diagram, du oprettede, kunne du glatte den meget godt ud ved at genskabe den ved hjælp af denne metode:
@@ -143,7 +143,7 @@ Du kan se, hvordan diagrammet afspejler det tidligere for Minimum Wingspan-data;
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Hvis du ville have en glat, men ikke alt for glat linje, kan du redigere `adjust`-parameteren:
@@ -151,7 +151,7 @@ Hvis du ville have en glat, men ikke alt for glat linje, kan du redigere `adjust
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Læs om de tilgængelige parametre for denne type diagram og eksperimentér!
@@ -161,7 +161,7 @@ Denne type diagram tilbyder smukt forklarende visualiseringer. Med få linjer ko
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Udfordring
diff --git a/translations/da/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/da/3-Data-Visualization/R/11-visualization-proportions/README.md
index 9b861dfc..04473f10 100644
--- a/translations/da/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/da/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, et cirkeldiagram, der viser proportionerne af disse data baseret på de to klasser af champignoner. Det er ret vigtigt at få rækkefølgen af labels korrekt, især her, så sørg for at verificere rækkefølgen, som label-arrayet er bygget med!
-
+
## Donuts!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Denne kode bruger de to biblioteker - ggplot2 og webr. Ved at bruge PieDonut-funktionen fra webr-biblioteket kan vi nemt oprette et donutdiagram!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Ved hjælp af et vaffeldiagram kan du tydeligt se proportionerne af hatfarver i dette champignondatasæt. Interessant nok er der mange champignoner med grønne hatte!
-
+
I denne lektion lærte du tre måder at visualisere proportioner på. Først skal du gruppere dine data i kategorier og derefter beslutte, hvilken der er den bedste måde at vise dataene på - cirkel, donut eller vaffel. Alle er lækre og giver brugeren et øjeblikkeligt overblik over et datasæt.
diff --git a/translations/da/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/da/3-Data-Visualization/R/12-visualization-relationships/README.md
index 8e78a102..d4f42b01 100644
--- a/translations/da/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/da/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Vis nu de samme data med et honningfarvetema for at vise, hvordan prisen udvikler sig over årene. Du kan gøre dette ved at tilføje en 'scale_color_gradientn'-parameter for at vise ændringen år for år:
@@ -61,7 +61,7 @@ Vis nu de samme data med et honningfarvetema for at vise, hvordan prisen udvikle
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Med denne farveskemaændring kan du se, at der tydeligvis er en stærk progression over årene i forhold til honningprisen pr. pund. Faktisk, hvis du ser på et eksempel fra datasættet for at verificere (vælg en given stat, f.eks. Arizona), kan du se et mønster af prisstigninger år for år, med få undtagelser:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Du kan se, at prikkerne gradvist bliver større.
-
+
Er dette et simpelt tilfælde af udbud og efterspørgsel? På grund af faktorer som klimaforandringer og kolonikollaps, er der mindre honning tilgængelig for køb år for år, og derfor stiger prisen?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Svar: Ja, med nogle undtagelser omkring året 2003:
-
+
Spørgsmål: Nå, i 2003 kan vi også se en stigning i honningforsyningen? Hvad hvis du ser på den totale produktion år for år?
@@ -115,7 +115,7 @@ Spørgsmål: Nå, i 2003 kan vi også se en stigning i honningforsyningen? Hvad
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Svar: Ikke rigtig. Hvis du ser på den totale produktion, ser det faktisk ud til at være steget i det pågældende år, selvom mængden af produceret honning generelt er faldende i disse år.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
I denne visualisering kan du sammenligne udbytte pr. koloni og antal kolonier år for år, side om side med en wrap sat til 3 for kolonnerne:
-
+
For dette datasæt skiller intet sig særligt ud med hensyn til antallet af kolonier og deres udbytte år for år og stat for stat. Er der en anden måde at finde en korrelation mellem disse to variabler?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Mens intet springer i øjnene omkring året 2003, giver det os mulighed for at afslutte denne lektion på en lidt gladere note: selvom der generelt er et faldende antal kolonier, stabiliserer antallet af kolonier sig, selvom deres udbytte pr. koloni falder.
diff --git a/translations/da/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/da/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index fe067084..b96a9b35 100644
--- a/translations/da/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/da/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ I tidligere lektioner eksperimenterede du med at bygge alle slags interessante d
Selv hvis en dataforsker er omhyggelig med at vælge det rigtige diagram til de rigtige data, er der mange måder, hvorpå data kan vises for at bevise en pointe, ofte på bekostning af at undergrave dataene selv. Der findes mange eksempler på vildledende diagrammer og infografikker!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Klik på billedet ovenfor for en konferencepræsentation om vildledende diagrammer
Dette diagram vender X-aksen om for at vise det modsatte af sandheden, baseret på dato:
-
+
[Dette diagram](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) er endnu mere vildledende, da øjet drages mod højre for at konkludere, at COVID-tilfælde over tid er faldet i de forskellige amter. Faktisk, hvis du ser nøje på datoerne, vil du opdage, at de er blevet omarrangeret for at give den vildledende nedadgående tendens.
-
+
Dette berygtede eksempel bruger farve OG en vendt Y-akse til at vildlede: i stedet for at konkludere, at våbendrab steg efter vedtagelsen af våbenvenlig lovgivning, bliver øjet faktisk narret til at tro, at det modsatte er sandt:
-
+
Dette mærkelige diagram viser, hvordan proportioner kan manipuleres, til komisk effekt:
-
+
At sammenligne det, der ikke kan sammenlignes, er endnu et skummelt trick. Der er en [vidunderlig hjemmeside](https://tylervigen.com/spurious-correlations) dedikeret til 'spurious correlations', der viser 'fakta', der korrelerer ting som skilsmisseraten i Maine og forbruget af margarine. En Reddit-gruppe samler også [grimme eksempler](https://www.reddit.com/r/dataisugly/top/?t=all) på data.
@@ -100,13 +100,13 @@ Mærk dine akser, giv en forklaring, hvis det er nødvendigt, og tilbyd værktø
Hvis dine data er tekstuelle og lange på X-aksen, kan du vinkle teksten for bedre læsbarhed. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) tilbyder 3D-plotning, hvis dine data understøtter det. Sofistikerede datavisualiseringer kan produceres ved hjælp af det.
-
+
## Animation og 3D-diagramvisning
Nogle af de bedste datavisualiseringer i dag er animerede. Shirley Wu har fantastiske eksempler lavet med D3, såsom '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', hvor hver blomst er en visualisering af en film. Et andet eksempel for Guardian er 'bussed out', en interaktiv oplevelse, der kombinerer visualiseringer med Greensock og D3 plus en scrollytelling-artikel for at vise, hvordan NYC håndterer sit hjemløse problem ved at sende folk ud af byen.
-
+
> "Bussed Out: How America Moves its Homeless" fra [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualiseringer af Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Selvom denne lektion ikke går i dybden med at lære disse kraftfulde visualiser
Du vil fuldføre en webapp, der viser en animeret visning af dette sociale netværk. Den bruger et bibliotek, der blev bygget til at skabe en [visualisering af et netværk](https://github.com/emiliorizzo/vue-d3-network) ved hjælp af Vue.js og D3. Når appen kører, kan du trække noderne rundt på skærmen for at omarrangere dataene.
-
+
## Projekt: Byg et diagram til at vise et netværk ved hjælp af D3.js
diff --git a/translations/da/3-Data-Visualization/README.md b/translations/da/3-Data-Visualization/README.md
index bd3619f4..07faa603 100644
--- a/translations/da/3-Data-Visualization/README.md
+++ b/translations/da/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualiseringer
-
+
> Foto af Jenna Lee på Unsplash
At visualisere data er en af de vigtigste opgaver for en dataforsker. Billeder siger mere end 1000 ord, og en visualisering kan hjælpe dig med at identificere alle mulige interessante aspekter af dine data, såsom spidser, afvigere, grupperinger, tendenser og meget mere, der kan hjælpe dig med at forstå den historie, dine data forsøger at fortælle.
diff --git a/translations/da/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/da/4-Data-Science-Lifecycle/14-Introduction/README.md
index d4064594..03cf6c7d 100644
--- a/translations/da/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/da/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ På nuværende tidspunkt har du sandsynligvis indset, at data science er en proc
Denne lektion fokuserer på 3 dele af livscyklussen: indsamling, behandling og vedligeholdelse.
-
+
> Foto af [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Indsamling
@@ -101,7 +101,7 @@ Undersøg [Team Data Science Process livscyklus](https://docs.microsoft.com/en-u
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Billede af [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Billede af [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz efter lektionen](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/da/4-Data-Science-Lifecycle/README.md b/translations/da/4-Data-Science-Lifecycle/README.md
index 1941c9e8..4c3984dd 100644
--- a/translations/da/4-Data-Science-Lifecycle/README.md
+++ b/translations/da/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science Livscyklus
-
+
> Foto af Headway på Unsplash
I disse lektioner vil du udforske nogle af aspekterne ved Data Science-livscyklussen, herunder analyse og kommunikation omkring data.
diff --git a/translations/da/5-Data-Science-In-Cloud/README.md b/translations/da/5-Data-Science-In-Cloud/README.md
index 45c2fa86..751add34 100644
--- a/translations/da/5-Data-Science-In-Cloud/README.md
+++ b/translations/da/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science i skyen
-
+
> Foto af [Jelleke Vanooteghem](https://unsplash.com/@ilumire) fra [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Når det handler om at udføre data science med big data, kan skyen være en game changer. I de næste tre lektioner skal vi se, hvad skyen er, og hvorfor den kan være meget nyttig. Vi skal også udforske et dataset om hjertesvigt og bygge en model, der kan hjælpe med at vurdere sandsynligheden for, at nogen oplever hjertesvigt. Vi vil bruge skyens kraft til at træne, implementere og anvende en model på to forskellige måder. Den ene måde ved kun at bruge brugergrænsefladen i en Low code/No code tilgang, den anden måde ved at bruge Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Emner
diff --git a/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 624a2a1f..b0c44d35 100644
--- a/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Takket være demokratiseringen af AI finder udviklere det nu lettere at designe
* [Data Science i Sundhedssektoren](https://data-flair.training/blogs/data-science-in-healthcare/) - fremhæver anvendelser som medicinsk billeddannelse (f.eks. MR, røntgen, CT-scanning), genomik (DNA-sekventering), lægemiddeludvikling (risikovurdering, succesprognoser), forudsigende analyser (patientpleje og logistik), sygdomssporing og -forebyggelse osv.
- Billedkredit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Billedkredit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Figuren viser andre domæner og eksempler på anvendelse af data science-teknikker. Vil du udforske andre anvendelser? Tjek afsnittet [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) nedenfor.
diff --git a/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 4dfcdff1..4a8d9dd9 100644
--- a/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/da/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Explorer-grænsefladen (vist på skærmbilledet nedenfor) giver dig mulighed for
2. Udforsk datasæt [Kataloget](https://planetarycomputer.microsoft.com/catalog) - lær formålet med hvert datasæt.
3. Brug Explorer - vælg et datasæt, der interesserer dig, vælg en relevant forespørgsel og visningsmulighed.
-
+
`Din opgave:`
Undersøg nu den visualisering, der vises i browseren, og besvar følgende:
diff --git a/translations/da/CONTRIBUTING.md b/translations/da/CONTRIBUTING.md
index bac3dd75..461ce8ac 100644
--- a/translations/da/CONTRIBUTING.md
+++ b/translations/da/CONTRIBUTING.md
@@ -312,7 +312,7 @@ Inkluder i din PR-beskrivelse:
import pandas as pd
```
````
-- Tilføj alt-tekst til billeder: ``
+- Tilføj alt-tekst til billeder: ``
- Hold linjelængder rimelige (omkring 80-100 tegn)
### Python
diff --git a/translations/da/README.md b/translations/da/README.md
index 17cde0fd..51142b59 100644
--- a/translations/da/README.md
+++ b/translations/da/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates hos Microsoft er glade for at kunne tilbyde en 10-ugers, 2
**🙏 Særlige tak 🙏 til vores [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) forfattere, anmeldere og indholds-bidragsydere,** især Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science For Beginners - _Sketchnote af [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates hos Microsoft er glade for at kunne tilbyde en 10-ugers, 2
Vi har en Discord "Learn with AI"-serie i gang — læs mere og deltag hos [Learn with AI Series](https://aka.ms/learnwithai/discord) fra 18 - 30 september, 2025. Du får tips og tricks til brug af GitHub Copilot til Data Science.
-
+
# Er du studerende?
@@ -132,7 +132,7 @@ Hvert eksempel inkluderer detaljerede kommentarer, der forklarer hvert trin, hvi
## Lessons
-||
+||
|:---:|
| Data Science for begyndere: køreplan - _Sketchnote af [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/da/sketchnotes/README.md b/translations/da/sketchnotes/README.md
index 0205b9fb..0e3f17c8 100644
--- a/translations/da/sketchnotes/README.md
+++ b/translations/da/sketchnotes/README.md
@@ -13,7 +13,7 @@ Find alle sketchnotes her!
Nitya Narasimhan, kunstner
-
+
---
diff --git a/translations/de/1-Introduction/01-defining-data-science/README.md b/translations/de/1-Introduction/01-defining-data-science/README.md
index 29d38f4a..53fcb53a 100644
--- a/translations/de/1-Introduction/01-defining-data-science/README.md
+++ b/translations/de/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz vor der Vorlesung](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Wenn wir es noch komplizierter machen wollen, können wir die für jedes Modul b
In dieser Herausforderung werden wir versuchen, Konzepte zu finden, die für den Bereich Data Science relevant sind, indem wir Texte analysieren. Wir nehmen einen Wikipedia-Artikel über Data Science, laden und verarbeiten den Text und erstellen dann eine Wortwolke wie diese:
-
+
Besuche [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore'), um den Code durchzulesen. Du kannst den Code auch ausführen und sehen, wie er alle Datenumwandlungen in Echtzeit durchführt.
diff --git a/translations/de/1-Introduction/04-stats-and-probability/README.md b/translations/de/1-Introduction/04-stats-and-probability/README.md
index 6a034aef..a6a37a4c 100644
--- a/translations/de/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/de/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Statistik und Wahrscheinlichkeitsrechnung sind zwei eng miteinander verbundene Bereiche der Mathematik, die für Data Science von großer Bedeutung sind. Es ist möglich, mit Daten zu arbeiten, ohne tiefgehende mathematische Kenntnisse zu haben, aber es ist dennoch hilfreich, zumindest einige grundlegende Konzepte zu kennen. Hier geben wir eine kurze Einführung, die Ihnen den Einstieg erleichtert.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Quiz vor der Vorlesung](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Es ist schwieriger, die Wahrscheinlichkeitsverteilung einer stetigen Variablen z
Wir können nur über die Wahrscheinlichkeit sprechen, dass eine Variable in ein bestimmtes Werteintervall fällt, z. B. P(t1≤X2). In diesem Fall wird die Wahrscheinlichkeitsverteilung durch eine **Wahrscheinlichkeitsdichtefunktion** p(x) beschrieben, sodass
-.
diff --git a/translations/de/1-Introduction/README.md b/translations/de/1-Introduction/README.md
index 9e60638f..d756713f 100644
--- a/translations/de/1-Introduction/README.md
+++ b/translations/de/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Einführung in Data Science
-
+
> Foto von Stephen Dawson auf Unsplash
In diesen Lektionen erfahren Sie, wie Data Science definiert wird und lernen die ethischen Überlegungen kennen, die ein Data Scientist berücksichtigen muss. Außerdem lernen Sie, wie Daten definiert werden, und erhalten einen Einblick in Statistik und Wahrscheinlichkeit, die zentralen akademischen Bereiche der Data Science.
diff --git a/translations/de/2-Working-With-Data/07-python/README.md b/translations/de/2-Working-With-Data/07-python/README.md
index e3420830..7638e35c 100644
--- a/translations/de/2-Working-With-Data/07-python/README.md
+++ b/translations/de/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Arbeiten mit Python - _Sketchnote von [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Während Datenbanken sehr effiziente Möglichkeiten bieten, Daten zu speichern und sie mit Abfragesprachen zu durchsuchen, ist die flexibelste Art der Datenverarbeitung das Schreiben eines eigenen Programms, um die Daten zu manipulieren. In vielen Fällen wäre eine Datenbankabfrage effektiver. Es gibt jedoch Situationen, in denen komplexere Datenverarbeitungen erforderlich sind, die sich nicht einfach mit SQL umsetzen lassen.
Datenverarbeitung kann in jeder Programmiersprache programmiert werden, aber es gibt bestimmte Sprachen, die sich besonders gut für die Arbeit mit Daten eignen. Datenwissenschaftler bevorzugen typischerweise eine der folgenden Sprachen:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Angenommen, wir organisieren jede Woche eine Party für Freunde und nehmen zusätzlich 10 Packungen Eis für die Party. Wir können eine weitere Serie erstellen, die nach Wochen indiziert ist, um dies zu demonstrieren:
```python
@@ -84,7 +84,7 @@ Wenn wir zwei Series zusammenaddieren, erhalten wir die Gesamtanzahl:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Hinweis**: Wir verwenden nicht die einfache Syntax `total_items+additional_items`. Wenn wir dies täten, würden wir viele `NaN` (*Not a Number*)-Werte in der resultierenden Serie erhalten. Dies liegt daran, dass für einige Indexpunkte in der Serie `additional_items` Werte fehlen, und das Addieren von `NaN` zu irgendetwas ergibt `NaN`. Daher müssen wir den Parameter `fill_value` während der Addition angeben.
@@ -93,7 +93,7 @@ Mit Zeitreihen können wir die Serie auch mit unterschiedlichen Zeitintervallen
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Das erste Problem, auf das wir uns konzentrieren werden, ist die Modellierung de
Da wir demonstrieren möchten, wie man mit Daten umgeht, laden wir Sie ein, [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) zu öffnen und es von oben bis unten zu lesen. Sie können auch Zellen ausführen und einige Herausforderungen lösen, die wir am Ende für Sie hinterlassen haben.
-
+
> Wenn Sie nicht wissen, wie man Code in Jupyter Notebook ausführt, werfen Sie einen Blick auf [diesen Artikel](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Ein vollständiges Beispiel für die Analyse dieses Datensatzes mit dem kognitiv
Öffnen Sie [`notebook-papers.ipynb`](notebook-papers.ipynb) und lesen Sie es von oben bis unten. Sie können auch Zellen ausführen und einige Herausforderungen lösen, die wir am Ende für Sie hinterlassen haben.
-
+
## Verarbeitung von Bilddaten
diff --git a/translations/de/2-Working-With-Data/README.md b/translations/de/2-Working-With-Data/README.md
index 0afc5dae..093dd7cd 100644
--- a/translations/de/2-Working-With-Data/README.md
+++ b/translations/de/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Arbeiten mit Daten
-
+
> Foto von Alexander Sinn auf Unsplash
In diesen Lektionen lernst du einige der Möglichkeiten kennen, wie Daten verwaltet, manipuliert und in Anwendungen genutzt werden können. Du wirst etwas über relationale und nicht-relationale Datenbanken erfahren und wie Daten in ihnen gespeichert werden können. Du lernst die Grundlagen der Arbeit mit Python zur Datenverwaltung und entdeckst einige der vielen Möglichkeiten, wie du mit Python Daten verwalten und analysieren kannst.
diff --git a/translations/de/3-Data-Visualization/12-visualization-relationships/README.md b/translations/de/3-Data-Visualization/12-visualization-relationships/README.md
index 05e02374..c6b83cac 100644
--- a/translations/de/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/de/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Erstellen Sie ein einfaches Streudiagramm, um die Beziehung zwischen dem Preis p
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Zeigen Sie nun dieselben Daten mit einer honigfarbenen Farbpalette, um zu zeigen, wie sich der Preis im Laufe der Jahre entwickelt. Sie können dies tun, indem Sie einen 'hue'-Parameter hinzufügen, der die Veränderung Jahr für Jahr darstellt:
@@ -60,7 +60,7 @@ Zeigen Sie nun dieselben Daten mit einer honigfarbenen Farbpalette, um zu zeigen
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Mit dieser Farbänderung können Sie deutlich sehen, dass es im Laufe der Jahre eine starke Entwicklung des Honigpreises pro Pfund gibt. Wenn Sie beispielsweise einen Bundesstaat wie Arizona auswählen, können Sie ein Muster von Preissteigerungen Jahr für Jahr mit wenigen Ausnahmen erkennen:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Sie können sehen, wie die Größe der Punkte allmählich zunimmt.
-
+
Ist dies ein einfacher Fall von Angebot und Nachfrage? Aufgrund von Faktoren wie Klimawandel und dem Zusammenbruch von Bienenvölkern gibt es Jahr für Jahr weniger Honig zu kaufen, und daher steigen die Preise?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Antwort: Ja, mit einigen Ausnahmen um das Jahr 2003:
-
+
✅ Da Seaborn die Daten um eine Linie aggregiert, zeigt es "die mehrfachen Messungen bei jedem x-Wert, indem es den Mittelwert und das 95%-Konfidenzintervall um den Mittelwert herum darstellt". [Quelle](https://seaborn.pydata.org/tutorial/relational.html). Dieses zeitaufwändige Verhalten kann durch Hinzufügen von `ci=None` deaktiviert werden.
@@ -114,7 +114,7 @@ Frage: Nun, können wir im Jahr 2003 auch einen Anstieg des Honigangebots sehen?
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Antwort: Nicht wirklich. Wenn Sie die Gesamtproduktion betrachten, scheint sie in diesem Jahr tatsächlich gestiegen zu sein, obwohl die Honigproduktion im Allgemeinen in diesen Jahren rückläufig ist.
@@ -139,7 +139,7 @@ sns.relplot(
```
In dieser Visualisierung können Sie den Ertrag pro Volk und die Anzahl der Bienenvölker Jahr für Jahr nebeneinander vergleichen, mit einer Wrap-Einstellung von 3 für die Spalten:
-
+
Für diesen Datensatz fällt nichts Besonderes in Bezug auf die Anzahl der Bienenvölker und deren Ertrag Jahr für Jahr und Bundesstaat für Bundesstaat auf. Gibt es eine andere Möglichkeit, eine Korrelation zwischen diesen beiden Variablen zu finden?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Während nichts um das Jahr 2003 besonders auffällt, können wir diese Lektion mit einer etwas erfreulicheren Note abschließen: Obwohl die Anzahl der Bienenvölker insgesamt abnimmt, stabilisiert sich die Anzahl der Bienenvölker, auch wenn ihr Ertrag pro Volk sinkt.
diff --git a/translations/de/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/de/3-Data-Visualization/R/09-visualization-quantities/README.md
index 58d1dfbd..95fea52a 100644
--- a/translations/de/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/de/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Hier installierst du das `ggplot2`-Paket und importierst es dann in den Arbeitsbereich mit dem Befehl `library("ggplot2")`. Um ein Diagramm in ggplot zu erstellen, wird die Funktion `ggplot()` verwendet, und du gibst den Datensatz sowie die x- und y-Variablen als Attribute an. In diesem Fall verwenden wir die Funktion `geom_line()`, da wir ein Liniendiagramm erstellen möchten.
-
+
Was fällt dir sofort auf? Es scheint mindestens einen Ausreißer zu geben – das ist eine beeindruckende Flügelspannweite! Eine Flügelspannweite von über 2000 Zentimetern entspricht mehr als 20 Metern – gibt es Pterodaktylen in Minnesota? Lass uns das untersuchen.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Wir geben den Winkel im `theme` an und spezifizieren die x- und y-Achsenbeschriftungen in `xlab()` und `ylab()`. Der `ggtitle()` gibt dem Diagramm/Plot einen Namen.
-
+
Selbst mit der Drehung der Beschriftungen auf 45 Grad sind es zu viele, um sie zu lesen. Versuchen wir eine andere Strategie: Beschrifte nur die Ausreißer und setze die Beschriftungen direkt ins Diagramm. Du kannst ein Streudiagramm verwenden, um mehr Platz für die Beschriftungen zu schaffen:
@@ -100,7 +100,7 @@ Was passiert hier? Du hast die Funktion `geom_point()` verwendet, um Streupunkte
Was entdeckst du?
-
+
## Filtere deine Daten
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Wir haben einen neuen Dataframe `birds_filtered` erstellt und dann ein Streudiagramm geplottet. Durch das Herausfiltern von Ausreißern sind deine Daten jetzt kohärenter und verständlicher.
-
+
Jetzt, da wir einen bereinigten Datensatz zumindest in Bezug auf die Flügelspannweite haben, lass uns mehr über diese Vögel herausfinden.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
Im folgenden Code-Snippet installieren wir die Pakete [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) und [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0), um Daten zu manipulieren und zu gruppieren, um ein gestapeltes Balkendiagramm zu erstellen. Zuerst gruppierst du die Daten nach der `Category` der Vögel und fasst die Spalten `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` zusammen. Anschließend erstellst du das Balkendiagramm mit dem `ggplot2`-Paket und spezifizierst die Farben für die verschiedenen Kategorien und die Beschriftungen.
-
+
Dieses Balkendiagramm ist jedoch unleserlich, da es zu viele nicht gruppierte Daten gibt. Du musst nur die Daten auswählen, die du plotten möchtest. Lass uns die Länge der Vögel basierend auf ihrer Kategorie betrachten.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Du zählst zuerst die eindeutigen Werte in der Spalte `Category` und sortierst sie in einen neuen Dataframe `birds_count`. Diese sortierten Daten werden dann auf derselben Ebene fakturiert, sodass sie in der sortierten Weise geplottet werden. Mit `ggplot2` plottest du die Daten dann in einem Balkendiagramm. Die Funktion `coord_flip()` erstellt horizontale Balken.
-
+
Dieses Balkendiagramm zeigt eine gute Ansicht der Anzahl der Vögel in jeder Kategorie. Auf einen Blick siehst du, dass die größte Anzahl von Vögeln in dieser Region in der Kategorie Enten/Gänse/Wasservögel liegt. Minnesota ist das 'Land der 10.000 Seen', daher ist das nicht überraschend!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Wir gruppieren die `birds_filtered`-Daten nach `Category` und erstellen ein Balkendiagramm.
-
+
Hier gibt es nichts Überraschendes: Kolibris haben die geringste MaxLänge im Vergleich zu Pelikanen oder Gänsen. Es ist gut, wenn Daten logisch Sinn ergeben!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Herausforderung
diff --git a/translations/de/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/de/3-Data-Visualization/R/10-visualization-distributions/README.md
index 0179222d..c7aed78d 100644
--- a/translations/de/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/de/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Dies gibt einen Überblick über die allgemeine Verteilung der Körperlänge pro Vogelordnung, ist jedoch nicht die optimale Methode, um echte Verteilungen darzustellen. Diese Aufgabe wird normalerweise durch die Erstellung eines Histogramms gelöst.
@@ -57,7 +57,7 @@ Dies gibt einen Überblick über die allgemeine Verteilung der Körperlänge pro
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Wie du sehen kannst, fallen die meisten der über 400 Vögel in diesem Datensatz in den Bereich unter 2000 für ihre maximale Körpermasse. Erhalte mehr Einblicke in die Daten, indem du den `bins`-Parameter auf eine höhere Zahl, z. B. 30, änderst:
@@ -65,7 +65,7 @@ Wie du sehen kannst, fallen die meisten der über 400 Vögel in diesem Datensatz
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Dieses Diagramm zeigt die Verteilung etwas detaillierter. Ein weniger nach links verzerrtes Diagramm könnte erstellt werden, indem du sicherstellst, dass du nur Daten innerhalb eines bestimmten Bereichs auswählst:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Probiere einige andere Filter und Datenpunkte aus. Um die vollständige Verteilung der Daten zu sehen, entferne den `['MaxBodyMass']`-Filter, um beschriftete Verteilungen anzuzeigen.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Es scheint eine erwartete Korrelation zwischen diesen beiden Elementen entlang einer erwarteten Achse zu geben, mit einem besonders starken Konvergenzpunkt:
-
+
Histogramme funktionieren standardmäßig gut für numerische Daten. Was ist, wenn du Verteilungen basierend auf Textdaten sehen möchtest?
## Erkunde den Datensatz nach Verteilungen mit Textdaten
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Es scheint keine gute Korrelation zwischen minimaler Flügelspannweite und Schutzstatus zu geben. Teste andere Elemente des Datensatzes mit dieser Methode. Kannst du eine Korrelation finden?
@@ -136,7 +136,7 @@ Lass uns jetzt mit Dichteplots arbeiten!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Du kannst sehen, wie der Plot das vorherige Diagramm für die minimale Flügelspannweite widerspiegelt; es ist nur etwas glatter. Wenn du die gezackte MaxKörpermasse-Linie im zweiten Diagramm, das du erstellt hast, glätten möchtest, könntest du dies sehr gut mit dieser Methode tun:
@@ -144,7 +144,7 @@ Du kannst sehen, wie der Plot das vorherige Diagramm für die minimale Flügelsp
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Wenn du eine glatte, aber nicht zu glatte Linie möchtest, bearbeite den `adjust`-Parameter:
@@ -152,7 +152,7 @@ Wenn du eine glatte, aber nicht zu glatte Linie möchtest, bearbeite den `adjust
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Lies über die verfügbaren Parameter für diesen Diagrammtyp und experimentiere!
@@ -162,7 +162,7 @@ Diese Art von Diagramm bietet wunderschön erklärende Visualisierungen. Mit nur
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Herausforderung
diff --git a/translations/de/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/de/3-Data-Visualization/R/11-visualization-proportions/README.md
index 940d4cc3..93a16f4a 100644
--- a/translations/de/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/de/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, ein Tortendiagramm, das die Proportionen dieser Daten entsprechend den beiden Pilzklassen zeigt. Es ist sehr wichtig, die Reihenfolge der Labels korrekt zu setzen, besonders hier, also überprüfe unbedingt die Reihenfolge, in der das Label-Array erstellt wird!
-
+
## Donuts!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Dieser Code verwendet die beiden Bibliotheken ggplot2 und webr. Mit der PieDonut-Funktion der webr-Bibliothek können wir ein Donut-Diagramm einfach erstellen!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Mit einem Waffel-Diagramm kannst du die Proportionen der Hutfarben in diesem Pilz-Datenset deutlich sehen. Interessanterweise gibt es viele Pilze mit grünen Hüten!
-
+
In dieser Lektion hast du drei Möglichkeiten gelernt, Proportionen zu visualisieren. Zuerst musst du deine Daten in Kategorien gruppieren und dann entscheiden, welche die beste Möglichkeit ist, die Daten darzustellen - Torte, Donut oder Waffel. Alle sind köstlich und bieten dem Benutzer einen sofortigen Überblick über ein Datenset.
diff --git a/translations/de/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/de/3-Data-Visualization/R/12-visualization-relationships/README.md
index 3c57222a..afe00802 100644
--- a/translations/de/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/de/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Zeige nun dieselben Daten mit einem honigfarbenen Farbschema, um zu verdeutlichen, wie sich der Preis im Laufe der Jahre entwickelt hat. Dies kannst du erreichen, indem du den Parameter 'scale_color_gradientn' hinzufügst, um die Veränderung Jahr für Jahr darzustellen:
@@ -61,7 +61,7 @@ Zeige nun dieselben Daten mit einem honigfarbenen Farbschema, um zu verdeutliche
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Mit dieser Farbänderung kannst du deutlich erkennen, dass es im Laufe der Jahre eine starke Preissteigerung pro Pfund Honig gibt. Wenn du beispielsweise einen bestimmten Bundesstaat wie Arizona betrachtest, kannst du ein Muster von Preissteigerungen Jahr für Jahr erkennen, mit wenigen Ausnahmen:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Du kannst sehen, dass die Größe der Punkte allmählich zunimmt.
-
+
Ist dies ein einfacher Fall von Angebot und Nachfrage? Aufgrund von Faktoren wie Klimawandel und dem Zusammenbruch von Bienenvölkern – gibt es Jahr für Jahr weniger Honig zu kaufen, und daher steigen die Preise?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Antwort: Ja, mit einigen Ausnahmen um das Jahr 2003:
-
+
Frage: Gab es im Jahr 2003 auch einen Anstieg des Honigangebots? Was ist, wenn du die Gesamtproduktion Jahr für Jahr betrachtest?
@@ -115,7 +115,7 @@ Frage: Gab es im Jahr 2003 auch einen Anstieg des Honigangebots? Was ist, wenn d
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Antwort: Nicht wirklich. Wenn du die Gesamtproduktion betrachtest, scheint sie in diesem Jahr tatsächlich gestiegen zu sein, obwohl die Honigproduktion im Allgemeinen in diesen Jahren rückläufig ist.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
In dieser Visualisierung kannst du den Ertrag pro Volk und die Anzahl der Völker Jahr für Jahr nebeneinander vergleichen, wobei die Wrap-Einstellung auf 3 Spalten gesetzt ist:
-
+
Für diesen Datensatz fällt nichts Besonderes in Bezug auf die Anzahl der Völker und deren Ertrag Jahr für Jahr und Bundesstaat für Bundesstaat auf. Gibt es eine andere Möglichkeit, eine Korrelation zwischen diesen beiden Variablen zu finden?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Auch wenn nichts um das Jahr 2003 ins Auge springt, können wir diese Lektion mit einer etwas erfreulicheren Note beenden: Während die Gesamtzahl der Bienenvölker insgesamt abnimmt, stabilisiert sich die Anzahl der Völker, auch wenn ihr Ertrag pro Volk sinkt.
diff --git a/translations/de/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/de/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 3ccbbfa0..c3fcaa19 100644
--- a/translations/de/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/de/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ In den vorherigen Lektionen haben Sie mit Matplotlib und Seaborn verschiedene in
Selbst wenn ein Data Scientist sorgfältig den richtigen Diagrammtyp für die richtigen Daten auswählt, gibt es viele Möglichkeiten, wie Daten so dargestellt werden können, dass sie eine bestimmte Aussage unterstützen – oft auf Kosten der Datenintegrität. Es gibt viele Beispiele für irreführende Diagramme und Infografiken!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Wie Diagramme lügen")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Wie Diagramme lügen")
> 🎥 Klicken Sie auf das Bild oben, um einen Vortrag über irreführende Diagramme anzusehen.
Dieses Diagramm kehrt die X-Achse um, um das Gegenteil der Wahrheit basierend auf dem Datum darzustellen:
-
+
[Dieses Diagramm](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) ist noch irreführender, da das Auge nach rechts gezogen wird, um zu schließen, dass die COVID-Fälle in den verschiedenen Bezirken im Laufe der Zeit zurückgegangen sind. Tatsächlich wurden die Daten jedoch so umgeordnet, dass ein irreführender Abwärtstrend entsteht.
-
+
Dieses berüchtigte Beispiel verwendet Farbe UND eine umgekehrte Y-Achse, um zu täuschen: Statt zu zeigen, dass die Zahl der Waffentoten nach der Verabschiedung waffenfreundlicher Gesetze gestiegen ist, wird das Auge getäuscht, das Gegenteil zu glauben:
-
+
Dieses seltsame Diagramm zeigt, wie Proportionen manipuliert werden können – mit komischem Effekt:
-
+
Das Vergleichen von Unvergleichbarem ist ein weiterer fragwürdiger Trick. Es gibt eine [wunderbare Website](https://tylervigen.com/spurious-correlations), die sich mit "spurious correlations" beschäftigt und "Fakten" zeigt, die Dinge wie die Scheidungsrate in Maine und den Margarineverbrauch korrelieren. Eine Reddit-Gruppe sammelt auch die [hässlichen Anwendungen](https://www.reddit.com/r/dataisugly/top/?t=all) von Daten.
@@ -100,13 +100,13 @@ Beschriften Sie Ihre Achsen, fügen Sie bei Bedarf eine Legende hinzu und bieten
Wenn Ihre Daten textlastig und ausführlich auf der X-Achse sind, können Sie den Text für eine bessere Lesbarkeit schräg stellen. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) bietet 3D-Diagramme, wenn Ihre Daten dies unterstützen. Mit dieser Bibliothek können anspruchsvolle Datenvisualisierungen erstellt werden.
-
+
## Animation und 3D-Diagramme
Einige der besten Datenvisualisierungen heutzutage sind animiert. Shirley Wu hat beeindruckende Visualisierungen mit D3 erstellt, wie z. B. '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', bei denen jede Blume eine Visualisierung eines Films darstellt. Ein weiteres Beispiel für den Guardian ist 'bussed out', eine interaktive Erfahrung, die Visualisierungen mit Greensock und D3 kombiniert und ein Scrollytelling-Artikel-Format verwendet, um zu zeigen, wie NYC mit seinem Obdachlosenproblem umgeht, indem Menschen aus der Stadt geschickt werden.
-
+
> "Bussed Out: How America Moves its Homeless" vom [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisierungen von Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Auch wenn diese Lektion nicht ausreicht, um diese leistungsstarken Visualisierun
Sie werden eine Web-App abschließen, die eine animierte Ansicht dieses sozialen Netzwerks anzeigt. Sie verwendet eine Bibliothek, die erstellt wurde, um ein [Netzwerk zu visualisieren](https://github.com/emiliorizzo/vue-d3-network) mit Vue.js und D3. Wenn die App läuft, können Sie die Knoten auf dem Bildschirm verschieben, um die Daten neu anzuordnen.
-
+
## Projekt: Ein Diagramm zur Darstellung eines Netzwerks mit D3.js erstellen
diff --git a/translations/de/3-Data-Visualization/README.md b/translations/de/3-Data-Visualization/README.md
index b21baa2e..b255d976 100644
--- a/translations/de/3-Data-Visualization/README.md
+++ b/translations/de/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualisierungen
-
+
> Foto von Jenna Lee auf Unsplash
Daten zu visualisieren ist eine der wichtigsten Aufgaben eines Data Scientists. Bilder sagen mehr als tausend Worte, und eine Visualisierung kann Ihnen helfen, alle möglichen interessanten Aspekte Ihrer Daten zu erkennen, wie z. B. Spitzen, Ausreißer, Gruppierungen, Tendenzen und vieles mehr, die Ihnen helfen können, die Geschichte zu verstehen, die Ihre Daten erzählen möchten.
diff --git a/translations/de/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/de/4-Data-Science-Lifecycle/14-Introduction/README.md
index 4c66c92a..683cfd56 100644
--- a/translations/de/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/de/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ An diesem Punkt haben Sie wahrscheinlich erkannt, dass Datenwissenschaft ein Pro
Diese Lektion konzentriert sich auf drei Teile des Lebenszyklus: Erfassung, Verarbeitung und Wartung.
-
+
> Foto von [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Erfassung
@@ -101,7 +101,7 @@ Erforschen Sie den [Team Data Science Process Lifecycle](https://docs.microsoft.
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Bild von [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Bild von [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz nach der Vorlesung](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/de/4-Data-Science-Lifecycle/README.md b/translations/de/4-Data-Science-Lifecycle/README.md
index ef00c86b..b4f85369 100644
--- a/translations/de/4-Data-Science-Lifecycle/README.md
+++ b/translations/de/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Der Lebenszyklus der Datenwissenschaft
-
+
> Foto von Headway auf Unsplash
In diesen Lektionen wirst du einige Aspekte des Lebenszyklus der Datenwissenschaft erkunden, einschließlich der Analyse und Kommunikation rund um Daten.
diff --git a/translations/de/5-Data-Science-In-Cloud/README.md b/translations/de/5-Data-Science-In-Cloud/README.md
index 535a811a..04a40a97 100644
--- a/translations/de/5-Data-Science-In-Cloud/README.md
+++ b/translations/de/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Datenwissenschaft in der Cloud
-
+
> Foto von [Jelleke Vanooteghem](https://unsplash.com/@ilumire) auf [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Wenn es darum geht, Datenwissenschaft mit großen Datenmengen zu betreiben, kann die Cloud ein echter Wendepunkt sein. In den nächsten drei Lektionen werden wir uns ansehen, was die Cloud ist und warum sie sehr hilfreich sein kann. Außerdem werden wir einen Datensatz zu Herzinsuffizienz untersuchen und ein Modell erstellen, um die Wahrscheinlichkeit einer Herzinsuffizienz zu bewerten. Wir werden die Leistungsfähigkeit der Cloud nutzen, um ein Modell auf zwei verschiedene Arten zu trainieren, bereitzustellen und zu verwenden. Einmal mit einer Benutzeroberfläche im Low-Code/No-Code-Stil und einmal mit dem Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Themen
diff --git a/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index d75c6248..3e63d37b 100644
--- a/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Dank der Demokratisierung von KI finden Entwickler es jetzt einfacher, KI-gesteu
* [Datenwissenschaft im Gesundheitswesen](https://data-flair.training/blogs/data-science-in-healthcare/) - hebt Anwendungen wie medizinische Bildgebung (z. B. MRT, Röntgen, CT-Scan), Genomik (DNA-Sequenzierung), Arzneimittelentwicklung (Risikobewertung, Erfolgsvorhersage), prädiktive Analytik (Patientenversorgung & Logistik), Krankheitsüberwachung und -prävention hervor.
- Bildnachweis: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Bildnachweis: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Die Abbildung zeigt weitere Bereiche und Beispiele für die Anwendung von Datenwissenschaftstechniken. Möchten Sie weitere Anwendungen erkunden? Schauen Sie sich den Abschnitt [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) unten an.
diff --git a/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 2f0c5dda..313ae0d2 100644
--- a/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/de/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Die Explorer-Oberfläche (im Screenshot unten gezeigt) ermöglicht es dir, einen
2. Erkunde den Datensatz-[Katalog](https://planetarycomputer.microsoft.com/catalog) – lerne den Zweck jedes Datensatzes kennen.
3. Nutze den Explorer – wähle einen interessanten Datensatz aus, wähle eine relevante Abfrage und eine Darstellungsoption.
-
+
`Deine Aufgabe:`
Untersuche nun die Visualisierung, die im Browser angezeigt wird, und beantworte die folgenden Fragen:
diff --git a/translations/de/CONTRIBUTING.md b/translations/de/CONTRIBUTING.md
index 48c71fd1..e5fb91ae 100644
--- a/translations/de/CONTRIBUTING.md
+++ b/translations/de/CONTRIBUTING.md
@@ -315,7 +315,7 @@ Fügen Sie Ihrer PR-Beschreibung Folgendes hinzu:
```
````
-- Fügen Sie Alt-Text zu Bildern hinzu: ``
+- Fügen Sie Alt-Text zu Bildern hinzu: ``
- Halten Sie die Zeilenlänge vernünftig (ca. 80-100 Zeichen)
### Python
diff --git a/translations/de/README.md b/translations/de/README.md
index cae49c85..4386ad77 100644
--- a/translations/de/README.md
+++ b/translations/de/README.md
@@ -33,7 +33,7 @@ Die Azure Cloud Advocates bei Microsoft freuen sich, einen 10-wöchigen Lehrplan
**🙏 Besonderer Dank 🙏 an unsere [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) Autorinnen, Gutachterinnen und Inhaltsmitwirkenden,** insbesondere Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science für Anfänger - _Sketchnote von [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Die Azure Cloud Advocates bei Microsoft freuen sich, einen 10-wöchigen Lehrplan
Wir veranstalten eine laufende Discord‑Serie "Learn with AI". Erfahren Sie mehr und nehmen Sie vom 18. - 30. September 2025 an der [Learn with AI-Serie](https://aka.ms/learnwithai/discord) teil. Sie erhalten Tipps und Tricks zur Nutzung von GitHub Copilot für Data Science.
-
+
# Bist du Student?
@@ -132,7 +132,7 @@ Jedes Beispiel enthält detaillierte Kommentare, die jeden Schritt erklären, so
## Lektionen
-||
+||
|:---:|
| Data Science für Einsteiger: Fahrplan - _Sketchnote von [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/de/sketchnotes/README.md b/translations/de/sketchnotes/README.md
index 666b00b6..926a6e8a 100644
--- a/translations/de/sketchnotes/README.md
+++ b/translations/de/sketchnotes/README.md
@@ -13,7 +13,7 @@ Finde alle Sketchnotes hier!
Nitya Narasimhan, Künstlerin
-
+
**Haftungsausschluss**:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst [Co-op Translator](https://github.com/Azure/co-op-translator) übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.
\ No newline at end of file
diff --git a/translations/el/1-Introduction/01-defining-data-science/README.md b/translations/el/1-Introduction/01-defining-data-science/README.md
index 42f52bc2..08268164 100644
--- a/translations/el/1-Introduction/01-defining-data-science/README.md
+++ b/translations/el/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Προ-διάλεξη κουίζ](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -135,7 +135,7 @@ CO_OP_TRANSLATOR_METADATA:
Σε αυτή την πρόκληση, θα προσπαθήσουμε να βρούμε έννοιες σχετικές με τον τομέα της Επιστήμης Δεδομένων εξετάζοντας κείμενα. Θα πάρουμε ένα άρθρο από τη Wikipedia για την Επιστήμη Δεδομένων, θα κατεβάσουμε και θα επεξεργαστούμε το κείμενο και στη συνέχεια θα δημιουργήσουμε ένα σύννεφο λέξεων όπως αυτό:
-
+
Επισκεφθείτε το [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') για να διαβάσετε τον κώδικα. Μπορείτε επίσης να εκτελέσετε τον κώδικα και να δείτε πώς πραγματοποιεί όλες τις μετατροπές δεδομένων σε πραγματικό χρόνο.
diff --git a/translations/el/1-Introduction/04-stats-and-probability/README.md b/translations/el/1-Introduction/04-stats-and-probability/README.md
index 84b00047..d3197571 100644
--- a/translations/el/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/el/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Η Στατιστική και η Θεωρία Πιθανοτήτων είναι δύο στενά συνδεδεμένοι κλάδοι των Μαθηματικών που είναι εξαιρετικά σημαντικοί για την Επιστήμη Δεδομένων. Είναι δυνατόν να δουλέψουμε με δεδομένα χωρίς βαθιά γνώση μαθηματικών, αλλά είναι καλύτερο να γνωρίζουμε τουλάχιστον κάποιες βασικές έννοιες. Εδώ θα παρουσιάσουμε μια σύντομη εισαγωγή που θα σας βοηθήσει να ξεκινήσετε.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Κουίζ πριν το μάθημα](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
Μπορούμε μόνο να μιλήσουμε για την πιθανότητα μιας μεταβλητής να πέσει σε ένα δεδομένο διάστημα τιμών, π.χ. P(t1≤X2). Σε αυτή την περίπτωση, η κατανομή πιθανότητας περιγράφεται από μια **συνάρτηση πυκνότητας πιθανότητας** p(x), έτσι ώστε
-.
diff --git a/translations/el/1-Introduction/README.md b/translations/el/1-Introduction/README.md
index 1ada9760..f9ba808d 100644
--- a/translations/el/1-Introduction/README.md
+++ b/translations/el/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Εισαγωγή στην Επιστήμη Δεδομένων
-
+
> Φωτογραφία από Stephen Dawson στο Unsplash
Σε αυτά τα μαθήματα, θα ανακαλύψετε πώς ορίζεται η Επιστήμη Δεδομένων και θα μάθετε για τις ηθικές παραμέτρους που πρέπει να λαμβάνει υπόψη ένας επιστήμονας δεδομένων. Θα μάθετε επίσης πώς ορίζονται τα δεδομένα και θα αποκτήσετε μια βασική κατανόηση της στατιστικής και της πιθανότητας, των βασικών ακαδημαϊκών πεδίων της Επιστήμης Δεδομένων.
diff --git a/translations/el/2-Working-With-Data/07-python/README.md b/translations/el/2-Working-With-Data/07-python/README.md
index b3dde03e..cc58b826 100644
--- a/translations/el/2-Working-With-Data/07-python/README.md
+++ b/translations/el/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Εργασία με Python - _Σκίτσο από [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Ενώ οι βάσεις δεδομένων προσφέρουν πολύ αποτελεσματικούς τρόπους αποθήκευσης δεδομένων και ερωτημάτων μέσω γλωσσών ερωτημάτων, ο πιο ευέλικτος τρόπος επεξεργασίας δεδομένων είναι η δημιουργία του δικού σας προγράμματος για την επεξεργασία τους. Σε πολλές περιπτώσεις, η χρήση ερωτημάτων βάσης δεδομένων είναι πιο αποτελεσματική. Ωστόσο, σε ορισμένες περιπτώσεις όπου απαιτείται πιο σύνθετη επεξεργασία δεδομένων, αυτό δεν μπορεί να γίνει εύκολα με SQL.
Η επεξεργασία δεδομένων μπορεί να προγραμματιστεί σε οποιαδήποτε γλώσσα προγραμματισμού, αλλά υπάρχουν ορισμένες γλώσσες που είναι πιο κατάλληλες για εργασία με δεδομένα. Οι επιστήμονες δεδομένων συνήθως προτιμούν μία από τις παρακάτω γλώσσες:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Τώρα υποθέστε ότι κάθε εβδομάδα οργανώνουμε ένα πάρτι για φίλους και παίρνουμε επιπλέον 10 πακέτα παγωτού για το πάρτι. Μπορούμε να δημιουργήσουμε μια άλλη σειρά, με δείκτη εβδομάδας, για να το δείξουμε:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Σημείωση** ότι δεν χρησιμοποιούμε απλή σύνταξη `total_items+additional_items`. Εάν το κάναμε, θα λαμβάναμε πολλές τιμές `NaN` (*Not a Number*) στη σειρά που προκύπτει. Αυτό συμβαίνει επειδή υπάρχουν ελλείπουσες τιμές για ορισμένα σημεία δείκτη στη σειρά `additional_items`, και η προσθήκη `NaN` σε οτιδήποτε έχει ως αποτέλεσμα `NaN`. Έτσι, πρέπει να καθορίσουμε την παράμετρο `fill_value` κατά την πρόσθεση.
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -203,7 +203,7 @@ df = pd.read_csv('file.csv')
Επειδή θέλουμε να δείξουμε πώς να χειριζόμαστε δεδομένα, σας προσκαλούμε να ανοίξετε το [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) και να το διαβάσετε από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.
-
+
> Αν δεν γνωρίζετε πώς να εκτελέσετε κώδικα στο Jupyter Notebook, ρίξτε μια ματιά σε αυτό το [άρθρο](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -225,7 +225,7 @@ df = pd.read_csv('file.csv')
Ανοίξτε το [`notebook-papers.ipynb`](notebook-papers.ipynb) και διαβάστε το από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.
-
+
## Επεξεργασία Δεδομένων Εικόνας
diff --git a/translations/el/2-Working-With-Data/README.md b/translations/el/2-Working-With-Data/README.md
index ed0ae4f7..e7ec49e3 100644
--- a/translations/el/2-Working-With-Data/README.md
+++ b/translations/el/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Εργασία με Δεδομένα
-
+
> Φωτογραφία από Alexander Sinn στο Unsplash
Σε αυτά τα μαθήματα, θα μάθετε μερικούς από τους τρόπους με τους οποίους μπορούν να διαχειριστούν, να τροποποιηθούν και να χρησιμοποιηθούν τα δεδομένα σε εφαρμογές. Θα μάθετε για σχεσιακές και μη σχεσιακές βάσεις δεδομένων και πώς μπορούν να αποθηκευτούν δεδομένα σε αυτές. Θα μάθετε τα βασικά της εργασίας με την Python για τη διαχείριση δεδομένων και θα ανακαλύψετε μερικούς από τους πολλούς τρόπους με τους οποίους μπορείτε να χρησιμοποιήσετε την Python για τη διαχείριση και την εξόρυξη δεδομένων.
diff --git a/translations/el/3-Data-Visualization/12-visualization-relationships/README.md b/translations/el/3-Data-Visualization/12-visualization-relationships/README.md
index ebe0d190..80ddecbc 100644
--- a/translations/el/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/el/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Τώρα, δείξτε τα ίδια δεδομένα με μια χρωματική παλέτα που θυμίζει μέλι, για να δείξετε πώς εξελίσσεται η τιμή με την πάροδο των ετών. Μπορείτε να το κάνετε αυτό προσθέτοντας την παράμετρο 'hue' για να δείξετε την αλλαγή, χρόνο με τον χρόνο:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Με αυτή την αλλαγή χρωματικής παλέτας, μπορείτε να δείτε ότι υπάρχει προφανώς μια ισχυρή πρόοδος με την πάροδο των ετών όσον αφορά την τιμή του μελιού ανά λίβρα. Πράγματι, αν εξετάσετε ένα δείγμα δεδομένων (π.χ. την πολιτεία της Αριζόνα), μπορείτε να δείτε ένα μοτίβο αύξησης της τιμής χρόνο με τον χρόνο, με λίγες εξαιρέσεις:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Μπορείτε να δείτε το μέγεθος των κουκκίδων να αυξάνεται σταδιακά.
-
+
Είναι αυτό μια απλή περίπτωση προσφοράς και ζήτησης; Λόγω παραγόντων όπως η κλιματική αλλαγή και η κατάρρευση αποικιών, υπάρχει λιγότερο διαθέσιμο μέλι για αγορά χρόνο με τον χρόνο, και έτσι αυξάνεται η τιμή;
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Απάντηση: Ναι, με κάποιες εξαιρέσεις γύρω στο έτος 2003:
-
+
✅ Επειδή το Seaborn συγκεντρώνει δεδομένα γύρω από μία γραμμή, εμφανίζει «τις πολλαπλές μετρήσεις σε κάθε τιμή x σχεδιάζοντας τον μέσο όρο και το διάστημα εμπιστοσύνης 95% γύρω από τον μέσο όρο». [Πηγή](https://seaborn.pydata.org/tutorial/relational.html). Αυτή η χρονοβόρα συμπεριφορά μπορεί να απενεργοποιηθεί προσθέτοντας `ci=None`.
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Απάντηση: Όχι ακριβώς. Αν κοιτάξετε τη συνολική παραγωγή, φαίνεται να έχει αυξηθεί εκείνη τη χρονιά, παρόλο που γενικά η ποσότητα του παραγόμενου μελιού μειώνεται κατά τη διάρκεια αυτών των ετών.
@@ -139,7 +139,7 @@ sns.relplot(
```
Σε αυτή την οπτικοποίηση, μπορείτε να συγκρίνετε την απόδοση ανά αποικία και τον αριθμό των αποικιών χρόνο με τον χρόνο, δίπλα-δίπλα, με το περιτύλιγμα να έχει οριστεί στις 3 στήλες:
-
+
Για αυτό το σύνολο δεδομένων, τίποτα ιδιαίτερο δεν ξεχωρίζει όσον αφορά τον αριθμό των αποικιών και την απόδοσή τους, χρόνο με τον χρόνο και πολιτεία με πολιτεία. Υπάρχει διαφορετικός τρόπος να βρείτε μια συσχέτιση μεταξύ αυτών των δύο μεταβλητών;
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Ενώ τίποτα δεν τραβάει την προσοχή γύρω στο έτος 2003, αυτό μας επιτρέπει να κλείσουμε το μάθημα με μια πιο αισιόδοξη νότα: ενώ υπάρχει συνολικά μια μείωση στον αριθμό των αποικιών, ο αριθμός των αποικιών σταθεροποιείται, ακόμα κι αν η απόδοσή τους ανά αποικία μειώνεται.
diff --git a/translations/el/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/el/3-Data-Visualization/R/09-visualization-quantities/README.md
index 245474f4..296d4323 100644
--- a/translations/el/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/el/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Εδώ, εγκαθιστάτε το πακέτο `ggplot2` και στη συνέχεια το εισάγετε στον χώρο εργασίας χρησιμοποιώντας την εντολή `library("ggplot2")`. Για να σχεδιάσετε οποιοδήποτε διάγραμμα στο ggplot, χρησιμοποιείται η συνάρτηση `ggplot()` και καθορίζετε το σύνολο δεδομένων, τις μεταβλητές x και y ως χαρακτηριστικά. Σε αυτή την περίπτωση, χρησιμοποιούμε τη συνάρτηση `geom_line()` καθώς σκοπεύουμε να σχεδιάσουμε ένα γραμμικό διάγραμμα.
-
+
Τι παρατηρείτε αμέσως; Φαίνεται να υπάρχει τουλάχιστον μία ακραία τιμή - αυτό είναι αρκετά μεγάλο άνοιγμα φτερών! Ένα άνοιγμα φτερών άνω των 2000 εκατοστών ισοδυναμεί με πάνω από 20 μέτρα - υπάρχουν Πτερόδακτυλοι που περιφέρονται στη Μινεσότα; Ας ερευνήσουμε.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Καθορίζουμε τη γωνία στο `theme` και καθορίζουμε τις ετικέτες των αξόνων x και y στα `xlab()` και `ylab()` αντίστοιχα. Το `ggtitle()` δίνει ένα όνομα στο γράφημα/διάγραμμα.
-
+
Ακόμα και με την περιστροφή των ετικετών στις 45 μοίρες, υπάρχουν πάρα πολλές για να διαβαστούν. Ας δοκιμάσουμε μια διαφορετική στρατηγική: ετικέτα μόνο για τις ακραίες τιμές και τοποθέτηση των ετικετών μέσα στο διάγραμμα. Μπορείτε να χρησιμοποιήσετε ένα διάγραμμα διασποράς για να δημιουργήσετε περισσότερο χώρο για την επισήμανση:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
Τι ανακαλύπτετε;
-
+
## Φιλτράρετε τα δεδομένα σας
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Δημιουργήσαμε ένα νέο dataframe `birds_filtered` και στη συνέχεια σχεδιάσαμε ένα διάγραμμα διασποράς. Φιλτράροντας τις ακραίες τιμές, τα δεδομένα σας είναι τώρα πιο συνεκτικά και κατανοητά.
-
+
Τώρα που έχουμε ένα καθαρότερο σύνολο δεδομένων τουλάχιστον όσον αφορά το άνοιγμα φτερών, ας ανακαλύψουμε περισσότερα για αυτά τα πουλιά.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
Στο παρακάτω απόσπασμα, εγκαθιστούμε τα πακέτα [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) και [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) για να βοηθήσουμε στη διαχείριση και ομαδοποίηση δεδομένων προκειμένου να σχεδιάσουμε ένα στοίβαγμα ραβδογράμματος. Πρώτα, ομαδοποιείτε τα δεδομένα ανά `Category` του πουλιού και στη συνέχεια συνοψίζετε τις στήλες `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Στη συνέχεια, σχεδιάζετε το ραβδόγραμμα χρησιμοποιώντας το πακέτο `ggplot2` και καθορίζετε τα χρώματα για τις διαφορετικές κατηγορίες και τις ετικέτες.
-
+
Αυτό το ραβδόγραμμα, ωστόσο, είναι δυσανάγνωστο επειδή υπάρχουν πάρα πολλά μη ομαδοποιημένα δεδομένα. Χρειάζεται να επιλέξετε μόνο τα δεδομένα που θέλετε να σχεδιάσετε, οπότε ας δούμε το μήκος των πουλιών με βάση την κατηγορία τους.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Πρώτα μετράτε μοναδικές τιμές στη στήλη `Category` και στη συνέχεια τις ταξινομείτε σε ένα νέο dataframe `birds_count`. Αυτά τα ταξινομημένα δεδομένα στη συνέχεια λαμβάνονται υπόψη στο ίδιο επίπεδο ώστε να σχεδιαστούν με ταξινομημένο τρόπο. Χρησιμοποιώντας το `ggplot2` σχεδιάζετε στη συνέχεια τα δεδομένα σε ένα ραβδόγραμμα. Το `coord_flip()` σχεδιάζει οριζόντιες μπάρες.
-
+
Αυτό το ραβδόγραμμα δείχνει μια καλή εικόνα του αριθμού των πουλιών σε κάθε κατηγορία. Με μια ματιά, βλέπετε ότι ο μεγαλύτερος αριθμός πουλιών σε αυτή την περιοχή ανήκει στην κατηγορία Πάπιες/Χήνες/Υδρόβια. Η Μινεσότα είναι η "γη των 10.000 λιμνών", οπότε αυτό δεν είναι έκπληξη!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Ομαδοποιούμε τα δεδομένα `birds_filtered` ανά `Category` και στη συνέχεια σχεδιάζουμε ένα ραβδόγραμμα.
-
+
Τίποτα δεν είναι εκπληκτικό εδώ: τα κολιμπρί έχουν το μικρότερο MaxLength σε σύγκριση με τους Πελεκάνους ή τις Χήνες. Είναι καλό όταν τα δεδομένα έχουν λογική!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Πρόκληση
diff --git a/translations/el/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/el/3-Data-Visualization/R/10-visualization-distributions/README.md
index 4d3229c8..6f899156 100644
--- a/translations/el/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/el/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Αυτό δίνει μια γενική εικόνα της κατανομής του μήκους σώματος ανά Τάξη πουλιών, αλλά δεν είναι ο βέλτιστος τρόπος για να εμφανιστούν οι πραγματικές κατανομές. Αυτή η εργασία συνήθως γίνεται με τη δημιουργία Ιστογραμμάτων.
## Εργασία με Ιστογράμματα
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Όπως βλέπετε, τα περισσότερα από τα 400+ πουλιά σε αυτό το σύνολο δεδομένων βρίσκονται στο εύρος κάτω από 2000 για τη Μέγιστη Μάζα Σώματος. Αποκτήστε περισσότερη εικόνα για τα δεδομένα αλλάζοντας την παράμετρο `bins` σε μεγαλύτερο αριθμό, όπως 30:
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Αυτό το γράφημα δείχνει την κατανομή με λίγο πιο λεπτομερή τρόπο. Ένα γράφημα λιγότερο προκατειλημμένο προς τα αριστερά θα μπορούσε να δημιουργηθεί διασφαλίζοντας ότι επιλέγετε μόνο δεδομένα εντός ενός συγκεκριμένου εύρους:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Δοκιμάστε άλλα φίλτρα και σημεία δεδομένων. Για να δείτε την πλήρη κατανομή των δεδομένων, αφαιρέστε το φίλτρο `['MaxBodyMass']` για να εμφανίσετε κατανομές με ετικέτες.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Φαίνεται να υπάρχει μια αναμενόμενη συσχέτιση μεταξύ αυτών των δύο στοιχείων κατά μήκος ενός αναμενόμενου άξονα, με ένα ιδιαίτερα ισχυρό σημείο σύγκλισης:
-
+
Τα Ιστογράμματα λειτουργούν καλά από προεπιλογή για αριθμητικά δεδομένα. Τι γίνεται αν χρειαστεί να δείτε κατανομές σύμφωνα με δεδομένα κειμένου;
## Εξερεύνηση του συνόλου δεδομένων για κατανομές χρησιμοποιώντας δεδομένα κειμένου
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Δεν φαίνεται να υπάρχει καλή συσχέτιση μεταξύ του ελάχιστου ανοίγματος φτερών και της κατάστασης διατήρησης. Δοκιμάστε άλλα στοιχεία του συνόλου δεδομένων χρησιμοποιώντας αυτή τη μέθοδο. Μπορείτε να δοκιμάσετε διαφορετικά φίλτρα επίσης. Βρίσκετε κάποια συσχέτιση;
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Μπορείτε να δείτε πώς το διάγραμμα αντικατοπτρίζει το προηγούμενο για τα δεδομένα Ελάχιστου Ανοίγματος Φτερών· είναι απλώς λίγο πιο ομαλό. Αν θέλατε να επανεξετάσετε εκείνη τη "σκαλοπάτια" γραμμή της MaxBodyMass στο δεύτερο διάγραμμα που δημιουργήσατε, θα μπορούσατε να την εξομαλύνετε πολύ καλά αναδημιουργώντας την με αυτή τη μέθοδο:
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Αν θέλατε μια ομαλή, αλλά όχι υπερβολικά ομαλή γραμμή, επεξεργαστείτε την παράμετρο `adjust`:
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Διαβάστε για τις διαθέσιμες παραμέτρους για αυτόν τον τύπο διαγράμματος και πειραματιστείτε!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Πρόκληση
diff --git a/translations/el/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/el/3-Data-Visualization/R/11-visualization-proportions/README.md
index 8e546f28..ac088fc3 100644
--- a/translations/el/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/el/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Ορίστε, ένα γράφημα πίτας που δείχνει τις αναλογίες αυτών των δεδομένων σύμφωνα με αυτές τις δύο κατηγορίες μανιταριών. Είναι αρκετά σημαντικό να έχετε τη σωστή σειρά των ετικετών, ειδικά εδώ, οπότε βεβαιωθείτε ότι έχετε επαληθεύσει τη σειρά με την οποία δημιουργείται ο πίνακας ετικετών!
-
+
## Ντόνατ!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Αυτός ο κώδικας χρησιμοποιεί τις δύο βιβλιοθήκες - ggplot2 και webr. Χρησιμοποιώντας τη συνάρτηση PieDonut της βιβλιοθήκης webr, μπορούμε να δημιουργήσουμε εύκολα ένα γράφημα ντόνατ!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Χρησιμοποιώντας ένα γράφημα βάφλας, μπορείτε να δείτε ξεκάθαρα τις αναλογίες χρωμάτων καπέλων σε αυτό το σύνολο δεδομένων μανιταριών. Ενδιαφέρον είναι ότι υπάρχουν πολλά μανιτάρια με πράσινα καπέλα!
-
+
Σε αυτό το μάθημα, μάθατε τρεις τρόπους για να οπτικοποιήσετε αναλογίες. Πρώτα, πρέπει να ομαδοποιήσετε τα δεδομένα σας σε κατηγορίες και στη συνέχεια να αποφασίσετε ποιος είναι ο καλύτερος τρόπος για να εμφανίσετε τα δεδομένα - πίτα, ντόνατ ή βάφλα. Όλα είναι νόστιμα και προσφέρουν στον χρήστη μια άμεση εικόνα ενός συνόλου δεδομένων.
diff --git a/translations/el/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/el/3-Data-Visualization/R/12-visualization-relationships/README.md
index adbc3137..52d9f014 100644
--- a/translations/el/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/el/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Τώρα, δείξτε τα ίδια δεδομένα με μια χρωματική παλέτα που θυμίζει μέλι, για να δείξετε πώς εξελίσσεται η τιμή με την πάροδο των ετών. Μπορείτε να το κάνετε αυτό προσθέτοντας την παράμετρο 'scale_color_gradientn' για να δείξετε την αλλαγή, χρόνο με τον χρόνο:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Με αυτή την αλλαγή χρωματικής παλέτας, μπορείτε να δείτε ότι υπάρχει προφανώς μια ισχυρή εξέλιξη με την πάροδο των ετών όσον αφορά την τιμή του μελιού ανά λίβρα. Πράγματι, αν κοιτάξετε ένα δείγμα δεδομένων για να το επαληθεύσετε (επιλέξτε, για παράδειγμα, την Αριζόνα), μπορείτε να δείτε ένα μοτίβο αύξησης της τιμής χρόνο με τον χρόνο, με λίγες εξαιρέσεις:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Μπορείτε να δείτε το μέγεθος των κουκκίδων να αυξάνεται σταδιακά.
-
+
Είναι αυτό μια απλή περίπτωση προσφοράς και ζήτησης; Λόγω παραγόντων όπως η κλιματική αλλαγή και η κατάρρευση αποικιών, υπάρχει λιγότερο διαθέσιμο μέλι για αγορά χρόνο με τον χρόνο, και έτσι αυξάνεται η τιμή;
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Απάντηση: Ναι, με κάποιες εξαιρέσεις γύρω στο 2003:
-
+
Ερώτηση: Λοιπόν, το 2003 μπορούμε επίσης να δούμε μια αύξηση στην προσφορά μελιού; Τι γίνεται αν κοιτάξετε τη συνολική παραγωγή χρόνο με τον χρόνο;
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Απάντηση: Όχι ακριβώς. Αν κοιτάξετε τη συνολική παραγωγή, φαίνεται να έχει αυξηθεί εκείνη τη χρονιά, παρόλο που γενικά η ποσότητα του παραγόμενου μελιού μειώνεται κατά τη διάρκεια αυτών των ετών.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Σε αυτή την οπτικοποίηση, μπορείτε να συγκρίνετε την απόδοση ανά αποικία και τον αριθμό των αποικιών χρόνο με τον χρόνο, δίπλα-δίπλα, με το περιτύλιγμα να έχει οριστεί στις 3 στήλες:
-
+
Για αυτό το σύνολο δεδομένων, τίποτα ιδιαίτερο δεν ξεχωρίζει όσον αφορά τον αριθμό των αποικιών και την απόδοσή τους, χρόνο με τον χρόνο και πολιτεία με πολιτεία. Υπάρχει διαφορετικός τρόπος να βρείτε μια συσχέτιση μεταξύ αυτών των δύο μεταβλητών;
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Ενώ τίποτα δεν τραβάει την προσοχή γύρω στο 2003, αυτό μας επιτρέπει να κλείσουμε το μάθημα με μια πιο αισιόδοξη νότα: ενώ υπάρχει συνολικά μείωση στον αριθμό των αποικιών, ο αριθμός των αποικιών σταθεροποιείται, ακόμα κι αν η απόδοση ανά αποικία μειώνεται.
diff --git a/translations/el/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/el/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 8dbc456f..809cf581 100644
--- a/translations/el/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/el/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
Ακόμα κι αν ένας επιστήμονας δεδομένων είναι προσεκτικός στην επιλογή του σωστού γραφήματος για τα σωστά δεδομένα, υπάρχουν πολλοί τρόποι με τους οποίους τα δεδομένα μπορούν να παρουσιαστούν με τρόπο που να αποδεικνύει ένα σημείο, συχνά εις βάρος της αλήθειας των δεδομένων. Υπάρχουν πολλά παραδείγματα παραπλανητικών γραφημάτων και infographics!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Πώς Ψεύδονται τα Γραφήματα")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Πώς Ψεύδονται τα Γραφήματα")
> 🎥 Κάντε κλικ στην εικόνα παραπάνω για μια ομιλία συνεδρίου σχετικά με παραπλανητικά γραφήματα
Αυτό το γράφημα αντιστρέφει τον άξονα X για να δείξει το αντίθετο της αλήθειας, βάσει ημερομηνίας:
-
+
[Αυτό το γράφημα](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) είναι ακόμα πιο παραπλανητικό, καθώς το μάτι τραβιέται προς τα δεξιά για να συμπεράνει ότι, με την πάροδο του χρόνου, τα κρούσματα COVID έχουν μειωθεί στις διάφορες κομητείες. Στην πραγματικότητα, αν κοιτάξετε προσεκτικά τις ημερομηνίες, θα διαπιστώσετε ότι έχουν αναδιαταχθεί για να δώσουν αυτήν την παραπλανητική πτωτική τάση.
-
+
Αυτό το διαβόητο παράδειγμα χρησιμοποιεί χρώμα ΚΑΙ έναν αναστραμμένο άξονα Y για να παραπλανήσει: αντί να συμπεράνουμε ότι οι θάνατοι από όπλα αυξήθηκαν μετά την ψήφιση νομοθεσίας φιλικής προς τα όπλα, στην πραγματικότητα το μάτι ξεγελιέται να πιστεύει το αντίθετο:
-
+
Αυτό το παράξενο γράφημα δείχνει πώς η αναλογία μπορεί να χειραγωγηθεί, με ξεκαρδιστικό αποτέλεσμα:
-
+
Η σύγκριση του ασύγκριτου είναι ακόμα ένα ύπουλο κόλπο. Υπάρχει ένας [υπέροχος ιστότοπος](https://tylervigen.com/spurious-correlations) γεμάτος με 'ψευδείς συσχετίσεις' που εμφανίζουν 'γεγονότα' που συσχετίζουν πράγματα όπως το ποσοστό διαζυγίων στο Maine και την κατανάλωση μαργαρίνης. Μια ομάδα στο Reddit συλλέγει επίσης τις [άσχημες χρήσεις](https://www.reddit.com/r/dataisugly/top/?t=all) των δεδομένων.
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
Αν τα δεδομένα σας είναι κείμενο και εκτενή στον άξονα X, μπορείτε να γωνιάσετε το κείμενο για καλύτερη ευανάγνωστοτητα. Το [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) προσφέρει 3D σχεδιασμό, αν τα δεδομένα σας το υποστηρίζουν. Μπορούν να παραχθούν εξελιγμένες οπτικοποιήσεις δεδομένων χρησιμοποιώντας το.
-
+
## Animation και 3D απεικόνιση γραφημάτων
Μερικές από τις καλύτερες οπτικοποιήσεις δεδομένων σήμερα είναι κινούμενες. Η Shirley Wu έχει εκπληκτικές δημιουργίες με D3, όπως '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', όπου κάθε λουλούδι είναι μια οπτικοποίηση μιας ταινίας. Ένα άλλο παράδειγμα για τον Guardian είναι το 'bussed out', μια διαδραστική εμπειρία που συνδυάζει οπτικοποιήσεις με Greensock και D3 καθώς και ένα άρθρο σε μορφή scrollytelling για να δείξει πώς η Νέα Υόρκη διαχειρίζεται το πρόβλημα των αστέγων της, στέλνοντας ανθρώπους εκτός πόλης.
-
+
> "Bussed Out: Πώς η Αμερική Μετακινεί τους Άστεγους" από [τον Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Οπτικοποιήσεις από Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
Θα ολοκληρώσετε μια εφαρμογή ιστού που θα εμφανίζει μια κινούμενη προβολή αυτού του κοινωνικού δικτύου. Χρησιμοποιεί μια βιβλιοθήκη που δημιουργήθηκε για να δημιουργήσει μια [οπτικοποίηση ενός δικτύου](https://github.com/emiliorizzo/vue-d3-network) χρησιμοποιώντας Vue.js και D3. Όταν η εφαρμογή τρέχει, μπορείτε να μετακινήσετε τους κόμβους στην οθόνη για να ανακατέψετε τα δεδομένα.
-
+
## Έργο: Δημιουργήστε ένα γράφημα για να δείξετε ένα δίκτυο χρησιμοποιώντας D3.js
diff --git a/translations/el/3-Data-Visualization/README.md b/translations/el/3-Data-Visualization/README.md
index ec2d4ccd..4f47eda9 100644
--- a/translations/el/3-Data-Visualization/README.md
+++ b/translations/el/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Οπτικοποιήσεις
-
+
> Φωτογραφία από Jenna Lee στο Unsplash
Η οπτικοποίηση δεδομένων είναι μία από τις πιο σημαντικές εργασίες ενός επιστήμονα δεδομένων. Μια εικόνα αξίζει όσο χίλιες λέξεις, και μια οπτικοποίηση μπορεί να σας βοηθήσει να εντοπίσετε κάθε είδους ενδιαφέροντα στοιχεία στα δεδομένα σας, όπως αιχμές, ακραίες τιμές, ομαδοποιήσεις, τάσεις και πολλά άλλα, που μπορούν να σας βοηθήσουν να κατανοήσετε την ιστορία που προσπαθούν να σας πουν τα δεδομένα σας.
diff --git a/translations/el/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/el/4-Data-Science-Lifecycle/14-Introduction/README.md
index 1b6d2ce6..58c59210 100644
--- a/translations/el/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/el/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
Αυτό το μάθημα επικεντρώνεται σε 3 μέρη του κύκλου ζωής: συλλογή, επεξεργασία και συντήρηση.
-
+
> Φωτογραφία από [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Συλλογή
@@ -101,7 +101,7 @@ CO_OP_TRANSLATOR_METADATA:
|Διαδικασία Ομάδας Επιστήμης Δεδομένων (TDSP)|Δια-βιομηχανικό πρότυπο διαδικασίας για εξόρυξη δεδομένων (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Εικόνα από [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Εικόνα από [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Κουίζ Μετά τη Διάλεξη](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/el/4-Data-Science-Lifecycle/README.md b/translations/el/4-Data-Science-Lifecycle/README.md
index 8f84f9ad..75e420b1 100644
--- a/translations/el/4-Data-Science-Lifecycle/README.md
+++ b/translations/el/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Ο Κύκλος Ζωής της Επιστήμης Δεδομένων
-
+
> Φωτογραφία από Headway στο Unsplash
Σε αυτά τα μαθήματα, θα εξερευνήσετε ορισμένες πτυχές του κύκλου ζωής της Επιστήμης Δεδομένων, συμπεριλαμβανομένης της ανάλυσης και της επικοινωνίας γύρω από τα δεδομένα.
diff --git a/translations/el/5-Data-Science-In-Cloud/README.md b/translations/el/5-Data-Science-In-Cloud/README.md
index fb8edeec..cadd5893 100644
--- a/translations/el/5-Data-Science-In-Cloud/README.md
+++ b/translations/el/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Επιστήμη Δεδομένων στο Cloud
-
+
> Φωτογραφία από [Jelleke Vanooteghem](https://unsplash.com/@ilumire) στο [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Όταν πρόκειται για την επιστήμη δεδομένων με μεγάλα δεδομένα, το cloud μπορεί να αλλάξει τα δεδομένα. Στα επόμενα τρία μαθήματα, θα δούμε τι είναι το cloud και γιατί μπορεί να είναι πολύ χρήσιμο. Θα εξερευνήσουμε επίσης ένα σύνολο δεδομένων για καρδιακή ανεπάρκεια και θα δημιουργήσουμε ένα μοντέλο για να βοηθήσουμε στην εκτίμηση της πιθανότητας κάποιος να έχει καρδιακή ανεπάρκεια. Θα χρησιμοποιήσουμε τη δύναμη του cloud για να εκπαιδεύσουμε, να αναπτύξουμε και να χρησιμοποιήσουμε ένα μοντέλο με δύο διαφορετικούς τρόπους. Ο ένας τρόπος είναι χρησιμοποιώντας μόνο το περιβάλλον χρήστη με μια προσέγγιση "Low code/No code", και ο άλλος τρόπος είναι χρησιμοποιώντας το Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Θέματα
diff --git a/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index b841f8f1..0aeca6ef 100644
--- a/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [Επιστήμη Δεδομένων στην Υγειονομική Περίθαλψη](https://data-flair.training/blogs/data-science-in-healthcare/) - αναδεικνύει εφαρμογές όπως η ιατρική απεικόνιση (π.χ., MRI, ακτινογραφία, CT-Scan), η γονιδιωματική (αλληλούχιση DNA), η ανάπτυξη φαρμάκων (αξιολόγηση κινδύνου, πρόβλεψη επιτυχίας), η προβλεπτική ανάλυση (φροντίδα ασθενών και εφοδιαστική), η παρακολούθηση και πρόληψη ασθενειών κ.λπ.
- Πηγή Εικόνας: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Πηγή Εικόνας: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Η εικόνα δείχνει άλλους τομείς και παραδείγματα για την εφαρμογή τεχνικών επιστήμης δεδομένων. Θέλετε να εξερευνήσετε άλλες εφαρμογές; Δείτε την ενότητα [Ανασκόπηση & Αυτομελέτη](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) παρακάτω.
diff --git a/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 110aaf85..6a68ba7f 100644
--- a/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/el/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. Εξερευνήστε τον [Κατάλογο](https://planetarycomputer.microsoft.com/catalog) συνόλων δεδομένων - μάθετε τον σκοπό του καθενός.
3. Χρησιμοποιήστε το Explorer - επιλέξτε ένα σύνολο δεδομένων που σας ενδιαφέρει, επιλέξτε μια σχετική ερώτηση και επιλογή απεικόνισης.
-
+
`Η Αποστολή σας:`
Μελετήστε τώρα την οπτικοποίηση που δημιουργείται στον περιηγητή και απαντήστε στα εξής:
diff --git a/translations/el/CONTRIBUTING.md b/translations/el/CONTRIBUTING.md
index 717699f8..d8adbd09 100644
--- a/translations/el/CONTRIBUTING.md
+++ b/translations/el/CONTRIBUTING.md
@@ -318,7 +318,7 @@ def calculate_mean(data):
```
````
-- Προσθέστε alt text στις εικόνες: ``
+- Προσθέστε alt text στις εικόνες: ``
- Διατηρήστε λογικά μήκη γραμμών (περίπου 80-100 χαρακτήρες)
### Python
diff --git a/translations/el/README.md b/translations/el/README.md
index 1ebbc95b..4290df2a 100644
--- a/translations/el/README.md
+++ b/translations/el/README.md
@@ -28,7 +28,7 @@ CO_OP_TRANSLATOR_METADATA:
**🙏 Ειδικές ευχαριστίες 🙏 σε συγγραφείς, κριτές και συνεισφέροντες περιεχομένου από το πρόγραμμα [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** ειδικότερα Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Επιστήμη Δεδομένων για Αρχάριους - _Σκίτσο από [@nitya](https://twitter.com/nitya)_ |
@@ -47,7 +47,7 @@ CO_OP_TRANSLATOR_METADATA:
Διεξάγουμε μια σειρά στο Discord με τίτλο «Μάθηση με AI», μάθετε περισσότερα και ελάτε μαζί μας στη [Σειρά Μάθησης με AI](https://aka.ms/learnwithai/discord) από τις 18 έως τις 30 Σεπτεμβρίου 2025. Θα λάβετε συμβουλές και κόλπα για τη χρήση του GitHub Copilot για την Επιστήμη Δεδομένων.
-
+
# Είσαι φοιτητής;
@@ -127,7 +127,7 @@ CO_OP_TRANSLATOR_METADATA:
## Μαθήματα
-||
+||
|:---:|
| Επιστήμη Δεδομένων για Αρχάριους: Οδικός χάρτης - _Σκιτσο-σημείωση από [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/el/sketchnotes/README.md b/translations/el/sketchnotes/README.md
index 23d4bcd4..3ccfcff2 100644
--- a/translations/el/sketchnotes/README.md
+++ b/translations/el/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
Nitya Narasimhan, καλλιτέχνης
-
+
---
diff --git a/translations/en/1-Introduction/01-defining-data-science/README.md b/translations/en/1-Introduction/01-defining-data-science/README.md
index 53caf219..675d4d0b 100644
--- a/translations/en/1-Introduction/01-defining-data-science/README.md
+++ b/translations/en/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ If we want to delve deeper, we can plot the time taken for each module against t
In this challenge, we will aim to identify concepts relevant to the field of Data Science by analyzing texts. We'll use a Wikipedia article on Data Science, download and process the text, and then create a word cloud like this one:
-
+
Check out [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') to explore the code. You can also run the code and observe how it performs all the data transformations in real time.
diff --git a/translations/en/1-Introduction/04-stats-and-probability/README.md b/translations/en/1-Introduction/04-stats-and-probability/README.md
index 2f284cf9..73d4801a 100644
--- a/translations/en/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/en/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Statistics and Probability Theory are two closely related branches of Mathematics that are highly relevant to Data Science. While you can work with data without a deep understanding of mathematics, it's still beneficial to grasp some basic concepts. This introduction will help you get started.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Pre-lecture quiz](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Describing the probability distribution of a continuous variable, such as values
Instead, we talk about the probability of a variable falling within a range of values, e.g., P(t1≤X2). In this case, the probability distribution is described by a **probability density function** p(x), such that:
-.
diff --git a/translations/en/1-Introduction/04-stats-and-probability/notebook.ipynb b/translations/en/1-Introduction/04-stats-and-probability/notebook.ipynb
index c6cbb580..d2f605ef 100644
--- a/translations/en/1-Introduction/04-stats-and-probability/notebook.ipynb
+++ b/translations/en/1-Introduction/04-stats-and-probability/notebook.ipynb
@@ -5,12 +5,12 @@
"metadata": {},
"source": [
"# Introduction to Probability and Statistics\n",
- "In this notebook, we will explore some of the concepts we have previously covered. Many ideas from probability and statistics are effectively implemented in major Python libraries for data processing, such as `numpy` and `pandas`.\n"
+ "In this notebook, we will play around with some of the concepts we have previously discussed. Many concepts from probability and statistics are well-represented in major libraries for data processing in Python, such as `numpy` and `pandas`.\n"
]
},
{
"cell_type": "code",
- "execution_count": 117,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -25,24 +25,14 @@
"metadata": {},
"source": [
"## Random Variables and Distributions\n",
- "Let's begin by drawing a sample of 30 values from a uniform distribution ranging from 0 to 9. We will also calculate the mean and variance.\n"
+ "Let's start with drawing a sample of 30 values from a uniform distribution from 0 to 9. We will also compute mean and variance.\n"
]
},
{
"cell_type": "code",
- "execution_count": 118,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Sample: [0, 8, 1, 0, 7, 4, 3, 3, 6, 7, 1, 0, 6, 3, 1, 5, 9, 2, 4, 2, 5, 6, 8, 7, 1, 9, 8, 2, 3, 7]\n",
- "Mean = 4.266666666666667\n",
- "Variance = 8.195555555555556\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"sample = [ random.randint(0,10) for _ in range(30) ]\n",
"print(f\"Sample: {sample}\")\n",
@@ -54,25 +44,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "To visually estimate how many different values are there in the sample, we can plot the **histogram**:\n"
+ "To visually estimate how many different values there are in the sample, we can plot the **histogram**:\n"
]
},
{
"cell_type": "code",
- "execution_count": 119,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.hist(sample)\n",
"plt.show()"
@@ -84,24 +63,14 @@
"source": [
"## Analyzing Real Data\n",
"\n",
- "Mean and variance are crucial when examining real-world data. Let's load the data about baseball players from [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
+ "Mean and variance are very important when analyzing real-world data. Let's load the data about baseball players from [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
"cell_type": "code",
- "execution_count": 120,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Empty DataFrame\n",
- "Columns: [Name, Team, Role, Weight, Height, Age]\n",
- "Index: []\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df = pd.read_csv(\"../../data/SOCR_MLB.tsv\",sep='\\t', header=None, names=['Name','Team','Role','Weight','Height','Age'])\n",
"df\n"
@@ -111,30 +80,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "We are using a package called [**Pandas**](https://pandas.pydata.org/) here for data analysis. We will discuss Pandas and working with data in Python in more detail later in this course.\n",
+ "> We are using a package called [**Pandas**](https://pandas.pydata.org/) here for data analysis. We will talk more about Pandas and working with data in Python later in this course.\n",
"\n",
- "Let's calculate the average values for age, height, and weight:\n"
+ "Let's compute average values for age, height and weight:\n"
]
},
{
"cell_type": "code",
- "execution_count": 121,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Age 28.736712\n",
- "Height 201.726306\n",
- "Weight 73.697292\n",
- "dtype: float64"
- ]
- },
- "execution_count": 121,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df[['Age','Height','Weight']].mean()"
]
@@ -148,36 +103,18 @@
},
{
"cell_type": "code",
- "execution_count": 122,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[180, 215, 210, 210, 188, 176, 209, 200, 231, 180, 188, 180, 185, 160, 180, 185, 197, 189, 185, 219]\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(list(df['Height'])[:20])"
]
},
{
"cell_type": "code",
- "execution_count": 123,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Mean = 201.72630560928434\n",
- "Variance = 441.6355706557866\n",
- "Standard Deviation = 21.01512718628623\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"mean = df['Height'].mean()\n",
"var = df['Height'].var()\n",
@@ -194,23 +131,12 @@
},
{
"cell_type": "code",
- "execution_count": 124,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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AAAAyBCj5siK53navXs3Yy0G0NoWettBa1vobQetbaF3sLDxRppEIqEXX3xRiUTC76Ugx2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSO3bsUDKZ9HspyDFa20JvO2htC73toLUt9A4WNt5Ik0wmtX79ek5yA2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSW7Zs4btrBtDaFnrbQWtb6G0HrW2hd7Cw8UaaZDKp119/nZPcAFrbQm87aG0Lve2gtS30DhZGzQEAAAAAyBCj5shKIpFQbW0tvzPQAFrbQm87aG0Lve2gtS30DhY23kjjnNO+ffuU52EI+IDWttDbDlrbQm87aG0LvYOFUXMAAAAAADLEqDmykkgktGrVKsZaDKC1LfS2g9a20NsOWttC72Bh4400zjk1NDQw1mIArW2htx20toXedtDaFnoHC6PmAAAAAABkiFFzZCWRSOiFF15grMUAWttCbztobQu97aC1LfQOFjbeAAAAAADkEKPmAAAAAABkKJO9bWme1pTSvM9vaGjI912jneLxuJYvX65PfOITKisr83s5yCFa20JvO2htC73toLUt9C58zXva9lzLzvvGu7GxUZLUp0+ffN81AAAAAAAdqrGxUV27dj3rbfI+au55ng4cOKDKykqFQqF83jXaqaGhQX369NE777zDjwMEHK1tobcdtLaF3nbQ2hZ6Fz7nnBobG9WzZ0+VlJz96dPyfsW7pKREvXv3zvfd4n2oqqriJDeC1rbQ2w5a20JvO2htC70LW1tXupvxrOYAAAAAAOQQG28AAAAAAHKIjTfSlJeXa9q0aSovL/d7KcgxWttCbztobQu97aC1LfQOlrw/uRoAAAAAAJZwxRsAAAAAgBxi4w0AAAAAQA6x8QYAAAAAIIfYeAMAAAAAkENsvI1Ys2aNxo4dq549eyoUCmnp0qVpt9m5c6duvvlmde3aVZ07d9bgwYO1d+/e1PtPnTqlKVOm6Pzzz1eXLl10yy236PDhw3k8CrRHW62bmpo0depU9e7dW+ecc44GDBigRx99tMVtaF08ZsyYocGDB6uyslLdu3fX+PHj9eabb7a4TXt67t27VzfddJMqKirUvXt3ffvb31YikcjnoaANbbU+duyYvvrVr6pfv34655xzdOGFF+prX/ua6uvrW3weWheH9pzbzZxz+tSnPtXqYz69C197W9fW1ur6669X586dVVVVpREjRujkyZOp9x87dkx33HGHqqqqdO655+qee+5RU1NTPg8F7dCe3ocOHdKdd96pHj16qHPnzho0aJD+9Kc/tbgNvYsPG28jjh8/riuuuEJz585t9f1vvfWWrrvuOvXv31+rVq3SP/7xD/3gBz9Qp06dUre5//779ec//1mLFi3S6tWrdeDAAU2YMCFfh4B2aqv1N77xDS1btkxPP/20du7cqa9//euaOnWqampqUrehdfFYvXq1pkyZovXr12v58uWKx+Oqrq7W8ePHU7dpq2cymdRNN92kWCymV199VU888YTmz5+vH/7wh34cEs6grdYHDhzQgQMH9NBDD2n79u2aP3++li1bpnvuuSf1OWhdPNpzbjf7+c9/rlAolPZ2eheH9rSura3VmDFjVF1drY0bN2rTpk2aOnWqSkr+90v5O+64Qzt27NDy5cv13HPPac2aNfrSl77kxyHhLNrT+6677tKbb76pmpoavfbaa5owYYJuvfVWbd26NXUbehchB3MkuSVLlrR428SJE92kSZPO+DHvvvuuKysrc4sWLUq9befOnU6Sq62tzdVSkaXWWl922WXuRz/6UYu3DRo0yH3ve99zztG62B05csRJcqtXr3bOta/nX/7yF1dSUuIOHTqUus2vfvUrV1VV5aLRaH4PAO12euvWLFy40EUiERePx51ztC5mZ+q9detW16tXL3fw4MG0x3x6F6fWWg8ZMsR9//vfP+PHvP76606S27RpU+ptf/3rX10oFHL79+/P6XqRndZ6d+7c2T355JMtbnfeeee5xx57zDlH72LFFW/I8zw9//zzuuSSS/TJT35S3bt315AhQ1qMq23evFnxeFw33nhj6m39+/fXhRdeqNraWh9Wjfdr2LBhqqmp0f79++Wc08qVK7Vr1y5VV1dLonWxax4rPu+88yS1r2dtba0GDhyoCy64IHWbT37yk2poaNCOHTvyuHpk4vTWZ7pNVVWVSktLJdG6mLXW+8SJE7r99ts1d+5c9ejRI+1j6F2cTm995MgRbdiwQd27d9ewYcN0wQUXaOTIkVq3bl3qY2pra3Xuuefq6quvTr3txhtvVElJiTZs2JDfA0BGWju3hw0bpj/+8Y86duyYPM/TH/7wB506dUqjRo2SRO9ixcYbOnLkiJqamjRz5kyNGTNGL774oj796U9rwoQJWr16taT3ftYkEono3HPPbfGxF1xwgQ4dOuTDqvF+zZkzRwMGDFDv3r0ViUQ0ZswYzZ07VyNGjJBE62LmeZ6+/vWv6+Mf/7guv/xySe3reejQoRZfmDe/v/l9KDyttT7d0aNH9eMf/7jF6CGti9OZet9///0aNmyYxo0b1+rH0bv4tNb67bffliRNnz5dkydP1rJlyzRo0CDdcMMNqqurk/Rez+7du7f4XKWlpTrvvPNoXcDOdG4vXLhQ8Xhc559/vsrLy3XvvfdqyZIl6tu3ryR6F6tSvxcA/3meJ0kaN26c7r//fknSxz72Mb366qt69NFHNXLkSD+Xhw42Z84crV+/XjU1Nbrooou0Zs0aTZkyRT179mxxVRTFZ8qUKdq+fXuLqyAIprZaNzQ06KabbtKAAQM0ffr0/C4OHa613jU1NVqxYkWLn/lE8WutdfPXaffee68+//nPS5KuvPJKvfzyy/rtb3+rGTNm+LJWZO9Mj+U/+MEP9O677+qll15St27dtHTpUt16661au3atBg4c6NNqkS2ueEPdunVTaWmpBgwY0OLtl156aepZzXv06KFYLKZ33323xW0OHz7c6ngbCtPJkyf13e9+Vw8//LDGjh2rj370o5o6daomTpyohx56SBKti9XUqVP13HPPaeXKlerdu3fq7e3p2aNHj7RnOW/+b5oXnjO1btbY2KgxY8aosrJSS5YsUVlZWep9tC4+Z+q9YsUKvfXWWzr33HNVWlqa+nGCW265JTWOSu/icqbWH/rQhySpza/Tjhw50uL9iURCx44do3WBOlPvt956S7/85S/129/+VjfccIOuuOIKTZs2TVdffXXqiXPpXZzYeEORSESDBw9O+1UGu3bt0kUXXSRJuuqqq1RWVqaXX3459f4333xTe/fu1dChQ/O6Xrx/8Xhc8Xi8xbOgSlI4HE59R53WxcU5p6lTp2rJkiVasWKFPvKRj7R4f3t6Dh06VK+99lqLf8SXL1+uqqqqtC/04J+2WkvvXemurq5WJBJRTU1Ni99MIdG6mLTV+zvf+Y7+8Y9/aNu2bakXSZo9e7Yef/xxSfQuFm21/vCHP6yePXue9eu0oUOH6t1339XmzZtT71+xYoU8z9OQIUNyfxBot7Z6nzhxQpLO+rUavYuUn8/shvxpbGx0W7dudVu3bnWS3MMPP+y2bt3q/vWvfznnnFu8eLErKytzv/71r11dXZ2bM2eOC4fDbu3atanP8eUvf9ldeOGFbsWKFe5vf/ubGzp0qBs6dKhfh4QzaKv1yJEj3WWXXeZWrlzp3n77bff444+7Tp06uUceeST1OWhdPL7yla+4rl27ulWrVrmDBw+mXk6cOJG6TVs9E4mEu/zyy111dbXbtm2bW7ZsmfvgBz/oHnjgAT8OCWfQVuv6+no3ZMgQN3DgQLd79+4Wt0kkEs45WheT9pzbp9Npz2pO7+LQntazZ892VVVVbtGiRa6urs59//vfd506dXK7d+9O3WbMmDHuyiuvdBs2bHDr1q1zF198sbvtttv8OCScRVu9Y7GY69u3rxs+fLjbsGGD2717t3vooYdcKBRyzz//fOrz0Lv4sPE2YuXKlU5S2svdd9+dus28efNc3759XadOndwVV1zhli5d2uJznDx50t13333uAx/4gKuoqHCf/vSn3cGDB/N8JGhLW60PHjzoPve5z7mePXu6Tp06uX79+rlZs2Y5z/NSn4PWxaO11pLc448/nrpNe3ru2bPHfepTn3LnnHOO69atm/vmN7+Z+hVUKAxttT7TuS/J/fOf/0x9HloXh/ac2619zOm/QpLeha+9rWfMmOF69+7tKioq3NChQ1tcHHHOuX//+9/utttuc126dHFVVVXu85//vGtsbMzjkaA92tN7165dbsKECa579+6uoqLCffSjH0379WL0Lj4h55zr6KvoAAAAAADgPfyMNwAAAAAAOcTGGwAAAACAHGLjDQAAAABADrHxBgAAAAAgh9h4AwAAAACQQ2y8AQAAAADIITbeAAAAAADkEBtvAAAAAAByiI03AAAAAAA5xMYbAAAAAIAcYuMNAAAAAEAOsfEGAAAAACCH/j+8q7kCS2EPGAAAAABJRU5ErkJggg==",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.boxplot(column='Height', by='Role', figsize=(10,8))\n",
"plt.xticks(rotation='vertical')\n",
@@ -250,27 +165,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "> **Note**: This diagram suggests that, on average, first basemen are taller than second basemen. Later, we will learn how to formally test this hypothesis and demonstrate that our data is statistically significant to support this claim.\n",
+ "> **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",
"\n",
- "Age, height, and weight are all continuous random variables. What do you think their distribution looks like? A good way to find out is by plotting a histogram of the 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"
]
},
{
"cell_type": "code",
- "execution_count": 126,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJQCAYAAAB4oLw3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRnUlEQVR4nO3de5yN9f7//+ea0xrDzDAYYzLMUM45xGaTMOQwbBJli4oOdEAan052qZHa7A462Er1LSmmNiW12SnH5FgqiUqIauccZjCMZdb790e/WbtlxhyY91xrzON+u82N9b7e61qvdb3WzKznXOu6LpcxxggAAAAAAFgR5HQBAAAAAABcyAjeAAAAAABYRPAGAAAAAMAigjcAAAAAABYRvAEAAAAAsIjgDQAAAACARQRvAAAAAAAsIngDAAAAAGARwRsAAAAAAIsI3gBQDgwbNkyJiYnnfN9KlSqVbEEFeP311+VyubRr1y7fWOfOndW5c+dSeXyXy6W0tDTf7bS0NLlcLh08eLBUHj8xMVHDhg0rlcc6V9u2bVP37t0VHR0tl8ul+fPnO12SdaX5GgQAXHgI3gDgkDlz5sjlcum9997Ls6x58+ZyuVxavnx5nmW1a9dW+/btS6PEYsnKylJaWppWrFjhdCmSpDVr1igtLU1HjhxxupQ8Arm2ohg6dKi++eYbPf7443rzzTfVunXrfOft2rVLLpdLLpdLjz32WL5zhgwZIpfLleePO507d1bTpk0LrCP3jyK5X0FBQapZs6b+8pe/aN26dUV6LomJiX7riI2N1RVXXJHv9yUAAOcqxOkCAKC86tChgyRp1apVuvrqq33jmZmZ2rx5s0JCQrR69WolJyf7lv3yyy/65ZdfNGjQoGI91iuvvCKv11syhZ9FVlaWJkyYIEklvmfw448/LvZ91qxZowkTJmjYsGGqXLlyke934sQJhYTY/fVYUG1bt25VUFDg/l38xIkTWrt2rR588EGNGjWqSPcJDw/XW2+9pYceeshv/Pjx43r//fcVHh5+XjW9+OKLqlSpkrxer3755Re98sor6tixoz777DO1aNGi0Pu3aNFC//d//ydJ2r17t1566SX1799fL774om6//fbzqg0AAIngDQCOiY+PV1JSklatWuU3vnbtWhljdO211+ZZlns7N7QXVWho6PkV67CwsDCr6/d6vTp16pTCw8PPOwSeL7fb7ejjF+bAgQOSVKw/ZvTq1Uvz5s3T119/rebNm/vG33//fZ06dUo9e/bUsmXLzrmma665RtWqVfPd7tevn5o2baq5c+cWKXhfdNFFuv766323b7zxRl188cV65plnykTw/uPrFwAQmAL3T+oAUA506NBBX331lU6cOOEbW716tZo0aaKUlBStW7fOb0/16tWr5XK5dPnll/vGZs2apVatWqlChQqKiYnRoEGD9Msvv/g9Tn7HeP/222+64YYbFBUVpcqVK2vo0KH6+uuv5XK59Prrr+ep9ddff1W/fv1UqVIlVa9eXffcc49ycnIk/f6R4urVq0uSJkyY4PvY7h+Plc7Pli1b1KVLF1WoUEG1atXSY489lu+e+fyOr506daqaNGmiiIgIValSRa1bt1Z6erqk3z+CfO+990qSkpKSfPXkHjfucrk0atQozZ49W02aNJHb7daiRYt8y/Kr++DBgxo4cKCioqJUtWpVjRkzRidPnvQtz/1YdX7b7o/rLKy2/I7x/vHHH3XttdcqJiZGERER+vOf/6yFCxf6zVmxYoVcLpfmzJmjxx9/XLVq1VJ4eLi6du2q7du356kpP1999ZVSUlIUFRWlSpUqqWvXrn4f2U5LS1OdOnUkSffee69cLleRzh3Qrl07JSUl+fqTa/bs2erZs6diYmKKVF9RxcXFSdI5f3IhLi5OjRo10s6dO88659SpU3r44YfVqlUrRUdHq2LFirriiiv8Dg8xxigxMVFXXXVVnvufPHlS0dHRuu2223xj2dnZeuSRR3TxxRfL7XYrISFB9913n7Kzs/3uW9Dr9+2331arVq0UGRmpqKgoXXrppXruuefOaTsAAEoOe7wBwEEdOnTQm2++qfXr1/uC5erVq9W+fXu1b99eGRkZ2rx5s5o1a+Zb1rBhQ1WtWlWS9Pjjj2v8+PEaOHCgbr31Vh04cEBTp05Vx44d9dVXX511r6TX61WfPn302Wef6Y477lDDhg31/vvva+jQofnOz8nJUY8ePdS2bVs99dRTWrJkiZ5++mnVq1dPd9xxh6pXr64XX3xRd9xxh66++mr1799fknx152fv3r1KTk7W6dOn9cADD6hixYp6+eWXVaFChUK32yuvvKK77rpL11xzjS8Ab9q0SevXr9fgwYPVv39//fDDD3rrrbf0zDPP+PaG5v5xQJKWLVumOXPmaNSoUapWrVqhAXLgwIFKTEzUpEmTtG7dOj3//PM6fPiw3njjjULr/aOi1PZH+/btU/v27ZWVlaW77rpLVatW1cyZM9W3b1+98847focpSNLkyZMVFBSke+65RxkZGXriiSc0ZMgQrV+/vsC6tmzZoiuuuEJRUVG67777FBoaqpdeekmdO3fWJ598orZt26p///6qXLmyUlNTdd1116lXr15FPvHeddddp1mzZmny5Mm+k9V9/PHHevPNN32h8VwdOnRI0u+v619//VUTJ05UeHi4Bg4ceE7r83g8+uWXX3zfZ/nJzMzU//t//0/XXXedhg8frqNHj+rVV19Vjx49fB9xd7lcuv766/XEE0/o0KFDfn9g+Pe//63MzEzfnnav16u+fftq1apVGjFihBo1aqRvvvlGzzzzjH744Yc8J7DL7/W7ePFiXXfdderatav+8Y9/SJK+++47rV69WmPGjDmnbQEAKCEGAOCYLVu2GElm4sSJxhhjPB6PqVixopk5c6YxxpgaNWqYadOmGWOMyczMNMHBwWb48OHGGGN27dplgoODzeOPP+63zm+++caEhIT4jQ8dOtTUqVPHd/vdd981ksyzzz7rG8vJyTFdunQxksyMGTP87ivJPProo36P07JlS9OqVSvf7QMHDhhJ5pFHHinSc7/77ruNJLN+/Xrf2P79+010dLSRZHbu3Okb79Spk+nUqZPv9lVXXWWaNGlS4PqffPLJPOvJJckEBQWZLVu25Lvsj8/hkUceMZJM3759/ebdeeedRpL5+uuvjTHG7Ny5M8+2O9s6C6qtTp06ZujQob7budvp008/9Y0dPXrUJCUlmcTERJOTk2OMMWb58uVGkmnUqJHJzs72zX3uueeMJPPNN9/keaw/6tevnwkLCzM7duzwje3evdtERkaajh07+sZyn+eTTz5Z4PrOnLt582a/5zFt2jRTqVIlc/z4cTN06FBTsWJFv/t26tSp0B7n9ubMr8qVK5tFixYVWp8xv2/v7t27mwMHDpgDBw6Yr7/+2gwaNMhIMqNHj/ar54+vwdOnT/ttZ2OMOXz4sKlRo4a5+eabfWNbt241ksyLL77oN7dv374mMTHReL1eY4wxb775pgkKCvLrszHGTJ8+3Ugyq1ev9o2d7fU7ZswYExUVZU6fPl2k5w4AKD181BwAHNSoUSNVrVrVd+z2119/rePHj/vOWt6+fXutXr1a0u/Hfufk5PiO7543b568Xq8GDhyogwcP+r7i4uJ0ySWX5HtG9FyLFi1SaGiohg8f7hsLCgrSyJEjz3qfM491veKKK/Tjjz+e2xOX9J///Ed//vOf1aZNG99Y9erVNWTIkELvW7lyZf33v//V559/fs6P36lTJzVu3LjI88/cNqNHj5b0+/Ow6T//+Y/atGnjd1x/pUqVNGLECO3atUvffvut3/ybbrrJ75j4K664QpIK7FVOTo4+/vhj9evXT3Xr1vWN16xZU4MHD9aqVauUmZl5Xs+jSZMmatasmd566y1JUnp6uq666ipFRESc13ol6d1339XixYv18ccfa8aMGapfv74GDBigNWvWFOn+H3/8sapXr67q1aurefPmmjt3rm644QbfXuP8BAcH+7az1+vVoUOHdPr0abVu3Vpffvmlb179+vXVtm1bzZ492zd26NAhffjhh74zukvS3Llz1ahRIzVs2NDv+7lLly6SlOf7Ob/Xb+XKlXX8+HEtXry4SM8bAFB6CN4A4CCXy6X27dv7juVevXq1YmNjdfHFF0vyD965/+YGsG3btskYo0suucQXGnK/vvvuO+3fv/+sj/vTTz+pZs2aeUJP7uOeKTw8PM9HoatUqaLDhw+f2xP//2u45JJL8ow3aNCg0Pvef//9qlSpktq0aaNLLrlEI0eO9G2fokpKSirW/DNrrVevnoKCgvyuN27DTz/9lO82adSokW/5H9WuXdvvdpUqVSSpwF4dOHBAWVlZZ32c3LOFn6/Bgwdr7ty52r59u9asWaPBgwef9zolqWPHjrryyivVrVs3DRs2TEuXLlVkZKTvjyOFadu2rRYvXqwlS5ZozZo1OnjwoN54441CD3uYOXOmmjVrpvDwcFWtWlXVq1fXwoULlZGR4Tfvxhtv1OrVq329mjt3rjwej2644QbfnG3btmnLli15vpfr168vSXm+n/N7/d55552qX7++UlJSVKtWLd18883n/TF+AEDJ4BhvAHBYhw4d9O9//1vffPON7/juXO3bt9e9996rX3/9VatWrVJ8fLxvj6TX65XL5dKHH36o4ODgPOst6rG3RZHf+p3UqFEjbd26VQsWLNCiRYv07rvv6oUXXtDDDz/su6RZYYpyLHlBcvdUnu12rtwT0JWWs/XKGFOqdeTnuuuu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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df['Weight'].hist(bins=15, figsize=(10,6))\n",
"plt.suptitle('Weight distribution of MLB Players')\n",
@@ -286,29 +190,14 @@
"source": [
"## Normal Distribution\n",
"\n",
- "Let's generate a synthetic sample of weights that follows a normal distribution with the same mean and variance as our actual data:\n"
+ "Let's create an artificial sample of weights that follows a normal distribution with the same mean and variance as our real data:\n"
]
},
{
"cell_type": "code",
- "execution_count": 127,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([183.05261872, 193.52828463, 154.73707302, 204.27140391,\n",
- " 203.88907247, 213.74665656, 225.10092364, 171.75867917,\n",
- " 204.3521425 , 207.52870255, 158.53001756, 240.94399197,\n",
- " 189.9909742 , 180.72442994, 173.4393402 , 175.98883711,\n",
- " 197.86092769, 188.61598821, 234.19796698, 209.0295457 ])"
- ]
- },
- "execution_count": 127,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"generated = np.random.normal(mean, std, 1000)\n",
"generated[:20]"
@@ -316,20 +205,9 @@
},
{
"cell_type": "code",
- "execution_count": 128,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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ACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEhLeAAAAkJDwBgAAgISENwAAACQkvAEAACAh4Q0AAAAJCW8AAABISHgDAABAQsIbAAAAEjrq8F63bl2MGzcuqquro6ioKJYuXZrb19raGl/5ylfi3HPPjZ49e0Z1dXX8zd/8TezatavdOfbs2ROTJk2K0tLSKC8vj8mTJ8e+ffve84sBAACA481Rh/f+/ftjyJAhsWDBgkP2vfbaa7F58+aYM2dObN68OX784x/H1q1b45Of/GS74yZNmhTPPfdcrFq1KpYvXx7r1q2LKVOmvPtXAQAAAMepoizLsnf95KKiWLJkSVx55ZVve8zGjRvjYx/7WLz00kvRr1+/2LJlSwwePDg2btwYw4YNi4iIlStXxhVXXBG/+93vorq6+rB/bnNzc5SVlUVTU1OUlpa+2/EB6ET6z1pR6BHgsF6cO7bQIwBwjBxNlyb/jHdTU1MUFRVFeXl5RETU19dHeXl5LrojImpra6NLly6xYcOGDs/R0tISzc3N7R4AAADQGSQN7wMHDsRXvvKV+PSnP537PwANDQ3Rp0+fdscVFxdHRUVFNDQ0dHieurq6KCsryz369u2bcmwAAADIm2Th3draGp/61Kciy7K477773tO5Zs+eHU1NTbnHzp078zQlAAAApFWc4qRvRvdLL70Ua9asafd+96qqqti9e3e74w8ePBh79uyJqqqqDs9XUlISJSUlKUYFAACApPJ+xfvN6N62bVv853/+Z/Tu3bvd/pqamti7d29s2rQpt23NmjXR1tYWI0aMyPc4AAAAUFBHfcV737598cILL+S+3r59ezzzzDNRUVERp512WvzlX/5lbN68OZYvXx5vvPFG7nPbFRUV0a1btxg0aFCMHj06brjhhli4cGG0trbGtGnTYuLEiUd0R3MAAADoTI46vJ966qm45JJLcl/PnDkzIiKuu+66+PrXvx7Lli2LiIjzzjuv3fMe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AABISHgDAABAQsIbAAAAEhLeAAAAkJC7mh8D74e7DgIAANAxV7wBAAAgoYKG94IFC6J///7RvXv3GDFiRDz55JOFHAcAAADyrmDh/a//+q8xc+bM+NrXvhabN2+OIUOGxKhRo2L37t2FGgkAAADyrmDhfdddd8UNN9wQ119/fQwePDgWLlwYJ598cnz/+98v1EgAAACQdwW5udrrr78emzZtitmzZ+e2denSJWpra6O+vv6Q41taWqKlpSX3dVNTU0RENDc3px82D9paXiv0CAAAAJ1GZ2i9N2fMsuywxxYkvH//+9/HG2+8EZWVle22V1ZWxn//938fcnxdXV184xvfOGR73759k80IAABAYZTNK/QER+7VV1+NsrKydzymU/w6sdmzZ8fMmTNzX7e1tcWePXuid+/eUVRUVMDJji/Nzc3Rt2/f2LlzZ5SWlhZ6HArIWiDCOuBPrAUirAP+xFogwjrIhyzL4tVXX43q6urDHluQ8D711FPjpJNOisbGxnbbGxsbo6qq6pDjS0pKoqSkpN228vLylCN2aqWlpf7lISKsBf7IOuBN1gIR1gF/Yi0QYR28V4e70v2mgtxcrVu3bnH++efH6tWrc9va2tpi9erVUVNTU4iRAAAAIImCvdV85syZcd1118WwYcPiYx/7WMybNy/2798f119/faFGAgAAgLwrWHhfc8018T//8z9x6623RkNDQ5x33nmxcuXKQ264xpErKSmJr33ta4e8LZ/3H2uBCOuAP7EWiLAO+BNrgQjr4Fgryo7k3ucAAADAu1KQz3gDAADA+4XwBgAAgISENwAAACQkvAEAACAh4X2cW7duXYwbNy6qq6ujqKgoli5d+rbHfv7zn4+ioqKYN29eu+179uyJSZMmRWlpaZSXl8fkyZNj3759aQcn745kLWzZsiU++clPRllZWfTs2TOGDx8eO3bsyO0/cOBATJ06NXr37h2nnHJKTJgwIRobG4/hq+C9Otw62LdvX0ybNi1OP/306NGjRwwePDgWLlzY7hjr4MRQV1cXw4cPj169ekWfPn3iyiuvjK1bt7Y75ki+1zt27IixY8fGySefHH369Imbb745Dh48eCxfCu/B4dbBnj174sYbb4yzzjorevToEf369Yubbropmpqa2p3HOuj8juTvhDdlWRZjxozp8L8j1kLndqTroL6+Pi699NLo2bNnlJaWxkUXXRR/+MMfcvv1Q/4J7+Pc/v37Y8iQIbFgwYJ3PG7JkiWxfv36qK6uPmTfpEmT4rnnnotVq1bF8uXLY926dTFlypRUI5PI4dbCb37zmxg5cmQMHDgwHn/88fjlL38Zc+bMie7du+eOmTFjRjz66KPxyCOPxNq1a2PXrl1x9dVXH6uXQB4cbh3MnDkzVq5cGf/8z/8cW7ZsienTp8e0adNi2bJluWOsgxPD2rVrY+rUqbF+/fpYtWpVtLa2xuWXXx779+/PHXO47/Ubb7wRY8eOjddffz1+8YtfxEMPPRQPPvhg3HrrrYV4SbwLh1sHu3btil27dsWdd94Zzz77bDz44IOxcuXKmDx5cu4c1sGJ4Uj+TnjTvHnzoqio6JDt1kLndyTroL6+PkaPHh2XX355PPnkk7Fx48aYNm1adOnypzTUDwlkdBoRkS1ZsuSQ7b/73e+yD37wg9mzzz6bnXHGGdndd9+d2/frX/86i4hs48aNuW0/+clPsqKiouzll18+BlOTQkdr4Zprrsk+85nPvO1z9u7dm3Xt2jV75JFHctu2bNmSRURWX1+falQS6mgdnH322dk3v/nNdts++tGPZl/96lezLLMOTmS7d+/OIiJbu3ZtlmVH9r3+j//4j6xLly5ZQ0ND7pj77rsvKy0tzVpaWo7tCyAv3roOOvKjH/0o69atW9ba2pplmXVwonq7tfD0009nH/zgB7NXXnnlkP+OWAsnno7WwYgRI7JbbrnlbZ+jH9JwxbuTa2tri2uvvTZuvvnmOPvssw/ZX19fH+Xl5TFs2LDcttra2ujSpUts2LDhWI5KQm1tbbFixYr48Ic/HKNGjYo+ffrEiBEj2r19bNOmTdHa2hq1tbW5bQMHDox+/fpFfX19AaYmhQsuuCCWLVsWL7/8cmRZFo899lg8//zzcfnll0eEdXAie/OtwxUVFRFxZN/r+vr6OPfcc6OysjJ3zKhRo6K5uTmee+65Yzg9+fLWdfB2x5SWlkZxcXFEWAcnqo7WwmuvvRZ//dd/HQsWLIiqqqpDnmMtnHjeug52794dGzZsiD59+sQFF1wQlZWV8YlPfCKeeOKJ3HP0QxrCu5O7/fbbo7i4OG666aYO9zc0NESfPn3abSsuLo6KiopoaGg4FiNyDOzevTv27dsXc+fOjdGjR8fPfvazuOqqq+Lqq6+OtWvXRsQf10K3bt2ivLy83XMrKyuthRPI/PnzY/DgwXH66adHt27dYvTo0bFgwYK46KKLIsI6OFG1tbXF9OnT48ILL4xzzjknIo7se93Q0NDuB+w397+5j86lo3XwVr///e/jH/7hH9q9ZdQ6OPG83VqYMWNGXHDBBTF+/PgOn2ctnFg6Wge//e1vIyLi61//etxwww2xcuXK+OhHPxqXXXZZbNu2LSL0QyrFhR6Ad2/Tpk3x3e9+NzZv3tzh53R4/2hra4uIiPHjx8eMGTMiIuK8886LX/ziF7Fw4cL4xCc+UcjxOIbmz58f69evj2XLlsUZZ5wR69ati6lTp0Z1dXW7K5+cWKZOnRrPPvtsuysWvP8cbh00NzfH2LFjY/DgwfH1r3/92A7HMdXRWli2bFmsWbMmnn766QJOxrHU0Tp482fGz33uc3H99ddHRMTQoUNj9erV8f3vfz/q6uoKMuv7gSvendjPf/7z2L17d/Tr1y+Ki4ujuLg4XnrppfjSl74U/fv3j4iIqqqq2L17d7vnHTx4MPbs2dPhW4zonE499dQoLi6OwYMHt9s+aNCg3F3Nq6qq4vXXX4+9e/e2O6axsdFaOEH84Q9/iL//+7+Pu+66K8aNGxcf+chHYtq0aXHNNdfEnXfeGRHWwYlo2rRpsXz58njsscfi9NNPz20/ku91VVXVIXc5f/Nr66Fzebt18KZXX301Ro8eHb169YolS5ZE165dc/usgxPL262FNWvWxG9+85soLy/P/dwYETFhwoS4+OKLI8JaOJG83To47bTTIiIO+zOjfsg/4d2JXXvttfHLX/4ynnnmmdyjuro6br755vjpT38aERE1NTWxd+/e2LRpU+55a9asiba2thgxYkShRifPunXrFsOHDz/k10U8//zzccYZZ0RExPnnnx9du3aN1atX5/Zv3bo1duzYETU1Ncd0XtJobW2N1tbWdncljYg46aSTcv+H2zo4cWRZFtOmTYslS5bEmjVrYsCAAe32H8n3uqamJn71q1+1+wFr1apVUVpaesgPZRyfDrcOIv54pfvyyy+Pbt26xbJly9r9tosI6+BEcbi1MGvWrEN+boyIuPvuu2PRokURYS2cCA63Dvr37x/V1dXv+DOjfkikoLd247BeffXV7Omnn86efvrpLCKyu+66K3v66aezl156qcPj33pX8yzLstGjR2dDhw7NNmzYkD3xxBPZmWeemX36058+BtOTT4dbCz/+8Y+zrl27Zvfff3+2bdu2bP78+dlJJ52U/fznP8+d4/Of/3zWr1+/bM2aNdlTTz2V1dTUZDU1NYV6SbwLh1sHn/jEJ7Kzzz47e+yxx7Lf/va32aJFi7Lu3btn9957b+4c1sGJ4Qtf+EJWVlaWPf7449krr7ySe7z22mu5Yw73vT548GB2zjnnZJdffnn2zDPPZCtXrsz+7M/+LJs9e3YhXhLvwuHWQVNTUzZixIjs3HPPzV544YV2xxw8eDDLMuvgRHEkfye8VbzlrubWQud3JOvg7rvvzkpLS7NHHnkk27ZtW3bLLbdk3bt3z1544YXcMfoh/4T3ce6xxx7LIuKQx3XXXdfh8R2F9//+7/9mn/70p7NTTjklKy0tza6//vrs1VdfTT88eXUka+GBBx7I/vzP/zzr3r17NmTIkGzp0qXtzvGHP/wh++IXv5h94AMfyE4++eTsqquuyl555ZVj/Ep4Lw63Dl555ZXss5/9bFZdXZ117949O+uss7LvfOc7WVtbW+4c1sGJoaN1EBHZokWLcsccyff6xRdfzMaMGZP16NEjO/XUU7MvfelLuV8zxfHvcOvg7f7OiIhs+/btufNYB53fkfyd0NFz3vprKa2Fzu1I10FdXV12+umnZyeffHJWU1PT7kJNlumHFIqyLMvyfRUdAAAA+COf8QYAAICEhDcAAAAkJLwBAAAgIeENAAAACQlvAAAASEh4AwAAQELCGwAAABIS3gAAAJCQ8AYAAICEhDcAAAAkJLwBAAAgIeENAAAACf0/dtWYQ6W8SI4AAAAASUVORK5CYII=",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"wrong_sample = np.random.rand(1000)*2*std+mean-std\n",
"plt.figure(figsize=(10,6))\n",
@@ -397,24 +253,14 @@
"source": [
"## Confidence Intervals\n",
"\n",
- "Let's calculate confidence intervals for the weights and heights of baseball players. We'll use the code [from this Stack Overflow discussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
+ "Let's now calculate confidence intervals for the weights and heights of baseball players. We will use the code [from this stackoverflow discussion](https://stackoverflow.com/questions/15033511/compute-a-confidence-interval-from-sample-data):\n"
]
},
{
"cell_type": "code",
- "execution_count": 131,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "p=0.85, mean = 73.70 ± 0.10\n",
- "p=0.90, mean = 73.70 ± 0.12\n",
- "p=0.95, mean = 73.70 ± 0.14\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"import scipy.stats\n",
"\n",
@@ -436,124 +282,14 @@
"source": [
"## Hypothesis Testing\n",
"\n",
- "Let's examine the various roles in our baseball players dataset:\n"
+ "Let's explore different roles in our baseball players dataset:\n"
]
},
{
"cell_type": "code",
- "execution_count": 132,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- "
\n",
- "
\n",
- "
Weight
\n",
- "
Height
\n",
- "
Count
\n",
- "
\n",
- "
\n",
- "
Role
\n",
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- " \n",
- " \n",
- "
\n",
- "
Catcher
\n",
- "
72.723684
\n",
- "
204.328947
\n",
- "
76
\n",
- "
\n",
- "
\n",
- "
Designated_Hitter
\n",
- "
74.222222
\n",
- "
220.888889
\n",
- "
18
\n",
- "
\n",
- "
\n",
- "
First_Baseman
\n",
- "
74.000000
\n",
- "
213.109091
\n",
- "
55
\n",
- "
\n",
- "
\n",
- "
Outfielder
\n",
- "
73.010309
\n",
- "
199.113402
\n",
- "
194
\n",
- "
\n",
- "
\n",
- "
Relief_Pitcher
\n",
- "
74.374603
\n",
- "
203.517460
\n",
- "
315
\n",
- "
\n",
- "
\n",
- "
Second_Baseman
\n",
- "
71.362069
\n",
- "
184.344828
\n",
- "
58
\n",
- "
\n",
- "
\n",
- "
Shortstop
\n",
- "
71.903846
\n",
- "
182.923077
\n",
- "
52
\n",
- "
\n",
- "
\n",
- "
Starting_Pitcher
\n",
- "
74.719457
\n",
- "
205.321267
\n",
- "
221
\n",
- "
\n",
- "
\n",
- "
Third_Baseman
\n",
- "
73.044444
\n",
- "
200.955556
\n",
- "
45
\n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Weight Height Count\n",
- "Role \n",
- "Catcher 72.723684 204.328947 76\n",
- "Designated_Hitter 74.222222 220.888889 18\n",
- "First_Baseman 74.000000 213.109091 55\n",
- "Outfielder 73.010309 199.113402 194\n",
- "Relief_Pitcher 74.374603 203.517460 315\n",
- "Second_Baseman 71.362069 184.344828 58\n",
- "Shortstop 71.903846 182.923077 52\n",
- "Starting_Pitcher 74.719457 205.321267 221\n",
- "Third_Baseman 73.044444 200.955556 45"
- ]
- },
- "execution_count": 132,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.groupby('Role').agg({ 'Weight' : 'mean', 'Height' : 'mean', 'Age' : 'count'}).rename(columns={ 'Age' : 'Count'})"
]
@@ -567,19 +303,9 @@
},
{
"cell_type": "code",
- "execution_count": 133,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Conf=0.85, 1st basemen height: 209.36..216.86, 2nd basemen height: 182.24..186.45\n",
- "Conf=0.90, 1st basemen height: 208.82..217.40, 2nd basemen height: 181.93..186.76\n",
- "Conf=0.95, 1st basemen height: 207.97..218.25, 2nd basemen height: 181.45..187.24\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"for p in [0.85,0.9,0.95]:\n",
" m1, h1 = mean_confidence_interval(df.loc[df['Role']=='First_Baseman',['Height']],p)\n",
@@ -593,23 +319,14 @@
"source": [
"We can see that the intervals do not overlap.\n",
"\n",
- "A statistically more accurate way to test the hypothesis is to use a **Student t-test**:\n"
+ "A statistically more correct way to prove the hypothesis is to use a **Student t-test**:\n"
]
},
{
"cell_type": "code",
- "execution_count": 134,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "T-value = 9.77\n",
- "P-value: 1.4185554184322326e-15\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"from scipy.stats import ttest_ind\n",
"\n",
@@ -622,8 +339,8 @@
"metadata": {},
"source": [
"The two values returned by the `ttest_ind` function are:\n",
- "* The p-value can be interpreted as the probability that the two distributions have the same mean. In our case, it is very low, indicating strong evidence that first basemen are taller.\n",
- "* The t-value represents the standardized mean difference used in the t-test, which is compared to a threshold value for a specified confidence level.\n"
+ "* p-value can be considered as the probability of two distributions having the same mean. In our case, it is very low, meaning that there is strong evidence supporting that first basemen are taller.\n",
+ "* t-value is the intermediate value of normalized mean difference that is used in the t-test, and it is compared against a threshold value for a given confidence value.\n"
]
},
{
@@ -632,25 +349,14 @@
"source": [
"## Simulating a Normal Distribution with the Central Limit Theorem\n",
"\n",
- "The pseudo-random generator in Python is designed to produce a uniform distribution. If we want to create a generator for a normal distribution, we can apply the central limit theorem. To obtain a normally distributed value, we simply calculate the mean of a sample generated from a uniform distribution.\n"
+ "The pseudo-random generator in Python is designed to give us a uniform distribution. If we want to create a generator for normal distribution, we can use the central limit theorem. To get a normally distributed value we will just compute a mean of a uniform-generated sample.\n"
]
},
{
"cell_type": "code",
- "execution_count": 135,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgnUlEQVR4nO3de2yV9f3A8U+hUpyzZYhQOirgNq/zsjllMLxtRCBG8ZJMjXNojMYFZ5R5ATd16hbYJco0CJtT2WIUs0yRjQQ38R5BI4SgziEyULy0eBktsFkZfX5/LPa3SlEL58Np4fVKTuJ5znPO+TzJN/V58/ScVhRFUQQAAABQcj3KPQAAAADsrEQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAECSynIP8FGtra3x5ptvxp577hkVFRXlHgcAAAC2UBRFrF+/Purq6qJHj61fz+5y0f3mm29GfX19uccAAACAT7RmzZoYNGjQVh/vctG95557RsR/B6+uri7zNAAAALCl5ubmqK+vb2vYrely0f3hr5RXV1eLbgAAALq0T/pYtC9SAwAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASFJZ7gEAAOB/DZk0r9wj7JRWTz2x3CPALsmVbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACBJp6J7ypQpceSRR8aee+4Z/fv3j1NOOSWWL1/ebp/3338/JkyYEHvttVd89rOfjdNPPz0aGxtLOjQAAAB0B52K7scffzwmTJgQixYtir/+9a+xadOmOOGEE2Ljxo1t+1x22WXxpz/9Kf7whz/E448/Hm+++WacdtppJR8cAAAAurrKzuw8f/78dvdnzZoV/fv3j8WLF8cxxxwTTU1Ncccdd8Q999wT3/zmNyMi4q677ooDDzwwFi1aFF//+tdLNzkAAAB0cdv1me6mpqaIiOjbt29ERCxevDg2bdoUo0aNatvngAMOiH322ScWLly4PW8FAAAA3U6nrnT/r9bW1rj00kvjG9/4Rnz5y1+OiIiGhobo1atX9OnTp92+AwYMiIaGhg5fp6WlJVpaWtruNzc3b+tIAAAA0KVs85XuCRMmxAsvvBCzZ8/ergGmTJkSNTU1bbf6+vrtej0AAADoKrYpui+++OL485//HI8++mgMGjSobXttbW188MEHsW7dunb7NzY2Rm1tbYevNXny5Ghqamq7rVmzZltGAgAAgC6nU9FdFEVcfPHF8cADD8QjjzwSQ4cObff4EUccEbvttlssWLCgbdvy5cvjtddei+HDh3f4mlVVVVFdXd3uBgAAADuDTn2me8KECXHPPffEgw8+GHvuuWfb57Rrampi9913j5qamjj//PNj4sSJ0bdv36iuro7vf//7MXz4cN9cDgAAwC6nU9E9Y8aMiIg47rjj2m2/66674txzz42IiJtvvjl69OgRp59+erS0tMTo0aPjtttuK8mwAAAA0J10KrqLovjEfXr37h3Tp0+P6dOnb/NQAAAAsDPYrr/TDQAAAGyd6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroB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iegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkpQ8un/84x9HRUVFu9sBBxxQ6rcBAACALq8y40UPPvjgePjhh///TSpT3gYAAAC6tJQarqysjNra2oyXBgAAgG4j5TPdK1asiLq6uth3333j7LPPjtdee22r+7a0tERzc3O7GwAAAOwMSh7dw4YNi1mzZsX8+fNjxowZsWrVqjj66KNj/fr1He4/ZcqUqKmpabvV19eXeiQAAAAoi4qiKIrMN1i3bl0MHjw4brrppjj//PO3eLylpSVaWlra7jc3N0d9fX00NTVFdXV15mgA223IpHnlHgEAKJPVU08s9wiUUXNzc9TU1Hxiu6Z/w1mfPn1iv/32i1deeaXDx6uqqqKqqip7DAAAANjh0v9O94YNG2LlypUxcODA7LcCAACALqXk0X355ZfH448/HqtXr46nn346Tj311OjZs2ecddZZpX4rAAAA6NJK/uvlr7/+epx11lnx7rvvxt577x0jR46MRYsWxd57713qtwIAAIAureTRPXv27FK/JAAAAHRL6Z/pBgAAgF2V6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIUlnuAQAAALqjIZPmlXuEndLqqSeWe4SScqUbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AOjIkEnzyj3CTmn11BPLPQIAAOxSXOkGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AGDHGTJp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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"def normal_random(sample_size=100):\n",
" sample = [random.uniform(0,1) for _ in range(sample_size) ]\n",
@@ -669,24 +375,16 @@
"source": [
"## Correlation and Evil Baseball Corp\n",
"\n",
- "Correlation helps us identify relationships between data sequences. In our example, let's imagine there is an evil baseball corporation that determines players' salaries based on their height—the taller the player, the higher the salary. Assume there is a base salary of $1000, with an additional bonus ranging from $0 to $100, depending on height. We will use real MLB players and calculate their hypothetical salaries:\n"
+ "Correlation allows us to find relations between data sequences. In our toy example, let's pretend there is an evil baseball corporation that pays its players according to their height - the taller the player is, the more money he/she gets. Suppose there is a base salary of $1000, and an additional bonus from $0 to $100, depending on height. We will take the real players from MLB, and compute their imaginary salaries:\n"
]
},
{
"cell_type": "code",
- "execution_count": 136,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[(180, 1033.985209531635), (215, 1073.6346206518763), (210, 1067.9704190632704), (210, 1067.9704190632704), (188, 1043.0479320734046), (176, 1029.4538482607504), (209, 1066.837578745549), (200, 1056.6420158860585), (231, 1091.760065735415), (180, 1033.985209531635)]\n"
- ]
- }
- ],
- "source": [
- "heights = df['Height']\n",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "heights = df['Height'].fillna(method='pad')\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@@ -700,21 +398,9 @@
},
{
"cell_type": "code",
- "execution_count": 137,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Covariance matrix:\n",
- "[[441.63557066 500.30258018]\n",
- " [500.30258018 566.76293389]]\n",
- "Covariance = 500.3025801786725\n",
- "Correlation = 0.9999999999999997\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(f\"Covariance matrix:\\n{np.cov(heights, salaries)}\")\n",
"print(f\"Covariance = {np.cov(heights, salaries)[0,1]}\")\n",
@@ -730,20 +416,9 @@
},
{
"cell_type": "code",
- "execution_count": 138,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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Z7qjoqI0cODAYJeBdthsNv7CiGCMb2RjfCMfYxzZGN/IxvhGNsY39JxuhrsVL1IDAAAAACBACN0AAAAAAAQIoRvdKi4uTosXL1ZcXFywS0EAML6RjfGNfIxxZGN8IxvjG9kY3/AWsS9SAwAAAAAg2JjpBgAAAAAgQAjdAAAAAAAECKEbAAAAAIAAIXQDAAAAABAghG6YoqCgQLm5uUpLS5PFYtG6detOafPxxx/rmmuukd1uV+/evXXxxRervLzcc72+vl5z585V//791adPH91www06dOhQN34LtKej8a2rq9O8efM0cOBAxcfHy+l0atWqVV5tGN/QtGzZMl188cVKTExUcnKyrrvuOu3bt8+rTWfGrry8XDk5OUpISFBycrLuuusuNTU1dedXQRs6Gt/q6mrdeuutOueccxQfH6/09HT99re/VU1NjVc/jG/o6syf4VaGYWjSpElt/j3OGIemzo5vYWGhrrzySvXu3Vs2m01jx47VsWPHPNerq6t18803y2azqW/fvpo5c6bq6uq686ugDZ0Z38rKSk2bNk0Oh0O9e/fWiBEj9Je//MWrDeMb+gjdMMWRI0c0dOhQrVixos3rn332mUaPHq0f/ehHevfdd7V792498MADslqtnja33367NmzYoD//+c967733dPDgQV1//fXd9RVwGh2N7/z585Wfn681a9bo448/1m233aZ58+Zp/fr1njaMb2h67733NHfuXP3tb3/T5s2b1djYqAkTJujIkSOeNh2NXXNzs3JyctTQ0KAPPvhAL730kvLy8rRo0aJgfCWcoKPxPXjwoA4ePKgnn3xSe/bsUV5envLz8zVz5kxPH4xvaOvMn+FWf/jDH2SxWE45zxiHrs6Mb2FhobKzszVhwgQVFRVp+/btmjdvnqKi/vFr/s0336y9e/dq8+bNev3111VQUKDZs2cH4yvhBJ0Z3+nTp2vfvn1av369PvroI11//fX62c9+pl27dnnaML5hwABMJslYu3at17kbb7zRmDp1arv3HD582OjVq5fx5z//2XPu448/NiQZhYWFgSoVXdDW+J533nnGgw8+6HVuxIgRxn333WcYBuMbTqqqqgxJxnvvvWcYRufGbtOmTUZUVJRRWVnpabNy5UrDZrMZx48f794vgNM6eXzb8l//9V9GbGys0djYaBgG4xtu2hvjXbt2GT/4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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(heights, salaries)\n",
@@ -828,62 +476,38 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Can you guess why the dots align into vertical lines like this?\n",
+ "> Can you guess why the dots line up into vertical lines like this?\n",
"\n",
- "We have examined the relationship between an artificially constructed concept like salary and the observed variable *height*. Now, let's check if two observed variables, such as height and weight, are also correlated:\n"
+ "We have observed the correlation between an artificially engineered concept like salary and the observed variable *height*. Let's also see if the two observed variables, such as height and weight, correlate too:\n"
]
},
{
"cell_type": "code",
- "execution_count": 142,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 142,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'])"
+ "np.corrcoef(df['Height'].ffill(),df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Unfortunately, we did not get any results - only some strange `nan` values. This is because some of the values in our series are undefined, represented as `nan`, which makes the result of the operation undefined as well. By examining the matrix, we can see that the `Weight` column is the problematic one, as the self-correlation between `Height` values has been calculated.\n",
+ "Unfortunately, we did not get any results - only some strange `nan` values. This is due to the fact that some of the values in our series are undefined, represented as `nan`, which causes the result of the operation to be undefined as well. By looking at the matrix we can see that `Weight` is the problematic column, because self-correlation between `Height` values has been computed.\n",
"\n",
- "> This example highlights the importance of **data preparation** and **cleaning**. Without proper data, we cannot compute anything.\n",
+ "> This example shows the importance of **data preparation** and **cleaning**. Without proper data we cannot compute anything.\n",
"\n",
- "Let's use the `fillna` method to fill in the missing values and compute the correlation:\n"
+ "Let's use `fillna` method to fill the missing values, and compute the correlation: \n"
]
},
{
"cell_type": "code",
- "execution_count": 143,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 143,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'].fillna(method='pad'))"
+ "np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
]
},
{
@@ -895,20 +519,9 @@
},
{
"cell_type": "code",
- "execution_count": 144,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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+WXrY19++aX+8z//U2PHtuy7+fDDD3XkkUfa/pnhcFg333yzzjzzTI0ePbrDmK+++kr33HOPrr322tbHqqqq2iTcklq/r6rq+Ia6qKhIfr+/9as77QRMZNpy7B01nc8KdzfObZ93sXS5u3Fuq9nf5GgcnNXFJGq349xW32SvpXbj3Lb/QMjROLdt32XvFHy7cXCWafcHgFt6lHQ//vjjqqio0IgRI3TMMcfomGOO0YgRI7R9+3b99re/lSTt27dPd955p+2fOW/ePJWVlenZZ5/t8Pna2lqdd955CgQCuvvuu3vS7FYLFixo3YseDAb1ySef9OrnAV5n2mm4eVn2TlW2G+e24X57v3e7cW7LHGRvCbzdODjL7o2BN3Z0S6kD7LXUbpzbBg20t8TabpzbTLtem8a0+wPALT36C3PcccepvLxcL774om688UbdeOONWrZsmf7+97/r2GOPldRywvns2bNt/bz58+drxYoVWrNmjUaMGNHu+b1796qwsFDp6el6/vnnNWDAP2/EcnJy9MUXX7SJj3yfk5PT4b83cOBAZWRktPkCeioUtlS6bZde3PqZSrftUqirE4jiUOQ03Gi7sXzy1mm4d8wIOBrntieuHOdonNv+cP2Zjsa57elZ9k5Wthvntj/Z/L3bjXPbSzdMcjTObS/fONnROLfdVvg1R+PgLNPuDwC39Phj3YSEBBUWFrYm3eeee64SErr34yzL0vz58/X8889r9erVHdb2rq2t1bRp05ScnKxly5YpJaXtJ2kFBQV69913VV39z0M4Vq1apYyMDAUC3rihhneVlFVqwv2rdWnxRt307FZdWrxRE+5f7bmTPBMTfFo4s+X9cugf1sj3C2cGPHNISmpyoqYGsjuNmRrI9syhPP60ARqV1fmBSKOyUj1xiJokVeza72ic21Z99EXXQd2Ic9vmT+ztzbQb57Yqm8te7ca57YjMVCUndn4tTk70eeIQNUl697Ogo3Fwlmn3B4BbbJ9e/uCDD+raa69VSkqKHnzwwU5jb7zxRls/c968eXrmmWf04osvKj09vXUPtt/vV2pqamvCXVdXp6VLl7Y59GzYsGFKTEzUtGnTFAgENHv2bP30pz9VVVWV7rzzTs2bN08DB8b/qbfwrkgJjUPntSMlNBbPGuOp2pWFo3O1eNaYdnU4czxah7P48rFRy9B4se7r2lun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889vM/GFGLOAPnLbbbdZEyZM6DTmhBNOsH70ox+1eWzMmDHWD37wg75sGqK46aabrKOPPtoKh8PWnj17rAEDBli///3vW59/7733LElWaWmpi63snw4em4787//+r5WcnGw1NTXFuGWwrI7H5+2337aOOOIIq7Ky0pJkPf/88+41sJ87dHxOP/10684773S5VYg4dHwGDRpkPf30021iMjMzreLiYjea1++cd9551tVXX93msYsvvti67LLLLMuyrHA4bOXk5Fg/+9nPWp/fs2ePNXDgQOt3v/tdTNvaH3U1Ph3ZtGmTJcnasWNHXzcPUfCRLvrMsmXL9PWvf13//u//ruzsbJ166qkqLi5uEzN+/HgtW7ZMn332mSzL0po1a/TBBx9o2rRpLrW6/2psbNTSpUt19dVXy+fzafPmzWpqatI555zTGnP88cdr5MiRKi0tdbGl/c+hY9ORYDCojIwMJSWxgCnWOhqfuro6fec739HDDz+snJwcl1vYvx06PtXV1XrzzTeVnZ2t8ePH6/DDD9fkyZO1YcMGt5vaL3X0/hk/fryee+451dTUKBwO69lnn1VDQ4POOussdxvbT4wfP16vvvqqPvjgA0nS3/72N23YsEHTp0+XJFVUVKiqqqrN/YHf79fpp5/O/UEMdDU+HQkGg/L5fBoyZEiMWolDcXeGPvPxxx9r8eLF+t73vqc77rhDb731lm688UYlJyfriiuukCT9+te/1rXXXqsRI0YoKSlJCQkJKi4u1qRJk1xuff/zwgsvaM+ePbryyislteypS05ObneBPvzww1VVVRX7BvZjh47Nob766ivdc889uvbaa2PbMEjqeHxuueUWjR8/XhdccIF7DYOk9uPz8ccfS5Luvvtu/fznP9cpp5yip59+Wt/4xjdUVlamf/mXf3Gxtf1PR++f//3f/9W3vvUtZWVlKSkpSWlpaXr++ed1zDHHuNfQfuT2229XbW2tjj/+eCUmJioUCunee+/VZZddJkmt9wCHH354m/+O+4PY6Gp8DtXQ0KDbbrtNl156qTIyMmLcWkSQdKPPhMNhff3rX9d9990nSTr11FNVVlamRx99tE3SvXHjRi1btkyjRo3SunXrNG/ePA0fPrzNJ6joe48//rimT5+u4cOHu90UHKKzsamtrdV5552nQCCgu+++O/aNQ7vxWbZsmVavXq23337b5ZZBaj8+4XBYknTdddfpqquuktTy9+nVV1/VE088oaKiItfa2h91dH276667tGfPHv3lL3/RYYcdphdeeEHf/OY3tX79ep144okutrZ/+N///V/9z//8j5555hmdcMIJ2rp1q26++WYNHz689f4N7unO+DQ1Nemb3/ymLMvS4sWLXWoxJLGnG31n5MiR1jXXXNPmsUceecQaPny4ZVmWVVdXZw0YMMBasWJFm5hrrrnGOvfcc2PWTljW9u3brYSEBOuFF15ofezVV1+1JFm7d+9uEzty5EjrF7/4RYxb2H91NDYRtbW1VkFBgfWNb3zDqq+vd6F16Gh8brrpJsvn81mJiYmtX5KshIQEa/Lkye41th/qaHw+/vhjS5K1ZMmSNrHf/OY3re985zuxbmK/1tH4fPTRR5Ykq6ysrE3sN77xDeu6666LdRP7pREjRlgPPfRQm8fuuece67jjjrMsy7K2bdtmSbLefvvtNjGTJk2ybrzxxlg1s9/qanwiGhsbrQsvvNA66aSTrK+++iqWTUQH2NONPnPmmWfq/fffb/PYBx98oFGjRklq+fStqamp3WmxiYmJrTMRiI0nn3xS2dnZOu+881ofO+200zRgwAC9+uqrrY+9//772rlzpwoKCtxoZr/U0dhILTPc06ZNU3JyspYtW8ZpsS7paHxuv/12vfPOO9q6dWvrlyQ98MADevLJJ11qaf/U0fjk5eVp+PDhnf59Qmx0ND51dXWSxL2Bi+rq6jr9/efn5ysnJ6fN/UFtba3efPNN7g9ioKvxkf45w/3hhx/qL3/5i7KysmLdTBzK7awf5tq0aZOVlJRk3XvvvdaHH35o/c///I+VlpZmLV26tDVm8uTJ1gknnGCtWbPG+vjjj60nn3zSSklJsR555BEXW96/hEIha+TIkdZtt93W7rnrr7/eGjlypLV69Wrrr3/9q1VQUGAVFBS40Mr+KdrYBINB6/TTT7dOPPFE66OPPrIqKytbv5qbm11qbf/T2XvnUOL08pjrbHweeOABKyMjw/r9739vffjhh9add95ppaSkWB999JELLe2foo1PY2Ojdcwxx1gTJ0603nzzTeujjz6yfv7zn1s+n8966aWXXGpt/3LFFVdYRxxxhLVixQqroqLC+tOf/mQddthh1n/+53+2xvzkJz+xhgwZYr344ovWO++8Y11wwQVWfn4+q65ioKvxaWxstM4//3xrxIgR1tatW9vcIxw4cMDl1vdfJN3oU8uXL7dGjx5tDRw40Dr++OOt3/zmN22er6ystK688kpr+PDhVkpKinXcccdZ//Vf/xW1LBKc9+c//9mSZL3//vvtnquvr7e++93vWkOHDrXS0tKsiy66yKqsrHShlf1TtLFZs2aNJanDr4qKCnca2w919t45FEl37HU1PkVFRdaIESOstLQ0q6CgwFq/fn2MW9i/dTY+H3zwgXXxxRdb2dnZVlpamnXSSSe1KyGGvlNbW2vddNNN1siRI62UlBTrqKOOsn7wgx+0SdjC4bB11113WYcffrg1cOBA6xvf+IatayF6r6vxqaioiHqPsGbNGncb34/5LMuyYjy5DgAAAABAv8CebgAAAAAA+ghJNwAAAAAAfYSkGwAAAACAPkLSDQAAAABAHyHpBgAAAACgj5B0AwAAAADQR0i6AQAAAADoIyTdAAAAAAD0EZJuAADQzmuvvSafz6c9e/bY/m/uvvtunXLKKX3WJgAAvIikGwAAj3v00UeVnp6u5ubm1sf27dunAQMG6KyzzmoTG0mmt23b1unPHD9+vCorK+X3+x1t61lnnaWbb77Z0Z8JAEA8I+kGAMDjzj77bO3bt09//etfWx9bv369cnJy9Oabb6qhoaH18TVr1mjkyJE6+uijO/2ZycnJysnJkc/n67N2AwDQH5B0AwDgcccdd5xyc3P12muvtT722muv6YILLlB+fr42btzY5vGzzz5b4XBYRUVFys/PV2pqqk4++WT94Q9/aBN36PLy4uJiHXnkkUpLS9NFF12kX/ziFxoyZEi79ixZskR5eXny+/369re/rb1790qSrrzySq1du1a/+tWv5PP55PP5tH37dqd/HQAAxBWSbgAADHD22WdrzZo1rd+vWbNGZ511liZPntz6eH19vd58802dffbZKioq0tNPP61HH31Uf//733XLLbdo1qxZWrt2bYc///XXX9f111+vm266SVu3btXUqVN17733tovbtm2bXnjhBa1YsUIrVqzQ2rVr9ZOf/ESS9Ktf/UoFBQWaM2eOKisrVVlZqSOPPLIPfhsAAMSPJLcbAAAAeu/ss8/WzTffrObmZtXX1+vtt9/W5MmT1dTUpEcffVSSVFpaqgMHDuiss85SIBDQX/7yFxUUFEiSjjrqKG3YsEGPPfaYJk+e3O7n//rXv9b06dP1H//xH5KkY489Vm+88YZWrFjRJi4cDuupp55Senq6JGn27Nl69dVXde+998rv9ys5OVlpaWnKycnpy18HAABxg6QbAAADnHXWWdq/f7/eeust7d69W8cee6yGDRumyZMn66qrrlJDQ4Nee+01HXXUUdq3b5/q6uo0derUNj+jsbFRp556aoc///3339dFF13U5rFx48a1S7rz8vJaE25Jys3NVXV1tUO9BADAe0i6AQAwwDHHHKMRI0ZozZo12r17d+ts9fDhw3XkkUfqjTfe0Jo1azRlyhTt27dPkvTSSy/piCOOaPNzBg4c2Kt2DBgwoM33Pp9P4XC4Vz8TAAAvI+kGAMAQZ599tl577TXt3r1bt956a+vjkyZN0ssvv6xNmzZp7ty5CgQCGjhwoHbu3NnhUvKOHHfccXrrrbfaPHbo93YkJycrFAr9//buVyWWMI7j8PdoEfwTBLGqWNbiBaw4TBAsVqtpQdANA1tNBotsXKxehKxJBDF4B0bxDmSDoLB7mnA4J+iBYXV5njgwL79Jw4cZ3vfL9wHATyW6AWBClGWZo6OjvL+//xHTRVHk+Pg4b29vKcsy8/Pz6XQ6qaoqw+EwW1tbeXl5yf39fRYWFnJwcPDX2u12O9vb2+l2u9nb28vNzU36/f6XjxRbWVnJw8NDnp6eMjc3l8XFxUxN2dcVgMnlLQcAE6Isy7y+vmZ9fT3Ly8sf14uiyGAw+DhaLElOT09zcnKSs7OzNBqN7O7u5urqKqurq/9cu9ls5uLiIt1uN5ubm7m+vk5VVZmZmfnSjJ1OJ9PT09nY2MjS0lKen5///4EB4Af4NRqNRuMeAgD4eVqtVh4fH3N3dzfuUQDg2/J7OQDwKefn59nZ2cns7Gz6/X4uLy/T6/XGPRYAfGu+dAMAn7K/v5/b29sMBoOsra2l3W7n8PBw3GMBwLcmugEAAKAmNlIDAACAmohuAAAAqInoBgAAgJqIbgAAAKiJ6AYAAICaiG4AAACoiegGAACAmohuAAAAqInoBgAAgJr8BszmUCbCjQ3yAAAAAElFTkSuQmCC",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(df['Weight'],df['Height'])\n",
@@ -924,14 +537,14 @@
"source": [
"## Conclusion\n",
"\n",
- "In this notebook, we have learned how to carry out basic data operations to calculate statistical functions. We now understand how to apply a solid framework of mathematics and statistics to test hypotheses and calculate confidence intervals for arbitrary variables based on a data sample.\n"
+ "In this notebook we have learnt how to perform basic operations on data to compute statistical functions. We now know how to use a sound apparatus of math and statistics in order to prove some hypotheses, and how to compute confidence intervals for arbitrary variables given a data sample. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n---\n\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 regarded as 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"
+ "---\n\n\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\n"
]
}
],
@@ -957,8 +570,8 @@
"version": "3.9.6"
},
"coopTranslator": {
- "original_hash": "0499b3f3da9a5b4cd91afc2a9d088298",
- "translation_date": "2025-09-06T16:59:04+00:00",
+ "original_hash": "0f899e3c5019f948e7c787b22f3b2304",
+ "translation_date": "2026-01-16T07:33:37+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "en"
}
diff --git a/translations/en/2-Working-With-Data/06-non-relational/README.md b/translations/en/2-Working-With-Data/06-non-relational/README.md
index d9745607..db2ae5bc 100644
--- a/translations/en/2-Working-With-Data/06-non-relational/README.md
+++ b/translations/en/2-Working-With-Data/06-non-relational/README.md
@@ -21,7 +21,7 @@ Data isn't limited to relational databases. This lesson focuses on non-relationa
Spreadsheets are a widely used tool for storing and analyzing data because they are easy to set up and use. In this lesson, you'll learn the fundamental components of a spreadsheet, along with formulas and functions. The examples will use Microsoft Excel, but most spreadsheet software has similar features and terminology.
-
+
A spreadsheet is a file that can be accessed on a computer, device, or cloud-based file system. The software itself might be browser-based or require installation as an application or app. In Excel, these files are referred to as **workbooks**, and this term will be used throughout the lesson.
@@ -33,11 +33,11 @@ Using these basic elements of an Excel workbook, we'll explore an example from [
The spreadsheet file named "InventoryExample" is a formatted inventory sheet containing three worksheets, with tabs labeled "Inventory List," "Inventory Pick List," and "Bin Lookup." Row 4 of the Inventory List worksheet serves as the header, describing the value of each cell in the corresponding column.
-
+
Sometimes, a cell's value depends on other cells to calculate its value. For example, the Inventory List spreadsheet tracks the cost of each item, but what if we need to calculate the total value of the inventory? [**Formulas**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) perform operations on cell data, and in this case, a formula is used in the Inventory Value column to calculate the value of each item by multiplying the quantity (under the QTY header) by the cost (under the COST header). Double-clicking or highlighting a cell reveals the formula. Formulas always start with an equals sign, followed by the calculation or operation.
-
+
To find the total inventory value, we can use another formula to sum up all the values in the Inventory Value column. While adding each cell manually is possible, it would be tedious. Excel provides [**functions**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89), which are predefined formulas for performing calculations. Functions require arguments, which are the values needed for the calculation. If a function requires multiple arguments, they must be listed in the correct order to ensure accurate results. In this example, the SUM function is used to add up the values in the Inventory Value column, with the total displayed in row 3, column B (B3).
@@ -45,17 +45,17 @@ To find the total inventory value, we can use another formula to sum up all the
NoSQL is a broad term for various methods of storing non-relational data. It can mean "non-SQL," "non-relational," or "not only SQL." These database systems are generally categorized into four types.
-
+
> Source from [Michał Białecki Blog](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/)
[Key-value](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) databases store data as pairs of unique keys and their associated values. These pairs are organized using a [hash table](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) with a suitable hashing function.
-
+
> Source from [Microsoft](https://docs.microsoft.com/en-us/azure/cosmos-db/graph/graph-introduction#graph-database-by-example)
[Graph](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) databases represent relationships between data as nodes and edges. A node represents an entity, such as a student or a bank statement, while edges represent the relationships between entities. Both nodes and edges have properties that provide additional information.
-
+
[Columnar](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) data stores organize data into rows and columns, similar to relational databases. However, columns are grouped into column families, where all data within a column family is related and can be retrieved or modified as a single unit.
@@ -88,11 +88,11 @@ You can download and install the emulator [for Windows here](https://aka.ms/cosm
The Emulator opens in a browser window, where the Explorer view lets you navigate documents.
-
+
If you're following along, click "Start with Sample" to generate a sample database called SampleDB. Expanding SampleDB reveals a container named `Persons`. A container holds a collection of items, which are the documents within it. You can explore the four individual documents under `Items`.
-
+
#### Querying Document Data with the Cosmos DB Emulator
@@ -102,7 +102,7 @@ You can query the sample data by clicking the "New SQL Query" button (second but
`SELECT * FROM c where c.age < 40`
- 
+ 
The query returns two documents, both with age values less than 40.
diff --git a/translations/en/2-Working-With-Data/07-python/README.md b/translations/en/2-Working-With-Data/07-python/README.md
index b72c1d3d..53ca825a 100644
--- a/translations/en/2-Working-With-Data/07-python/README.md
+++ b/translations/en/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Working With Python - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Databases provide efficient ways to store and query data using query languages, but the most flexible method for processing data is writing your own program to manipulate it. Often, database queries are more effective, but in cases where complex data processing is required, SQL may not be sufficient.
@@ -74,7 +74,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Now, suppose we host weekly parties where we consume an additional 10 packs of ice cream. We can create another Series indexed by week to represent this:
```python
@@ -85,7 +85,7 @@ Adding these two Series gives the total number:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Note**: We don’t use the simple syntax `total_items + additional_items`. Doing so would result in many `NaN` (*Not a Number*) values in the resulting Series because missing values in the `additional_items` Series lead to `NaN` when added. Instead, we specify the `fill_value` parameter during addition.
@@ -94,7 +94,7 @@ With time series, we can also **resample** data at different intervals. For inst
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -220,7 +220,7 @@ The first problem we’ll tackle is modeling the spread of the COVID-19 epidemic
To demonstrate how to work with data, we encourage you to open [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) and go through it from start to finish. You can also execute the cells and try out some challenges we’ve included at the end.
-
+
> If you’re unfamiliar with running code in Jupyter Notebook, check out [this article](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -242,7 +242,7 @@ A complete example of analyzing this dataset using the [Text Analytics for Healt
Open [`notebook-papers.ipynb`](notebook-papers.ipynb) and go through it from start to finish. You can also execute the cells and try out some challenges we’ve included at the end.
-
+
## Processing Image Data
diff --git a/translations/en/3-Data-Visualization/09-visualization-quantities/README.md b/translations/en/3-Data-Visualization/09-visualization-quantities/README.md
index 69ef23e0..abef206c 100644
--- a/translations/en/3-Data-Visualization/09-visualization-quantities/README.md
+++ b/translations/en/3-Data-Visualization/09-visualization-quantities/README.md
@@ -61,7 +61,7 @@ Let's start by plotting some of the numeric data using a basic line plot. Suppos
wingspan = birds['MaxWingspan']
wingspan.plot()
```
-
+
What stands out immediately? There seems to be at least one outlier—what a wingspan! A 2300-centimeter wingspan equals 23 meters—are there Pterodactyls in Minnesota? Let's investigate.
@@ -81,7 +81,7 @@ plt.plot(x, y)
plt.show()
```
-
+
Even with the labels rotated 45 degrees, there are too many to read. Let's try a different approach: label only the outliers and set the labels within the chart. You can use a scatter chart to make room for the labeling:
@@ -103,7 +103,7 @@ What's happening here? You used `tick_params` to hide the bottom labels and then
What did you discover?
-
+
## Filter your data
@@ -124,7 +124,7 @@ plt.show()
By filtering out the outliers, your data becomes more cohesive and easier to understand.
-
+
Now that we have a cleaner dataset, at least in terms of wingspan, let's explore more about these birds.
@@ -151,7 +151,7 @@ birds.plot(x='Category',
title='Birds of Minnesota')
```
-
+
This bar chart, however, is hard to read because the data isn't grouped. You need to select only the data you want to plot, so let's look at the bird categories based on their count.
@@ -166,7 +166,7 @@ category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()
```
-
+
This bar chart provides a clear view of the number of birds in each category. At a glance, you can see that the largest number of birds in this region belong to the Ducks/Geese/Waterfowl category. Given that Minnesota is the "land of 10,000 lakes," this isn't surprising!
@@ -182,7 +182,7 @@ plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()
```
-
+
Nothing surprising here: hummingbirds have the smallest MaxLength compared to pelicans or geese. It's reassuring when data aligns with logic!
@@ -200,7 +200,7 @@ plt.show()
```
In this plot, you can see the range of Minimum and Maximum Length for each bird category. You can confidently say that, based on this data, larger birds tend to have a wider length range. Fascinating!
-
+
## 🚀 Challenge
diff --git a/translations/en/3-Data-Visualization/10-visualization-distributions/README.md b/translations/en/3-Data-Visualization/10-visualization-distributions/README.md
index 65fe90c5..aa84f560 100644
--- a/translations/en/3-Data-Visualization/10-visualization-distributions/README.md
+++ b/translations/en/3-Data-Visualization/10-visualization-distributions/README.md
@@ -48,7 +48,7 @@ plt.xlabel('Max Length')
plt.show()
```
-
+
This provides an overview of the general distribution of body length per bird Order, but it’s not the best way to display true distributions. That’s where histograms come in.
@@ -60,7 +60,7 @@ Matplotlib provides excellent tools for visualizing data distributions using his
birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
plt.show()
```
-
+
As you can see, most of the 400+ birds in this dataset have a Max Body Mass under 2000. You can gain more insight by increasing the `bins` parameter to a higher number, such as 30:
@@ -68,7 +68,7 @@ As you can see, most of the 400+ birds in this dataset have a Max Body Mass unde
birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
plt.show()
```
-
+
This chart provides a more detailed view of the distribution. To create a chart that’s less skewed to the left, you can filter the data to include only birds with a body mass under 60 and display 40 `bins`:
@@ -77,7 +77,7 @@ filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
plt.show()
```
-
+
✅ Experiment with other filters and data points. To view the full distribution of the data, remove the `['MaxBodyMass']` filter to display labeled distributions.
@@ -94,7 +94,7 @@ hist = ax.hist2d(x, y)
```
There seems to be a predictable correlation between these two elements along a specific axis, with one particularly strong point of convergence:
-
+
Histograms work well for numeric data by default. But what if you need to analyze distributions based on text data?
@@ -134,7 +134,7 @@ plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
plt.legend();
```
-
+
There doesn’t appear to be a strong correlation between minimum wingspan and conservation status. Test other elements of the dataset using this method. Try different filters as well. Do you find any correlations?
@@ -152,7 +152,7 @@ import matplotlib.pyplot as plt
sns.kdeplot(filteredBirds['MinWingspan'])
plt.show()
```
-
+
This plot mirrors the previous one for Minimum Wingspan data but is smoother. According to Seaborn’s documentation, "Relative to a histogram, KDE can produce a plot that is less cluttered and more interpretable, especially when drawing multiple distributions. But it has the potential to introduce distortions if the underlying distribution is bounded or not smooth. Like a histogram, the quality of the representation also depends on the selection of good smoothing parameters." [source](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) In other words, outliers can still negatively impact your charts.
@@ -162,7 +162,7 @@ If you want to revisit the jagged MaxBodyMass line from the second chart you cre
sns.kdeplot(filteredBirds['MaxBodyMass'])
plt.show()
```
-
+
If you prefer a smooth but not overly smooth line, adjust the `bw_adjust` parameter:
@@ -170,7 +170,7 @@ If you prefer a smooth but not overly smooth line, adjust the `bw_adjust` parame
sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
plt.show()
```
-
+
✅ Explore the available parameters for this type of plot and experiment!
@@ -184,7 +184,7 @@ sns.kdeplot(
)
```
-
+
You can also map the density of multiple variables in one chart. Compare the MaxLength and MinLength of a bird to its conservation status:
@@ -192,7 +192,7 @@ You can also map the density of multiple variables in one chart. Compare the Max
sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
```
-
+
It might be worth investigating whether the cluster of 'Vulnerable' birds based on their lengths has any significance.
diff --git a/translations/en/3-Data-Visualization/11-visualization-proportions/README.md b/translations/en/3-Data-Visualization/11-visualization-proportions/README.md
index b7685cc8..17cb8357 100644
--- a/translations/en/3-Data-Visualization/11-visualization-proportions/README.md
+++ b/translations/en/3-Data-Visualization/11-visualization-proportions/README.md
@@ -91,7 +91,7 @@ plt.show()
```
And there you have it—a pie chart showing the proportions of the data based on the two mushroom classes. It's crucial to get the order of the labels correct, especially here, so double-check the order when building the label array!
-
+
## Donuts!
@@ -121,7 +121,7 @@ plt.title('Mushroom Habitats')
plt.show()
```
-
+
This code draws a chart and a center circle, then adds the center circle to the chart. You can adjust the width of the center circle by changing `0.40` to another value.
@@ -169,7 +169,7 @@ fig = plt.figure(
Using a waffle chart, you can clearly see the proportions of cap colors in the mushroom dataset. Interestingly, there are many green-capped mushrooms!
-
+
✅ PyWaffle supports icons within the charts, allowing you to use any icon available in [Font Awesome](https://fontawesome.com/). Experiment with creating an even more engaging waffle chart using icons instead of squares.
diff --git a/translations/en/3-Data-Visualization/12-visualization-relationships/README.md b/translations/en/3-Data-Visualization/12-visualization-relationships/README.md
index 95300925..6e0ad823 100644
--- a/translations/en/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/en/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Create a basic scatterplot to show the relationship between the price per pound
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Next, use a honey-inspired color scheme to illustrate how the price evolves over the years. Add a 'hue' parameter to highlight year-over-year changes:
@@ -60,7 +60,7 @@ Next, use a honey-inspired color scheme to illustrate how the price evolves over
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
With this color scheme, you can clearly see a strong upward trend in honey prices over the years. If you examine a specific state, such as Arizona, you'll notice a consistent pattern of price increases year over year, with only a few exceptions:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
You can observe the dots growing larger over time.
-
+
Is this simply a case of supply and demand? Could factors like climate change and colony collapse be reducing honey availability year over year, leading to price increases?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Answer: Yes, although there are some exceptions around 2003:
-
+
✅ Seaborn aggregates data into one line by "plotting the mean and the 95% confidence interval around the mean" for multiple measurements at each x value. [Source](https://seaborn.pydata.org/tutorial/relational.html). You can disable this behavior by adding `ci=None`.
@@ -114,7 +114,7 @@ Question: In 2003, can we also observe a spike in honey supply? What happens if
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Answer: Not really. Total production seems to have increased in 2003, even though honey production overall appears to be declining during these years.
@@ -139,7 +139,7 @@ sns.relplot(
```
In this visualization, compare yield per colony and number of colonies year over year, with columns wrapped at 3:
-
+
For this dataset, nothing particularly stands out regarding the number of colonies and their yield year over year or state by state. Is there another way to explore correlations between these two variables?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
While nothing particularly stands out around 2003, this visualization ends the lesson on a slightly positive note: although the number of colonies is declining overall, it seems to be stabilizing, even if their yield per colony is decreasing.
diff --git a/translations/en/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/en/3-Data-Visualization/13-meaningful-visualizations/README.md
index e04ae195..6d87b81b 100644
--- a/translations/en/3-Data-Visualization/13-meaningful-visualizations/README.md
+++ b/translations/en/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -47,25 +47,25 @@ In earlier lessons, you experimented with creating various data visualizations u
Even when a data scientist carefully selects the right chart for the data, there are many ways data can be presented misleadingly to support a particular narrative, often at the expense of the data's integrity. There are numerous examples of deceptive charts and infographics!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Click the image above to watch a conference talk about misleading charts.
This chart reverses the X-axis to present the opposite of the truth based on the dates:
-
+
[This chart](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) is even more misleading, as the eye is drawn to the right, suggesting that COVID cases have declined over time in various counties. However, upon closer inspection of the dates, you'll notice they have been rearranged to create a deceptive downward trend.
-
+
This infamous example uses both color and a flipped Y-axis to mislead viewers. Instead of showing that gun deaths increased after the passage of gun-friendly legislation, the chart tricks the eye into believing the opposite:
-
+
This peculiar chart demonstrates how proportions can be manipulated, often to humorous effect:
-
+
Another deceptive tactic is comparing things that are not comparable. There is a [fascinating website](https://tylervigen.com/spurious-correlations) dedicated to 'spurious correlations,' showcasing absurd 'facts' like the correlation between Maine's divorce rate and margarine consumption. A Reddit group also collects [examples of poor data usage](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Label your axes, include a legend if necessary, and provide tooltips for better
If your data includes verbose text on the X-axis, you can angle the text for improved readability. [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) also supports 3D plotting if your data is suitable for it. Advanced visualizations can be created using `mpl_toolkits.mplot3d`.
-
+
## Animation and 3D chart display
Some of the most engaging data visualizations today are animated. Shirley Wu has created stunning examples using D3, such as '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/),' where each flower represents a movie. Another example is 'Bussed Out,' an interactive experience for the Guardian that combines visualizations with Greensock and D3, along with a scrollytelling article format, to illustrate how NYC addresses homelessness by bussing people out of the city.
-
+
> "Bussed Out: How America Moves its Homeless" from [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualizations by Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ While this lesson doesn't delve deeply into these powerful visualization librari
You will complete a web app that displays an animated view of this social network. It uses a library designed to create a [network visualization](https://github.com/emiliorizzo/vue-d3-network) using Vue.js and D3. When the app is running, you can drag the nodes around the screen to rearrange the data.
-
+
## Project: Build a chart to show a network using D3.js
diff --git a/translations/en/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/en/4-Data-Science-Lifecycle/14-Introduction/README.md
index 38dd10b7..046185fa 100644
--- a/translations/en/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/en/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ By now, you’ve likely realized that data science is a process. This process ca
This lesson focuses on three parts of the lifecycle: capturing, processing, and maintenance.
-
+
> Image by [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Capturing
@@ -101,7 +101,7 @@ Explore the [Team Data Science Process lifecycle](https://docs.microsoft.com/en-
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Image by [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Image by [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Post-lecture quiz](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/en/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/en/5-Data-Science-In-Cloud/18-Low-Code/README.md
index e6800e79..dd09fc30 100644
--- a/translations/en/5-Data-Science-In-Cloud/18-Low-Code/README.md
+++ b/translations/en/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -61,7 +61,7 @@ Azure ML offers a comprehensive suite of tools for developers and data scientist
Building projects is one of the best ways to test your skills and knowledge. In this lesson, we will explore two approaches to creating a data science project for predicting heart failure in Azure ML Studio: the Low code/No code method and the Azure ML SDK method, as illustrated in the following diagram:
-
+
Each approach has its advantages and disadvantages. The Low code/No code method is beginner-friendly, as it relies on a graphical user interface (GUI) and requires no prior coding knowledge. This method is ideal for quickly testing a project's feasibility and creating a Proof of Concept (POC). However, as the project scales and requires production-level readiness, relying solely on the GUI becomes impractical. At this stage, programmatic automation of tasks—such as resource creation and model deployment—becomes essential, making the Azure ML SDK a critical tool.
@@ -114,15 +114,15 @@ To use Azure Machine Learning, create a workspace in your Azure subscription. Th
1. Sign in to the [Azure portal](https://ms.portal.azure.com/) using the Microsoft credentials associated with your Azure subscription.
2. Select **+Create a resource**.
- 
+ 
Search for Machine Learning and select the Machine Learning tile.
- 
+ 
Click the create button.
- 
+ 
Fill in the settings as follows:
- Subscription: Your Azure subscription
@@ -134,17 +134,17 @@ To use Azure Machine Learning, create a workspace in your Azure subscription. Th
- Application insights: Note the default new application insights resource that will be created for your workspace
- Container registry: None (one will be created automatically the first time you deploy a model to a container)
- 
+ 
- Click **Review + create**, then click the **Create** button.
3. Wait for your workspace to be created (this may take a few minutes). Once ready, navigate to it in the portal. You can find it under the Machine Learning Azure service.
4. On the Overview page for your workspace, launch Azure Machine Learning Studio (or open a new browser tab and go to https://ml.azure.com). Sign in using your Microsoft account. If prompted, select your Azure directory, subscription, and workspace.
-
+
5. In Azure Machine Learning Studio, click the ☰ icon at the top left to explore the various pages in the interface. These pages allow you to manage the resources in your workspace.
-
+
While you can manage your workspace through the Azure portal, Azure Machine Learning Studio provides a more user-friendly interface tailored for data scientists and machine learning engineers.
@@ -189,18 +189,18 @@ A low-priority instance is interruptible, meaning Microsoft Azure can reassign t
In the [Azure ML workspace](https://ml.azure.com/) we created earlier, navigate to the "Compute" section to view the different compute resources we discussed (e.g., compute instances, compute clusters, inference clusters, and attached compute). For this project, we need a compute cluster for model training. In the Studio, click on the "Compute" menu, then the "Compute cluster" tab, and click the "+ New" button to create a compute cluster.
-
+
1. Choose your options: Dedicated vs Low priority, CPU or GPU, VM size, and core number (you can keep the default settings for this project).
2. Click the "Next" button.
-
+
3. Assign a name to the cluster.
4. Choose your options: Minimum/Maximum number of nodes, idle seconds before scale-down, SSH access. Note that setting the minimum number of nodes to 0 will save money when the cluster is idle. A higher maximum number of nodes will shorten training time. The recommended maximum number of nodes is 3.
5. Click the "Create" button. This step may take a few minutes.
-
+
Great! Now that we have a compute cluster, we need to load the data into Azure ML Studio.
@@ -208,15 +208,15 @@ Great! Now that we have a compute cluster, we need to load the data into Azure M
1. In the [Azure ML workspace](https://ml.azure.com/) we created earlier, click on "Datasets" in the left menu and then click the "+ Create dataset" button to create a dataset. Choose the "From local files" option and select the Kaggle dataset we downloaded earlier.
- 
+ 
2. Assign a name, type, and description to your dataset. Click "Next." Upload the data from files. Click "Next."
- 
+ 
3. In the Schema section, change the data type to Boolean for the following features: anaemia, diabetes, high blood pressure, sex, smoking, and DEATH_EVENT. Click "Next" and then "Create."
- 
+ 
Fantastic! Now that the dataset is ready and the compute cluster is created, we can start training the model!
@@ -226,19 +226,19 @@ Traditional machine learning model development is resource-intensive, requiring
1. In the [Azure ML workspace](https://ml.azure.com/) we created earlier, click on "Automated ML" in the left menu and select the dataset you just uploaded. Click "Next."
- 
+ 
2. Enter a new experiment name, the target column (DEATH_EVENT), and the compute cluster we created. Click "Next."
- 
+ 
3. Choose "Classification" and click "Finish." This step may take between 30 minutes to 1 hour, depending on your compute cluster size.
- 
+ 
4. Once the run is complete, click on the "Automated ML" tab, select your run, and click on the algorithm in the "Best model summary" card.
- 
+ 
Here, you can view a detailed description of the best model AutoML generated. You can also explore other models in the "Models" tab. Take a few minutes to explore the models in the "Explanations (preview)" section. Once you've chosen the model you want to use (in this case, we'll select the best model chosen by AutoML), we'll proceed to deploy it.
@@ -249,15 +249,15 @@ The automated machine learning interface allows you to deploy the best model as
In the best model description, click the "Deploy" button.
-
+
15. Assign a name, description, compute type (Azure Container Instance), enable authentication, and click "Deploy." This step may take about 20 minutes to complete. The deployment process involves several steps, including registering the model, generating resources, and configuring them for the web service. A status message appears under "Deploy status." Select "Refresh" periodically to check the deployment status. The status will show "Healthy" once the deployment is complete and running.
-
+
16. Once deployed, click on the "Endpoint" tab and select the endpoint you just deployed. Here, you can find all the details about the endpoint.
-
+
Amazing! Now that the model is deployed, we can start consuming the endpoint.
@@ -267,7 +267,7 @@ Click on the "Consume" tab. Here, you'll find the REST endpoint and a Python scr
This script can be run directly from your local machine to consume your endpoint.
-
+
Take a moment to review these two lines of code:
diff --git a/translations/en/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/en/5-Data-Science-In-Cloud/19-Azure/README.md
index d7b8d175..bb589f43 100644
--- a/translations/en/5-Data-Science-In-Cloud/19-Azure/README.md
+++ b/translations/en/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -57,7 +57,7 @@ Key features of the SDK include:
In the [previous lesson](../18-Low-Code/README.md), we explored how to train, deploy, and consume a model using a Low code/No code approach. We used the Heart Failure dataset to create a heart failure prediction model. In this lesson, we will achieve the same goal but using the Azure Machine Learning SDK.
-
+
### 1.2 Heart failure prediction project and dataset introduction
@@ -74,7 +74,7 @@ If not, follow the instructions in section **2.1 Create an Azure ML workspace**
In the [Azure ML workspace](https://ml.azure.com/) created earlier, navigate to the compute menu to view the available compute resources.
-
+
Let’s create a compute instance to host a Jupyter notebook.
1. Click the + New button.
@@ -97,10 +97,10 @@ To create a Notebook, you need a compute node running the Jupyter notebook insta
1. In the Applications section, click on the Jupyter option.
2. Tick the "Yes, I understand" box and click Continue.
-
+
3. This will open a new browser tab with your Jupyter notebook instance. Click the "New" button to create a notebook.
-
+
Now that we have a Notebook, we can start training the model using the Azure ML SDK.
diff --git a/translations/en/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/en/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index c7e6cebe..4f5d9fef 100644
--- a/translations/en/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/en/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ The democratization of AI has made it easier for developers to design and integr
* [Data Science in Healthcare](https://data-flair.training/blogs/data-science-in-healthcare/) - showcases applications such as medical imaging (e.g., MRI, X-Ray, CT-Scan), genomics (DNA sequencing), drug development (risk assessment, success prediction), predictive analytics (patient care and logistics), disease tracking, and prevention.
- Image Credit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Image Credit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
The figure highlights other domains and examples of data science applications. Interested in exploring more? Check out the [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) section below.
diff --git a/translations/en/CONTRIBUTING.md b/translations/en/CONTRIBUTING.md
index f34779e0..a632793f 100644
--- a/translations/en/CONTRIBUTING.md
+++ b/translations/en/CONTRIBUTING.md
@@ -312,7 +312,7 @@ Include in your PR description:
import pandas as pd
```
````
-- Add alt text to images: ``
+- Add alt text to images: ``
- Keep line lengths reasonable (around 80-100 characters)
### Python
diff --git a/translations/en/README.md b/translations/en/README.md
index 1a598fb1..437b3146 100644
--- a/translations/en/README.md
+++ b/translations/en/README.md
@@ -1,8 +1,8 @@
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+
+> **Prefer to Clone Locally?**
+
+> This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:
+> ```bash
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
+> cd Data-Science-For-Beginners
+> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
+> ```
+> This gives you everything you need to complete the course with a much faster download.
**If you wish to have additional translations languages supported are listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
@@ -52,7 +62,7 @@ Azure Cloud Advocates at Microsoft are pleased to offer a 10-week, 20-lesson cur
We have a Discord learn with AI series ongoing, learn more and join us at [Learn with AI Series](https://aka.ms/learnwithai/discord) from 18 - 30 September, 2025. You will get tips and tricks of using GitHub Copilot for Data Science.
-
+
# Are you a student?
@@ -86,11 +96,11 @@ Get started with the following resources:
> **Teachers**: we have [included some suggestions](for-teachers.md) on how to use this curriculum. We'd love your feedback [in our discussion forum](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
## Meet the Team
-
[](https://youtu.be/8mzavjQSMM4 "Promo video")
**Gif by** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
-> 🎥 Click the image above for a video about the project the folks who created it!
+
+> 🎥 Click the image above for a video about the project and the folks who created it!
## Pedagogy
@@ -132,7 +142,7 @@ Each example includes detailed comments explaining every step, making it perfect
## Lessons
-||
+||
|:---:|
| Data Science For Beginners: Roadmap - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
@@ -247,6 +257,6 @@ If you have product feedback or errors while building visit:
---
-Disclaimer:
-This 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.
+**Disclaimer**:
+This 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.
\ No newline at end of file
diff --git a/translations/es/1-Introduction/01-defining-data-science/README.md b/translations/es/1-Introduction/01-defining-data-science/README.md
index 2766bfec..b8ace35f 100644
--- a/translations/es/1-Introduction/01-defining-data-science/README.md
+++ b/translations/es/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Cuestionario previo a la clase](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Si queremos complicarlo aún más, podemos graficar el tiempo que toma cada mód
En este desafío, intentaremos encontrar conceptos relevantes para el campo de la Ciencia de Datos analizando textos. Tomaremos un artículo de Wikipedia sobre Ciencia de Datos, descargaremos y procesaremos el texto, y luego construiremos una nube de palabras como esta:
-
+
Visita [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') para leer el código. También puedes ejecutar el código y ver cómo realiza todas las transformaciones de datos en tiempo real.
diff --git a/translations/es/1-Introduction/04-stats-and-probability/README.md b/translations/es/1-Introduction/04-stats-and-probability/README.md
index 32e1e37b..455c45f8 100644
--- a/translations/es/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/es/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
La Teoría de Estadística y Probabilidad son dos áreas de las Matemáticas estrechamente relacionadas y altamente relevantes para la Ciencia de Datos. Es posible trabajar con datos sin un conocimiento profundo de matemáticas, pero siempre es mejor conocer al menos algunos conceptos básicos. Aquí presentaremos una breve introducción que te ayudará a comenzar.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Cuestionario previo a la clase](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Es más difícil describir la distribución de probabilidad de una variable cont
Solo podemos hablar de la probabilidad de que una variable caiga en un intervalo dado de valores, por ejemplo, P(t1≤X2). En este caso, la distribución de probabilidad se describe mediante una **función de densidad de probabilidad** p(x), tal que
-.
diff --git a/translations/es/1-Introduction/04-stats-and-probability/notebook.ipynb b/translations/es/1-Introduction/04-stats-and-probability/notebook.ipynb
index 1f742346..ec273094 100644
--- a/translations/es/1-Introduction/04-stats-and-probability/notebook.ipynb
+++ b/translations/es/1-Introduction/04-stats-and-probability/notebook.ipynb
@@ -5,12 +5,12 @@
"metadata": {},
"source": [
"# Introducción a la Probabilidad y Estadística\n",
- "En este cuaderno, exploraremos algunos de los conceptos que hemos discutido anteriormente. 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, 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"
]
},
{
"cell_type": "code",
- "execution_count": 117,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -24,25 +24,15 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Variables Aleatorias y Distribuciones\n",
+ "## 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"
]
},
{
"cell_type": "code",
- "execution_count": 118,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Sample: [0, 8, 1, 0, 7, 4, 3, 3, 6, 7, 1, 0, 6, 3, 1, 5, 9, 2, 4, 2, 5, 6, 8, 7, 1, 9, 8, 2, 3, 7]\n",
- "Mean = 4.266666666666667\n",
- "Variance = 8.195555555555556\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"sample = [ random.randint(0,10) for _ in range(30) ]\n",
"print(f\"Sample: {sample}\")\n",
@@ -54,25 +44,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Para estimar visualmente cuántos valores diferentes hay en la muestra, podemos graficar el **histograma**:\n"
+ "Para estimar visualmente cuántos valores diferentes hay en la muestra, podemos trazar el **histograma**:\n"
]
},
{
"cell_type": "code",
- "execution_count": 119,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgYUlEQVR4nO3dfWyV9f3/8dcB4RS1PQLaG+Bws8G4p4Vyd0pidVYr6whNFsYISxkDEk1xxS4u1DkJOj1sBoEIAlWRbdgUUYENUdaVFIYUoUAXihNDVFq1p2CG50A3D6Y93z/c6q8/aOEqxXfb83wk1x/n6uc61/twcH3u4mqPKxKJRAQAAGCkm/UAAAAguhEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADA1E3WA1yLxsZGffbZZ4qNjZXL5bIeBwAAXINIJKILFy6oX79+6tat5esfnSJGPvvsM3m9XusxAABAG9TU1GjAgAEtfr1TxEhsbKykr19MXFyc8TQAAOBahEIheb3epu/jLekUMfK/f5qJi4sjRgAA6GSudosFN7ACAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMHVdMbJixQq5XC4tWbKk1XXbtm3TiBEjFBMTo7Fjx2r37t3Xc1oAANCFtDlGjhw5oo0bN2rcuHGtrjt48KDmzJmjBQsW6Pjx48rOzlZ2draqqqraemoAANCFtClGLl68qLlz5+qFF15Q7969W127Zs0a3X///XrkkUc0cuRIPfnkk5owYYLWrl3bpoEBAEDX0qYYyc3NVVZWljIyMq66try8/LJ1mZmZKi8vb/GYcDisUCjUbAMAAF3TTU4PKC4u1rFjx3TkyJFrWh8IBJSQkNBsX0JCggKBQIvH+P1+LV++3OloUWPw0jetR3Ds4xVZ1iO0CX/W6Er4+4yOytGVkZqaGuXl5emVV15RTEzMjZpJBQUFCgaDTVtNTc0NOxcAALDl6MrI0aNHdfbsWU2YMKFpX0NDg/bv36+1a9cqHA6re/fuzY5JTExUXV1ds311dXVKTExs8Txut1tut9vJaAAAoJNydGXknnvu0YkTJ1RZWdm0TZw4UXPnzlVlZeVlISJJPp9PpaWlzfaVlJTI5/Nd3+QAAKBLcHRlJDY2VmPGjGm275ZbblHfvn2b9ufk5Kh///7y+/2SpLy8PKWnp2vlypXKyspScXGxKioqVFhY2E4vAQAAdGbt/htYq6urVVtb2/Q4LS1NRUVFKiwsVHJysl577TXt2LHjsqgBAADRyfFP0/z/ysrKWn0sSbNmzdKsWbOu91QAAKAL4rNpAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApRzGyfv16jRs3TnFxcYqLi5PP59Nbb73V4vrNmzfL5XI122JiYq57aAAA0HXc5GTxgAEDtGLFCg0bNkyRSER/+MMfNHPmTB0/flyjR4++4jFxcXE6depU02OXy3V9EwMAgC7FUYzMmDGj2eOnnnpK69ev16FDh1qMEZfLpcTExLZPCAAAurQ23zPS0NCg4uJi1dfXy+fztbju4sWLGjRokLxer2bOnKmTJ09e9bnD4bBCoVCzDQAAdE2OY+TEiRO69dZb5Xa79cADD2j79u0aNWrUFdcOHz5cmzZt0s6dO7VlyxY1NjYqLS1Nn3zySavn8Pv98ng8TZvX63U6JgAA6CQcx8jw4cNVWVmpd999Vw8++KDmzZun995774prfT6fcnJylJKSovT0dL3xxhu64447tHHjxlbPUVBQoGAw2LTV1NQ4HRMAAHQSju4ZkaSePXtq6NChkqTU1FQdOXJEa9asuWpgSFKPHj00fvx4nT59utV1brdbbrfb6WgAAKATuu7fM9LY2KhwOHxNaxsaGnTixAklJSVd72kBAEAX4ejKSEFBgaZPn66BAwfqwoULKioqUllZmfbs2SNJysnJUf/+/eX3+yVJTzzxhKZOnaqhQ4fqiy++0DPPPKMzZ85o4cKF7f9KAABAp+QoRs6ePaucnBzV1tbK4/Fo3Lhx2rNnj+69915JUnV1tbp1++Ziy/nz57Vo0SIFAgH17t1bqampOnjwYIs3vAIAgOjjKEZeeumlVr9eVlbW7PGqVau0atUqx0MBAIDowWfTAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTjmJk/fr1GjdunOLi4hQXFyefz6e33nqr1WO2bdumESNGKCYmRmPHjtXu3buva2AAANC1OIqRAQMGaMWKFTp69KgqKir0/e9/XzNnztTJkyevuP7gwYOaM2eOFixYoOPHjys7O1vZ2dmqqqpql+EBAEDn5yhGZsyYoR/84AcaNmyYvve97+mpp57SrbfeqkOHDl1x/Zo1a3T//ffrkUce0ciRI/Xkk09qwoQJWrt2bbsMDwAAOr823zPS0NCg4uJi1dfXy+fzXXFNeXm5MjIymu3LzMxUeXl5q88dDocVCoWabQAAoGu6yekBJ06ckM/n05dffqlbb71V27dv16hRo664NhAIKCEhodm+hIQEBQKBVs/h9/u1fPlyp6O1yeClb34r54l2/Dmjq+Hv9LejM/45f7wiy3qETsfxlZHhw4ersrJS7777rh588EHNmzdP7733XrsOVVBQoGAw2LTV1NS06/MDAICOw/GVkZ49e2ro0KGSpNTUVB05ckRr1qzRxo0bL1ubmJiourq6Zvvq6uqUmJjY6jncbrfcbrfT0QAAQCd03b9npLGxUeFw+Ipf8/l8Ki0tbbavpKSkxXtMAABA9HF0ZaSgoEDTp0/XwIEDdeHCBRUVFamsrEx79uyRJOXk5Kh///7y+/2SpLy8PKWnp2vlypXKyspScXGxKioqVFhY2P6vBAAAdEqOYuTs2bPKyclRbW2tPB6Pxo0bpz179ujee++VJFVXV6tbt28utqSlpamoqEiPPfaYHn30UQ0bNkw7duzQmDFj2vdVAACATstRjLz00kutfr2srOyyfbNmzdKsWbMcDQUAAKIHn00DAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEw5ihG/369JkyYpNjZW8fHxys7O1qlTp1o9ZvPmzXK5XM22mJiY6xoaAAB0HY5iZN++fcrNzdWhQ4dUUlKir776Svfdd5/q6+tbPS4uLk61tbVN25kzZ65raAAA0HXc5GTx22+/3ezx5s2bFR8fr6NHj+rOO+9s8TiXy6XExMS2TQgAALq067pnJBgMSpL69OnT6rqLFy9q0KBB8nq9mjlzpk6ePNnq+nA4rFAo1GwDAABdU5tjpLGxUUuWLNG0adM0ZsyYFtcNHz5cmzZt0s6dO7VlyxY1NjYqLS1Nn3zySYvH+P1+eTyeps3r9bZ1TAAA0MG1OUZyc3NVVVWl4uLiVtf5fD7l5OQoJSVF6enpeuONN3THHXdo48aNLR5TUFCgYDDYtNXU1LR1TAAA0ME5umfkfxYvXqxdu3Zp//79GjBggKNje/ToofHjx+v06dMtrnG73XK73W0ZDQAAdDKOroxEIhEtXrxY27dv1969ezVkyBDHJ2xoaNCJEyeUlJTk+FgAAND1OLoykpubq6KiIu3cuVOxsbEKBAKSJI/Ho169ekmScnJy1L9/f/n9fknSE088oalTp2ro0KH64osv9Mwzz+jMmTNauHBhO78UAADQGTmKkfXr10uS7rrrrmb7X375Zf3sZz+TJFVXV6tbt28uuJw/f16LFi1SIBBQ7969lZqaqoMHD2rUqFHXNzkAAOgSHMVIJBK56pqysrJmj1etWqVVq1Y5GgoAAEQPPpsGAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJhyFCN+v1+TJk1SbGys4uPjlZ2drVOnTl31uG3btmnEiBGKiYnR2LFjtXv37jYPDAAAuhZHMbJv3z7l5ubq0KFDKikp0VdffaX77rtP9fX1LR5z8OBBzZkzRwsWLNDx48eVnZ2t7OxsVVVVXffwAACg83NFIpFIWw8+d+6c4uPjtW/fPt15551XXDN79mzV19dr165dTfumTp2qlJQUbdiw4ZrOEwqF5PF4FAwGFRcX19Zxr2jw0jfb9fkAax+vyLIeISrwvx1oCf8NfuNav39f1z0jwWBQktSnT58W15SXlysjI6PZvszMTJWXl7d4TDgcVigUarYBAICu6aa2HtjY2KglS5Zo2rRpGjNmTIvrAoGAEhISmu1LSEhQIBBo8Ri/36/ly5e3dTQgqvH/2AFbnfG/QeurOW2+MpKbm6uqqioVFxe35zySpIKCAgWDwaatpqam3c8BAAA6hjZdGVm8eLF27dql/fv3a8CAAa2uTUxMVF1dXbN9dXV1SkxMbPEYt9stt9vdltEAAEAn4+jKSCQS0eLFi7V9+3bt3btXQ4YMueoxPp9PpaWlzfaVlJTI5/M5mxQAAHRJjq6M5ObmqqioSDt37lRsbGzTfR8ej0e9evWSJOXk5Kh///7y+/2SpLy8PKWnp2vlypXKyspScXGxKioqVFhY2M4vBQAAdEaOroysX79ewWBQd911l5KSkpq2rVu3Nq2prq5WbW1t0+O0tDQVFRWpsLBQycnJeu2117Rjx45Wb3oFAADRw9GVkWv5lSRlZWWX7Zs1a5ZmzZrl5FQAACBK8Nk0AADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMCU4xjZv3+/ZsyYoX79+snlcmnHjh2tri8rK5PL5bpsCwQCbZ0ZAAB0IY5jpL6+XsnJyVq3bp2j406dOqXa2tqmLT4+3umpAQBAF3ST0wOmT5+u6dOnOz5RfHy8brvtNsfHAQCAru1bu2ckJSVFSUlJuvfee/XOO++0ujYcDisUCjXbAABA13TDYyQpKUkbNmzQ66+/rtdff11er1d33XWXjh071uIxfr9fHo+nafN6vTd6TAAAYMQViUQibT7Y5dL27duVnZ3t6Lj09HQNHDhQf/rTn6749XA4rHA43PQ4FArJ6/UqGAwqLi6ureNe0eClb7br8wEA0Nl8vCLrhjxvKBSSx+O56vdvx/eMtIfJkyfrwIEDLX7d7XbL7XZ/ixMBAAArJr9npLKyUklJSRanBgAAHYzjKyMXL17U6dOnmx5/9NFHqqysVJ8+fTRw4EAVFBTo008/1R//+EdJ0urVqzVkyBCNHj1aX375pV588UXt3btXf/3rX9vvVQAAgE7LcYxUVFTo7rvvbnqcn58vSZo3b542b96s2tpaVVdXN3390qVL+uUvf6lPP/1UN998s8aNG6e//e1vzZ4DAABEr+u6gfXbcq03wLQFN7ACAKKd9Q2sfDYNAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADDlOEb279+vGTNmqF+/fnK5XNqxY8dVjykrK9OECRPkdrs1dOhQbd68uQ2jAgCArshxjNTX1ys5OVnr1q27pvUfffSRsrKydPfdd6uyslJLlizRwoULtWfPHsfDAgCArucmpwdMnz5d06dPv+b1GzZs0JAhQ7Ry5UpJ0siRI3XgwAGtWrVKmZmZTk8PAAC6mBt+z0h5ebkyMjKa7cvMzFR5eXmLx4TDYYVCoWYbAADomm54jAQCASUkJDTbl5CQoFAopP/85z9XPMbv98vj8TRtXq/3Ro8JAACMdMifpikoKFAwGGzaampqrEcCAAA3iON7RpxKTExUXV1ds311dXWKi4tTr169rniM2+2W2+2+0aMBAIAO4IZfGfH5fCotLW22r6SkRD6f70afGgAAdAKOY+TixYuqrKxUZWWlpK9/dLeyslLV1dWSvv4nlpycnKb1DzzwgD788EP96le/0vvvv6/nn39er776qh5++OH2eQUAAKBTcxwjFRUVGj9+vMaPHy9Jys/P1/jx4/X4449Lkmpra5vCRJKGDBmiN998UyUlJUpOTtbKlSv14osv8mO9AABAkuSKRCIR6yGuJhQKyePxKBgMKi4url2fe/DSN9v1+QAA6Gw+XpF1Q573Wr9/d8ifpgEAANGDGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYKpNMbJu3ToNHjxYMTExmjJlig4fPtzi2s2bN8vlcjXbYmJi2jwwAADoWhzHyNatW5Wfn69ly5bp2LFjSk5OVmZmps6ePdviMXFxcaqtrW3azpw5c11DAwCArsNxjDz77LNatGiR5s+fr1GjRmnDhg26+eabtWnTphaPcblcSkxMbNoSEhKua2gAANB1OIqRS5cu6ejRo8rIyPjmCbp1U0ZGhsrLy1s87uLFixo0aJC8Xq9mzpypkydPtnqecDisUCjUbAMAAF2Toxj5/PPP1dDQcNmVjYSEBAUCgSseM3z4cG3atEk7d+7Uli1b1NjYqLS0NH3yySctnsfv98vj8TRtXq/XyZgAAKATueE/TePz+ZSTk6OUlBSlp6frjTfe0B133KGNGze2eExBQYGCwWDTVlNTc6PHBAAARm5ysvj2229X9+7dVVdX12x/XV2dEhMTr+k5evToofHjx+v06dMtrnG73XK73U5GAwAAnZSjKyM9e/ZUamqqSktLm/Y1NjaqtLRUPp/vmp6joaFBJ06cUFJSkrNJAQBAl+Toyogk5efna968eZo4caImT56s1atXq76+XvPnz5ck5eTkqH///vL7/ZKkJ554QlOnTtXQoUP1xRdf6JlnntGZM2e0cOHC9n0lAACgU3IcI7Nnz9a5c+f0+OOPKxAIKCUlRW+//XbTTa3V1dXq1u2bCy7nz5/XokWLFAgE1Lt3b6WmpurgwYMaNWpU+70KAADQabkikUjEeoirCYVC8ng8CgaDiouLa9fnHrz0zXZ9PgAAOpuPV2TdkOe91u/ffDYNAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADDVphhZt26dBg8erJiYGE2ZMkWHDx9udf22bds0YsQIxcTEaOzYsdq9e3ebhgUAAF2P4xjZunWr8vPztWzZMh07dkzJycnKzMzU2bNnr7j+4MGDmjNnjhYsWKDjx48rOztb2dnZqqqquu7hAQBA5+eKRCIRJwdMmTJFkyZN0tq1ayVJjY2N8nq9euihh7R06dLL1s+ePVv19fXatWtX076pU6cqJSVFGzZsuKZzhkIheTweBYNBxcXFORn3qgYvfbNdnw8AgM7m4xVZN+R5r/X7901OnvTSpUs6evSoCgoKmvZ169ZNGRkZKi8vv+Ix5eXlys/Pb7YvMzNTO3bsaPE84XBY4XC46XEwGJT09Ytqb43hf7f7cwIA0JnciO+v/+/zXu26h6MY+fzzz9XQ0KCEhIRm+xMSEvT+++9f8ZhAIHDF9YFAoMXz+P1+LV++/LL9Xq/XybgAAOAaeFbf2Oe/cOGCPB5Pi193FCPfloKCgmZXUxobG/Wvf/1Lffv2lcvlarfzhEIheb1e1dTUtPs//8A53o+Oh/ekY+H96Fh4P64uEonowoUL6tevX6vrHMXI7bffru7du6uurq7Z/rq6OiUmJl7xmMTEREfrJcntdsvtdjfbd9tttzkZ1ZG4uDj+InUgvB8dD+9Jx8L70bHwfrSutSsi/+Pop2l69uyp1NRUlZaWNu1rbGxUaWmpfD7fFY/x+XzN1ktSSUlJi+sBAEB0cfzPNPn5+Zo3b54mTpyoyZMna/Xq1aqvr9f8+fMlSTk5Oerfv7/8fr8kKS8vT+np6Vq5cqWysrJUXFysiooKFRYWtu8rAQAAnZLjGJk9e7bOnTunxx9/XIFAQCkpKXr77bebblKtrq5Wt27fXHBJS0tTUVGRHnvsMT366KMaNmyYduzYoTFjxrTfq2gjt9utZcuWXfZPQrDB+9Hx8J50LLwfHQvvR/tx/HtGAAAA2hOfTQMAAEwRIwAAwBQxAgAATBEjAADAVFTHyLp16zR48GDFxMRoypQpOnz4sPVIUcnv92vSpEmKjY1VfHy8srOzderUKeux8F8rVqyQy+XSkiVLrEeJWp9++ql++tOfqm/fvurVq5fGjh2riooK67GiVkNDg37zm99oyJAh6tWrl7773e/qySefvOrnr6BlURsjW7duVX5+vpYtW6Zjx44pOTlZmZmZOnv2rPVoUWffvn3Kzc3VoUOHVFJSoq+++kr33Xef6uvrrUeLekeOHNHGjRs1btw461Gi1vnz5zVt2jT16NFDb731lt577z2tXLlSvXv3th4tav3ud7/T+vXrtXbtWv3zn//U7373O/3+97/Xc889Zz1apxW1P9o7ZcoUTZo0SWvXrpX09W+S9Xq9euihh7R06VLj6aLbuXPnFB8fr3379unOO++0HidqXbx4URMmTNDzzz+v3/72t0pJSdHq1autx4o6S5cu1TvvvKO///3v1qPgv374wx8qISFBL730UtO+H/3oR+rVq5e2bNliOFnnFZVXRi5duqSjR48qIyOjaV+3bt2UkZGh8vJyw8kgScFgUJLUp08f40miW25urrKyspr9d4Jv35///GdNnDhRs2bNUnx8vMaPH68XXnjBeqyolpaWptLSUn3wwQeSpH/84x86cOCApk+fbjxZ59UhP7X3Rvv888/V0NDQ9Ftj/ychIUHvv/++0VSQvr5CtWTJEk2bNq1D/JbeaFVcXKxjx47pyJEj1qNEvQ8//FDr169Xfn6+Hn30UR05ckS/+MUv1LNnT82bN896vKi0dOlShUIhjRgxQt27d1dDQ4OeeuopzZ0713q0TisqYwQdV25urqqqqnTgwAHrUaJWTU2N8vLyVFJSopiYGOtxol5jY6MmTpyop59+WpI0fvx4VVVVacOGDcSIkVdffVWvvPKKioqKNHr0aFVWVmrJkiXq168f70kbRWWM3H777erevbvq6uqa7a+rq1NiYqLRVFi8eLF27dql/fv3a8CAAdbjRK2jR4/q7NmzmjBhQtO+hoYG7d+/X2vXrlU4HFb37t0NJ4wuSUlJGjVqVLN9I0eO1Ouvv240ER555BEtXbpUP/nJTyRJY8eO1ZkzZ+T3+4mRNorKe0Z69uyp1NRUlZaWNu1rbGxUaWmpfD6f4WTRKRKJaPHixdq+fbv27t2rIUOGWI8U1e655x6dOHFClZWVTdvEiRM1d+5cVVZWEiLfsmnTpl32o+4ffPCBBg0aZDQR/v3vfzf7QFhJ6t69uxobG40m6vyi8sqIJOXn52vevHmaOHGiJk+erNWrV6u+vl7z58+3Hi3q5ObmqqioSDt37lRsbKwCgYAkyePxqFevXsbTRZ/Y2NjL7te55ZZb1LdvX+7jMfDwww8rLS1NTz/9tH784x/r8OHDKiwsVGFhofVoUWvGjBl66qmnNHDgQI0ePVrHjx/Xs88+q5///OfWo3VekSj23HPPRQYOHBjp2bNnZPLkyZFDhw5ZjxSVJF1xe/nll61Hw3+lp6dH8vLyrMeIWn/5y18iY8aMibjd7siIESMihYWF1iNFtVAoFMnLy4sMHDgwEhMTE/nOd74T+fWvfx0Jh8PWo3VaUft7RgAAQMcQlfeMAACAjoMYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKb+D7cuxelORYM+AAAAAElFTkSuQmCC",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.hist(sample)\n",
"plt.show()"
@@ -82,26 +61,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Analizando Datos Reales\n",
+ "## Análisis de Datos Reales\n",
"\n",
- "La media y la varianza son muy importantes al analizar datos del mundo real. Vamos a cargar los datos sobre jugadores de béisbol desde [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
+ "La media y la varianza son muy importantes al analizar datos del mundo real. Carguemos los datos sobre jugadores de béisbol de [SOCR MLB Height/Weight Data](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)\n"
]
},
{
"cell_type": "code",
- "execution_count": 120,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Empty DataFrame\n",
- "Columns: [Name, Team, Role, Weight, Height, Age]\n",
- "Index: []\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df = pd.read_csv(\"../../data/SOCR_MLB.tsv\",sep='\\t', header=None, names=['Name','Team','Role','Weight','Height','Age'])\n",
"df\n"
@@ -111,30 +80,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Estamos utilizando un paquete llamado [**Pandas**](https://pandas.pydata.org/) aquí para el 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 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",
"\n",
- "Calculemos los valores promedio para edad, altura y peso:\n"
+ "Vamos a calcular los valores promedio para edad, altura y peso:\n"
]
},
{
"cell_type": "code",
- "execution_count": 121,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Age 28.736712\n",
- "Height 201.726306\n",
- "Weight 73.697292\n",
- "dtype: float64"
- ]
- },
- "execution_count": 121,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df[['Age','Height','Weight']].mean()"
]
@@ -148,36 +103,18 @@
},
{
"cell_type": "code",
- "execution_count": 122,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[180, 215, 210, 210, 188, 176, 209, 200, 231, 180, 188, 180, 185, 160, 180, 185, 197, 189, 185, 219]\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(list(df['Height'])[:20])"
]
},
{
"cell_type": "code",
- "execution_count": 123,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Mean = 201.72630560928434\n",
- "Variance = 441.6355706557866\n",
- "Standard Deviation = 21.01512718628623\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"mean = df['Height'].mean()\n",
"var = df['Height'].var()\n",
@@ -189,28 +126,17 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Además de la media, tiene sentido observar el valor mediano y los cuartiles. Se pueden visualizar utilizando un **diagrama de caja**:\n"
+ "Además de la media, tiene sentido observar el valor mediano y los cuartiles. Se pueden visualizar usando un **diagrama de caja**:\n"
]
},
{
"cell_type": "code",
- "execution_count": 124,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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AAAAyBCj5siK53navXs3Yy0G0NoWettBa1vobQetbaF3sLDxRppEIqEXX3xRiUTC76Ugx2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSO3bsUDKZ9HspyDFa20JvO2htC73toLUt9A4WNt5Ik0wmtX79ek5yA2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSW7Zs4btrBtDaFnrbQWtb6G0HrW2hd7Cw8UaaZDKp119/nZPcAFrbQm87aG0Lve2gtS30DhZGzQEAAAAAyBCj5shKIpFQbW0tvzPQAFrbQm87aG0Lve2gtS30DhY23kjjnNO+ffuU52EI+IDWttDbDlrbQm87aG0LvYOFUXMAAAAAADLEqDmykkgktGrVKsZaDKC1LfS2g9a20NsOWttC72Bh4400zjk1NDQw1mIArW2htx20toXedtDaFnoHC6PmAAAAAABkiFFzZCWRSOiFF15grMUAWttCbztobQu97aC1LfQOFjbeAAAAAADkEKPmAAAAAABkKJO9bWme1pTSvM9vaGjI912jneLxuJYvX65PfOITKisr83s5yCFa20JvO2htC73toLUt9C58zXva9lzLzvvGu7GxUZLUp0+ffN81AAAAAAAdqrGxUV27dj3rbfI+au55ng4cOKDKykqFQqF83jXaqaGhQX369NE777zDjwMEHK1tobcdtLaF3nbQ2hZ6Fz7nnBobG9WzZ0+VlJz96dPyfsW7pKREvXv3zvfd4n2oqqriJDeC1rbQ2w5a20JvO2htC70LW1tXupvxrOYAAAAAAOQQG28AAAAAAHKIjTfSlJeXa9q0aSovL/d7KcgxWttCbztobQu97aC1LfQOlrw/uRoAAAAAAJZwxRsAAAAAgBxi4w0AAAAAQA6x8QYAAAAAIIfYeAMAAAAAkENsvI1Ys2aNxo4dq549eyoUCmnp0qVpt9m5c6duvvlmde3aVZ07d9bgwYO1d+/e1PtPnTqlKVOm6Pzzz1eXLl10yy236PDhw3k8CrRHW62bmpo0depU9e7dW+ecc44GDBigRx99tMVtaF08ZsyYocGDB6uyslLdu3fX+PHj9eabb7a4TXt67t27VzfddJMqKirUvXt3ffvb31YikcjnoaANbbU+duyYvvrVr6pfv34655xzdOGFF+prX/ua6uvrW3weWheH9pzbzZxz+tSnPtXqYz69C197W9fW1ur6669X586dVVVVpREjRujkyZOp9x87dkx33HGHqqqqdO655+qee+5RU1NTPg8F7dCe3ocOHdKdd96pHj16qHPnzho0aJD+9Kc/tbgNvYsPG28jjh8/riuuuEJz585t9f1vvfWWrrvuOvXv31+rVq3SP/7xD/3gBz9Qp06dUre5//779ec//1mLFi3S6tWrdeDAAU2YMCFfh4B2aqv1N77xDS1btkxPP/20du7cqa9//euaOnWqampqUrehdfFYvXq1pkyZovXr12v58uWKx+Oqrq7W8ePHU7dpq2cymdRNN92kWCymV199VU888YTmz5+vH/7wh34cEs6grdYHDhzQgQMH9NBDD2n79u2aP3++li1bpnvuuSf1OWhdPNpzbjf7+c9/rlAolPZ2eheH9rSura3VmDFjVF1drY0bN2rTpk2aOnWqSkr+90v5O+64Qzt27NDy5cv13HPPac2aNfrSl77kxyHhLNrT+6677tKbb76pmpoavfbaa5owYYJuvfVWbd26NXUbehchB3MkuSVLlrR428SJE92kSZPO+DHvvvuuKysrc4sWLUq9befOnU6Sq62tzdVSkaXWWl922WXuRz/6UYu3DRo0yH3ve99zztG62B05csRJcqtXr3bOta/nX/7yF1dSUuIOHTqUus2vfvUrV1VV5aLRaH4PAO12euvWLFy40EUiERePx51ztC5mZ+q9detW16tXL3fw4MG0x3x6F6fWWg8ZMsR9//vfP+PHvP76606S27RpU+ptf/3rX10oFHL79+/P6XqRndZ6d+7c2T355JMtbnfeeee5xx57zDlH72LFFW/I8zw9//zzuuSSS/TJT35S3bt315AhQ1qMq23evFnxeFw33nhj6m39+/fXhRdeqNraWh9Wjfdr2LBhqqmp0f79++Wc08qVK7Vr1y5VV1dLonWxax4rPu+88yS1r2dtba0GDhyoCy64IHWbT37yk2poaNCOHTvyuHpk4vTWZ7pNVVWVSktLJdG6mLXW+8SJE7r99ts1d+5c9ejRI+1j6F2cTm995MgRbdiwQd27d9ewYcN0wQUXaOTIkVq3bl3qY2pra3Xuuefq6quvTr3txhtvVElJiTZs2JDfA0BGWju3hw0bpj/+8Y86duyYPM/TH/7wB506dUqjRo2SRO9ixcYbOnLkiJqamjRz5kyNGTNGL774oj796U9rwoQJWr16taT3ftYkEono3HPPbfGxF1xwgQ4dOuTDqvF+zZkzRwMGDFDv3r0ViUQ0ZswYzZ07VyNGjJBE62LmeZ6+/vWv6+Mf/7guv/xySe3reejQoRZfmDe/v/l9KDyttT7d0aNH9eMf/7jF6CGti9OZet9///0aNmyYxo0b1+rH0bv4tNb67bffliRNnz5dkydP1rJlyzRo0CDdcMMNqqurk/Rez+7du7f4XKWlpTrvvPNoXcDOdG4vXLhQ8Xhc559/vsrLy3XvvfdqyZIl6tu3ryR6F6tSvxcA/3meJ0kaN26c7r//fknSxz72Mb366qt69NFHNXLkSD+Xhw42Z84crV+/XjU1Nbrooou0Zs0aTZkyRT179mxxVRTFZ8qUKdq+fXuLqyAIprZaNzQ06KabbtKAAQM0ffr0/C4OHa613jU1NVqxYkWLn/lE8WutdfPXaffee68+//nPS5KuvPJKvfzyy/rtb3+rGTNm+LJWZO9Mj+U/+MEP9O677+qll15St27dtHTpUt16661au3atBg4c6NNqkS2ueEPdunVTaWmpBgwY0OLtl156aepZzXv06KFYLKZ33323xW0OHz7c6ngbCtPJkyf13e9+Vw8//LDGjh2rj370o5o6daomTpyohx56SBKti9XUqVP13HPPaeXKlerdu3fq7e3p2aNHj7RnOW/+b5oXnjO1btbY2KgxY8aosrJSS5YsUVlZWep9tC4+Z+q9YsUKvfXWWzr33HNVWlqa+nGCW265JTWOSu/icqbWH/rQhySpza/Tjhw50uL9iURCx44do3WBOlPvt956S7/85S/129/+VjfccIOuuOIKTZs2TVdffXXqiXPpXZzYeEORSESDBw9O+1UGu3bt0kUXXSRJuuqqq1RWVqaXX3459f4333xTe/fu1dChQ/O6Xrx/8Xhc8Xi8xbOgSlI4HE59R53WxcU5p6lTp2rJkiVasWKFPvKRj7R4f3t6Dh06VK+99lqLf8SXL1+uqqqqtC/04J+2WkvvXemurq5WJBJRTU1Ni99MIdG6mLTV+zvf+Y7+8Y9/aNu2bakXSZo9e7Yef/xxSfQuFm21/vCHP6yePXue9eu0oUOH6t1339XmzZtT71+xYoU8z9OQIUNyfxBot7Z6nzhxQpLO+rUavYuUn8/shvxpbGx0W7dudVu3bnWS3MMPP+y2bt3q/vWvfznnnFu8eLErKytzv/71r11dXZ2bM2eOC4fDbu3atanP8eUvf9ldeOGFbsWKFe5vf/ubGzp0qBs6dKhfh4QzaKv1yJEj3WWXXeZWrlzp3n77bff444+7Tp06uUceeST1OWhdPL7yla+4rl27ulWrVrmDBw+mXk6cOJG6TVs9E4mEu/zyy111dbXbtm2bW7ZsmfvgBz/oHnjgAT8OCWfQVuv6+no3ZMgQN3DgQLd79+4Wt0kkEs45WheT9pzbp9Npz2pO7+LQntazZ892VVVVbtGiRa6urs59//vfd506dXK7d+9O3WbMmDHuyiuvdBs2bHDr1q1zF198sbvtttv8OCScRVu9Y7GY69u3rxs+fLjbsGGD2717t3vooYdcKBRyzz//fOrz0Lv4sPE2YuXKlU5S2svdd9+dus28efNc3759XadOndwVV1zhli5d2uJznDx50t13333uAx/4gKuoqHCf/vSn3cGDB/N8JGhLW60PHjzoPve5z7mePXu6Tp06uX79+rlZs2Y5z/NSn4PWxaO11pLc448/nrpNe3ru2bPHfepTn3LnnHOO69atm/vmN7+Z+hVUKAxttT7TuS/J/fOf/0x9HloXh/ac2619zOm/QpLeha+9rWfMmOF69+7tKioq3NChQ1tcHHHOuX//+9/utttuc126dHFVVVXu85//vGtsbMzjkaA92tN7165dbsKECa579+6uoqLCffSjH0379WL0Lj4h55zr6KvoAAAAAADgPfyMNwAAAAAAOcTGGwAAAACAHGLjDQAAAABADrHxBgAAAAAgh9h4AwAAAACQQ2y8AQAAAADIITbeAAAAAADkEBtvAAAAAAByiI03AAAAAAA5xMYbAAAAAIAcYuMNAAAAAEAOsfEGAAAAACCH/j+8q7kCS2EPGAAAAABJRU5ErkJggg==",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
- "plt.boxplot(df['Height'], vert=False, showmeans=True)\n",
+ "plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@@ -220,25 +146,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "También podemos hacer diagramas de caja de subconjuntos de nuestro conjunto de datos, por ejemplo, agrupados por el rol del jugador.\n"
+ "También podemos hacer diagramas de caja de subconjuntos de nuestro conjunto de datos, por ejemplo, agrupados por rol del jugador.\n"
]
},
{
"cell_type": "code",
- "execution_count": 125,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAMVCAYAAABqdZdfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClTklEQVR4nOzdeViU9f7/8RebyOqOuINiooKZu7mglZpLSui3OqVZeerUQS3FSm3TFimPmi22nnKpY3k0QrM0MRUxJZPSNHdzKfclIRZxYOb3h4f5OYLmkDf3MDwf1+WFc2+f982Hued+zb152Gw2mwAAAAAAwDXnaXYBAAAAAAC4K0I3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAYhdAMAAAAAYBBCNwAAAAAABiF0AwAAAABgEEI3AAAAAAAGIXQDAAAAAGAQQjcAwC14eHho0qRJZpfh9tasWSMPDw+tWbPmitNNmjRJHh4eOnXqVNkUdg316NFDPXr0MLsMAICbIHQDAK5ozpw58vDwcPgXEhKinj17atmyZWaX95dt375dkyZN0oEDB8wuBaXQo0cPh79NPz8/tWrVSjNnzpTVajW7PAAA5G12AQCA8uH5559XeHi4bDabjh8/rjlz5qhfv3764osvNGDAALPLK7Xt27dr8uTJ6tGjh8LCwswuB6VQv359JSYmSpJOnTql+fPna8yYMTp58qReeuklk6sDAFR0hG4AwFXp27ev2rVrZ389YsQI1a5dW5988km5Dt1lqaCgQFarVZUqVTK7FLdSpUoVDR061P764YcfVmRkpN544w09//zz8vLyMrE6AEBFx+nlAIBSqVq1qvz8/OTt7fj9bU5OjhISEtSgQQP5+vqqWbNmmjZtmmw2myQpLy9PkZGRioyMVF5enn2+M2fOqE6dOrrxxhtVWFgoSbrvvvsUGBioX375RX369FFAQIDq1q2r559/3r68K/nxxx/Vt29fBQcHKzAwUDfffLPS09Pt4+fMmaP/+7//kyT17NnTforyn12vvHDhQrVo0UKVK1dWVFSUPv/8c913330OR8oPHDggDw8PTZs2TTNnzlSTJk3k6+ur7du3S5JWrVqlbt26KSAgQFWrVtWgQYO0Y8cOh3YuXWaRouulL+bh4aGRI0fqP//5j5o1a6bKlSurbdu2Wrt2bbH5Dx8+rAceeEC1a9eWr6+vWrZsqQ8//LDYdL/99ptiY2MVEBCgkJAQjRkzRvn5+Vf83Vzq1KlTuuOOOxQcHKwaNWro0Ucf1blz5+zjY2JidP3115c4b7NmzdSnTx+n2pOkypUrq3379vrjjz904sQJ+/CCggK98MIL9r4ICwvTxIkTr2qd8vPz9dxzzykiIkK+vr5q0KCBnnjiCad/HwCAiocj3QCAq5KZmalTp07JZrPpxIkTeuONN5Sdne1whNFms2ngwIFavXq1RowYodatW+vrr7/W448/rsOHD+vVV1+Vn5+f5s6dqy5duuipp57SjBkzJEnx8fHKzMzUnDlzHI5MFhYW6tZbb1WnTp00depULV++XM8995wKCgr0/PPPX7ben3/+Wd26dVNwcLCeeOIJ+fj46N1331WPHj2Umpqqjh07qnv37ho9erRef/11TZw4Uc2bN5ck+8+SfPnll7rzzjsVHR2txMRE/f777xoxYoTq1atX4vSzZ8/WuXPn9NBDD8nX11fVq1fXypUr1bdvXzVu3FiTJk1SXl6e3njjDXXp0kU//PBDqU9zT01N1YIFCzR69Gj5+vrqrbfe0q233qqNGzcqKipKknT8+HF16tTJHtJr1aqlZcuWacSIEcrKytJjjz0m6cKXIzfffLMOHTqk0aNHq27duvroo4+0atUqp2q64447FBYWpsTERKWnp+v111/X77//rnnz5kmShg0bpgcffFDbtm2z1yhJ33//vXbv3q2nn366VL+Loi89qlatah/297//XXPnztWQIUOUkJCg7777TomJidqxY4c+//zzyy7LarVq4MCBWrdunR566CE1b95cW7du1auvvqrdu3crOTm5VDUCACoIGwAAVzB79mybpGL/fH19bXPmzHGYNjk52SbJ9uKLLzoMHzJkiM3Dw8O2d+9e+7AJEybYPD09bWvXrrUtXLjQJsk2c+ZMh/mGDx9uk2QbNWqUfZjVarX179/fVqlSJdvJkyftwyXZnnvuOfvr2NhYW6VKlWz79u2zDzty5IgtKCjI1r17d/uworZXr159Vb+P6OhoW/369W1//PGHfdiaNWtskmyNGjWyD9u/f79Nki04ONh24sQJh2W0bt3aFhISYjt9+rR92JYtW2yenp62e++912H9L15mkeeee8526Ud4Ub9s2rTJPuzgwYO2ypUr226//Xb7sBEjRtjq1KljO3XqlMP8d911l61KlSq23Nxcm81ms82cOdMmyfbf//7XPk1OTo4tIiLiqn5fRTUOHDjQYfg///lPmyTbli1bbDabzXb27Flb5cqVbU8++aTDdKNHj7YFBATYsrOzr9hOTEyMLTIy0nby5EnbyZMnbTt37rQ9/vjjNkm2/v3726fbvHmzTZLt73//u8P848aNs0myrVq1ymGZMTEx9tcfffSRzdPT05aWluYw7zvvvGOTZPv222+vWCMAoGLj9HIAwFWZNWuWUlJSlJKSoo8//lg9e/bU3//+dyUlJdmn+eqrr+Tl5aXRo0c7zJuQkCCbzeZwt/NJkyapZcuWGj58uP75z38qJiam2HxFRo4caf9/0RHa8+fPa+XKlSVOX1hYqBUrVig2NlaNGze2D69Tp47uvvturVu3TllZWU7/Do4cOaKtW7fq3nvvVWBgoH14TEyMoqOjS5xn8ODBqlWrlv310aNHtXnzZt13332qXr26fXirVq3Uq1cvffXVV07XVaRz585q27at/XXDhg01aNAgff311yosLJTNZtNnn32m2267TTabTadOnbL/69OnjzIzM/XDDz9IutCXderU0ZAhQ+zL8/f310MPPeRUTfHx8Q6vR40aZV++dOF67EGDBumTTz6xXzJQWFioBQsW2E9t/zM7d+5UrVq1VKtWLUVGRupf//qXBg4cqDlz5tinKWpv7NixDvMmJCRIunAGw+UsXLhQzZs3V2RkpMPv7KabbpIkrV69+k9rBABUXJxeDgC4Kh06dHC4kdrf/vY33XDDDRo5cqQGDBigSpUq6eDBg6pbt66CgoIc5i06XfvgwYP2YZUqVdKHH36o9u3bq3Llypo9e3ax65QlydPT0yE4S9J1110nSZd9zNfJkyeVm5urZs2aFRvXvHlzWa1W/frrr2rZsuXVrfz/FNUfERFRbFxERIQ9sF4sPDy8xGVcrravv/5aOTk5VxU2L9W0adNiw6677jrl5ubq5MmT8vT01NmzZ/Xee+/pvffeK3EZRddAHzx4UBEREcX6pKS6nampSZMm8vT0dOi7e++9VwsWLFBaWpq6d++ulStX6vjx4xo2bNhVtREWFqb3339fVqtV+/bt00svvaSTJ0+qcuXK9mkOHjwoT0/PYn0XGhqqqlWrOvxtXmrPnj3asWOHw5cnF7v4unEAAC5F6AYAlIqnp6d69uyp1157TXv27HE6wErS119/LUk6d+6c9uzZUyygugM/P79Sz1vSlxCS7Deac1bRc6uHDh2q4cOHlzhNq1atSrXsq1XSOvXp00e1a9fWxx9/rO7du+vjjz9WaGiobrnllqtaZkBAgMO0Xbp0UZs2bTRx4kS9/vrrf9r+n7FarYqOjrbff+BSDRo0cHqZAICKg9ANACi1goICSVJ2drYkqVGjRlq5cqX++OMPh6PdO3futI8v8tNPP+n555/X/fffr82bN+vvf/+7tm7dqipVqji0YbVa9csvv9iPbkvS7t27JemyNxyrVauW/P39tWvXrmLjdu7cKU9PT3tQciaEFdW/d+/eYuNKGnalZVyutpo1a9qPclerVk1nz54tNt3ljsru2bOn2LDdu3fL39/ffpQ2KChIhYWFfxpoGzVqpG3btslmszn8jkqq+0ou/TJl7969slqtDn3n5eWlu+++W3PmzNErr7yi5ORkPfjgg6V+1FerVq00dOhQvfvuuxo3bpwaNmyoRo0ayWq1as+ePQ43yjt+/LjOnj3r8Ld5qSZNmmjLli26+eabSxXaAQAVG9d0AwBKxWKxaMWKFapUqZI9xPTr10+FhYV68803HaZ99dVX5eHhob59+9rnve+++1S3bl299tprmjNnjo4fP64xY8aU2NbFy7PZbHrzzTfl4+Ojm2++ucTpvby81Lt3by1evNjhNObjx49r/vz56tq1q4KDgyXJHnBLCreXqlu3rqKiojRv3jz7Fw3ShbuGb9269U/nly5cV966dWvNnTvXoc1t27ZpxYoV6tevn31YkyZNlJmZqZ9++sk+7OjRo5e90/aGDRscTnH/9ddftXjxYvXu3VteXl7y8vLS4MGD9dlnn2nbtm3F5j958qT9//369dORI0e0aNEi+7Dc3NzLnpZ+ObNmzXJ4/cYbb0iS/W+hyLBhw/T777/rH//4R7G74pfGE088IYvFYj86XfR7nTlzpsN0ReP79+9/2WXdcccdOnz4sN5///1i4/Ly8pSTk/OXagUAuDeOdAMArsqyZcvsR6xPnDih+fPna8+ePRo/frw9wN52223q2bOnnnrqKR04cEDXX3+9VqxYocWLF+uxxx5TkyZNJEkvvviiNm/erG+++UZBQUFq1aqVnn32WT399NMaMmSIQ/CsXLmyli9fruHDh6tjx45atmyZvvzyS02cOPGy19gWtZGSkqKuXbvqn//8p7y9vfXuu+8qPz9fU6dOtU/XunVreXl56ZVXXlFmZqZ8fX110003KSQkpMTlTpkyRYMGDVKXLl10//336/fff9ebb76pqKgohyB+Jf/617/Ut29fde7cWSNGjLA/MqxKlSqaNGmSfbq77rpLTz75pG6//XaNHj1aubm5evvtt3XdddeVeP14VFSU+vTp4/DIMEmaPHmyfZqXX35Zq1evVseOHfXggw+qRYsWOnPmjH744QetXLlSZ86ckSQ9+OCDevPNN3XvvfcqIyNDderU0UcffSR/f/+rWsci+/fv18CBA3Xrrbdqw4YN+vjjj3X33XcXezb3DTfcoKioKPtNy9q0aeNUO5dq0aKF+vXrp3//+9965plndP3112v48OF67733dPbsWcXExGjjxo2aO3euYmNj1bNnz8sua9iwYfrvf/+rhx9+WKtXr1aXLl1UWFionTt36r///a++/vprh/sdAADgwMxbpwMAXF9JjwyrXLmyrXXr1ra3337bZrVaHab/448/bGPGjLHVrVvX5uPjY2vatKntX//6l326jIwMm7e3t8NjwGw2m62goMDWvn17W926dW2///67zWa78MisgIAA2759+2y9e/e2+fv722rXrm177rnnbIWFhQ7z65JHhtlsNtsPP/xg69Onjy0wMNDm7+9v69mzp239+vXF1vH999+3NW7c2Obl5XVVj8P69NNPbZGRkTZfX19bVFSUbcmSJbbBgwfbIiMj7dMUPTLsX//6V4nLWLlypa1Lly42Pz8/W3BwsO22226zbd++vdh0K1assEVFRdkqVapka9asme3jjz++7CPD4uPjbR9//LGtadOmNl9fX9sNN9xQ4rocP37cFh8fb2vQoIHNx8fHFhoaarv55ptt7733nsN0Bw8etA0cONDm7+9vq1mzpu3RRx+1LV++3KlHhm3fvt02ZMgQW1BQkK1atWq2kSNH2vLy8kqcZ+rUqTZJtilTplxx2ReLiYmxtWzZssRxRY9yK/q7sFgstsmTJ9vCw8NtPj4+tgYNGtgmTJhgO3fuXLFlXvzIMJvNZjt//rztlVdesbVs2dLm6+trq1atmq1t27a2yZMn2zIzM6+6XgBAxeNhs/3v+RwAALiY++67T4sWLbrqI8hmat26tWrVqqWUlBRT2vfw8FB8fHyxU/vL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qFEjzZ8/X126dNH+/fvVsmVL5ebmml1imeBIt4m6deumlJQUs8tACerXr68tW7ZowYIF9o33iBEjdM8998jPz8/s8iq8//znP3r//ffVv39/TZo0SX/729/UpEkTtWrVSunp6YRuk7Ftc21F27dPP/1UP/30E9s3F1KtWjX98ccfkqR69epp27Ztio6O1tmzZyvMjqmr8vX1tffNxbKzs4vdHwHmqFKlip566imzy8AlmjVrpl27diksLEzXX3+93n33XYWFhemdd96pUF+IcKTbZOfPn9eJEydktVodhjds2NCkiiBJa9eu1Y033mh/FmeRgoICrV+/Xt27dzepMkgXjjjs2LFDDRs2VJ06dfTll1+qTZs2+uWXX3TDDTcoMzPT7BIBwGl333232rVrp7Fjx+qFF17QG2+8oUGDBiklJUVt2rThRmomuvfee/XDDz/ogw8+UIcOHSRJ3333nR588EG1bdtWc+bMMbdA6OzZs9q4cWOJ+9X33nuvSVXh448/VkFBge677z5lZGTo1ltv1ZkzZ1SpUiXNmTNHd955p9kllglCt0n27NmjBx54QOvXr3cYbrPZ5OHhUWHu5OeqvLy8dPTo0WKnWZ4+fVohISH0j8maNWumefPmqWPHjuratasGDBig8ePHa8GCBRo1apROnDhhdokVSrVq1eTh4XFV03K9vWvYs2ePVq9eXeLO6bPPPmtSVThz5ozOnTununXr2m8CtX79ejVt2lRPP/20qlWrZnaJFdbZs2c1fPhwffHFF/Lx8ZF04Yv4gQMHavbs2apataq5BVZwX3zxhe655x5lZ2crODjY4TPJw8ODzx4Xkpubq507d6phw4aqWbOm2eWUGUK3Sbp06SJvb2+NHz9ederUKbbDev3115tUGSTJ09NTx48fV61atRyG7969W+3atVNWVpZJlUGSxo8fr+DgYE2cOFELFizQ0KFDFRYWpkOHDmnMmDF6+eWXzS6xQpk7d679/6dPn9aLL76oPn36qHPnzpKkDRs26Ouvv9YzzzyjMWPGmFUm/uf999/XI488opo1ayo0NLTYzukPP/xgYnWAa9u7d6/9kWHNmzcv8RGJKHvXXXed+vXrpylTppT46DDAbIRukwQEBCgjI0ORkZFml4KLxMXFSZIWL16sW2+91eHZjoWFhfrpp5/UrFkzLV++3KwSUYINGzZo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qMOzh+EaPvvsMw0bNkz33HOPPvroI23fvl2NGzfWm2++qa+++kpfffWV2SVWeF988YXi4uJ09913O+ycfvLJJ1q4cOEVv3SEsa70aDce52auLVu2aOjQoTp06JDGjh2r5557TpI0atQonT59WvPnzze5Qrz99tt66aWXdOTIEUkX7pEwadIk3XvvvSZXVrHNnTv3iuMrys2jCd0m27NnjzZv3iw/Pz9FR0fbrykGcHm33367Vq1apRo1aqhly5bFvjVNSkoyqTLccMMNGjNmjO69914FBQVpy5Ytaty4sX788Uf17dtXx44dM7tESPryyy81ZcoU++dPq1at9Nxzz3GpAOCkc+fOydvbm0eJuZCTJ0/Kz89PgYGBZpcC2LGFMMnzzz+vcePGqWnTpmratKl9eF5env71r38VO+0PZeNqj5xyip+5qlatqri4OLPLQAl27dplv2TmYlWqVNHZs2fLviCUqH///urfv7/ZZeAyzp8/r/3796tJkyaEORfRuHFjff/998Xuu3Pu3Dm1adOGsxBMdtNNNykpKUlVq1Z1ePJMVlaWYmNjtWrVKhOrw759+zR79mzt27dPr732mkJCQrRs2TI1bNhQLVu2NLu8MsGRbpN4eXnp6NGjCgkJcRh++vRphYSEcM2wSS49te/XX39VnTp1HHZ6OMUPuLzGjRvrvffe0y233OJwpHvevHl6+eWXtX37drNLrPAuFx7Onj1LeDBZbm6uRo0aZT8dc/fu3WrcuLFGjRqlevXqafz48SZXWHF5enra7/tysePHj6tBgwY6f/68SZVBunz/nDhxQvXq1ZPFYjGpMqSmpqpv377q0qWL1q5dqx07dqhx48Z6+eWXtWnTJi1atMjsEssEX5+apOiZtZfasmWLqlevbkJFkC7cEOViQUFBSk1N5c6XLqigoEBr1qzRvn37dPfddysoKEhHjhxRcHAwp5SZ6MEHH9Sjjz6qDz/8UB4eHjpy5Ig2bNigcePG6ZlnnjG7PEg6cOBAiV/s5ufn6/DhwyZUhCITJkzQli1btGbNGt1666324bfccosmTZpE6DbBxU8z+frrrx0eS1VYWKhvvvnmitfiw1g//fST/f/bt293uISpsLBQy5cvV7169cwoDf8zfvx4vfjiixo7dqyCgoLsw2+66Sa9+eabJlZWtgjdZaxatWry8PCQh4eHrrvu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iIj+ds+ePYOhoSE0NTXlxnNzc2FoaChXiBMRUc3BPd1EVZSVlUFL683/LDQ1NfHq1SslJiIiInVhYmKicNzc3FzJSYiI6O/EopuoCqlUCn9/f+jq6iq8zhluIiIiIiL6I1h0E1Xh5+f3u+9h53IiIiIiInpX3NNNRERERERE9J6wezkRERERERHRe8Kim4iIiIiIiOg9YdFNRERERERE9J6w6CYiIiIiIiJ6T1h0ExEREX766SdIJBLk5eWJjkJERFSrsOgmIiKqBfz9/SGRSCCRSKCtrQ17e3vMmjULRUVFoqMRERGpNZ7TTUREVEv07dsX27ZtQ2lpKS5fvgw/Pz9IJBKsXLlSdDQiIiK1xZluIiKiWkJXVxfW1taws7ODr68vPD09cerUKQBAcXExvvjiC1haWkJPTw9dunRBQkLCW/++uLg4dO3aFXXq1IGdnR2++OILFBQUKONHISIiqjVYdBMREdVC169fx7lz56CjowMAmDVrFvbv34/t27cjMTERjo6O6NOnD3JzcxV+/82bN9G3b18MGjQIycnJ+P777xEXF4fJkycr88cgIiKq8SRSqVQqOgQRERH9Nf7+/vj222+hp6eHV69eobi4GBoaGtizZw/69u0LMzMzREREYOjQoQCA0tJSNGrUCNOmTUNAQAB++ukndO/eHU+fPoWpqSnGjh0LTU1NhIWFyf4bcXFx8PDwQEFBAfT09ET9qERERDUK93QTERHVEt27d8eGDRtQUFCAtWvXQktLSzZTXVpais6dO8veq62tDXd3d/z6668K/66kpCQkJycjMjJSNiaVSlFeXo7MzEw4OTm995+HiIioNmDRTUREVEsYGBjA0dERALB161a0bt0aW7ZsQfv27f/w35Wfn4/x48fjiy++qHatQYMGfzkrERGRumDRTUREVAtpaGhg3rx5mD59OjIyMqCjo4NffvkFDRs2BFCxvDwhIQHTpk1T+P2urq5ISUmRFfFERET057CRGhERUS01ePBgaGpqYsOGDZg4cSICAgJw/PhxpKSkYNy4cSgsLMSYMWMUfu/s2bNx7tw5TJ48GVevXsWNGzdw6NAhNlIjIiL6gzjTTUREVEtpaWlh8uTJWLVqFTIzM1FeXo4RI0bgxYsXcHNzw4kTJ2BmZqbwe11cXBAbG4v58+eja9eukEqlaNy4MYYMGaLkn4KIiKhmY/dyIiIiIiIioveEy8uJiIiIiIiI3hMW3URERERERETvCYtuIiIiIiIioveERTcRERERERHRe8Kim4iIiIiIiOg9YdFNRERERERE9J6w6CYiIiIiIiJ6T1h0ExEREREREb0nLLqJiIiIiIiI3hMW3URERERERETvCYtuIiIiIiIioveERTcRERERERHRe/L/AJ/aJD9mHqDtAAAAAElFTkSuQmCC",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.boxplot(column='Height', by='Role', figsize=(10,8))\n",
"plt.xticks(rotation='vertical')\n",
@@ -250,27 +165,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "> **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 respaldar esta afirmación.\n",
+ "> **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",
"\n",
- "La edad, la altura y el peso son todas variables aleatorias continuas. ¿Qué crees que podría ser su distribución? Una buena manera de averiguarlo es trazando el histograma de los 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 averiguarlo es trazar el histograma de valores: \n"
]
},
{
"cell_type": "code",
- "execution_count": 126,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJQCAYAAAB4oLw3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRnUlEQVR4nO3de5yN9f7//+ea0xrDzDAYYzLMUM45xGaTMOQwbBJli4oOdEAan052qZHa7A462Er1LSmmNiW12SnH5FgqiUqIauccZjCMZdb790e/WbtlxhyY91xrzON+u82N9b7e61qvdb3WzKznXOu6LpcxxggAAAAAAFgR5HQBAAAAAABcyAjeAAAAAABYRPAGAAAAAMAigjcAAAAAABYRvAEAAAAAsIjgDQAAAACARQRvAAAAAAAsIngDAAAAAGARwRsAAAAAAIsI3gBQDgwbNkyJiYnnfN9KlSqVbEEFeP311+VyubRr1y7fWOfOndW5c+dSeXyXy6W0tDTf7bS0NLlcLh08eLBUHj8xMVHDhg0rlcc6V9u2bVP37t0VHR0tl8ul+fPnO12SdaX5GgQAXHgI3gDgkDlz5sjlcum9997Ls6x58+ZyuVxavnx5nmW1a9dW+/btS6PEYsnKylJaWppWrFjhdCmSpDVr1igtLU1HjhxxupQ8Arm2ohg6dKi++eYbPf7443rzzTfVunXrfOft2rVLLpdLLpdLjz32WL5zhgwZIpfLleePO507d1bTpk0LrCP3jyK5X0FBQapZs6b+8pe/aN26dUV6LomJiX7riI2N1RVXXJHv9yUAAOcqxOkCAKC86tChgyRp1apVuvrqq33jmZmZ2rx5s0JCQrR69WolJyf7lv3yyy/65ZdfNGjQoGI91iuvvCKv11syhZ9FVlaWJkyYIEklvmfw448/LvZ91qxZowkTJmjYsGGqXLlyke934sQJhYTY/fVYUG1bt25VUFDg/l38xIkTWrt2rR588EGNGjWqSPcJDw/XW2+9pYceeshv/Pjx43r//fcVHh5+XjW9+OKLqlSpkrxer3755Re98sor6tixoz777DO1aNGi0Pu3aNFC//d//ydJ2r17t1566SX1799fL774om6//fbzqg0AAIngDQCOiY+PV1JSklatWuU3vnbtWhljdO211+ZZlns7N7QXVWho6PkV67CwsDCr6/d6vTp16pTCw8PPOwSeL7fb7ejjF+bAgQOSVKw/ZvTq1Uvz5s3T119/rebNm/vG33//fZ06dUo9e/bUsmXLzrmma665RtWqVfPd7tevn5o2baq5c+cWKXhfdNFFuv766323b7zxRl188cV65plnykTw/uPrFwAQmAL3T+oAUA506NBBX331lU6cOOEbW716tZo0aaKUlBStW7fOb0/16tWr5XK5dPnll/vGZs2apVatWqlChQqKiYnRoEGD9Msvv/g9Tn7HeP/222+64YYbFBUVpcqVK2vo0KH6+uuv5XK59Prrr+ep9ddff1W/fv1UqVIlVa9eXffcc49ycnIk/f6R4urVq0uSJkyY4PvY7h+Plc7Pli1b1KVLF1WoUEG1atXSY489lu+e+fyOr506daqaNGmiiIgIValSRa1bt1Z6erqk3z+CfO+990qSkpKSfPXkHjfucrk0atQozZ49W02aNJHb7daiRYt8y/Kr++DBgxo4cKCioqJUtWpVjRkzRidPnvQtz/1YdX7b7o/rLKy2/I7x/vHHH3XttdcqJiZGERER+vOf/6yFCxf6zVmxYoVcLpfmzJmjxx9/XLVq1VJ4eLi6du2q7du356kpP1999ZVSUlIUFRWlSpUqqWvXrn4f2U5LS1OdOnUkSffee69cLleRzh3Qrl07JSUl+fqTa/bs2erZs6diYmKKVF9RxcXFSdI5f3IhLi5OjRo10s6dO88659SpU3r44YfVqlUrRUdHq2LFirriiiv8Dg8xxigxMVFXXXVVnvufPHlS0dHRuu2223xj2dnZeuSRR3TxxRfL7XYrISFB9913n7Kzs/3uW9Dr9+2331arVq0UGRmpqKgoXXrppXruuefOaTsAAEoOe7wBwEEdOnTQm2++qfXr1/uC5erVq9W+fXu1b99eGRkZ2rx5s5o1a+Zb1rBhQ1WtWlWS9Pjjj2v8+PEaOHCgbr31Vh04cEBTp05Vx44d9dVXX511r6TX61WfPn302Wef6Y477lDDhg31/vvva+jQofnOz8nJUY8ePdS2bVs99dRTWrJkiZ5++mnVq1dPd9xxh6pXr64XX3xRd9xxh66++mr1799fknx152fv3r1KTk7W6dOn9cADD6hixYp6+eWXVaFChUK32yuvvKK77rpL11xzjS8Ab9q0SevXr9fgwYPVv39//fDDD3rrrbf0zDPP+PaG5v5xQJKWLVumOXPmaNSoUapWrVqhAXLgwIFKTEzUpEmTtG7dOj3//PM6fPiw3njjjULr/aOi1PZH+/btU/v27ZWVlaW77rpLVatW1cyZM9W3b1+98847focpSNLkyZMVFBSke+65RxkZGXriiSc0ZMgQrV+/vsC6tmzZoiuuuEJRUVG67777FBoaqpdeekmdO3fWJ598orZt26p///6qXLmyUlNTdd1116lXr15FPvHeddddp1mzZmny5Mm+k9V9/PHHevPNN32h8VwdOnRI0u+v619//VUTJ05UeHi4Bg4ceE7r83g8+uWXX3zfZ/nJzMzU//t//0/XXXedhg8frqNHj+rVV19Vjx49fB9xd7lcuv766/XEE0/o0KFDfn9g+Pe//63MzEzfnnav16u+fftq1apVGjFihBo1aqRvvvlGzzzzjH744Yc8J7DL7/W7ePFiXXfdderatav+8Y9/SJK+++47rV69WmPGjDmnbQEAKCEGAOCYLVu2GElm4sSJxhhjPB6PqVixopk5c6YxxpgaNWqYadOmGWOMyczMNMHBwWb48OHGGGN27dplgoODzeOPP+63zm+++caEhIT4jQ8dOtTUqVPHd/vdd981ksyzzz7rG8vJyTFdunQxksyMGTP87ivJPProo36P07JlS9OqVSvf7QMHDhhJ5pFHHinSc7/77ruNJLN+/Xrf2P79+010dLSRZHbu3Okb79Spk+nUqZPv9lVXXWWaNGlS4PqffPLJPOvJJckEBQWZLVu25Lvsj8/hkUceMZJM3759/ebdeeedRpL5+uuvjTHG7Ny5M8+2O9s6C6qtTp06ZujQob7budvp008/9Y0dPXrUJCUlmcTERJOTk2OMMWb58uVGkmnUqJHJzs72zX3uueeMJPPNN9/keaw/6tevnwkLCzM7duzwje3evdtERkaajh07+sZyn+eTTz5Z4PrOnLt582a/5zFt2jRTqVIlc/z4cTN06FBTsWJFv/t26tSp0B7n9ubMr8qVK5tFixYVWp8xv2/v7t27mwMHDpgDBw6Yr7/+2gwaNMhIMqNHj/ar54+vwdOnT/ttZ2OMOXz4sKlRo4a5+eabfWNbt241ksyLL77oN7dv374mMTHReL1eY4wxb775pgkKCvLrszHGTJ8+3Ugyq1ev9o2d7fU7ZswYExUVZU6fPl2k5w4AKD181BwAHNSoUSNVrVrVd+z2119/rePHj/vOWt6+fXutXr1a0u/Hfufk5PiO7543b568Xq8GDhyogwcP+r7i4uJ0ySWX5HtG9FyLFi1SaGiohg8f7hsLCgrSyJEjz3qfM491veKKK/Tjjz+e2xOX9J///Ed//vOf1aZNG99Y9erVNWTIkELvW7lyZf33v//V559/fs6P36lTJzVu3LjI88/cNqNHj5b0+/Ow6T//+Y/atGnjd1x/pUqVNGLECO3atUvffvut3/ybbrrJ75j4K664QpIK7FVOTo4+/vhj9evXT3Xr1vWN16xZU4MHD9aqVauUmZl5Xs+jSZMmatasmd566y1JUnp6uq666ipFRESc13ol6d1339XixYv18ccfa8aMGapfv74GDBigNWvWFOn+H3/8sapXr67q1aurefPmmjt3rm644QbfXuP8BAcH+7az1+vVoUOHdPr0abVu3Vpffvmlb179+vXVtm1bzZ492zd26NAhffjhh74zukvS3Llz1ahRIzVs2NDv+7lLly6SlOf7Ob/Xb+XKlXX8+HEtXry4SM8bAFB6CN4A4CCXy6X27dv7juVevXq1YmNjdfHFF0vyD965/+YGsG3btskYo0suucQXGnK/vvvuO+3fv/+sj/vTTz+pZs2aeUJP7uOeKTw8PM9HoatUqaLDhw+f2xP//2u45JJL8ow3aNCg0Pvef//9qlSpktq0aaNLLrlEI0eO9G2fokpKSirW/DNrrVevnoKCgvyuN27DTz/9lO82adSokW/5H9WuXdvvdpUqVSSpwF4dOHBAWVlZZ32c3LOFn6/Bgwdr7ty52r59u9asWaPBgwef9zolqWPHjrryyivVrVs3DRs2TEuXLlVkZKTvjyOFadu2rRYvXqwlS5ZozZo1OnjwoN54441CD3uYOXOmmjVrpvDwcFWtWlXVq1fXwoULlZGR4Tfvxhtv1OrVq329mjt3rjwej2644QbfnG3btmnLli15vpfr168vSXm+n/N7/d55552qX7++UlJSVKtWLd18883n/TF+AEDJ4BhvAHBYhw4d9O9//1vffPON7/juXO3bt9e9996rX3/9VatWrVJ8fLxvj6TX65XL5dKHH36o4ODgPOst6rG3RZHf+p3UqFEjbd26VQsWLNCiRYv07rvv6oUXXtDDDz/su6RZYYpyLHlBcvdUnu12rtwT0JWWs/XKGFOqdeTnuuuu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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.hist(np.random.normal(0,1,50000), bins=300)\n",
@@ -364,25 +231,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Dado que la mayoría de los valores en la vida real están distribuidos normalmente, no deberíamos usar un generador de números aleatorios uniformes 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 sucede si intentamos generar pesos con una distribución uniforme (generada por `np.random.rand`):\n"
]
},
{
"cell_type": "code",
- "execution_count": 130,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAlM0lEQVR4nO3dfWxd9X348Y+dB8dA7OCU2FhJiDWhhhRKy8OCAXWstfKwCCUj2saUTcAiMq0ObcgEIx2EQWkDiNIUlpKBugAqWddIC49rpihUiSqcAKFMQFmgahgZwc66YJuExjH4/P5A3P1MQ2O6+/ENyeslXQmfc+7x5yK+urx17rmuKoqiCAAAAKDsqis9AAAAABytRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQJKRlR7gtzEwMBC7d++OsWPHRlVVVaXHAQAA4BhTFEW8/fbb0dzcHNXVH309+xMZ3bt3745JkyZVegwAAACOcbt27YqJEyd+5P5PZHSPHTs2It5/cXV1dRWeBgAAgGNNb29vTJo0qdSnH+UTGd0ffKS8rq5OdAMAAFAxh7vl2RepAQAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBlZ6QHg45py3ROVHuGo89qtcyo9AgAAHJVc6QYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSjKz0AABAZUy57olKj3DUee3WOZUeAYAjjCvdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAECSkZUeAAAA4JNsynVPVHqEo85rt86p9Ahl40o3AAAAJBHdAAAAkER0AwAAQBL3dAMAcMRyr2z5HU33ysIngSvdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAk+djRvWXLlrj44oujubk5qqqq4uGHHx60vyiKWL58eZx88slRW1sbbW1t8eqrrw46Zu/evbFgwYKoq6uLcePGxcKFC2Pfvn3/pxcCAAAAR5qPHd379++PM888M1atWnXI/bfffnvcddddsXr16ti2bVscf/zxMXPmzDhw4EDpmAULFsRLL70UGzdujMcffzy2bNkSixYt+u1fBQAAAByBRn7cJ8yePTtmz559yH1FUcTKlSvj+uuvj7lz50ZExIMPPhiNjY3x8MMPx6WXXhovv/xybNiwIZ555pk455xzIiLi7rvvjj/4gz+IO+64I5qbm/8PLwcAAACOHGW9p3vnzp3R2dkZbW1tpW319fUxffr06OjoiIiIjo6OGDduXCm4IyLa2tqiuro6tm3bVs5xAAAAoKI+9pXu36SzszMiIhobGwdtb2xsLO3r7OyMCRMmDB5i5MhoaGgoHfNhfX190dfXV/q5t7e3nGMDAABAirJGd5YVK1bETTfdVOkxAIZsynVPVHqEo85rt86p9AgARwXvUTC8yvrx8qampoiI6OrqGrS9q6urtK+pqSn27NkzaP+7774be/fuLR3zYcuWLYuenp7SY9euXeUcGwAAAFKUNbpbWlqiqakpNm3aVNrW29sb27Zti9bW1oiIaG1tje7u7ti+fXvpmCeffDIGBgZi+vTphzxvTU1N1NXVDXoAAADAke5jf7x837598fOf/7z0886dO+P555+PhoaGmDx5cixZsiRuueWWOPXUU6OlpSVuuOGGaG5ujnnz5kVExGmnnRazZs2KK6+8MlavXh39/f2xePHiuPTSS31zOQAAAEeVjx3dzz77bPz+7/9+6eelS5dGRMRll10W999/f1x77bWxf//+WLRoUXR3d8eFF14YGzZsiDFjxpSe89BDD8XixYvjS1/6UlRXV8f8+fPjrrvuKsPLOTK5bwYAAODY9LGj+6KLLoqiKD5yf1VVVdx8881x8803f+QxDQ0NsXbt2o/7qwEAAOATpaz3dAMAAAD/S3QDAABAEtENAAAAST72Pd3A0ceX/QEAQA5XugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkIys9AADA0WLKdU9UegQAjjCudAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQJKRlR4AAIZiynVPVHoEAICPzZVuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKUPbrfe++9uOGGG6KlpSVqa2vjd37nd+LrX/96FEVROqYoili+fHmcfPLJUVtbG21tbfHqq6+WexQAAACoqLJH92233Rb33HNP/P3f/328/PLLcdttt8Xtt98ed999d+mY22+/Pe66665YvXp1bNu2LY4//viYOXNmHDhwoNzjAAAAQMWU/U+GPfXUUzF37tyYM2dORERMmTIl/umf/imefvrpiHj/KvfKlSvj+uuvj7lz50ZExIMPPhiNjY3x8MMPx6WXXlrukQAAAKAiyn6l+/zzz49NmzbFK6+8EhER//7v/x4/+clPYvbs2RERsXPnzujs7Iy2trbSc+rr62P69OnR0dFxyHP29fVFb2/voAcAAAAc6cp+pfu6666L3t7emDp1aowYMSLee++9+MY3vhELFiyIiIjOzs6IiGhsbBz0vMbGxtK+D1uxYkXcdNNN5R4VAAAAUpX9SvcPf/jDeOihh2Lt2rXx3HPPxQMPPBB33HFHPPDAA7/1OZctWxY9PT2lx65du8o4MQAAAOQo+5Xua665Jq677rrSvdlnnHFG/Od//mesWLEiLrvssmhqaoqIiK6urjj55JNLz+vq6orPfe5zhzxnTU1N1NTUlHtUAAAASFX2K93vvPNOVFcPPu2IESNiYGAgIiJaWlqiqakpNm3aVNrf29sb27Zti9bW1nKPAwAAABVT9ivdF198cXzjG9+IyZMnx2c+85n46U9/GnfeeWf8xV/8RUREVFVVxZIlS+KWW26JU089NVpaWuKGG26I5ubmmDdvXrnHAQAAgIope3TffffdccMNN8SXv/zl2LNnTzQ3N8df/uVfxvLly0vHXHvttbF///5YtGhRdHd3x4UXXhgbNmyIMWPGlHscAAAAqJiqoiiKSg/xcfX29kZ9fX309PREXV1dpcc5rCnXPVHpEQAAAD4xXrt1TqVHOKyhdmnZ7+kGAAAA3ie6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSpET3G2+8EX/2Z38W48ePj9ra2jjjjDPi2WefLe0viiKWL18eJ598ctTW1kZbW1u8+uqrGaMAAABA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W7pPu76+Pmpra6O+vj4WLlwYS5cujYaGhqirq4urrroqWltbfXM5AAAAR5WyR/c999wTEREXXXTRoO1r1qyJyy+/PCIivv3tb0d1dXXMnz8/+vr6YubMmfHd73633KMAAABARZU9uouiOOwxY8aMiVWrVsWqVavK/esBAADgiJH+d7oBAADgWCW6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVCy6V61aFVOmTIkxY8bE9OnT4+mnn67UKAAAAJCiItH9z//8z7F06dK48cYb47nnnoszzzwzZs6cGXv27KnEOAAAAJCiItF95513xpVXXhlXXHFFTJs2LVavXh3HHXdc/OM//mMlxgEAAIAUI4f7Fx48eDC2b98ey5YtK22rrq6Otra26OjoOORz+vr6oq+vr/RzT09PRET09vbmDlsmA33vVHoEAACAT4xPQut9MGNRFL/xuGGP7l/+8pfx3nvvRWNj46DtjY2N8R//8R+HfM6KFSvipptu+rXtkyZNSpkRAACAyqlfWekJhu7tt9+O+vr6j9w/7NH921i2bFksXbq09PPAwEDs3bs3xo8fH1VVVem/v7e3NyZNmhS7du2Kurq69N8Hn0TWCQyNtQKHZ53A0FgrlVUURbz99tvR3Nz8G48b9uj+1Kc+FSNGjIiurq5B27u6uqKpqemQz6mpqYmamppB28aNG5c14keqq6vzHzMchnUCQ2OtwOFZJzA01krl/KYr3B8Y9i9SGz16dJx99tmxadOm0raBgYHYtGlTtLa2Dvc4AAAAkKYiHy9funRpXHbZZXHOOefE7/7u78bKlStj//79ccUVV1RiHAAAAEhRkej+kz/5k/jv//7vWL58eXR2dsbnPve52LBhw699udqRoqamJm688cZf+4g78L+sExgaawUOzzqBobFWPhmqisN9vzkAAADwWxn2e7oBAADgWCG6AQAAIInoBgAAgCSiGwAAAJIcs9G9ZcuWuPjii6O5uTmqqqri4YcfHrR/3759sXjx4pg4cWLU1tbGtGnTYvXq1YOOOXDgQLS3t8f48ePjhBNOiPnz50dXV9cwvgrId7i10tXVFZdffnk0NzfHcccdF7NmzYpXX3110DHWCke7FStWxLnnnhtjx46NCRMmxLx582LHjh2DjhnKOnj99ddjzpw5cdxxx8WECRPimmuuiXfffXc4XwqkGco6uffee+Oiiy6Kurq6qKqqiu7u7l87z969e2PBggVRV1cX48aNi4ULF8a+ffuG6VVAvsOtlb1798ZVV10Vn/70p6O2tjYmT54cX/nKV6Knp2fQebynHDmO2ejev39/nHnmmbFq1apD7l+6dGls2LAhvv/978fLL78cS5YsicWLF8ejjz5aOubqq6+Oxx57LNatWxebN2+O3bt3xyWXXDJcLwGGxW9aK0VRxLx58+IXv/hFPPLII/HTn/40TjnllGhra4v9+/eXjrNWONpt3rw52tvbY+vWrbFx48bo7++PGTNmfKx18N5778WcOXPi4MGD8dRTT8UDDzwQ999/fyxfvrwSLwnKbijr5J133olZs2bF1772tY88z4IFC+Kll16KjRs3xuOPPx5btmyJRYsWDcdLgGFxuLWye/fu2L17d9xxxx3x4osvxv333x8bNmyIhQsXls7hPeUIU1BERLF+/fpB2z7zmc8UN99886BtZ511VvG3f/u3RVEURXd3dzFq1Khi3bp1pf0vv/xyERFFR0dH+sxQCR9eKzt27CgionjxxRdL2957773ipJNOKu67776iKKwVjk179uwpIqLYvHlzURRDWwf/+q//WlRXVxednZ2lY+65556irq6u6OvrG94XAMPgw+vk//fjH/+4iIjirbfeGrT9Zz/7WRERxTPPPFPa9qMf/aioqqoq3njjjeyRoSJ+01r5wA9/+MNi9OjRRX9/f1EU3lOONMfsle7DOf/88+PRRx+NN954I4qiiB//+MfxyiuvxIwZMyIiYvv27dHf3x9tbW2l50ydOjUmT54cHR0dlRobhlVfX19ERIwZM6a0rbq6OmpqauInP/lJRFgrHJs++IhfQ0NDRAxtHXR0dMQZZ5wRjY2NpWNmzpwZvb298dJLLw3j9DA8PrxOhqKjoyPGjRsX55xzTmlbW1tbVFdXx7Zt28o+IxwJhrJWenp6oq6uLkaOHBkR3lOONKL7I9x9990xbdq0mDhxYowePTpmzZoVq1atii984QsREdHZ2RmjR4+OcePGDXpeY2NjdHZ2VmBiGH4fRMOyZcvirbfeioMHD8Ztt90W//Vf/xVvvvlmRFgrHHsGBgZiyZIlccEFF8Tpp58eEUNbB52dnYP+5+iD/R/sg6PJodbJUHR2dsaECRMGbRs5cmQ0NDRYJxyVhrJWfvnLX8bXv/71QbdZeE85soys9ABHqrvvvju2bt0ajz76aJxyyimxZcuWaG9vj+bm5kFXKuBYNmrUqPiXf/mXWLhwYTQ0NMSIESOira0tZs+eHUVRVHo8qIj29vZ48cUXS5/2AH6ddQJDc7i10tvbG3PmzIlp06bF3/3d3w3vcAyZ6D6EX/3qV/G1r30t1q9fH3PmzImIiM9+9rPx/PPPxx133BFtbW3R1NQUBw8ejO7u7kFXLrq6uqKpqalCk8PwO/vss+P555+Pnp6eOHjwYJx00kkxffr00kf/rBWOJYsXLy59sdPEiRNL24eyDpqamuLpp58edL4Pvt3cWuFo8lHrZCiamppiz549g7a9++67sXfvXuuEo87h1srbb78ds2bNirFjx8b69etj1KhRpX3eU44sPl5+CP39/dHf3x/V1YP/9YwYMSIGBgYi4v3QGDVqVGzatKm0f8eOHfH6669Ha2vrsM4LR4L6+vo46aST4tVXX41nn3025s6dGxHWCseGoihi8eLFsX79+njyySejpaVl0P6hrIPW1tZ44YUXBgXFxo0bo66uLqZNmzY8LwQSHW6dDEVra2t0d3fH9u3bS9uefPLJGBgYiOnTp5dzXKiYoayV3t7emDFjRowePToeffTRQd+vE+E95UhzzF7p3rdvX/z85z8v/bxz5854/vnno6GhISZPnhy/93u/F9dcc03U1tbGKaecEps3b44HH3ww7rzzzoh4PzAWLlwYS5cujYaGhqirq4urrroqWltb47zzzqvUy4KyO9xaWbduXZx00kkxefLkeOGFF+KrX/1qzJs3r/Slg9YKx4L29vZYu3ZtPPLIIzF27NjS/XL19fVRW1s7pHUwY8aMmDZtWvz5n/953H777dHZ2RnXX399tLe3R01NTSVfHpTF4dZJxPv3mnZ2dpbed1544YUYO3ZsTJ48ORoaGuK0006LWbNmxZVXXhmrV6+O/v7+WLx4cVx66aXR3NxcsdcG5XS4tfJBcL/zzjvx/e9/P3p7e6O3tzciIk466aQYMWKE95QjTUW/O72CPvhTFB9+XHbZZUVRFMWbb75ZXH755UVzc3MxZsyY4tOf/nTxrW99qxgYGCid41e/+lXx5S9/uTjxxBOL4447rvjDP/zD4s0336zQK4Ich1sr3/nOd4qJEycWo0aNKiZPnlxcf/31v/anKKwVjnaHWiMRUaxZs6Z0zFDWwWuvvVbMnj27qK2tLT71qU8Vf/3Xf1368y/wSTeUdXLjjTce9pj/+Z//Kf70T/+0OOGEE4q6urriiiuuKN5+++3hf0GQ5HBr5aP+3ywiip07d5bO4z3lyFFVFL7tCAAAADK4pxsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAk/w+vxrJ4JXT+ewAAAABJRU5ErkJggg==",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"wrong_sample = np.random.rand(1000)*2*std+mean-std\n",
"plt.figure(figsize=(10,6))\n",
@@ -395,26 +251,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Intervalos de Confianza\n",
+ "## Intervalos de confianza\n",
"\n",
- "Ahora calculemos los 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"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 131,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "p=0.85, mean = 73.70 ± 0.10\n",
- "p=0.90, mean = 73.70 ± 0.12\n",
- "p=0.95, mean = 73.70 ± 0.14\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"import scipy.stats\n",
"\n",
@@ -434,126 +280,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Pruebas de Hipótesis\n",
+ "## Pruebas de hipótesis\n",
"\n",
- "Exploremos los diferentes roles en nuestro conjunto de datos de jugadores de béisbol:\n"
+ "Exploremos diferentes roles en nuestro conjunto de datos de jugadores de béisbol:\n"
]
},
{
"cell_type": "code",
- "execution_count": 132,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- "
\n",
- "
\n",
- "
Weight
\n",
- "
Height
\n",
- "
Count
\n",
- "
\n",
- "
\n",
- "
Role
\n",
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- " \n",
- " \n",
- "
\n",
- "
Catcher
\n",
- "
72.723684
\n",
- "
204.328947
\n",
- "
76
\n",
- "
\n",
- "
\n",
- "
Designated_Hitter
\n",
- "
74.222222
\n",
- "
220.888889
\n",
- "
18
\n",
- "
\n",
- "
\n",
- "
First_Baseman
\n",
- "
74.000000
\n",
- "
213.109091
\n",
- "
55
\n",
- "
\n",
- "
\n",
- "
Outfielder
\n",
- "
73.010309
\n",
- "
199.113402
\n",
- "
194
\n",
- "
\n",
- "
\n",
- "
Relief_Pitcher
\n",
- "
74.374603
\n",
- "
203.517460
\n",
- "
315
\n",
- "
\n",
- "
\n",
- "
Second_Baseman
\n",
- "
71.362069
\n",
- "
184.344828
\n",
- "
58
\n",
- "
\n",
- "
\n",
- "
Shortstop
\n",
- "
71.903846
\n",
- "
182.923077
\n",
- "
52
\n",
- "
\n",
- "
\n",
- "
Starting_Pitcher
\n",
- "
74.719457
\n",
- "
205.321267
\n",
- "
221
\n",
- "
\n",
- "
\n",
- "
Third_Baseman
\n",
- "
73.044444
\n",
- "
200.955556
\n",
- "
45
\n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Weight Height Count\n",
- "Role \n",
- "Catcher 72.723684 204.328947 76\n",
- "Designated_Hitter 74.222222 220.888889 18\n",
- "First_Baseman 74.000000 213.109091 55\n",
- "Outfielder 73.010309 199.113402 194\n",
- "Relief_Pitcher 74.374603 203.517460 315\n",
- "Second_Baseman 71.362069 184.344828 58\n",
- "Shortstop 71.903846 182.923077 52\n",
- "Starting_Pitcher 74.719457 205.321267 221\n",
- "Third_Baseman 73.044444 200.955556 45"
- ]
- },
- "execution_count": 132,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.groupby('Role').agg({ 'Weight' : 'mean', 'Height' : 'mean', 'Age' : 'count'}).rename(columns={ 'Age' : 'Count'})"
]
@@ -561,23 +297,15 @@
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "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"
+ ]
},
{
"cell_type": "code",
- "execution_count": 133,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Conf=0.85, 1st basemen height: 209.36..216.86, 2nd basemen height: 182.24..186.45\n",
- "Conf=0.90, 1st basemen height: 208.82..217.40, 2nd basemen height: 181.93..186.76\n",
- "Conf=0.95, 1st basemen height: 207.97..218.25, 2nd basemen height: 181.45..187.24\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"for p in [0.85,0.9,0.95]:\n",
" m1, h1 = mean_confidence_interval(df.loc[df['Role']=='First_Baseman',['Height']],p)\n",
@@ -589,25 +317,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Podemos observar que los intervalos no se superponen.\n",
+ "Podemos ver que los intervalos no se superponen.\n",
"\n",
- "Una forma estadísticamente más correcta de probar la hipótesis es utilizar una **prueba t de Student**:\n"
+ "Una forma estadísticamente más correcta de probar la hipótesis es usar un **test t de Student**:\n"
]
},
{
"cell_type": "code",
- "execution_count": 134,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "T-value = 9.77\n",
- "P-value: 1.4185554184322326e-15\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"from scipy.stats import ttest_ind\n",
"\n",
@@ -619,9 +338,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Los dos valores que devuelve la función `ttest_ind` son:\n",
- "* El p-value 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 t-value 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 nivel de confianza dado.\n"
+ "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"
]
},
{
@@ -630,25 +349,14 @@
"source": [
"## Simulando una Distribución Normal con el Teorema del Límite Central\n",
"\n",
- "El generador pseudoaleatorio en Python está diseñado para proporcionarnos una distribución uniforme. Si queremos crear un generador para una distribución normal, podemos utilizar el teorema del límite central. Para obtener un valor con distribución normal, 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"
]
},
{
"cell_type": "code",
- "execution_count": 135,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgnUlEQVR4nO3de2yV9f3A8U+hUpyzZYhQOirgNq/zsjllMLxtRCBG8ZJMjXNojMYFZ5R5ATd16hbYJco0CJtT2WIUs0yRjQQ38R5BI4SgziEyULy0eBktsFkZfX5/LPa3SlEL58Np4fVKTuJ5znPO+TzJN/V58/ScVhRFUQQAAABQcj3KPQAAAADsrEQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAECSynIP8FGtra3x5ptvxp577hkVFRXlHgcAAAC2UBRFrF+/Purq6qJHj61fz+5y0f3mm29GfX19uccAAACAT7RmzZoYNGjQVh/vctG95557RsR/B6+uri7zNAAAALCl5ubmqK+vb2vYrely0f3hr5RXV1eLbgAAALq0T/pYtC9SAwAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASFJZ7gEAAOB/DZk0r9wj7JRWTz2x3CPALsmVbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACBJp6J7ypQpceSRR8aee+4Z/fv3j1NOOSWWL1/ebp/3338/JkyYEHvttVd89rOfjdNPPz0aGxtLOjQAAAB0B52K7scffzwmTJgQixYtir/+9a+xadOmOOGEE2Ljxo1t+1x22WXxpz/9Kf7whz/E448/Hm+++WacdtppJR8cAAAAurrKzuw8f/78dvdnzZoV/fv3j8WLF8cxxxwTTU1Ncccdd8Q999wT3/zmNyMi4q677ooDDzwwFi1aFF//+tdLNzkAAAB0cdv1me6mpqaIiOjbt29ERCxevDg2bdoUo0aNatvngAMOiH322ScWLly4PW8FAAAA3U6nrnT/r9bW1rj00kvjG9/4Rnz5y1+OiIiGhobo1atX9OnTp92+AwYMiIaGhg5fp6WlJVpaWtruNzc3b+tIAAAA0KVs85XuCRMmxAsvvBCzZ8/ergGmTJkSNTU1bbf6+vrtej0AAADoKrYpui+++OL485//HI8++mgMGjSobXttbW188MEHsW7dunb7NzY2Rm1tbYevNXny5Ghqamq7rVmzZltGAgAAgC6nU9FdFEVcfPHF8cADD8QjjzwSQ4cObff4EUccEbvttlssWLCgbdvy5cvjtddei+HDh3f4mlVVVVFdXd3uBgAAADuDTn2me8KECXHPPffEgw8+GHvuuWfb57Rrampi9913j5qamjj//PNj4sSJ0bdv36iuro7vf//7MXz4cN9cDgAAwC6nU9E9Y8aMiIg47rjj2m2/66674txzz42IiJtvvjl69OgRp59+erS0tMTo0aPjtttuK8mwAAAA0J10KrqLovjEfXr37h3Tp0+P6dOnb/NQAAAAsDPYrr/TDQAAAGyd6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroB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iegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkpQ8un/84x9HRUVFu9sBBxxQ6rcBAACALq8y40UPPvjgePjhh///TSpT3gYAAAC6tJQarqysjNra2oyXBgAAgG4j5TPdK1asiLq6uth3333j7LPPjtdee22r+7a0tERzc3O7GwAAAOwMSh7dw4YNi1mzZsX8+fNjxowZsWrVqjj66KNj/fr1He4/ZcqUqKmpabvV19eXeiQAAAAoi4qiKIrMN1i3bl0MHjw4brrppjj//PO3eLylpSVaWlra7jc3N0d9fX00NTVFdXV15mgA223IpHnlHgEAKJPVU08s9wiUUXNzc9TU1Hxiu6Z/w1mfPn1iv/32i1deeaXDx6uqqqKqqip7DAAAANjh0v9O94YNG2LlypUxcODA7LcCAACALqXk0X355ZfH448/HqtXr46nn346Tj311OjZs2ecddZZpX4rAAAA6NJK/uvlr7/+epx11lnx7rvvxt577x0jR46MRYsWxd57713qtwIAAIAureTRPXv27FK/JAAAAHRL6Z/pBgAAgF2V6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIUlnuAQAAALqjIZPmlXuEndLqqSeWe4SScqUbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AOjIkEnzyj3CTmn11BPLPQIAAOxSXOkGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AGDHGTJp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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"def normal_random(sample_size=100):\n",
" sample = [random.uniform(0,1) for _ in range(sample_size) ]\n",
@@ -665,26 +373,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Correlación y la Malvada Corporación de Béisbol\n",
+ "## 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 existe una malvada corporación de béisbol que paga a sus jugadores según su altura: cuanto más alto sea el jugador, más dinero recibe. Supongamos que hay un salario base de $1000 y un bono adicional de entre $0 y $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 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"
]
},
{
"cell_type": "code",
- "execution_count": 136,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[(180, 1033.985209531635), (215, 1073.6346206518763), (210, 1067.9704190632704), (210, 1067.9704190632704), (188, 1043.0479320734046), (176, 1029.4538482607504), (209, 1066.837578745549), (200, 1056.6420158860585), (231, 1091.760065735415), (180, 1033.985209531635)]\n"
- ]
- }
- ],
- "source": [
- "heights = df['Height']\n",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "heights = df['Height'].fillna(method='pad')\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@@ -698,21 +398,9 @@
},
{
"cell_type": "code",
- "execution_count": 137,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Covariance matrix:\n",
- "[[441.63557066 500.30258018]\n",
- " [500.30258018 566.76293389]]\n",
- "Covariance = 500.3025801786725\n",
- "Correlation = 0.9999999999999997\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(f\"Covariance matrix:\\n{np.cov(heights, salaries)}\")\n",
"print(f\"Covariance = {np.cov(heights, salaries)[0,1]}\")\n",
@@ -722,24 +410,15 @@
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "source": [
+ "Una correlación igual a 1 significa que hay una fuerte **relación lineal** entre dos variables. Podemos ver visualmente la relación lineal trazando un valor contra el otro:\n"
+ ]
},
{
"cell_type": "code",
- "execution_count": 138,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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Z7qjoqI0cODAYJeBdthsNv7CiGCMb2RjfCMfYxzZGN/IxvhGNsY39JxuhrsVL1IDAAAAACBACN0AAAAAAAQIoRvdKi4uTosXL1ZcXFywS0EAML6RjfGNfIxxZGN8IxvjG9kY3/AWsS9SAwAAAAAg2JjpBgAAAAAgQAjdAAAAAAAECKEbAAAAAIAAIXQDAAAAABAghG6YoqCgQLm5uUpLS5PFYtG6detOafPxxx/rmmuukd1uV+/evXXxxRervLzcc72+vl5z585V//791adPH91www06dOhQN34LtKej8a2rq9O8efM0cOBAxcfHy+l0atWqVV5tGN/QtGzZMl188cVKTExUcnKyrrvuOu3bt8+rTWfGrry8XDk5OUpISFBycrLuuusuNTU1dedXQRs6Gt/q6mrdeuutOueccxQfH6/09HT99re/VU1NjVc/jG/o6syf4VaGYWjSpElt/j3OGIemzo5vYWGhrrzySvXu3Vs2m01jx47VsWPHPNerq6t18803y2azqW/fvpo5c6bq6uq686ugDZ0Z38rKSk2bNk0Oh0O9e/fWiBEj9Je//MWrDeMb+gjdMMWRI0c0dOhQrVixos3rn332mUaPHq0f/ehHevfdd7V792498MADslqtnja33367NmzYoD//+c967733dPDgQV1//fXd9RVwGh2N7/z585Wfn681a9bo448/1m233aZ58+Zp/fr1njaMb2h67733NHfuXP3tb3/T5s2b1djYqAkTJujIkSOeNh2NXXNzs3JyctTQ0KAPPvhAL730kvLy8rRo0aJgfCWcoKPxPXjwoA4ePKgnn3xSe/bsUV5envLz8zVz5kxPH4xvaOvMn+FWf/jDH2SxWE45zxiHrs6Mb2FhobKzszVhwgQVFRVp+/btmjdvnqKi/vFr/s0336y9e/dq8+bNev3111VQUKDZs2cH4yvhBJ0Z3+nTp2vfvn1av369PvroI11//fX62c9+pl27dnnaML5hwABMJslYu3at17kbb7zRmDp1arv3HD582OjVq5fx5z//2XPu448/NiQZhYWFgSoVXdDW+J533nnGgw8+6HVuxIgRxn333WcYBuMbTqqqqgxJxnvvvWcYRufGbtOmTUZUVJRRWVnpabNy5UrDZrMZx48f794vgNM6eXzb8l//9V9GbGys0djYaBgG4xtu2hvjXbt2GT/4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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(heights,salaries)\n",
@@ -750,21 +429,15 @@
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "source": [
+ "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"
+ ]
},
{
"cell_type": "code",
- "execution_count": 139,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Correlation = 0.9910655775558532\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100\n",
"print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")"
@@ -774,22 +447,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "En este caso, la correlación es ligeramente menor, pero sigue siendo bastante alta. Ahora, para hacer que la relación sea aún menos obvia, podríamos querer agregar algo de aleatoriedad adicional añadiendo alguna variable aleatoria al salario. Veamos qué sucede:\n"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 140,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Correlation = 0.948230287835537\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100+np.random.random(size=len(heights))*20-10\n",
"print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")"
@@ -797,20 +462,9 @@
},
{
"cell_type": "code",
- "execution_count": 141,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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P3/44Yf1wx/+UI8//rg2bdqkYcOG6YorrlBHR88v+H/961/l8/n0xBNP6P3339d//ud/6vHHH9e///u/+4/R1tamuXPnasKECXrrrbf0ne98R8uXL9eTTz4Z58fEYGSP7vIWxB7dZa+MJ9pArKzQLHk3jTPl9KGBWyv7AAAAAKJzXF5+5ZVX6sorrwz7M8uy9P3vf1933323FixYIEn6xS9+oVGjRun555/X9ddfr6qqKlVVVfnfM2nSJH3wwQd67LHH9N3vfleS9Mtf/lJdXV366U9/quzsbH36059WbW2tvve972nx4sXxfE70A90+S5sbWrT/cEeflStXTS3TpWeN0jM1O7WrpV0TivO0sHKisocEP2+yV8aXrNySUAOx4jzDLuKGcaacltMzGgwAAADoG67u6W5oaFBTU5Muu+wy/2sFBQWaOXOmampqdP3114d9X2trq4qLT60g1tTU6OKLL1Z2drb/tSuuuEIPPfSQDh48qKKiol7H6OzsVGdnp//PbW1tbnwkuMTN+deJnve/Xm0Ie157ZTw03uvgOouHZceMcRJnyulDA6dJOgAAAID4uNq9vKmpSZI0atSooNdHjRrl/1mo7du360c/+pG+8pWvBB0n3DECzxHqgQceUEFBgf+vcePGxf054C635l/3xXmrppbp1bsu1XOLZukH10/Xc4tm6dW7LjV+MHCovSt2kIM4J5yU0zvd8w4AAAAgPikdGbZnzx5VVVXpH/7hH7Ro0aKEjrV06VK1trb6//roo49cukokIlaXbKln/nV3rNbbLp/XinLezAyPKiePjKuBWPFww/JywzinqqaWad0dn9PCWeM154wSLZw1Xuvu+FzYhwZOknQAAAAA8XG1vNzr9UqS9u3bp7KyU7+w79u3T9OnTw+K3bt3ry655BJdeOGFvRqkeb1e7du3L+g1+8/2OULl5OQoJyc5iQzi52T+deXkkX12XiXpvN58sz3QpnFOPfBinZ7a0OAfH7bhQ+mXm3Zr0ZxyLb2qold81dQyXV7h7fO99gAAAMBg4epKd3l5ubxer15++WX/a21tbdq0aZMqKyv9r+3Zs0ef+9zndN555+lnP/uZMjKCL6OyslLr16/X8ePH/a+tXbtWZ555Ztj93Oi/UtUlu6nN7HimcaYuKC9WYV5W1JiivKyk7JV+4MU6PbG+ode8bp8lPbG+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py688EKtXr1ae/bskWVZeuWVV/S3v/1Nc+fOlcQ9HkjssuLi4mJJZveupqZGZ599tkaNGuWPueKKK9TW1qb333+/D68esYTe30gx+fn5GjJkiCTu70AS7v62t7frC1/4gh599FF5vd5e7+H+Diyh93j//v3atGmTSktLdeGFF2rUqFH67Gc/q1dffdX/npqaGhUWFur888/3v3bZZZcpIyNDmzZt6tsPgKjC/X/4wgsv1K9//Wu1tLTI5/PpV7/6lTo6OvS5z31OEvd3oCDpRlLt379fR44c0YMPPqiqqiq99NJL+vu//3tde+21+stf/iKpZ69Kdna2CgsLg947atQoNTU1peCq4dSPfvQjVVRUaOzYscrOzlZVVZUeffRRXXzxxZK4xwOFz+fT1772NV100UWaOnWqJLN719TUFPQLu/1z+2foH8Ld31AHDhzQ/fffH1SWyP0dGCLd369//eu68MILtWDBgrDv4/4OHOHu8Y4dOyRJy5cv16JFi1RdXa0ZM2bo85//vD788ENJPfextLQ06FhDhgxRcXEx97gfifT/4d/85jc6fvy4Ro4cqZycHH3lK1/R73//e51++umSuL8DxZBUXwDSm8/nkyQtWLBAX//61yVJ06dP1+uvv67HH39cn/3sZ1N5eXDJj370I23cuFGrV6/WhAkTtH79et16660aPXp00Aop+rdbb71VW7duDVohQfqIdX/b2to0b948VVRUaPny5X17cUhYuPu7evVqrVu3LmjvJwaucPfY/j3rK1/5iv75n/9ZknTuuefq5Zdf1k9/+lM98MADKblWOBfp39H33HOPDh06pD/96U8qKSnR888/r3/8x3/Uhg0bdPbZZ6foauEUK91IqpKSEg0ZMkQVFRVBr0+ZMsXfvdzr9aqrq0uHDh0Kitm3b1/YUjj0L8eOHdO///u/63vf+57mz5+vc845R7fddpv+6Z/+Sd/97nclcY8Hgttuu01/+MMf9Morr2js2LH+103undfr7dXN3P4z97d/iHR/bYcPH1ZVVZVGjBih3//+98rKyvL/jPvb/0W6v+vWrVN9fb0KCws1ZMgQ/5aB6667zl+ayv0dGCLd47KyMkmK+XvW/v37g35+4sQJtbS0cI/7iUj3t76+Xo888oh++tOf6vOf/7ymTZumZcuW6fzzz/c3t+X+Dgwk3Uiq7OxsfeYzn+k1/uBvf/ubJkyYIEk677zzlJWVpZdfftn/8w8++EC7d+9WZWVln14vnDt+/LiOHz8e1CVVkjIzM/1P4LnH/ZdlWbrtttv0+9//XuvWrVN5eXnQz03uXWVlpd57772g/+ivXbtW+fn5vX4RRN+KdX+lnhXuuXPnKjs7W6tXrw6aLCFxf/uzWPf3G9/4ht59913V1tb6/5Kk//zP/9TPfvYzSdzf/i7WPZ44caJGjx4d9fesyspKHTp0SG+99Zb/5+vWrZPP59PMmTOT/yEQUaz7297eLklRf8fi/g4QqezihvRw+PBh6+2337befvttS5L1ve99z3r77betXbt2WZZlWb/73e+srKws68knn7Q+/PBD60c/+pGVmZlpbdiwwX+MW265xRo/fry1bt06680337QqKyutysrKVH0khIh1jz/72c9an/70p61XXnnF2rFjh/Wzn/3Mys3NtX784x/7j8E97p+WLFliFRQUWH/+85+txsZG/1/t7e3+mFj37sSJE9bUqVOtuXPnWrW1tVZ1dbV12mmnWUuXLk3FR0KAWPe3tbXVmjlzpnX22Wdb27dvD4o5ceKEZVnc3/7M5P+/oRTSvZz727+Z3OP//M//tPLz863f/va31ocffmjdfffdVm5urrV9+3Z/TFVVlXXuuedamzZtsl599VXrjDPOsG644YZUfCQEiHV/u7q6rNNPP92aM2eOtWnTJmv79u3Wd7/7Xcvj8VgvvPCC/zjc3/6PpBsJe+WVVyxJvf666aab/DE/+clPrNNPP93Kzc21pk2bZj3//PNBxzh27Jj1r//6r1ZRUZGVl5dn/f3f/73V2NjYx58EkcS6x42NjdaXv/xla/To0VZubq515plnWv/v//0/y+fz+Y/BPe6fwt1XSdbPfvYzf4zJvdu5c6d15ZVXWkOHDrVKSkqsO+64wz9yCqkT6/5G+v+2JKuhocF/HO5v/2Ty/99w7wkd+8j97b9M7/EDDzxgjR071srLy7MqKyuDFjYsy7Kam5utG264wRo+fLiVn59v/fM//7N1+PDhPvwkCMfk/v7tb3+zrr32Wqu0tNTKy8uzzjnnnF4jxLi//Z/HsizL7dVzAADw/2/fDgkAAAAABP1/7QobvDAIAODpBgAAgI3oBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgEkSp7/Bi3WIFQAAAABJRU5ErkJggg==",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(heights, salaries)\n",
@@ -822,85 +476,52 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "> ¿Puedes adivinar por qué los puntos se alinean en líneas verticales de esta manera?\n",
+ "> ¿Puedes adivinar por qué los puntos se alinean en líneas verticales así?\n",
"\n",
- "Hemos observado la correlación entre un concepto artificialmente diseñado como el salario y la variable observada *altura*. Ahora veamos si las dos variables observadas, como la altura y el peso, también están correlacionadas:\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"
]
},
{
"cell_type": "code",
- "execution_count": 142,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 142,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'])"
+ "np.corrcoef(df['Height'].ffill(),df['Weight'])"
]
},
{
"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 la columna problemática es `Weight`, 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 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",
"\n",
- "> Este ejemplo muestra la importancia de la **preparación** y **limpieza** de datos. Sin datos adecuados, no podemos calcular nada.\n",
+ "> Este ejemplo muestra la importancia de la **preparación de datos** y la **limpieza**. Sin datos adecuados no podemos calcular nada.\n",
"\n",
- "Usemos el método `fillna` para rellenar los valores faltantes y calcular la correlación:\n"
+ "Usemos el método `fillna` para completar los valores faltantes y calcular la correlación: \n"
]
},
{
"cell_type": "code",
- "execution_count": 143,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 143,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'].fillna(method='pad'))"
+ "np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "source": [
+ "De hecho, existe una correlación, pero no tan fuerte como en nuestro ejemplo artificial. En efecto, si observamos el diagrama de dispersión de un valor frente al otro, la relación sería mucho menos obvia:\n"
+ ]
},
{
"cell_type": "code",
- "execution_count": 144,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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+WXrY19++aX+8z//U2PHtuy7+fDDD3XkkUfa/pnhcFg333yzzjzzTI0ePbrDmK+++kr33HOPrr322tbHqqqq2iTcklq/r6rq+Ia6qKhIfr+/9as77QRMZNpy7B01nc8KdzfObZ93sXS5u3Fuq9nf5GgcnNXFJGq349xW32SvpXbj3Lb/QMjROLdt32XvFHy7cXCWafcHgFt6lHQ//vjjqqio0IgRI3TMMcfomGOO0YgRI7R9+3b99re/lSTt27dPd955p+2fOW/ePJWVlenZZ5/t8Pna2lqdd955CgQCuvvuu3vS7FYLFixo3YseDAb1ySef9OrnAV5n2mm4eVn2TlW2G+e24X57v3e7cW7LHGRvCbzdODjL7o2BN3Z0S6kD7LXUbpzbBg20t8TabpzbTLtem8a0+wPALT36C3PcccepvLxcL774om688UbdeOONWrZsmf7+97/r2GOPldRywvns2bNt/bz58+drxYoVWrNmjUaMGNHu+b1796qwsFDp6el6/vnnNWDAP2/EcnJy9MUXX7SJj3yfk5PT4b83cOBAZWRktPkCeioUtlS6bZde3PqZSrftUqirE4jiUOQ03Gi7sXzy1mm4d8wIOBrntieuHOdonNv+cP2Zjsa57elZ9k5Wthvntj/Z/L3bjXPbSzdMcjTObS/fONnROLfdVvg1R+PgLNPuDwC39Phj3YSEBBUWFrYm3eeee64SErr34yzL0vz58/X8889r9erVHdb2rq2t1bRp05ScnKxly5YpJaXtJ2kFBQV69913VV39z0M4Vq1apYyMDAUC3rihhneVlFVqwv2rdWnxRt307FZdWrxRE+5f7bmTPBMTfFo4s+X9cugf1sj3C2cGPHNISmpyoqYGsjuNmRrI9syhPP60ARqV1fmBSKOyUj1xiJokVeza72ic21Z99EXXQd2Ic9vmT+ztzbQb57Yqm8te7ca57YjMVCUndn4tTk70eeIQNUl697Ogo3Fwlmn3B4BbbJ9e/uCDD+raa69VSkqKHnzwwU5jb7zxRls/c968eXrmmWf04osvKj09vXUPtt/vV2pqamvCXVdXp6VLl7Y59GzYsGFKTEzUtGnTFAgENHv2bP30pz9VVVWV7rzzTs2bN08DB8b/qbfwrkgJjUPntSMlNBbPGuOp2pWFo3O1eNaYdnU4czxah7P48rFRy9B4se7r2lun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889vM/GFGLOAPnLbbbdZEyZM6DTmhBNOsH70ox+1eWzMmDHWD37wg75sGqK46aabrKOPPtoKh8PWnj17rAEDBli///3vW59/7733LElWaWmpi63snw4em4787//+r5WcnGw1NTXFuGWwrI7H5+2337aOOOIIq7Ky0pJkPf/88+41sJ87dHxOP/10684773S5VYg4dHwGDRpkPf30021iMjMzreLiYjea1++cd9551tVXX93msYsvvti67LLLLMuyrHA4bOXk5Fg/+9nPWp/fs2ePNXDgQOt3v/tdTNvaH3U1Ph3ZtGmTJcnasWNHXzcPUfCRLvrMsmXL9PWvf13//u//ruzsbJ166qkqLi5uEzN+/HgtW7ZMn332mSzL0po1a/TBBx9o2rRpLrW6/2psbNTSpUt19dVXy+fzafPmzWpqatI555zTGnP88cdr5MiRKi0tdbGl/c+hY9ORYDCojIwMJSWxgCnWOhqfuro6fec739HDDz+snJwcl1vYvx06PtXV1XrzzTeVnZ2t8ePH6/DDD9fkyZO1YcMGt5vaL3X0/hk/fryee+451dTUKBwO69lnn1VDQ4POOussdxvbT4wfP16vvvqqPvjgA0nS3/72N23YsEHTp0+XJFVUVKiqqqrN/YHf79fpp5/O/UEMdDU+HQkGg/L5fBoyZEiMWolDcXeGPvPxxx9r8eLF+t73vqc77rhDb731lm688UYlJyfriiuukCT9+te/1rXXXqsRI0YoKSlJCQkJKi4u1qRJk1xuff/zwgsvaM+ePbryyislteypS05ObneBPvzww1VVVRX7BvZjh47Nob766ivdc889uvbaa2PbMEjqeHxuueUWjR8/XhdccIF7DYOk9uPz8ccfS5Luvvtu/fznP9cpp5yip59+Wt/4xjdUVlamf/mXf3Gxtf1PR++f//3f/9W3vvUtZWVlKSkpSWlpaXr++ed1zDHHuNfQfuT2229XbW2tjj/+eCUmJioUCunee+/VZZddJkmt9wCHH354m/+O+4PY6Gp8DtXQ0KDbbrtNl156qTIyMmLcWkSQdKPPhMNhff3rX9d9990nSTr11FNVVlamRx99tE3SvXHjRi1btkyjRo3SunXrNG/ePA0fPrzNJ6joe48//rimT5+u4cOHu90UHKKzsamtrdV5552nQCCgu+++O/aNQ7vxWbZsmVavXq23337b5ZZBaj8+4XBYknTdddfpqquuktTy9+nVV1/VE088oaKiItfa2h91dH276667tGfPHv3lL3/RYYcdphdeeEHf/OY3tX79ep144okutrZ/+N///V/9z//8j5555hmdcMIJ2rp1q26++WYNHz689f4N7unO+DQ1Nemb3/ymLMvS4sWLXWoxJLGnG31n5MiR1jXXXNPmsUceecQaPny4ZVmWVVdXZw0YMMBasWJFm5hrrrnGOvfcc2PWTljW9u3brYSEBOuFF15ofezVV1+1JFm7d+9uEzty5EjrF7/4RYxb2H91NDYRtbW1VkFBgfWNb3zDqq+vd6F16Gh8brrpJsvn81mJiYmtX5KshIQEa/Lkye41th/qaHw+/vhjS5K1ZMmSNrHf/OY3re985zuxbmK/1tH4fPTRR5Ykq6ysrE3sN77xDeu6666LdRP7pREjRlgPPfRQm8fuuece67jjjrMsy7K2bdtmSbLefvvtNjGTJk2ybrzxxlg1s9/qanwiGhsbrQsvvNA66aSTrK+++iqWTUQH2NONPnPmmWfq/fffb/PYBx98oFGjRklq+fStqamp3WmxiYmJrTMRiI0nn3xS2dnZOu+881ofO+200zRgwAC9+uqrrY+9//772rlzpwoKCtxoZr/U0dhILTPc06ZNU3JyspYtW8ZpsS7paHxuv/12vfPOO9q6dWvrlyQ98MADevLJJ11qaf/U0fjk5eVp+PDhnf59Qmx0ND51dXWSxL2Bi+rq6jr9/efn5ysnJ6fN/UFtba3efPNN7g9ioKvxkf45w/3hhx/qL3/5i7KysmLdTBzK7awf5tq0aZOVlJRk3XvvvdaHH35o/c///I+VlpZmLV26tDVm8uTJ1gknnGCtWbPG+vjjj60nn3zSSklJsR555BEXW96/hEIha+TIkdZtt93W7rnrr7/eGjlypLV69Wrrr3/9q1VQUGAVFBS40Mr+KdrYBINB6/TTT7dOPPFE66OPPrIqKytbv5qbm11qbf/T2XvnUOL08pjrbHweeOABKyMjw/r9739vffjhh9add95ppaSkWB999JELLe2foo1PY2Ojdcwxx1gTJ0603nzzTeujjz6yfv7zn1s+n8966aWXXGpt/3LFFVdYRxxxhLVixQqroqLC+tOf/mQddthh1n/+53+2xvzkJz+xhgwZYr344ovWO++8Y11wwQVWfn4+q65ioKvxaWxstM4//3xrxIgR1tatW9vcIxw4cMDl1vdfJN3oU8uXL7dGjx5tDRw40Dr++OOt3/zmN22er6ystK688kpr+PDhVkpKinXcccdZ//Vf/xW1LBKc9+c//9mSZL3//vvtnquvr7e++93vWkOHDrXS0tKsiy66yKqsrHShlf1TtLFZs2aNJanDr4qKCnca2w919t45FEl37HU1PkVFRdaIESOstLQ0q6CgwFq/fn2MW9i/dTY+H3zwgXXxxRdb2dnZVlpamnXSSSe1KyGGvlNbW2vddNNN1siRI62UlBTrqKOOsn7wgx+0SdjC4bB11113WYcffrg1cOBA6xvf+IatayF6r6vxqaioiHqPsGbNGncb34/5LMuyYjy5DgAAAABAv8CebgAAAAAA+ghJNwAAAAAAfYSkGwAAAACAPkLSDQAAAABAHyHpBgAAAACgj5B0AwAAAADQR0i6AQAAAADoIyTdAAAAAAD0EZJuAADQzmuvvSafz6c9e/bY/m/uvvtunXLKKX3WJgAAvIikGwAAj3v00UeVnp6u5ubm1sf27dunAQMG6KyzzmoTG0mmt23b1unPHD9+vCorK+X3+x1t61lnnaWbb77Z0Z8JAEA8I+kGAMDjzj77bO3bt09//etfWx9bv369cnJy9Oabb6qhoaH18TVr1mjkyJE6+uijO/2ZycnJysnJkc/n67N2AwDQH5B0AwDgcccdd5xyc3P12muvtT722muv6YILLlB+fr42btzY5vGzzz5b4XBYRUVFys/PV2pqqk4++WT94Q9/aBN36PLy4uJiHXnkkUpLS9NFF12kX/ziFxoyZEi79ixZskR5eXny+/369re/rb1790qSrrzySq1du1a/+tWv5PP55PP5tH37dqd/HQAAxBWSbgAADHD22WdrzZo1rd+vWbNGZ511liZPntz6eH19vd58802dffbZKioq0tNPP61HH31Uf//733XLLbdo1qxZWrt2bYc///XXX9f111+vm266SVu3btXUqVN17733tovbtm2bXnjhBa1YsUIrVqzQ2rVr9ZOf/ESS9Ktf/UoFBQWaM2eOKisrVVlZqSOPPLIPfhsAAMSPJLcbAAAAeu/ss8/WzTffrObmZtXX1+vtt9/W5MmT1dTUpEcffVSSVFpaqgMHDuiss85SIBDQX/7yFxUUFEiSjjrqKG3YsEGPPfaYJk+e3O7n//rXv9b06dP1H//xH5KkY489Vm+88YZWrFjRJi4cDuupp55Senq6JGn27Nl69dVXde+998rv9ys5OVlpaWnKycnpy18HAABxg6QbAAADnHXWWdq/f7/eeust7d69W8cee6yGDRumyZMn66qrrlJDQ4Nee+01HXXUUdq3b5/q6uo0derUNj+jsbFRp556aoc///3339dFF13U5rFx48a1S7rz8vJaE25Jys3NVXV1tUO9BADAe0i6AQAwwDHHHKMRI0ZozZo12r17d+ts9fDhw3XkkUfqjTfe0Jo1azRlyhTt27dPkvTSSy/piCOOaPNzBg4c2Kt2DBgwoM33Pp9P4XC4Vz8TAAAvI+kGAMAQZ599tl577TXt3r1bt956a+vjkyZN0ssvv6xNmzZp7ty5CgQCGjhwoHbu3NnhUvKOHHfccXrrrbfaPHbo93YkJycrFAr9//buVyWWMI7j8PdoEfwTBLGqWNbiBaw4TBAsVqtpQdANA1tNBotsXKxehKxJBDF4B0bxDmSDoLB7mnA4J+iBYXV5njgwL79Jw4cZ3vfL9wHATyW6AWBClGWZo6OjvL+//xHTRVHk+Pg4b29vKcsy8/Pz6XQ6qaoqw+EwW1tbeXl5yf39fRYWFnJwcPDX2u12O9vb2+l2u9nb28vNzU36/f6XjxRbWVnJw8NDnp6eMjc3l8XFxUxN2dcVgMnlLQcAE6Isy7y+vmZ9fT3Ly8sf14uiyGAw+DhaLElOT09zcnKSs7OzNBqN7O7u5urqKqurq/9cu9ls5uLiIt1uN5ubm7m+vk5VVZmZmfnSjJ1OJ9PT09nY2MjS0lKen5///4EB4Af4NRqNRuMeAgD4eVqtVh4fH3N3dzfuUQDg2/J7OQDwKefn59nZ2cns7Gz6/X4uLy/T6/XGPRYAfGu+dAMAn7K/v5/b29sMBoOsra2l3W7n8PBw3GMBwLcmugEAAKAmNlIDAACAmohuAAAAqInoBgAAgJqIbgAAAKiJ6AYAAICaiG4AAACoiegGAACAmohuAAAAqInoBgAAgJr8BszmUCbCjQ3yAAAAAElFTkSuQmCC",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(df['Weight'],df['Height'])\n",
@@ -916,14 +537,14 @@
"source": [
"## Conclusión\n",
"\n",
- "En este cuaderno hemos aprendido cómo realizar operaciones básicas en datos para calcular funciones estadísticas. Ahora sabemos cómo utilizar un sólido conjunto de herramientas matemáticas y estadísticas para probar algunas hipótesis y cómo calcular intervalos de confianza para variables arbitrarias a partir de una muestra 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 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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n---\n\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). 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 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.\n"
+ "---\n\n\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\n"
]
}
],
@@ -949,8 +570,8 @@
"version": "3.9.6"
},
"coopTranslator": {
- "original_hash": "0499b3f3da9a5b4cd91afc2a9d088298",
- "translation_date": "2025-09-06T17:01:36+00:00",
+ "original_hash": "0f899e3c5019f948e7c787b22f3b2304",
+ "translation_date": "2026-01-16T07:35:33+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "es"
}
diff --git a/translations/es/1-Introduction/README.md b/translations/es/1-Introduction/README.md
index ad0af5a5..91af5af9 100644
--- a/translations/es/1-Introduction/README.md
+++ b/translations/es/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introducción a la Ciencia de Datos
-
+
> Foto por Stephen Dawson en Unsplash
En estas lecciones, descubrirás cómo se define la Ciencia de Datos y aprenderás sobre las consideraciones éticas que un científico de datos debe tener en cuenta. También aprenderás cómo se define el dato y conocerás un poco sobre estadística y probabilidad, los dominios académicos fundamentales de la Ciencia de Datos.
diff --git a/translations/es/2-Working-With-Data/07-python/README.md b/translations/es/2-Working-With-Data/07-python/README.md
index 82f854a6..888315d5 100644
--- a/translations/es/2-Working-With-Data/07-python/README.md
+++ b/translations/es/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Trabajando con Python - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Aunque las bases de datos ofrecen formas muy eficientes de almacenar datos y consultarlos mediante lenguajes de consulta, la forma más flexible de procesar datos es escribir tu propio programa para manipularlos. En muchos casos, realizar una consulta en una base de datos sería una forma más efectiva. Sin embargo, en algunos casos donde se necesita un procesamiento de datos más complejo, no se puede hacer fácilmente usando SQL.
El procesamiento de datos se puede programar en cualquier lenguaje de programación, pero hay ciertos lenguajes que son de nivel más alto en lo que respecta al trabajo con datos. Los científicos de datos suelen preferir uno de los siguientes lenguajes:
@@ -72,7 +72,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Ahora supongamos que cada semana organizamos una fiesta para amigos y tomamos 10 paquetes adicionales de helado para la fiesta. Podemos crear otra serie, indexada por semana, para demostrar eso:
```python
@@ -83,7 +83,7 @@ Cuando sumamos dos series, obtenemos el número total:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Nota** que no estamos usando la sintaxis simple `total_items+additional_items`. Si lo hiciéramos, recibiríamos muchos valores `NaN` (*Not a Number*) en la serie resultante. Esto se debe a que hay valores faltantes para algunos puntos del índice en la serie `additional_items`, y sumar `NaN` a cualquier cosa da como resultado `NaN`. Por lo tanto, necesitamos especificar el parámetro `fill_value` durante la suma.
@@ -92,7 +92,7 @@ Con las series temporales, también podemos **re-muestrear** la serie con difere
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -218,7 +218,7 @@ El primer problema en el que nos enfocaremos es el modelado de la propagación e
Como queremos demostrar cómo manejar datos, te invitamos a abrir [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) y leerlo de principio a fin. También puedes ejecutar las celdas y realizar algunos desafíos que hemos dejado para ti al final.
-
+
> Si no sabes cómo ejecutar código en Jupyter Notebook, consulta [este artículo](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -240,7 +240,7 @@ Un ejemplo completo de análisis de este conjunto de datos utilizando el servici
Abre [`notebook-papers.ipynb`](notebook-papers.ipynb) y léelo de principio a fin. También puedes ejecutar las celdas y realizar algunos desafíos que hemos dejado para ti al final.
-
+
## Procesando Datos de Imágenes
diff --git a/translations/es/2-Working-With-Data/README.md b/translations/es/2-Working-With-Data/README.md
index 4b2a76e6..346f41dc 100644
--- a/translations/es/2-Working-With-Data/README.md
+++ b/translations/es/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Trabajando con Datos
-
+
> Foto de Alexander Sinn en Unsplash
En estas lecciones, aprenderás algunas de las formas en que los datos pueden ser gestionados, manipulados y utilizados en aplicaciones. Aprenderás sobre bases de datos relacionales y no relacionales y cómo los datos pueden ser almacenados en ellas. Conocerás los fundamentos de trabajar con Python para gestionar datos y descubrirás algunas de las muchas maneras en que puedes usar Python para manejar y extraer información de los datos.
diff --git a/translations/es/3-Data-Visualization/12-visualization-relationships/README.md b/translations/es/3-Data-Visualization/12-visualization-relationships/README.md
index 2e50fbe1..be7cd08f 100644
--- a/translations/es/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/es/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Crea un gráfico de dispersión básico para mostrar la relación entre el preci
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Ahora, muestra los mismos datos con un esquema de colores de miel para mostrar cómo el precio evoluciona a lo largo de los años. Puedes hacerlo agregando un parámetro 'hue' para mostrar el cambio, año tras año:
@@ -60,7 +60,7 @@ Ahora, muestra los mismos datos con un esquema de colores de miel para mostrar c
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Con este cambio de esquema de colores, puedes ver que hay obviamente una fuerte progresión a lo largo de los años en términos de precio de la miel por libra. De hecho, si observas un conjunto de muestra en los datos para verificar (elige un estado, Arizona por ejemplo), puedes ver un patrón de aumento de precios año tras año, con pocas excepciones:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Puedes ver que el tamaño de los puntos aumenta gradualmente.
-
+
¿Es este un caso simple de oferta y demanda? Debido a factores como el cambio climático y el colapso de colonias, ¿hay menos miel disponible para la compra año tras año, y por lo tanto el precio aumenta?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Respuesta: Sí, con algunas excepciones alrededor del año 2003:
-
+
✅ Debido a que Seaborn está agregando datos alrededor de una línea, muestra "las múltiples mediciones en cada valor de x trazando la media y el intervalo de confianza del 95% alrededor de la media". [Fuente](https://seaborn.pydata.org/tutorial/relational.html). Este comportamiento que consume tiempo puede desactivarse agregando `ci=None`.
@@ -114,7 +114,7 @@ Pregunta: Bueno, en 2003, ¿también podemos ver un aumento en el suministro de
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Respuesta: No realmente. Si observas la producción total, parece haber aumentado en ese año en particular, aunque en general la cantidad de miel producida está en declive durante estos años.
@@ -139,7 +139,7 @@ sns.relplot(
```
En esta visualización, puedes comparar el rendimiento por colonia y el número de colonias año tras año, lado a lado con un ajuste de columnas en 3:
-
+
Para este conjunto de datos, nada particularmente destaca con respecto al número de colonias y su rendimiento, año tras año y estado tras estado. ¿Hay una forma diferente de buscar una correlación entre estas dos variables?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Aunque nada salta a la vista alrededor del año 2003, esto nos permite terminar esta lección con una nota un poco más feliz: aunque hay un número decreciente de colonias en general, el número de colonias se está estabilizando incluso si su rendimiento por colonia está disminuyendo.
diff --git a/translations/es/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/es/3-Data-Visualization/R/09-visualization-quantities/README.md
index d295d0d8..f2586dbc 100644
--- a/translations/es/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/es/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Aquí, instalas el paquete `ggplot2` y luego lo importas al espacio de trabajo usando el comando `library("ggplot2")`. Para graficar cualquier gráfico en ggplot, se utiliza la función `ggplot()` y especificas el conjunto de datos, las variables x e y como atributos. En este caso, usamos la función `geom_line()` ya que buscamos graficar un gráfico de líneas.
-
+
¿Qué notas de inmediato? Parece haber al menos un valor atípico: ¡vaya envergadura! Una envergadura de más de 2000 centímetros equivale a más de 20 metros: ¿hay pterodáctilos rondando Minnesota? Investiguemos.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Especificamos el ángulo en el `theme` y especificamos las etiquetas de los ejes x e y en `xlab()` y `ylab()` respectivamente. El `ggtitle()` da un nombre al gráfico.
-
+
Incluso con la rotación de las etiquetas configurada a 45 grados, hay demasiadas para leer. Probemos una estrategia diferente: etiquetar solo los valores atípicos y establecer las etiquetas dentro del gráfico. Puedes usar un gráfico de dispersión para hacer más espacio para el etiquetado:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
¿Qué descubres?
-
+
## Filtra tus datos
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Creamos un nuevo dataframe `birds_filtered` y luego graficamos un gráfico de dispersión. Al filtrar los valores atípicos, tus datos ahora son más cohesivos y comprensibles.
-
+
Ahora que tenemos un conjunto de datos más limpio al menos en términos de envergadura, descubramos más sobre estas aves.
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
En el siguiente fragmento, instalamos los paquetes [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) y [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) para ayudar a manipular y agrupar datos con el fin de graficar un gráfico de barras apiladas. Primero, agrupas los datos por la `Categoría` de ave y luego resumes las columnas `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Luego, graficas el gráfico de barras usando el paquete `ggplot2` y especificas los colores para las diferentes categorías y las etiquetas.
-
+
Este gráfico de barras, sin embargo, es ilegible porque hay demasiados datos no agrupados. Necesitas seleccionar solo los datos que deseas graficar, así que veamos la longitud de las aves según su categoría.
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Primero cuentas los valores únicos en la columna `Category` y luego los ordenas en un nuevo dataframe `birds_count`. Estos datos ordenados se factorizan en el mismo nivel para que se grafiquen de manera ordenada. Usando `ggplot2` luego graficas los datos en un gráfico de barras. El `coord_flip()` grafica barras horizontales.
-
+
Este gráfico de barras muestra una buena vista del número de aves en cada categoría. De un vistazo, ves que el mayor número de aves en esta región pertenece a la categoría de Patos/Gansos/Aves acuáticas. Minnesota es la 'tierra de los 10,000 lagos', ¡así que esto no es sorprendente!
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Agrupamos los datos `birds_filtered` por `Category` y luego graficamos un gráfico de barras.
-
+
Nada sorprendente aquí: los colibríes tienen la menor MaxLength en comparación con los pelícanos o los gansos. ¡Es bueno cuando los datos tienen sentido lógico!
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Desafío
diff --git a/translations/es/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/es/3-Data-Visualization/R/10-visualization-distributions/README.md
index 9b8d351a..e9d36bee 100644
--- a/translations/es/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/es/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Esto da una visión general de la distribución de la longitud corporal por Orden de aves, pero no es la forma óptima de mostrar distribuciones reales. Esa tarea generalmente se realiza creando un Histograma.
@@ -57,7 +57,7 @@ Esto da una visión general de la distribución de la longitud corporal por Orde
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Como puedes ver, la mayoría de las más de 400 aves en este conjunto de datos caen en el rango de menos de 2000 para su Masa Corporal Máxima. Obtén más información sobre los datos cambiando el parámetro `bins` a un número mayor, algo como 30:
@@ -65,7 +65,7 @@ Como puedes ver, la mayoría de las más de 400 aves en este conjunto de datos c
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Este gráfico muestra la distribución de manera un poco más detallada. Un gráfico menos sesgado hacia la izquierda podría crearse asegurándote de seleccionar solo datos dentro de un rango dado:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Prueba algunos otros filtros y puntos de datos. Para ver la distribución completa de los datos, elimina el filtro `['MaxBodyMass']` para mostrar distribuciones etiquetadas.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Parece haber una correlación esperada entre estos dos elementos a lo largo de un eje esperado, con un punto particularmente fuerte de convergencia:
-
+
Los histogramas funcionan bien por defecto para datos numéricos. ¿Qué pasa si necesitas ver distribuciones según datos de texto?
@@ -123,7 +123,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
No parece haber una buena correlación entre la envergadura mínima y el estado de conservación. Prueba otros elementos del conjunto de datos utilizando este método. También puedes probar diferentes filtros. ¿Encuentras alguna correlación?
@@ -137,7 +137,7 @@ Es posible que hayas notado que los histogramas que hemos visto hasta ahora son
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Puedes ver cómo el gráfico refleja el anterior para los datos de Envergadura Mínima; es solo un poco más suave. Si quisieras revisar esa línea irregular de MaxBodyMass en el segundo gráfico que construiste, podrías suavizarla muy bien recreándola usando este método:
@@ -145,7 +145,7 @@ Puedes ver cómo el gráfico refleja el anterior para los datos de Envergadura M
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Si quisieras una línea suave, pero no demasiado suave, edita el parámetro `adjust`:
@@ -153,7 +153,7 @@ Si quisieras una línea suave, pero no demasiado suave, edita el parámetro `adj
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Lee sobre los parámetros disponibles para este tipo de gráfico y experimenta.
@@ -163,7 +163,7 @@ Este tipo de gráfico ofrece visualizaciones explicativas muy atractivas. Con un
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Desafío
diff --git a/translations/es/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/es/3-Data-Visualization/R/11-visualization-proportions/README.md
index 6b703898..32fce313 100644
--- a/translations/es/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/es/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -93,7 +93,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, un gráfico de pastel que muestra las proporciones de estos datos según estas dos clases de hongos. Es bastante importante obtener el orden correcto de las etiquetas, especialmente aquí, así que asegúrate de verificar el orden con el que se construye el arreglo de etiquetas.
-
+
## ¡Donas!
@@ -127,7 +127,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Este código utiliza dos bibliotecas: ggplot2 y webr. Usando la función PieDonut de la biblioteca webr, podemos crear un gráfico de dona fácilmente.
@@ -165,7 +165,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Usando un gráfico de waffle, puedes ver claramente las proporciones de colores de sombrero en este conjunto de datos de hongos. Curiosamente, ¡hay muchos hongos con sombreros verdes!
-
+
En esta lección, aprendiste tres formas de visualizar proporciones. Primero, necesitas agrupar tus datos en categorías y luego decidir cuál es la mejor manera de mostrar los datos: pastel, dona o waffle. Todos son deliciosos y gratifican al usuario con una instantánea instantánea de un conjunto de datos.
diff --git a/translations/es/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/es/3-Data-Visualization/R/12-visualization-relationships/README.md
index 3a2253c2..e457adec 100644
--- a/translations/es/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/es/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Ahora, muestra los mismos datos con un esquema de colores de miel para mostrar cómo evoluciona el precio a lo largo de los años. Puedes hacerlo agregando un parámetro 'scale_color_gradientn' para mostrar el cambio, año tras año:
@@ -61,7 +61,7 @@ Ahora, muestra los mismos datos con un esquema de colores de miel para mostrar c
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Con este cambio de esquema de colores, puedes ver que hay una progresión evidente a lo largo de los años en términos de precio de la miel por libra. De hecho, si observas un conjunto de muestra en los datos para verificar (elige un estado, Arizona por ejemplo), puedes ver un patrón de aumento de precios año tras año, con pocas excepciones:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Puedes ver que el tamaño de los puntos aumenta gradualmente.
-
+
¿Es este un caso simple de oferta y demanda? Debido a factores como el cambio climático y el colapso de colonias, ¿hay menos miel disponible para la compra año tras año, y por eso el precio aumenta?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Respuesta: Sí, con algunas excepciones alrededor del año 2003:
-
+
Pregunta: Bueno, ¿en 2003 también podemos ver un aumento en el suministro de miel? ¿Qué pasa si observas la producción total año tras año?
@@ -115,7 +115,7 @@ Pregunta: Bueno, ¿en 2003 también podemos ver un aumento en el suministro de m
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Respuesta: No realmente. Si observas la producción total, parece haber aumentado en ese año en particular, aunque en general la cantidad de miel producida está en declive durante estos años.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
En esta visualización, puedes comparar el rendimiento por colonia y el número de colonias año tras año, lado a lado con un ajuste de envoltura de 3 para las columnas:
-
+
Para este conjunto de datos, nada particularmente destaca con respecto al número de colonias y su rendimiento, año tras año y estado por estado. ¿Hay una forma diferente de buscar una correlación entre estas dos variables?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Aunque nada salta a la vista alrededor del año 2003, esto nos permite terminar esta lección con una nota un poco más feliz: aunque hay un número decreciente de colonias en general, el número de colonias se está estabilizando, incluso si su rendimiento por colonia está disminuyendo.
diff --git a/translations/es/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/es/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 9120409e..962f947a 100644
--- a/translations/es/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/es/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ En lecciones anteriores, experimentaste con la creación de todo tipo de visuali
Incluso si un científico de datos es cuidadoso al elegir el gráfico adecuado para los datos correctos, hay muchas maneras en que los datos pueden ser mostrados para probar un punto, a menudo a costa de socavar los datos mismos. ¡Existen muchos ejemplos de gráficos e infografías engañosos!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Cómo los gráficos engañan")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Cómo los gráficos engañan")
> 🎥 Haz clic en la imagen de arriba para ver una charla sobre gráficos engañosos
Este gráfico invierte el eje X para mostrar lo opuesto a la verdad, basado en la fecha:
-
+
[Este gráfico](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) es aún más engañoso, ya que el ojo se dirige hacia la derecha para concluir que, con el tiempo, los casos de COVID han disminuido en los diversos condados. De hecho, si miras de cerca las fechas, encontrarás que han sido reorganizadas para dar esa engañosa tendencia descendente.
-
+
Este ejemplo notorio utiliza color Y un eje Y invertido para engañar: en lugar de concluir que las muertes por armas aumentaron después de la aprobación de legislación favorable a las armas, de hecho el ojo es engañado para pensar que lo opuesto es cierto:
-
+
Este extraño gráfico muestra cómo la proporción puede ser manipulada, con un efecto hilarante:
-
+
Comparar lo incomparable es otra táctica dudosa. Hay un [sitio web maravilloso](https://tylervigen.com/spurious-correlations) dedicado a 'correlaciones espurias' que muestra 'hechos' correlacionando cosas como la tasa de divorcio en Maine y el consumo de margarina. Un grupo de Reddit también recopila los [usos feos](https://www.reddit.com/r/dataisugly/top/?t=all) de los datos.
@@ -100,13 +100,13 @@ Etiqueta tus ejes, proporciona una leyenda si es necesario y ofrece información
Si tus datos son textuales y extensos en el eje X, puedes inclinar el texto para mejorar la legibilidad. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) ofrece gráficos en 3D, si tus datos lo permiten. Se pueden producir visualizaciones de datos sofisticadas utilizando esta herramienta.
-
+
## Animación y visualización de gráficos en 3D
Algunas de las mejores visualizaciones de datos hoy en día son animadas. Shirley Wu tiene ejemplos increíbles hechos con D3, como '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', donde cada flor es una visualización de una película. Otro ejemplo para The Guardian es 'bussed out', una experiencia interactiva que combina visualizaciones con Greensock y D3 más un formato de artículo narrativo para mostrar cómo Nueva York maneja su problema de personas sin hogar enviándolas fuera de la ciudad.
-
+
> "Bussed Out: Cómo Estados Unidos mueve a sus personas sin hogar" de [The Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualizaciones por Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Aunque esta lección no es suficiente para profundizar en estas poderosas biblio
Completarás una aplicación web que mostrará una vista animada de esta red social. Utiliza una biblioteca que fue creada para generar una [visualización de una red](https://github.com/emiliorizzo/vue-d3-network) usando Vue.js y D3. Cuando la aplicación esté funcionando, puedes mover los nodos en la pantalla para reorganizar los datos.
-
+
## Proyecto: Construir un gráfico para mostrar una red usando D3.js
diff --git a/translations/es/3-Data-Visualization/README.md b/translations/es/3-Data-Visualization/README.md
index 429a34fc..2691e02a 100644
--- a/translations/es/3-Data-Visualization/README.md
+++ b/translations/es/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualizaciones
-
+
> Foto por Jenna Lee en Unsplash
Visualizar datos es una de las tareas más importantes de un científico de datos. Las imágenes valen más que mil palabras, y una visualización puede ayudarte a identificar todo tipo de aspectos interesantes de tus datos, como picos, valores atípicos, agrupaciones, tendencias y más, que te ayudarán a entender la historia que tus datos intentan contar.
diff --git a/translations/es/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/es/4-Data-Science-Lifecycle/14-Introduction/README.md
index c9571b70..1771dde7 100644
--- a/translations/es/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/es/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ A estas alturas, probablemente te hayas dado cuenta de que la ciencia de datos e
Esta lección se centra en 3 partes del ciclo de vida: captura, procesamiento y mantenimiento.
-
+
> Foto por [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Captura
@@ -101,7 +101,7 @@ Explora el [Ciclo de Vida del Proceso de Ciencia de Datos en Equipo](https://doc
|Proceso de Ciencia de Datos en Equipo (TDSP)|Proceso estándar de la industria para la minería de datos (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Imagen por [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Imagen por [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Cuestionario Posterior a la Clase](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/es/4-Data-Science-Lifecycle/README.md b/translations/es/4-Data-Science-Lifecycle/README.md
index c21465e1..afca247f 100644
--- a/translations/es/4-Data-Science-Lifecycle/README.md
+++ b/translations/es/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# El Ciclo de Vida de la Ciencia de Datos
-
+
> Foto de Headway en Unsplash
En estas lecciones, explorarás algunos de los aspectos del ciclo de vida de la Ciencia de Datos, incluyendo el análisis y la comunicación en torno a los datos.
diff --git a/translations/es/5-Data-Science-In-Cloud/README.md b/translations/es/5-Data-Science-In-Cloud/README.md
index 25c4caa2..bfea3b51 100644
--- a/translations/es/5-Data-Science-In-Cloud/README.md
+++ b/translations/es/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Ciencia de Datos en la Nube
-
+
> Foto de [Jelleke Vanooteghem](https://unsplash.com/@ilumire) en [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Cuando se trata de hacer ciencia de datos con grandes volúmenes de datos, la nube puede marcar una gran diferencia. En las próximas tres lecciones, veremos qué es la nube y por qué puede ser muy útil. También exploraremos un conjunto de datos sobre insuficiencia cardíaca y construiremos un modelo para ayudar a evaluar la probabilidad de que alguien sufra una insuficiencia cardíaca. Usaremos el poder de la nube para entrenar, implementar y consumir un modelo de dos maneras diferentes. Una forma utilizando únicamente la interfaz de usuario en un enfoque de bajo código/sin código, y la otra utilizando el Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Temas
diff --git a/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 0d883355..ddb4d8db 100644
--- a/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Gracias a la democratización de la IA, los desarrolladores ahora encuentran má
* [Ciencia de Datos en la Salud](https://data-flair.training/blogs/data-science-in-healthcare/) - destaca aplicaciones como imágenes médicas (por ejemplo, MRI, Rayos X, Tomografía), genómica (secuenciación de ADN), desarrollo de medicamentos (evaluación de riesgos, predicción de éxito), analítica predictiva (cuidado de pacientes y logística de suministros), seguimiento y prevención de enfermedades, entre otros.
- Crédito de la Imagen: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Crédito de la Imagen: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
La figura muestra otros dominios y ejemplos para aplicar técnicas de ciencia de datos. ¿Quieres explorar otras aplicaciones? Consulta la sección [Revisión y Autoestudio](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) a continuación.
diff --git a/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 0f3c7e66..d91d6d6b 100644
--- a/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/es/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ La interfaz de Explorer (mostrada en la captura de pantalla abajo) te permite se
2. Explorar el [Catálogo](https://planetarycomputer.microsoft.com/catalog) de conjuntos de datos - aprender el propósito de cada uno.
3. Usar el Explorer - elegir un conjunto de datos de interés, seleccionar una consulta relevante y una opción de representación.
-
+
`Tu tarea:`
Ahora estudia la visualización que se genera en el navegador y responde lo siguiente:
diff --git a/translations/es/CONTRIBUTING.md b/translations/es/CONTRIBUTING.md
index d0c23fae..0b89553a 100644
--- a/translations/es/CONTRIBUTING.md
+++ b/translations/es/CONTRIBUTING.md
@@ -315,7 +315,7 @@ Incluye en la descripción de tu PR:
```
````
-- Añade texto alternativo a las imágenes: ``
+- Añade texto alternativo a las imágenes: ``
- Mantén las líneas con una longitud razonable (alrededor de 80-100 caracteres)
### Python
diff --git a/translations/es/README.md b/translations/es/README.md
index 98121db0..c3f96503 100644
--- a/translations/es/README.md
+++ b/translations/es/README.md
@@ -1,196 +1,206 @@
-# Ciencia de Datos para Principiantes - Un Plan de Estudios
+# Ciencia de Datos para Principiantes - Un Currículo
-[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
+[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
-[](https://github.com/microsoft/Data-Science-For-Beginners/blob/master/LICENSE)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/graphs/contributors/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/issues/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/pulls/)
-[](http://makeapullrequest.com)
+[](https://github.com/microsoft/Data-Science-For-Beginners/blob/master/LICENSE)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/graphs/contributors/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/issues/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/pulls/)
+[](http://makeapullrequest.com)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/watchers/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/network/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/stargazers/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/watchers/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/network/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/stargazers/)
[](https://discord.gg/nTYy5BXMWG)
-[](https://aka.ms/foundry/forum)
+[](https://aka.ms/foundry/forum)
-Los Azure Cloud Advocates de Microsoft se complacen en ofrecer un plan de estudios de 10 semanas y 20 lecciones sobre Ciencia de Datos. Cada lección incluye cuestionarios antes y después de la lección, instrucciones escritas para completar la lección, una solución y una tarea. Nuestra pedagogía basada en proyectos te permite aprender mientras construyes, una forma comprobada para que las nuevas habilidades "perduren".
+Los Azure Cloud Advocates de Microsoft tienen el placer de ofrecer un currículo de 10 semanas, 20 lecciones, todo sobre Ciencia de Datos. Cada lección incluye cuestionarios previos y posteriores a la lección, instrucciones escritas para completar la lección, una solución y una tarea. Nuestra pedagogía basada en proyectos te permite aprender mientras construyes, una forma comprobada de que las nuevas habilidades "se queden".
**Muchas gracias a nuestros autores:** [Jasmine Greenaway](https://www.twitter.com/paladique), [Dmitry Soshnikov](http://soshnikov.com), [Nitya Narasimhan](https://twitter.com/nitya), [Jalen McGee](https://twitter.com/JalenMcG), [Jen Looper](https://twitter.com/jenlooper), [Maud Levy](https://twitter.com/maudstweets), [Tiffany Souterre](https://twitter.com/TiffanySouterre), [Christopher Harrison](https://www.twitter.com/geektrainer).
-**🙏 Agradecimientos especiales 🙏 a nuestros autores, revisores y colaboradores de contenido de [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** en particular Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
+**🙏 Agradecimientos especiales 🙏 a nuestros autores, revisores y colaboradores de contenido [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** destacando a Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Ciencia de Datos para Principiantes - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
-### 🌐 Soporte multilingüe
+### 🌐 Soporte Multilenguaje
-#### Soportado mediante GitHub Action (Automatizado y siempre actualizado)
+#### Soportado vía GitHub Action (Automatizado y Siempre Actualizado)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](./README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+
+> **¿Prefieres clonar localmente?**
+
+> Este repositorio incluye traducciones en más de 50 idiomas, lo que aumenta significativamente el tamaño de la descarga. Para clonar sin las traducciones, usa sparse checkout:
+> ```bash
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
+> cd Data-Science-For-Beginners
+> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
+> ```
+> Esto te da todo lo que necesitas para completar el curso con una descarga mucho más rápida.
-**Si deseas que se añadan idiomas adicionales, los idiomas compatibles están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Si deseas soportar idiomas adicionales de traducción estos están listados [aquí](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
-#### Únete a nuestra comunidad
+#### Únete a Nuestra Comunidad
[](https://discord.gg/nTYy5BXMWG)
-Tenemos una serie en Discord llamada Learn with AI en curso; obtén más información y únete a nosotros en [Learn with AI Series](https://aka.ms/learnwithai/discord) del 18 al 30 de septiembre de 2025. Obtendrás consejos y trucos para usar GitHub Copilot para Ciencia de Datos.
+Tenemos una serie de aprendizaje con IA en Discord, aprende más y únete en [Learn with AI Series](https://aka.ms/learnwithai/discord) del 18 al 30 de septiembre de 2025. Obtendrás consejos y trucos para usar GitHub Copilot para Ciencia de Datos.
-
+
# ¿Eres estudiante?
Comienza con los siguientes recursos:
-- [Página Student Hub](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) En esta página encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un vale de certificación gratuito. Esta es una página que querrás marcar y consultar de vez en cuando ya que actualizamos el contenido al menos mensualmente.
-- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Únete a una comunidad global de embajadores estudiantiles; esto podría ser tu puerta de entrada a Microsoft.
+- [Página del Hub para Estudiantes](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) En esta página encontrarás recursos para principiantes, paquetes para estudiantes e incluso formas de obtener un cupón de certificación gratis. Esta es una página que querrás marcar y revisar de vez en cuando ya que cambiamos contenido al menos mensualmente.
+- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Únete a una comunidad global de embajadores estudiantiles, esta podría ser tu puerta de entrada a Microsoft.
-# Primeros pasos
+# Comenzando
## 📚 Documentación
-- **[Guía de instalación](INSTALLATION.md)** - Instrucciones paso a paso para configurar el entorno para principiantes
-- **[Guía de uso](USAGE.md)** - Ejemplos y flujos de trabajo comunes
-- **[Solución de problemas](TROUBLESHOOTING.md)** - Soluciones a problemas comunes
-- **[Guía de contribución](CONTRIBUTING.md)** - Cómo contribuir a este proyecto
-- **[Para profesores](for-teachers.md)** - Orientación para la enseñanza y recursos para el aula
+- **[Guía de Instalación](INSTALLATION.md)** - Instrucciones paso a paso para principiantes
+- **[Guía de Uso](USAGE.md)** - Ejemplos y flujos de trabajo comunes
+- **[Resolución de Problemas](TROUBLESHOOTING.md)** - Soluciones a problemas comunes
+- **[Guía para Contribuir](CONTRIBUTING.md)** - Cómo contribuir a este proyecto
+- **[Para Profesores](for-teachers.md)** - Orientación para enseñanza y recursos para el aula
-## 👨🎓 Para estudiantes
-> **Principiantes absolutos**: ¿Nuevo en ciencia de datos? Comienza con nuestros [ejemplos para principiantes](examples/README.md) amigables! Estos ejemplos simples y bien comentados te ayudarán a entender lo básico antes de sumergirte en el plan de estudios completo.
-> **[Estudiantes](https://aka.ms/student-page)**: para usar este plan de estudios por tu cuenta, haz un fork del repositorio completo y completa los ejercicios por tu cuenta, comenzando con un cuestionario previo a la lección. Luego lee la lección y completa el resto de las actividades. Intenta crear los proyectos comprendiendo las lecciones en lugar de copiar el código de la solución; sin embargo, ese código está disponible en las carpetas /solutions en cada lección orientada a proyectos. Otra idea sería formar un grupo de estudio con amigos y revisar el contenido juntos. Para un estudio más profundo, recomendamos [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
+## 👨🎓 Para Estudiantes
+> **Principiantes Completos**: ¿Nuevo en ciencia de datos? Comienza con nuestros [ejemplos para principiantes](examples/README.md)! Estos ejemplos simples y bien comentados te ayudarán a entender lo básico antes de sumergirte en el currículo completo.
+> **[Estudiantes](https://aka.ms/student-page)**: para usar este currículo por tu cuenta, haz un fork de todo el repositorio y completa los ejercicios por tu cuenta, empezando con un cuestionario previo a la lección. Luego lee la lección y completa el resto de las actividades. Intenta crear los proyectos comprendiendo las lecciones en lugar de copiar el código solución; sin embargo, ese código está disponible en las carpetas /solutions en cada lección orientada a proyectos. Otra idea sería formar un grupo de estudio con amigos y revisar el contenido juntos. Para estudio adicional, recomendamos [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
**Inicio rápido:**
-1. Revisa la [Guía de instalación](INSTALLATION.md) para configurar tu entorno
-2. Consulta la [Guía de uso](USAGE.md) para aprender cómo trabajar con el plan de estudios
-3. Comienza con la Lección 1 y avanza de forma secuencial
-4. Únete a nuestra [comunidad en Discord](https://aka.ms/ds4beginners/discord) para obtener soporte
-
-## 👩🏫 Para profesores
+1. Revisa la [Guía de Instalación](INSTALLATION.md) para configurar tu entorno
+2. Revisa la [Guía de Uso](USAGE.md) para aprender a trabajar con el currículo
+3. Comienza con la Lección 1 y avanza secuencialmente
+4. Únete a nuestra [comunidad en Discord](https://aka.ms/ds4beginners/discord) para apoyo
-> **Profesores**: hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este plan de estudios. ¡Nos encantaría recibir sus comentarios [en nuestro foro de discusión](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
+## 👩🏫 Para Profesores
-## Conoce al equipo
+> **Profesores**: hemos [incluido algunas sugerencias](for-teachers.md) sobre cómo usar este currículo. ¡Nos encantaría recibir sus comentarios [en nuestro foro de discusión](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
-[](https://youtu.be/8mzavjQSMM4 "Vídeo promocional")
+## Conoce al Equipo
+[](https://youtu.be/8mzavjQSMM4 "Video promocional")
**Gif por** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
-> 🎥 Haga clic en la imagen de arriba para ver un video sobre el proyecto y las personas que lo crearon!
+
+> 🎥 ¡Haz clic en la imagen de arriba para ver un video sobre el proyecto y las personas que lo crearon!
## Pedagogía
-Hemos elegido dos principios pedagógicos al construir este plan de estudios: asegurarnos de que esté basado en proyectos y que incluya cuestionarios frecuentes. Al final de esta serie, los estudiantes habrán aprendido principios básicos de la ciencia de datos, incluidos conceptos éticos, preparación de datos, diferentes formas de trabajar con datos, visualización de datos, análisis de datos, casos de uso reales de la ciencia de datos y más.
+Hemos elegido dos principios pedagógicos al construir este currículo: asegurar que sea basado en proyectos y que incluya cuestionarios frecuentes. Al final de esta serie, los estudiantes habrán aprendido principios básicos de la ciencia de datos, incluyendo conceptos éticos, preparación de datos, diferentes formas de trabajar con datos, visualización de datos, análisis de datos, casos de uso reales de la ciencia de datos, y más.
-Además, un cuestionario de bajo riesgo antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este plan de estudios fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en parte. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 10 semanas.
+Además, un cuestionario de baja presión antes de una clase establece la intención del estudiante hacia el aprendizaje de un tema, mientras que un segundo cuestionario después de la clase asegura una mayor retención. Este currículo fue diseñado para ser flexible y divertido y puede tomarse en su totalidad o en parte. Los proyectos comienzan pequeños y se vuelven cada vez más complejos al final del ciclo de 10 semanas.
-> Encuentre nuestro [Código de Conducta](CODE_OF_CONDUCT.md), las pautas de [Contribución](CONTRIBUTING.md), y de [Traducción](TRANSLATIONS.md). ¡Agradecemos sus comentarios constructivos!
+> Encuentra nuestro [Código de Conducta](CODE_OF_CONDUCT.md), [Contribuciones](CONTRIBUTING.md), [Traducción](TRANSLATIONS.md) y directrices. ¡Agradecemos tus comentarios constructivos!
## Cada lección incluye:
- Sketchnote opcional
-- Video suplementario opcional
+- Video complementario opcional
- Cuestionario de calentamiento previo a la lección
- Lección escrita
-- Para las lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto
-- Verificaciones de conocimiento
+- Para lecciones basadas en proyectos, guías paso a paso sobre cómo construir el proyecto
+- Chequeos de conocimiento
- Un desafío
-- Lecturas complementarias
+- Lectura complementaria
- Tarea
- [Cuestionario posterior a la lección](https://ff-quizzes.netlify.app/en/)
-> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-App, son 40 cuestionarios en total de tres preguntas cada uno. Están enlazados desde las lecciones, pero la aplicación de cuestionarios puede ejecutarse localmente o desplegarse en Azure; siga las instrucciones en la carpeta `quiz-app`. Se están localizando de forma gradual.
+> **Una nota sobre los cuestionarios**: Todos los cuestionarios están contenidos en la carpeta Quiz-App, con un total de 40 cuestionarios de tres preguntas cada uno. Están enlazados desde dentro de las lecciones, pero la aplicación de cuestionario puede ejecutarse localmente o desplegarse en Azure; sigue las instrucciones en la carpeta `quiz-app`. Se están localizando gradualmente.
## 🎓 Ejemplos para Principiantes
-**¿Nuevo en Ciencia de Datos?** Hemos creado un [directorio de ejemplos](examples/README.md) especial con código simple y bien comentado para ayudarle a comenzar:
+**¿Nuevo en Ciencia de Datos?** Hemos creado un [directorio de ejemplos](examples/README.md) especial con código simple y bien comentado para ayudarte a comenzar:
-- 🌟 **Hello World** - Su primer programa de ciencia de datos
-- 📂 **Cargando Datos** - Aprenda a leer y explorar conjuntos de datos
-- 📊 **Análisis Simple** - Calcule estadísticas y encuentre patrones
-- 📈 **Visualización Básica** - Cree gráficos y diagramas
-- 🔬 **Proyecto del Mundo Real** - Flujo de trabajo completo de principio a fin
+- 🌟 **Hola Mundo** - Tu primer programa de ciencia de datos
+- 📂 **Cargar Datos** - Aprende a leer y explorar conjuntos de datos
+- 📊 **Análisis Simple** - Calcula estadísticas y encuentra patrones
+- 📈 **Visualización Básica** - Crea gráficos y diagramas
+- 🔬 **Proyecto del Mundo Real** - Flujo de trabajo completo desde el inicio hasta el fin
-Cada ejemplo incluye comentarios detallados que explican cada paso, lo que lo hace perfecto para principiantes absolutos!
+Cada ejemplo incluye comentarios detallados explicando cada paso, ¡perfecto para principiantes absolutos!
-👉 **[Comience con los ejemplos](examples/README.md)** 👈
+👉 **[Comienza con los ejemplos](examples/README.md)** 👈
## Lecciones
-||
+||
|:---:|
-| Ciencia de Datos para Principiantes: Hoja de ruta - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
-
-
-| Número de Lección | Tema | Agrupación de la Lección | Objetivos de Aprendizaje | Lección Vinculada | Autor |
-| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
-| 01 | Definiendo la Ciencia de Datos | [Introducción](1-Introduction/README.md) | Aprenda los conceptos básicos detrás de la ciencia de datos y cómo se relaciona con la inteligencia artificial, el aprendizaje automático, y el big data. | [lección](1-Introduction/01-defining-data-science/README.md) [video](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
-| 02 | Ética en la Ciencia de Datos | [Introducción](1-Introduction/README.md) | Conceptos, desafíos y marcos de ética de datos. | [lección](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
-| 03 | Definición de Datos | [Introducción](1-Introduction/README.md) | Cómo se clasifican los datos y sus fuentes comunes. | [lección](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
-| 04 | Introducción a la Estadística y la Probabilidad | [Introducción](1-Introduction/README.md) | Las técnicas matemáticas de probabilidad y estadística para entender los datos. | [lección](1-Introduction/04-stats-and-probability/README.md) [video](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
-| 05 | Trabajar con Datos Relacionales | [Trabajar con Datos](2-Working-With-Data/README.md) | Introducción a los datos relacionales y los fundamentos para explorar y analizar datos relacionales con el Lenguaje de Consulta Estructurado, también conocido como SQL (pronunciado “see-quell”). | [lección](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
-| 06 | Trabajar con Datos NoSQL | [Trabajar con Datos](2-Working-With-Data/README.md) | Introducción a los datos no relacionales, sus diversos tipos y los fundamentos para explorar y analizar bases de datos de documentos. | [lección](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
-| 07 | Trabajar con Python | [Trabajar con Datos](2-Working-With-Data/README.md) | Conceptos básicos sobre el uso de Python para la exploración de datos con bibliotecas como Pandas. Se recomienda una comprensión básica de la programación en Python. | [lección](2-Working-With-Data/07-python/README.md) [video](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
-| 08 | Preparación de Datos | [Trabajar con Datos](2-Working-With-Data/README.md) | Temas sobre técnicas de datos para limpiar y transformar los datos para manejar desafíos de datos faltantes, inexactos o incompletos. | [lección](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
-| 09 | Visualización de Cantidades | [Visualización de Datos](3-Data-Visualization/README.md) | Aprenda a usar Matplotlib para visualizar datos de aves 🦆 | [lección](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 10 | Visualización de Distribuciones de Datos | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizar observaciones y tendencias dentro de un intervalo. | [lección](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 11 | Visualización de Proporciones | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizar porcentajes discretos y agrupados. | [lección](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 12 | Visualización de Relaciones | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizar conexiones y correlaciones entre conjuntos de datos y sus variables. | [lección](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 13 | Visualizaciones Significativas | [Visualización de Datos](3-Data-Visualization/README.md) | Técnicas y orientación para hacer que sus visualizaciones sean valiosas para una resolución efectiva de problemas y obtención de perspectivas. | [lección](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| Ciencia de Datos para Principiantes: Hoja de Ruta - _Sketchnote por [@nitya](https://twitter.com/nitya)_ |
+
+
+| Número de Lección | Tema | Agrupación de Lección | Objetivos de Aprendizaje | Lección Enlazada | Autor |
+| :---------------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | Definiendo Ciencia de Datos | [Introducción](1-Introduction/README.md) | Aprende los conceptos básicos detrás de la ciencia de datos y cómo se relaciona con inteligencia artificial, aprendizaje automático y big data. | [lección](1-Introduction/01-defining-data-science/README.md) [video](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | Ética en Ciencia de Datos | [Introducción](1-Introduction/README.md) | Conceptos, desafíos y marcos de la ética en datos. | [lección](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | Definiendo Datos | [Introducción](1-Introduction/README.md) | Cómo se clasifican los datos y sus fuentes comunes. | [lección](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | Introducción a Estadística y Probabilidad | [Introducción](1-Introduction/README.md) | Técnicas matemáticas de probabilidad y estadística para entender los datos. | [lección](1-Introduction/04-stats-and-probability/README.md) [video](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | Trabajando con Datos Relacionales | [Trabajando con Datos](2-Working-With-Data/README.md) | Introducción a datos relacionales y los conceptos básicos de exploración y análisis de datos relacionales con el Lenguaje de Consulta Estructurado, también conocido como SQL (pronunciado “see-quell”). | [lección](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
+| 06 | Trabajando con Datos NoSQL | [Trabajando con Datos](2-Working-With-Data/README.md) | Introducción a datos no relacionales, sus diversos tipos y los fundamentos de exploración y análisis de bases de datos de documentos. | [lección](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
+| 07 | Trabajando con Python | [Trabajando con Datos](2-Working-With-Data/README.md) | Conceptos básicos de uso de Python para la exploración de datos con bibliotecas como Pandas. Se recomienda un entendimiento fundamental de programación en Python. | [lección](2-Working-With-Data/07-python/README.md) [video](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | Preparación de Datos | [Trabajando con Datos](2-Working-With-Data/README.md) | Temas sobre técnicas de datos para limpiar y transformar los datos para manejar desafíos de datos faltantes, inexactos o incompletos. | [lección](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | Visualizando Cantidades | [Visualización de Datos](3-Data-Visualization/README.md) | Aprende a usar Matplotlib para visualizar datos de aves 🦆 | [lección](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | Visualizando Distribuciones de Datos | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizando observaciones y tendencias dentro de un intervalo. | [lección](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | Visualizando Proporciones | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizando porcentajes discretos y agrupados. | [lección](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | Visualizando Relaciones | [Visualización de Datos](3-Data-Visualization/README.md) | Visualizando conexiones y correlaciones entre conjuntos de datos y sus variables. | [lección](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | Visualizaciones Significativas | [Visualización de Datos](3-Data-Visualization/README.md) | Técnicas y consejos para hacer tus visualizaciones valiosas para la resolución efectiva de problemas y obtención de insights. | [lección](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
| 14 | Introducción al ciclo de vida de la Ciencia de Datos | [Ciclo de Vida](4-Data-Science-Lifecycle/README.md) | Introducción al ciclo de vida de la ciencia de datos y su primer paso de adquisición y extracción de datos. | [lección](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
-| 15 | Analizar | [Ciclo de Vida](4-Data-Science-Lifecycle/README.md) | Esta fase del ciclo de vida de la ciencia de datos se centra en técnicas para analizar datos. | [lección](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
-| 16 | Comunicación | [Ciclo de Vida](4-Data-Science-Lifecycle/README.md) | Esta fase del ciclo de vida de la ciencia de datos se centra en presentar las conclusiones de los datos de una manera que facilite su comprensión a los responsables de la toma de decisiones. | [lección](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 15 | Analizando | [Ciclo de Vida](4-Data-Science-Lifecycle/README.md) | Esta fase del ciclo de vida de la ciencia de datos se enfoca en técnicas para analizar datos. | [lección](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | Comunicación | [Ciclo de Vida](4-Data-Science-Lifecycle/README.md) | Esta fase del ciclo de vida de la ciencia de datos se enfoca en presentar los insights de los datos de una manera que facilite la comprensión a los tomadores de decisiones. | [lección](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
| 17 | Ciencia de Datos en la Nube | [Datos en la Nube](5-Data-Science-In-Cloud/README.md) | Esta serie de lecciones introduce la ciencia de datos en la nube y sus beneficios. | [lección](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) y [Maud](https://twitter.com/maudstweets) |
| 18 | Ciencia de Datos en la Nube | [Datos en la Nube](5-Data-Science-In-Cloud/README.md) | Entrenamiento de modelos usando herramientas Low Code. |[lección](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) y [Maud](https://twitter.com/maudstweets) |
| 19 | Ciencia de Datos en la Nube | [Datos en la Nube](5-Data-Science-In-Cloud/README.md) | Despliegue de modelos con Azure Machine Learning Studio. | [lección](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) y [Maud](https://twitter.com/maudstweets) |
-| 20 | Ciencia de Datos en el Mundo Real | [En el Mundo Real](6-Data-Science-In-Wild/README.md) | Proyectos impulsados por la ciencia de datos en el mundo real. | [lección](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+| 20 | Ciencia de Datos en el Mundo Real | [En el Mundo Real](6-Data-Science-In-Wild/README.md) | Proyectos impulsados por ciencia de datos en el mundo real. | [lección](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
## GitHub Codespaces
-Siga estos pasos para abrir este ejemplo en un Codespace:
-1. Haga clic en el menú desplegable Code y seleccione la opción Open with Codespaces.
-2. Seleccione + New codespace en la parte inferior del panel.
-For more info, check out the [GitHub documentation](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository).
+Sigue estos pasos para abrir este ejemplo en un Codespace:
+1. Haz clic en el menú desplegable Code y selecciona la opción Open with Codespaces.
+2. Selecciona + New codespace en la parte inferior del panel.
+Para más información, consulta la [documentación de GitHub](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
## VSCode Remote - Containers
-Siga estos pasos para abrir este repo en un contenedor usando su máquina local y VSCode usando la extensión VS Code Remote - Containers:
+Sigue estos pasos para abrir este repositorio en un contenedor usando tu máquina local y VSCode con la extensión VS Code Remote - Containers:
-1. Si es la primera vez que usa un contenedor de desarrollo, asegúrese de que su sistema cumpla los requisitos previos (es decir, tener Docker instalado) en [la documentación para comenzar](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
+1. Si es la primera vez que usas un contenedor de desarrollo, asegúrate de que tu sistema cumple con los requisitos previos (es decir, tener Docker instalado) en [la documentación de inicio](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
-To use this repository, you can either open the repository in an isolated Docker volume:
+Para usar este repositorio, puedes abrirlo en un volumen Docker aislado:
-**Nota**: Bajo el capó, esto usará el comando Remote-Containers: **Clone Repository in Container Volume...** para clonar el código fuente en un volumen Docker en lugar del sistema de archivos local. [Volumes](https://docs.docker.com/storage/volumes/) son el mecanismo preferido para persistir los datos del contenedor.
+**Nota**: Internamente, esto usará el comando Remote-Containers: **Clone Repository in Container Volume...** para clonar el código fuente en un volumen Docker en lugar del sistema de archivos local. [Los volúmenes](https://docs.docker.com/storage/volumes/) son el mecanismo preferido para persistir datos del contenedor.
-Or open a locally cloned or downloaded version of the repository:
+O abre una versión clonada o descargada localmente del repositorio:
-- Clone este repositorio en su sistema de archivos local.
-- Presione F1 y seleccione el comando **Remote-Containers: Open Folder in Container...**.
-- Seleccione la copia clonada de esta carpeta, espere a que el contenedor se inicie, y pruebe cosas.
+- Clona este repositorio en tu sistema de archivos local.
+- Presiona F1 y selecciona el comando **Remote-Containers: Open Folder in Container...**.
+- Selecciona la copia clonada de esta carpeta, espera a que el contenedor arranque y prueba.
## Acceso sin conexión
-Puede ejecutar esta documentación sin conexión usando [Docsify](https://docsify.js.org/#/). Haga un fork de este repositorio, [instale Docsify](https://docsify.js.org/#/quickstart) en su máquina local, luego en la carpeta raíz de este repositorio, escriba `docsify serve`. El sitio web se servirá en el puerto 3000 en su localhost: `localhost:3000`.
+Puedes ejecutar esta documentación sin conexión usando [Docsify](https://docsify.js.org/#/). Haz un fork de este repositorio, [instala Docsify](https://docsify.js.org/#/quickstart) en tu máquina local, luego en la carpeta raíz de este repositorio, escribe `docsify serve`. El sitio web se servirá en el puerto 3000 en tu local: `localhost:3000`.
-> Tenga en cuenta que los notebooks no se renderizarán a través de Docsify, así que cuando necesite ejecutar un notebook, hágalo por separado en VS Code con un kernel de Python.
+> Nota, los notebooks no se renderizarán con Docsify, así que cuando necesites ejecutar un notebook, hazlo por separado en VS Code usando un kernel de Python.
-## Otros Planes de Estudio
+## Otros Currículos
-¡Nuestro equipo produce otros planes de estudio! Vea:
+¡Nuestro equipo produce otros currículos! Mira:
### LangChain
@@ -199,9 +209,9 @@ Puede ejecutar esta documentación sin conexión usando [Docsify](https://docsif
---
-### Azure / Edge / MCP / Agents
+### Azure / Edge / MCP / Agentes
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
@@ -215,7 +225,7 @@ Puede ejecutar esta documentación sin conexión usando [Docsify](https://docsif
---
-### Aprendizaje esencial
+### Aprendizaje Básico
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@@ -227,26 +237,26 @@ Puede ejecutar esta documentación sin conexión usando [Docsify](https://docsif
---
### Serie Copilot
-[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
+[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
## Obtener ayuda
-**¿Tiene problemas?** Consulte nuestra [Guía de resolución de problemas](TROUBLESHOOTING.md) para soluciones a problemas comunes.
+**¿Tienes problemas?** Consulta nuestra [Guía de Solución de Problemas](TROUBLESHOOTING.md) para encontrar soluciones a problemas comunes.
-Si se queda atascado o tiene alguna pregunta sobre crear aplicaciones de IA. Únase a otros estudiantes y desarrolladores con experiencia en discusiones sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte libremente.
+Si te quedas atascado o tienes alguna pregunta sobre cómo crear aplicaciones de IA, únete a otros aprendices y desarrolladores experimentados en discusiones sobre MCP. Es una comunidad de apoyo donde las preguntas son bienvenidas y el conocimiento se comparte libremente.
-[](https://discord.gg/nTYy5BXMWG)
+[](https://discord.gg/nTYy5BXMWG)
-Si tiene comentarios sobre el producto o encuentra errores mientras construye, visite:
+Si tienes comentarios sobre el producto o encuentras errores mientras desarrollas, visita:
-[](https://aka.ms/foundry/forum)
+[](https://aka.ms/foundry/forum)
---
-Descargo de responsabilidad:
-Este documento ha sido traducido utilizando el servicio de traducción por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Aunque nos esforzamos por la exactitud, 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 realizada por traductores humanos. No nos hacemos responsables de ningún malentendido o interpretación errónea que pueda derivarse del uso de esta traducción.
+**Aviso legal**:
+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 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 malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.
\ No newline at end of file
diff --git a/translations/es/sketchnotes/README.md b/translations/es/sketchnotes/README.md
index 10773237..b49f8017 100644
--- a/translations/es/sketchnotes/README.md
+++ b/translations/es/sketchnotes/README.md
@@ -13,7 +13,7 @@ Encuentra todas las notas visuales aquí.
Nitya Narasimhan, artista
-
+
**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 ningún malentendido o interpretación errónea que surja del uso de esta traducción.
\ No newline at end of file
diff --git a/translations/et/1-Introduction/01-defining-data-science/README.md b/translations/et/1-Introduction/01-defining-data-science/README.md
index ca7a06fd..061bca31 100644
--- a/translations/et/1-Introduction/01-defining-data-science/README.md
+++ b/translations/et/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Loengu-eelne viktoriin](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Kui soovime asja veelgi keerulisemaks teha, saame joonistada graafiku, kus on n
Selles väljakutses püüame leida andmeteadusega seotud kontseptsioone, uurides tekste. Võtame Wikipedia artikli andmeteaduse kohta, laadime alla ja töötleme teksti ning loome sõnapilve, mis näeb välja selline:
-
+
Külastage [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore'), et koodi läbi vaadata. Samuti saate koodi käivitada ja näha, kuidas see reaalajas kõiki andmetransformatsioone teostab.
diff --git a/translations/et/1-Introduction/04-stats-and-probability/README.md b/translations/et/1-Introduction/04-stats-and-probability/README.md
index 6a728504..b3557ad0 100644
--- a/translations/et/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/et/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Statistika ja tõenäosusteooria on kaks tihedalt seotud matemaatika valdkonda, mis on väga olulised andmeteaduse jaoks. Andmetega on võimalik töötada ka ilma sügavate matemaatiliste teadmisteta, kuid siiski on parem omada vähemalt mõningaid põhiteadmisi. Siin anname lühikese sissejuhatuse, mis aitab teil alustada.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Loengu-eelne viktoriin](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -40,7 +40,7 @@ Pideva muutuja tõenäosusjaotuse kirjeldamine on keerulisem, kui väärtused on
Me saame rääkida ainult muutuja tõenäosusest langeda teatud väärtuste vahemikku, nt P(t1≤X<t2). Sel juhul kirjeldatakse tõenäosusjaotust **tõenäosustihedusfunktsiooni** p(x) abil, nii et
-![P(t_1\le X
+
Siin arvutame ka **kvartiilidevahelise ulatuse** IQR=Q3-Q1 ja nn **äärmusväärtused** - väärtused, mis jäävad väljapoole piire [Q1-1.5*IQR,Q3+1.5*IQR].
@@ -82,11 +82,11 @@ Kui analüüsime päriselust pärit andmeid, ei ole need sageli otseselt juhusli
Siin on kastdiagramm, mis näitab meie andmete keskmist, mediaani ja kvartiile:
-
+
Kuna meie andmed sisaldavad teavet erinevate mängijate **rollide** kohta, saame teha kastdiagrammi ka rolli järgi - see võimaldab meil saada aimu, kuidas parameetrite väärtused rollide lõikes erinevad. Seekord vaatleme pikkust:
-
+
See diagramm viitab sellele, et esimese baasi mängijate keskmine pikkus on suurem kui teise baasi mängijate keskmine pikkus. Hiljem selles õppetükis õpime, kuidas saame seda hüpoteesi formaalsemalt testida ja kuidas näidata, et meie andmed on statistiliselt olulised selle tõestamiseks.
@@ -94,7 +94,7 @@ See diagramm viitab sellele, et esimese baasi mängijate keskmine pikkus on suur
Et näha, milline on meie andmete jaotus, saame joonistada graafiku, mida nimetatakse **histogrammiks**. X-telg sisaldab erinevate kaalude vahemikke (nn **binne**) ja vertikaaltelg näitab, mitu korda meie juhusliku muutuja valim oli antud vahemikus.
-
+
Sellest histogrammist näete, et kõik väärtused koonduvad teatud keskmise kaalu ümber ja mida kaugemale me sellest kaalust läheme, seda vähem esineb selle väärtusega kaale. St, on väga ebatõenäoline, et pesapallimängija kaal erineb oluliselt keskmisest kaalust. Kaalude dispersioon näitab, mil määral kaalud tõenäoliselt keskmisest erinevad.
@@ -110,7 +110,7 @@ samples = np.random.normal(mean,std,1000)
Kui joonistame genereeritud valimite histogrammi, näeme pilti, mis on väga sarnane ülaltoodud pildiga. Ja kui suurendame valimite arvu ja binide arvu, saame genereerida normaaljaotuse graafiku, mis on ideaalile lähemal:
-
+
*Normaaljaotus keskmisega=0 ja standardhälbega=1*
@@ -229,7 +229,7 @@ array([[1. , 0.52959196],
Meie puhul näitab väärtus 0.53, et kehakaalu ja pikkuse vahel on mingi korrelatsioon. Võime teha ka hajuvusdiagrammi ühe väärtuse kohta teise vastu, et näha seost visuaalselt:
-
+
> Rohkem korrelatsiooni ja kovariatsiooni näiteid leiate [kaasnevast märkmikust](notebook.ipynb).
diff --git a/translations/et/1-Introduction/README.md b/translations/et/1-Introduction/README.md
index fb8d429f..ae199971 100644
--- a/translations/et/1-Introduction/README.md
+++ b/translations/et/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Sissejuhatus andmeteadusesse
-
+
> Foto autorilt Stephen Dawson lehel Unsplash
Nendes tundides avastad, kuidas andmeteadust defineeritakse, ning õpid tundma eetilisi kaalutlusi, mida andmeteadlane peab arvesse võtma. Samuti saad teada, kuidas andmeid defineeritakse, ning õpid veidi statistika ja tõenäosusteooria kohta, mis on andmeteaduse põhivaldkonnad.
diff --git a/translations/et/2-Working-With-Data/06-non-relational/README.md b/translations/et/2-Working-With-Data/06-non-relational/README.md
index a56ebfb4..490c9a2e 100644
--- a/translations/et/2-Working-With-Data/06-non-relational/README.md
+++ b/translations/et/2-Working-With-Data/06-non-relational/README.md
@@ -21,7 +21,7 @@ Andmed ei piirdu ainult relatsiooniliste andmebaasidega. See õppetund keskendub
Tabelarvutused on populaarne viis andmete salvestamiseks ja uurimiseks, kuna nende seadistamine ja kasutuselevõtt nõuab vähem tööd. Selles õppetunnis õpid tabelarvutuse põhikomponente, samuti valemeid ja funktsioone. Näited illustreeritakse Microsoft Exceliga, kuid enamik osasid ja teemasid on sarnaste nimede ja sammudega võrreldavad teiste tabelarvutustarkvaradega.
-
+
Tabelarvutus on fail, mis on ligipääsetav arvuti, seadme või pilvepõhise failisüsteemi failisüsteemis. Tarkvara ise võib olla brauseripõhine või rakendus, mis tuleb arvutisse installida või rakendusena alla laadida. Excelis nimetatakse neid faile **töövihikuteks** ja seda terminoloogiat kasutatakse kogu õppetunni vältel.
@@ -33,11 +33,11 @@ Nende Exceli töövihiku põhielementidega kasutame näidet [Microsofti mallides
Tabelarvutusfail nimega "InventoryExample" on vormindatud inventari esemete tabelarvutus, mis sisaldab kolme töölehte, kus vahekaardid on tähistatud "Inventory List", "Inventory Pick List" ja "Bin Lookup". Inventari loendi töölehe 4. rida on päis, mis kirjeldab iga lahtri väärtust päiseveerus.
-
+
On juhtumeid, kus lahtri väärtus sõltub teiste lahtrite väärtustest, et genereerida oma väärtus. Inventari loendi tabelarvutus jälgib iga inventari eseme maksumust, kuid mis siis, kui me peame teadma kogu inventari väärtust? [**Valemid**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) teostavad toiminguid lahtriandmetega ja neid kasutatakse inventari maksumuse arvutamiseks selles näites. See tabelarvutus kasutab valemit inventari väärtuse veerus, et arvutada iga eseme väärtus, korrutades koguse päise QTY all ja selle maksumuse päise COST all olevate lahtritega. Lahtri topeltklõpsamine või esiletõstmine näitab valemit. Näed, et valemid algavad võrdusmärgiga, millele järgneb arvutus või toiming.
-
+
Me saame kasutada teist valemit, et liita kõik inventari väärtuse lahtrid kokku ja saada selle koguväärtus. Seda võiks arvutada, liites iga lahtri, et genereerida summa, kuid see võib olla tülikas ülesanne. Excelil on [**funktsioonid**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89), ehk eelmääratud valemid, mis teostavad arvutusi lahtriandmetega. Funktsioonid vajavad argumente, mis on vajalikud väärtused nende arvutuste tegemiseks. Kui funktsioonid vajavad rohkem kui ühte argumenti, tuleb need loetleda kindlas järjekorras, vastasel juhul ei pruugi funktsioon arvutada õiget väärtust. Selles näites kasutatakse SUM-funktsiooni ja inventari väärtuse väärtusi argumendina, et genereerida kogusumma, mis on loetletud rea 3, veeru B all (tuntud ka kui B3).
@@ -45,17 +45,17 @@ Me saame kasutada teist valemit, et liita kõik inventari väärtuse lahtrid kok
NoSQL on üldtermin erinevate viiside kohta mitte-relatsiooniliste andmete salvestamiseks ja seda võib tõlgendada kui "mitte-SQL", "mitte-relatsiooniline" või "mitte ainult SQL". Selliseid andmebaasisüsteeme saab kategoriseerida nelja tüüpi.
-
+
> Allikas: [Michał Białecki Blog](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/)
[Võtme-väärtuse](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) andmebaasid seovad unikaalsed võtmed, mis on unikaalsed identifikaatorid, väärtusega. Need paarid salvestatakse [hash-tabelis](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) sobiva hash-funktsiooniga.
-
+
> Allikas: [Microsoft](https://docs.microsoft.com/en-us/azure/cosmos-db/graph/graph-introduction#graph-database-by-example)
[Graafi](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) andmebaasid kirjeldavad andmete seoseid ja on esitatud sõlmede ja servade kogumina. Sõlm esindab üksust, midagi, mis eksisteerib pärismaailmas, näiteks õpilane või pangaväljavõte. Servad esindavad kahe üksuse vahelist seost. Igal sõlmel ja serval on omadused, mis annavad täiendavat teavet iga sõlme ja serva kohta.
-
+
[Veerupõhised](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) andmehoidlad korraldavad andmeid veergudesse ja ridadesse nagu relatsiooniline andmestruktuur, kuid iga veerg jagatakse gruppidesse, mida nimetatakse veeruperekonnaks, kus kõik ühe veeru andmed on seotud ja neid saab ühes üksuses hankida ja muuta.
@@ -88,11 +88,11 @@ Saate emulaatori alla laadida ja installida [Windowsi jaoks siit](https://aka.ms
Emulaator avab brauseriakna, kus Explorer vaade võimaldab dokumente uurida.
-
+
Kui järgite juhiseid, klõpsake "Start with Sample", et genereerida näidisandmebaas nimega SampleDB. Kui laiendate SampleDB-d, klõpsates noolel, leiate konteineri nimega `Persons`. Konteiner sisaldab esemete kogumit, mis on konteineri dokumendid. Saate uurida nelja individuaalset dokumenti `Items` all.
-
+
#### Dokumentide andmete pärimine Cosmos DB emulaatoriga
@@ -102,7 +102,7 @@ Saame ka näidisandmeid pärida, klõpsates uue SQL Query nupul (teine nupp vasa
`SELECT * FROM c where c.age < 40`
-
+
Päring tagastab kaks dokumenti, märkige, et iga dokumendi age-väärtus on väiksem kui 40.
diff --git a/translations/et/2-Working-With-Data/07-python/README.md b/translations/et/2-Working-With-Data/07-python/README.md
index 5e7b5528..93e559c0 100644
--- a/translations/et/2-Working-With-Data/07-python/README.md
+++ b/translations/et/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :------------------------------------------------------------------------------------------------------------: |
| Töötamine Pythoniga - _Sketchnote autorilt [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Kuigi andmebaasid pakuvad väga tõhusaid viise andmete salvestamiseks ja nende pärimiseks päringukeelte abil, on kõige paindlikum viis andmete töötlemiseks kirjutada oma programm, mis andmeid manipuleerib. Paljudel juhtudel oleks andmebaasi päring tõhusam lahendus. Kuid mõnel juhul, kui on vaja keerukamat andmetöötlust, ei saa seda lihtsalt SQL-i abil teha.
Andmetöötlust saab programmeerida mis tahes programmeerimiskeeles, kuid on teatud keeled, mis on andmetega töötamisel kõrgemal tasemel. Andmeteadlased eelistavad tavaliselt ühte järgmistest keeltest:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Oletame nüüd, et igal nädalal korraldame sõpradele peo ja võtame peole lisaks 10 pakki jäätist. Saame luua teise Series'i, mis on indekseeritud nädala järgi, et seda näidata:
```python
@@ -84,7 +84,7 @@ Kui liidame kaks Series'it, saame koguarvu:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Märkus**: Me ei kasuta lihtsat süntaksit `total_items+additional_items`. Kui me seda teeksime, saaksime palju `NaN` (*Not a Number*) väärtusi tulemuseks olevas Series'is. See on tingitud sellest, et `additional_items` Series'is puuduvad väärtused mõne indeksi punkti jaoks ja `NaN` lisamine millelegi annab tulemuseks `NaN`. Seetõttu peame liitmisel määrama `fill_value` parameetri.
@@ -93,7 +93,7 @@ Ajaseeriatega saame ka **ümberproovida** seeriat erinevate ajavahemikega. Näit
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Esimene probleem, millele keskendume, on COVID-19 epideemia leviku modelleerimin
Kuna tahame näidata, kuidas andmetega töötada, kutsume teid avama [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ja lugema seda algusest lõpuni. Võite ka rakke käivitada ja lahendada mõned väljakutsed, mille oleme teile lõppu jätnud.
-
+
> Kui te ei tea, kuidas Jupyter Notebookis koodi käivitada, vaadake [seda artiklit](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Täielik näide selle andmestiku analüüsimisest, kasutades [Text Analytics for
Avage [`notebook-papers.ipynb`](notebook-papers.ipynb) ja lugege seda algusest lõpuni. Võite ka rakke käivitada ja lahendada mõned väljakutsed, mille oleme teile lõppu jätnud.
-
+
## Pildiandmete töötlemine
diff --git a/translations/et/2-Working-With-Data/README.md b/translations/et/2-Working-With-Data/README.md
index 81d4e4fb..7f6d7c51 100644
--- a/translations/et/2-Working-With-Data/README.md
+++ b/translations/et/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Andmetega töötamine
-
+
> Foto autorilt Alexander Sinn lehel Unsplash
Nendes tundides õpid erinevaid viise, kuidas andmeid hallata, manipuleerida ja rakendustes kasutada. Saad teada relatsiooniliste ja mitte-relatsiooniliste andmebaaside kohta ning kuidas andmeid nendes salvestada. Õpid Pythoniga töötamise põhialuseid andmete haldamiseks ning avastad mitmeid viise, kuidas Pythoniga andmeid hallata ja analüüsida.
diff --git a/translations/et/3-Data-Visualization/09-visualization-quantities/README.md b/translations/et/3-Data-Visualization/09-visualization-quantities/README.md
index e19ca917..89a0cf78 100644
--- a/translations/et/3-Data-Visualization/09-visualization-quantities/README.md
+++ b/translations/et/3-Data-Visualization/09-visualization-quantities/README.md
@@ -60,7 +60,7 @@ Alustame mõne numbrilise andmeosa visualiseerimist, kasutades lihtsat joondiagr
wingspan = birds['MaxWingspan']
wingspan.plot()
```
-
+
Mida sa kohe märkad? Tundub, et on vähemalt üks erand - see on päris suur tiivaulatus! 2300 sentimeetri tiivaulatus võrdub 23 meetriga - kas Minnesotas rändavad pterodaktülid? Uurime lähemalt.
@@ -80,7 +80,7 @@ plt.plot(x, y)
plt.show()
```
-
+
Isegi kui siltide pööramine on seatud 45 kraadi, on neid liiga palju, et lugeda. Proovime teistsugust strateegiat: märgime ainult erandid ja seame sildid graafiku sisse. Võid kasutada hajusdiagrammi, et siltidele rohkem ruumi teha:
@@ -102,7 +102,7 @@ Mis siin toimub? Kasutasid `tick_params`, et peita alumised sildid, ja seejärel
Mida sa avastasid?
-
+
## Filtreeri oma andmeid
Nii kiilaskotkas kui ka preeriapistrik, kuigi tõenäoliselt väga suured linnud, tunduvad olevat valesti märgistatud, nende maksimaalse tiivaulatuse juurde on lisatud ekstra `0`. On ebatõenäoline, et kohtad kiilaskotkast 25-meetrise tiivaulatusega, aga kui nii, siis anna meile teada! Loome uue andmekogumi ilma nende kahe erandita:
@@ -122,7 +122,7 @@ plt.show()
Erandite filtreerimisega on sinu andmed nüüd ühtsemad ja arusaadavamad.
-
+
Nüüd, kui meil on vähemalt tiivaulatuse osas puhtam andmekogum, uurime rohkem nende lindude kohta.
@@ -148,7 +148,7 @@ birds.plot(x='Category',
title='Birds of Minnesota')
```
-
+
See tulpdiagramm on aga loetamatu, kuna seal on liiga palju rühmitamata andmeid. Pead valima ainult andmed, mida soovid kuvada, nii et vaatame lindude pikkust nende kategooria põhjal.
@@ -163,7 +163,7 @@ category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()
```
-
+
See tulpdiagramm näitab head ülevaadet lindude arvust igas kategoorias. Ühe pilguga näed, et suurim arv linde selles piirkonnas kuulub Pardid/Haned/Vesilinnud kategooriasse. Minnesota on '10 000 järve maa', nii et see pole üllatav!
@@ -179,7 +179,7 @@ plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()
```
-
+
Siin pole midagi üllatavat: koolibrid on kõige väiksema MaxPikkusega võrreldes pelikani või hanega. On hea, kui andmed on loogilised!
@@ -197,7 +197,7 @@ plt.show()
```
Selles graafikus näed iga linnukategooria Minimaalne Pikkus ja Maksimaalne Pikkus vahemikku. Võid kindlalt öelda, et nende andmete põhjal, mida suurem lind, seda suurem on selle pikkuse vahemik. Põnev!
-
+
## 🚀 Väljakutse
diff --git a/translations/et/3-Data-Visualization/10-visualization-distributions/README.md b/translations/et/3-Data-Visualization/10-visualization-distributions/README.md
index 8d061dcf..be0fb126 100644
--- a/translations/et/3-Data-Visualization/10-visualization-distributions/README.md
+++ b/translations/et/3-Data-Visualization/10-visualization-distributions/README.md
@@ -48,7 +48,7 @@ plt.xlabel('Max Length')
plt.show()
```
-
+
See annab ülevaate kehapikkuse üldisest jaotusest lindude seltsi kohta, kuid see ei ole kõige optimaalsem viis tõeliste jaotuste kuvamiseks. Selle ülesande jaoks kasutatakse tavaliselt histogrammi.
## Töötamine histogrammidega
@@ -59,7 +59,7 @@ Matplotlib pakub väga häid viise andmete jaotuse visualiseerimiseks histogramm
birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
plt.show()
```
-
+
Nagu näete, jääb enamik selle andmestiku 400+ linnust oma maksimaalse kehamassi osas alla 2000. Saate andmetest rohkem aimu, muutes `bins` parameetri suuremaks, näiteks 30:
@@ -67,7 +67,7 @@ Nagu näete, jääb enamik selle andmestiku 400+ linnust oma maksimaalse kehamas
birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
plt.show()
```
-
+
See diagramm näitab jaotust veidi detailsemalt. Vähem vasakule kalduvat diagrammi saab luua, kui valida andmed ainult teatud vahemikus:
@@ -78,7 +78,7 @@ filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
plt.show()
```
-
+
✅ Proovige teisi filtreid ja andmepunkte. Andmete täieliku jaotuse nägemiseks eemaldage `['MaxBodyMass']` filter, et kuvada märgistatud jaotusi.
@@ -95,7 +95,7 @@ hist = ax.hist2d(x, y)
```
Tundub, et nende kahe elemendi vahel on oodatud telje ulatuses korrelatsioon, kusjuures üks eriti tugev koondumispunkt paistab silma:
-
+
Histogrammid töötavad vaikimisi hästi numbriliste andmetega. Aga mis siis, kui peate nägema jaotusi tekstiliste andmete järgi?
## Uurime andmestikku jaotuste osas tekstiliste andmete abil
@@ -134,7 +134,7 @@ plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
plt.legend();
```
-
+
Tundub, et minimaalne tiivaulatus ja kaitsestaatus ei ole omavahel hästi korrelatsioonis. Testige selle meetodiga andmestiku teisi elemente. Võite proovida ka erinevaid filtreid. Kas leiate mingeid korrelatsioone?
@@ -152,7 +152,7 @@ import matplotlib.pyplot as plt
sns.kdeplot(filteredBirds['MinWingspan'])
plt.show()
```
-
+
Näete, kuidas graafik kordab eelmist minimaalsete tiivaulatuste andmete graafikut; see on lihtsalt veidi sujuvam. Seaborni dokumentatsiooni kohaselt "võrreldes histogrammiga võib KDE (tuuma tiheduse hinnang) toota graafiku, mis on vähem segane ja kergemini tõlgendatav, eriti mitme jaotuse joonistamisel. Kuid see võib põhjustada moonutusi, kui aluseks olev jaotus on piiratud või mitte sujuv. Nagu histogrammi puhul, sõltub ka esitluse kvaliteet heade silumisseadete valikust." [allikas](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) Teisisõnu, kõrvalekalded, nagu alati, võivad teie graafikuid halvasti mõjutada.
@@ -162,7 +162,7 @@ Kui soovite uuesti vaadata seda sakilist MaxBodyMass joont teises loodud graafik
sns.kdeplot(filteredBirds['MaxBodyMass'])
plt.show()
```
-
+
Kui soovite sujuvat, kuid mitte liiga sujuvat joont, muutke `bw_adjust` parameetrit:
@@ -170,7 +170,7 @@ Kui soovite sujuvat, kuid mitte liiga sujuvat joont, muutke `bw_adjust` parameet
sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
plt.show()
```
-
+
✅ Lugege selle tüüpi graafiku jaoks saadaolevate parameetrite kohta ja katsetage!
@@ -184,7 +184,7 @@ sns.kdeplot(
)
```
-
+
Samuti saate ühes graafikus kaardistada mitme muutuja tiheduse. Võrrelge linnu MaxLength ja MinLength nende kaitsestaatusega:
@@ -192,7 +192,7 @@ Samuti saate ühes graafikus kaardistada mitme muutuja tiheduse. Võrrelge linnu
sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
```
-
+
Võib-olla tasub uurida, kas 'Haavatavate' lindude klaster nende pikkuste järgi on tähendusrikas või mitte.
diff --git a/translations/et/3-Data-Visualization/11-visualization-proportions/README.md b/translations/et/3-Data-Visualization/11-visualization-proportions/README.md
index 40d06b71..a1d6ebc5 100644
--- a/translations/et/3-Data-Visualization/11-visualization-proportions/README.md
+++ b/translations/et/3-Data-Visualization/11-visualization-proportions/README.md
@@ -93,7 +93,7 @@ plt.show()
```
Voila, pirukadiagramm, mis näitab andmete proportsioone vastavalt nendele kahele seente klassile. On üsna oluline saada siltide järjekord õigeks, eriti siin, seega kontrolli kindlasti järjekorda, millega siltide massiiv on koostatud!
-
+
## Sõõrikud!
@@ -123,7 +123,7 @@ plt.title('Mushroom Habitats')
plt.show()
```
-
+
See kood joonistab diagrammi ja keskse ringi, seejärel lisab selle keskse ringi diagrammi. Muuda keskse ringi laiust, muutes `0.40` mõneks teiseks väärtuseks.
@@ -170,7 +170,7 @@ fig = plt.figure(
Vahvlidiagrammi abil näed selgelt seente kübara värvide proportsioone selles andmestikus. Huvitaval kombel on palju rohelise kübaraga seeni!
-
+
✅ PyWaffle toetab ikoone diagrammides, mis kasutavad kõiki ikoone, mis on saadaval [Font Awesome](https://fontawesome.com/) lehel. Katseta, et luua veelgi huvitavam vahvlidiagramm, kasutades ruutude asemel ikoone.
diff --git a/translations/et/3-Data-Visualization/12-visualization-relationships/README.md b/translations/et/3-Data-Visualization/12-visualization-relationships/README.md
index f3c8f51d..7a0f0c7f 100644
--- a/translations/et/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/et/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Looge lihtne hajuvusdiagramm, et näidata suhet mee hinna naela kohta ja selle p
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Nüüd näidake samu andmeid mee värviskeemiga, et näidata, kuidas hind aastate jooksul muutub. Seda saate teha, lisades 'hue' parameetri, et näidata muutust aastate lõikes:
@@ -60,7 +60,7 @@ Nüüd näidake samu andmeid mee värviskeemiga, et näidata, kuidas hind aastat
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Selle värviskeemi muutusega näete selgelt tugevat arengut aastate jooksul mee hinna osas naela kohta. Tõepoolest, kui vaatate andmestikus valimit, näiteks Arizona osariiki, näete aastate lõikes hinnatõusu mustrit, kus on vähe erandeid:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Näete, et punktide suurus suureneb järk-järgult.
-
+
Kas see on lihtne pakkumise ja nõudluse juhtum? Kas kliimamuutuste ja kolooniate kokkuvarisemise tõttu on aastate jooksul vähem mett saadaval, mistõttu hind tõuseb?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Vastus: Jah, mõningate eranditega umbes 2003. aasta paiku:
-
+
✅ Kuna Seaborn koondab andmeid ühe joone ümber, kuvab see "mitu mõõtmist iga x väärtuse juures, joonistades keskmise ja 95% usaldusvahemiku keskmise ümber". [Allikas](https://seaborn.pydata.org/tutorial/relational.html). Selle ajamahuka käitumise saab keelata, lisades `ci=None`.
@@ -114,7 +114,7 @@ Küsimus: Noh, kas 2003. aastal näeme ka mee pakkumise kasvu? Mis siis, kui vaa
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Vastus: Mitte päris. Kui vaatate kogutoodangut, tundub, et see tegelikult suurenes sel konkreetsel aastal, kuigi üldiselt mee tootmise kogus väheneb nendel aastatel.
@@ -139,7 +139,7 @@ sns.relplot(
```
Selles visualiseerimises saate võrrelda saagikust koloonia kohta ja kolooniate arvu aastate lõikes kõrvuti, veergude wrap'iga 3:
-
+
Selle andmestiku puhul ei paista kolooniate arvu ja nende saagikuse osas aastate lõikes ja osariikide lõikes midagi erilist silma. Kas on olemas teine viis, kuidas leida korrelatsiooni nende kahe muutuja vahel?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Kuigi 2003. aasta paiku ei paista midagi silma, võimaldab see meil lõpetada selle tunni veidi rõõmsama noodiga: kuigi kolooniate arv on üldiselt vähenemas, stabiliseerub kolooniate arv isegi siis, kui nende saagikus koloonia kohta väheneb.
diff --git a/translations/et/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/et/3-Data-Visualization/13-meaningful-visualizations/README.md
index 3c36313c..1a7fa94b 100644
--- a/translations/et/3-Data-Visualization/13-meaningful-visualizations/README.md
+++ b/translations/et/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -47,25 +47,25 @@ Eelnevates tundides katsetasid erinevate huvitavate andmevisualisatsioonide loom
Isegi kui andmeteadlane valib hoolikalt õige diagrammi õige andmestiku jaoks, on palju viise, kuidas andmeid saab esitada viisil, mis tõestab mingit seisukohta, sageli andmete enda arvelt. Eksitavate diagrammide ja infograafikate näiteid on palju!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kuidas diagrammid valetavad")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kuidas diagrammid valetavad")
> 🎥 Klõpsa ülaloleval pildil, et vaadata konverentsiettekannet eksitavate diagrammide kohta
See diagramm pöörab X-telje ümber, et näidata tõe vastandit, tuginedes kuupäevadele:
-
+
[See diagramm](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) on veelgi eksitavam, kuna pilk tõmmatakse paremale, et järeldada, et aja jooksul on COVID-juhtumid erinevates maakondades vähenenud. Tegelikult, kui vaatad kuupäevi lähemalt, leiad, et need on ümber paigutatud, et anda eksitav langustrend.
-
+
See kurikuulus näide kasutab värvi JA ümberpööratud Y-telge eksitamiseks: selle asemel, et järeldada, et relvadega seotud surmad kasvasid pärast relvasõbraliku seadusandluse vastuvõtmist, petab diagramm silma, et arvata vastupidist:
-
+
See kummaline diagramm näitab, kuidas proportsioone saab manipuleerida, naljakal moel:
-
+
Võrdlemine, mis pole võrreldav, on veel üks kahtlane trikk. On olemas [suurepärane veebisait](https://tylervigen.com/spurious-correlations), mis näitab 'juhuslikke korrelatsioone', kuvades 'fakte', mis korreleerivad näiteks Maine'i lahutuste määra ja margariini tarbimist. Redditi grupp kogub samuti [andmete koledaid kasutusviise](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Märgi oma teljed, lisa legend vajadusel ja paku tööriistavihjeid andmete pare
Kui sinu andmed on tekstilised ja X-teljel pikad, saad teksti nurga alla keerata, et parandada loetavust. [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) pakub 3D-plotimist, kui sinu andmed seda toetavad. Täiustatud andmevisualisatsioone saab luua `mpl_toolkits.mplot3d` abil.
-
+
## Animatsioon ja 3D-diagrammide kuvamine
Mõned parimad tänapäeva andmevisualisatsioonid on animeeritud. Shirley Wu on loonud hämmastavaid visualisatsioone D3-ga, näiteks '[filmililled](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', kus iga lill on filmi visualisatsioon. Teine näide Guardianile on 'bussed out', interaktiivne kogemus, mis ühendab visualisatsioone Greensocki ja D3-ga ning jutustava artikli formaati, et näidata, kuidas NYC lahendab kodutute probleemi, saates inimesi linnast välja.
-
+
> "Bussed Out: Kuidas Ameerika liigutab oma kodutuid" Guardianist [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisatsioonid: Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Kuigi see tund ei ole piisav, et süvitsi õpetada neid võimsaid visualiseerimi
Sa lõpetad veebirakenduse, mis kuvab animeeritud vaate sellest sotsiaalsest võrgustikust. See kasutab teeki, mis on loodud [võrgustiku visualiseerimiseks](https://github.com/emiliorizzo/vue-d3-network) Vue.js ja D3 abil. Kui rakendus töötab, saad ekraanil sõlmi ümber tõmmata, et andmeid ümber paigutada.
-
+
## Projekt: Loo diagramm, mis näitab võrgustikku D3.js abil
diff --git a/translations/et/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/et/3-Data-Visualization/R/09-visualization-quantities/README.md
index 07a384c4..b7ca8eea 100644
--- a/translations/et/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/et/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Siin installid `ggplot2` paketi ja impordid selle tööruumi, kasutades käsku `library("ggplot2")`. Graafiku loomiseks ggplotis kasutatakse funktsiooni `ggplot()`, kus määrad andmestiku, x- ja y-muutujad atribuutidena. Antud juhul kasutame funktsiooni `geom_line()`, kuna eesmärk on luua joongraafik.
-
+
Mida märkad kohe? Tundub, et on vähemalt üks kõrvalekalle - see on päris suur tiivaulatus! 2000+ sentimeetrine tiivaulatus võrdub rohkem kui 20 meetriga - kas Minnesotas rändavad pterodaktülid? Uurime lähemalt.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Määrame nurga `theme` sees ja määrame x- ja y-telje sildid `xlab()` ja `ylab()` abil. `ggtitle()` annab graafikule/diagrammile nime.
-
+
Isegi kui siltide pööramine on seatud 45 kraadi, on neid liiga palju, et lugeda. Proovime teistsugust strateegiat: märgistame ainult kõrvalekalded ja määrame sildid graafiku sisse. Võid kasutada hajusdiagrammi, et siltidele rohkem ruumi teha:
@@ -100,7 +100,7 @@ Mis siin toimub? Kasutasid funktsiooni `geom_point()`, et graafikule hajuspunkte
Mida avastad?
-
+
## Filtreeri oma andmeid
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Lõime uue andmestiku `birds_filtered` ja seejärel joonistasime hajusdiagrammi. Kõrvalekallete filtreerimisega on sinu andmed nüüd ühtsemad ja arusaadavamad.
-
+
Nüüd, kui meil on vähemalt tiivaulatuse osas puhtam andmestik, avastame rohkem nende lindude kohta.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
Järgmises koodilõigus installime [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) ja [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) paketid, et aidata andmeid manipuleerida ja rühmitada, et joonistada virnastatud tulpdiagramm. Kõigepealt rühmitad andmed linnu `Category` järgi ja seejärel summeerid `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` veerud. Seejärel joonistad tulpdiagrammi, kasutades `ggplot2` paketti, määrates erinevate kategooriate värvid ja sildid.
-
+
See tulpdiagramm on aga loetamatu, kuna seal on liiga palju rühmitamata andmeid. Pead valima ainult andmed, mida soovid graafikule kanda, seega vaatame lindude pikkust nende kategooria põhjal.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Kõigepealt loendad unikaalsed väärtused `Category` veerus ja seejärel sorteerid need uude andmestikku `birds_count`. See sorteeritud andmestik on seejärel samal tasemel faktoreeritud, et see graafikul sorteeritud kujul kuvataks. Kasutades `ggplot2`, joonistad andmed tulpdiagrammi. `coord_flip()` kuvab horisontaalsed tulbad.
-
+
See tulpdiagramm annab hea ülevaate lindude arvust igas kategoorias. Ühe pilguga näed, et suurim arv linde selles piirkonnas kuulub Pardid/Haned/Vesilinnud kategooriasse. Minnesota on "10 000 järve maa", seega pole see üllatav!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Rühmitame `birds_filtered` andmed `Category` järgi ja seejärel joonistame tulpdiagrammi.
-
+
Siin pole midagi üllatavat: koolibrid on maksimaalse pikkuse poolest kõige väiksemad võrreldes pelikani või hanega. On hea, kui andmed on loogilised!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Väljakutse
diff --git a/translations/et/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/et/3-Data-Visualization/R/10-visualization-distributions/README.md
index 62e537ca..d3192d3f 100644
--- a/translations/et/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/et/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
See annab ülevaate lindude pikkuse jaotusest seltsi järgi, kuid see pole parim viis tõeliste jaotuste kuvamiseks. Selle ülesande jaoks kasutatakse tavaliselt histogrammi.
## Töötamine histogrammidega
@@ -56,7 +56,7 @@ See annab ülevaate lindude pikkuse jaotusest seltsi järgi, kuid see pole parim
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Nagu näete, kuulub enamik 400+ linnust selles andmestikus Max Body Mass väärtusega alla 2000. Saate andmetest rohkem aru, kui muudate `bins` parameetri kõrgemaks, näiteks 30:
@@ -64,7 +64,7 @@ Nagu näete, kuulub enamik 400+ linnust selles andmestikus Max Body Mass väärt
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
See diagramm näitab jaotust veidi detailsemalt. Vähem vasakule kaldu diagrammi saab luua, kui valite andmed ainult teatud vahemikus:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Proovige mõnda muud filtrit ja andmepunkti. Andmete täieliku jaotuse nägemiseks eemaldage `['MaxBodyMass']` filter, et kuvada märgistatud jaotused.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Tundub, et nende kahe elemendi vahel on oodatud korrelatsioon mööda oodatud telge, kus üks kokkulangevuse punkt on eriti tugev:
-
+
Histogrammid töötavad vaikimisi hästi numbriliste andmetega. Aga mis siis, kui peate nägema jaotusi tekstiliste andmete järgi?
## Uurime andmestikku jaotuste leidmiseks tekstiliste andmete abil
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Tundub, et minimaalse tiivaulatuse ja kaitsestaatuse vahel pole head korrelatsiooni. Testige selle meetodiga andmestiku teisi elemente. Võite proovida ka erinevaid filtreid. Kas leiate korrelatsiooni?
@@ -135,7 +135,7 @@ Töötame nüüd tiheduse diagrammidega!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Näete, kuidas diagramm kajastab varasemat minimaalse tiivaulatuse diagrammi; see on lihtsalt veidi sujuvam. Kui soovite uuesti vaadata seda sakilist MaxBodyMass joont teises loodud diagrammis, saate selle väga hästi siluda, luues selle uuesti selle meetodiga:
@@ -143,7 +143,7 @@ Näete, kuidas diagramm kajastab varasemat minimaalse tiivaulatuse diagrammi; se
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Kui soovite sujuvat, kuid mitte liiga sujuvat joont, muutke `adjust` parameetrit:
@@ -151,7 +151,7 @@ Kui soovite sujuvat, kuid mitte liiga sujuvat joont, muutke `adjust` parameetrit
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Lugege selle diagrammitüübi jaoks saadaolevate parameetrite kohta ja katsetage!
@@ -161,7 +161,7 @@ See diagrammitüüp pakub kaunilt selgitavaid visualiseeringuid. Näiteks mõne
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Väljakutse
diff --git a/translations/et/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/et/3-Data-Visualization/R/11-visualization-proportions/README.md
index 6eda3545..11e87cdb 100644
--- a/translations/et/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/et/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, pirukadiagramm, mis näitab nende kahe seeneklassi andmete proportsioone. On üsna oluline saada siltide järjekord õigeks, eriti siin, seega kontrolli kindlasti, kuidas siltide massiiv on koostatud!
-
+
## Sõõrikud!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
See kood kasutab kahte teeki - ggplot2 ja webr. Kasutades webr teegi PieDonut funktsiooni, saame hõlpsasti luua sõõrikdiagrammi!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Vahvlidiagrammi abil näed selgelt seente kübara värvide proportsioone selles andmestikus. Huvitaval kombel on palju rohelise kübaraga seeni!
-
+
Selles õppetükis õppisid kolme viisi proportsioonide visualiseerimiseks. Kõigepealt pead oma andmed rühmitama kategooriatesse ja seejärel otsustama, milline on parim viis andmete kuvamiseks - pirukas, sõõrik või vahvel. Kõik on maitsvad ja pakuvad kasutajale kohest ülevaadet andmestikust.
diff --git a/translations/et/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/et/3-Data-Visualization/R/12-visualization-relationships/README.md
index dffa4f31..738e1f0c 100644
--- a/translations/et/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/et/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Nüüd näidake samu andmeid mee värviskeemiga, et näidata, kuidas hind aastate jooksul muutub. Seda saate teha, lisades 'scale_color_gradientn' parameetri, et näidata muutust aastate lõikes:
@@ -61,7 +61,7 @@ Nüüd näidake samu andmeid mee värviskeemiga, et näidata, kuidas hind aastat
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Selle värviskeemi muutusega näete selgelt tugevat arengut aastate jooksul mee hinna osas naela kohta. Kui vaatate andmestiku näidisosa, näiteks Arizona osariiki, näete aastate lõikes hinnatõusu mustrit, kus on vähe erandeid:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Näete, et punktide suurus suureneb järk-järgult.
-
+
Kas see on lihtne pakkumise ja nõudluse juhtum? Kas kliimamuutuste ja kolooniate kokkuvarisemise tõttu on aastate jooksul vähem mett saadaval, mistõttu hind tõuseb?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Vastus: Jah, mõningate eranditega umbes 2003. aasta paiku:
-
+
Küsimus: Kas 2003. aastal näeme ka mee pakkumise kasvu? Mis juhtub, kui vaatate kogutoodangut aastate lõikes?
@@ -115,7 +115,7 @@ Küsimus: Kas 2003. aastal näeme ka mee pakkumise kasvu? Mis juhtub, kui vaatat
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Vastus: Mitte päris. Kui vaatate kogutoodangut, tundub, et see tegelikult suurenes sel konkreetsel aastal, kuigi üldiselt mee tootmise kogus väheneb nendel aastatel.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Selles visualiseerimises saate võrrelda koloonia saagikust ja kolooniate arvu aastate lõikes kõrvuti, kus veergude wrap on seatud 3-le:
-
+
Selle andmestiku puhul ei paista kolooniate arv ja nende saagikus aastate lõikes ja osariikide lõikes millegi erilisega silma. Kas on olemas teine viis, kuidas leida korrelatsiooni nende kahe muutuja vahel?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Kuigi 2003. aasta paiku ei paista midagi silma, võimaldab see meil lõpetada õppetund veidi rõõmsama noodiga: kuigi kolooniate arv on üldiselt vähenemas, stabiliseerub kolooniate arv isegi siis, kui nende saagikus koloonia kohta väheneb.
diff --git a/translations/et/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/et/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 635e3d0f..0925da2d 100644
--- a/translations/et/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/et/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Eelnevates tundides katsetasite erinevate huvitavate andmevisualisatsioonide loo
Isegi kui andmeteadlane valib õige diagrammi õigete andmete jaoks, on palju viise, kuidas andmeid saab esitada viisil, mis tõestab teatud seisukohta, sageli andmete enda arvelt. Eksitavate diagrammide ja infograafikate näiteid on palju!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kuidas diagrammid valetavad")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kuidas diagrammid valetavad")
> 🎥 Klõpsake ülaltoodud pildil, et vaadata konverentsi ettekannet eksitavate diagrammide kohta
See diagramm pöörab X-telje ümber, et näidata tõe vastandit, tuginedes kuupäevadele:
-
+
[See diagramm](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) on veelgi eksitavam, kuna silm tõmmatakse paremale, et järeldada, et aja jooksul on COVID-i juhtumid erinevates maakondades vähenenud. Tegelikult, kui vaatate kuupäevi lähemalt, leiate, et need on ümber korraldatud, et anda eksitav langustrend.
-
+
See kurikuulus näide kasutab värvi JA pööratud Y-telge eksitamiseks: selle asemel, et järeldada, et relvadega seotud surmad kasvasid pärast relvasõbraliku seadusandluse vastuvõtmist, petab silm, et arvata vastupidist:
-
+
See kummaline diagramm näitab, kuidas proportsioone saab manipuleerida, naljakal moel:
-
+
Võrdlemine, mis ei ole võrreldav, on veel üks kahtlane trikk. On olemas [suurepärane veebisait](https://tylervigen.com/spurious-correlations), mis käsitleb 'juhuslikke korrelatsioone', näidates 'fakte', mis seostavad näiteks Maine'i lahutuste määra ja margariini tarbimist. Redditi grupp kogub ka [andmete koledaid kasutusviise](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Märgistage oma teljed, lisage vajadusel legend ja pakkuge tööriistavihjeid an
Kui teie andmed on tekstilised ja X-teljel pikad, saate teksti nurga alla pöörata, et parandada loetavust. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) pakub 3D-plotimist, kui teie andmed seda toetavad. Selle abil saab luua keerukaid andmevisualisatsioone.
-
+
## Animatsioon ja 3D diagrammi kuvamine
Mõned parimad tänapäeva andmevisualisatsioonid on animeeritud. Shirley Wu on loonud hämmastavaid visualisatsioone D3 abil, näiteks '[filmililled](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', kus iga lill on filmi visualisatsioon. Teine näide Guardianile on 'bussed out', interaktiivne kogemus, mis ühendab visualisatsioone Greensocki ja D3-ga ning scrollytelling artikli formaati, et näidata, kuidas NYC lahendab kodutute probleemi, saates inimesi linnast välja.
-
+
> "Bussed Out: Kuidas Ameerika liigutab oma kodutuid" [Guardianist](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisatsioonid: Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Kuigi see tund ei ole piisav, et süvitsi õpetada neid võimsaid visualiseerimi
Te lõpetate veebirakenduse, mis kuvab animeeritud vaate sellest sotsiaalvõrgustikust. See kasutab raamatukogu, mis loodi [võrgustiku visualiseerimiseks](https://github.com/emiliorizzo/vue-d3-network) Vue.js ja D3 abil. Kui rakendus töötab, saate ekraanil sõlmi liigutada, et andmeid ümber paigutada.
-
+
## Projekt: Looge diagramm, mis näitab võrgustikku D3.js abil
diff --git a/translations/et/3-Data-Visualization/README.md b/translations/et/3-Data-Visualization/README.md
index 2b6ab580..027055eb 100644
--- a/translations/et/3-Data-Visualization/README.md
+++ b/translations/et/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualisatsioonid
-
+
> Foto autorilt Jenna Lee lehel Unsplash
Andmete visualiseerimine on üks olulisemaid ülesandeid andmeteadlase töös. Pilt on väärt tuhat sõna ning visualiseerimine aitab tuvastada mitmesuguseid huvitavaid andmete aspekte, nagu tipud, kõrvalekalded, rühmitused, suundumused ja palju muud, mis aitavad mõista, millist lugu andmed räägivad.
diff --git a/translations/et/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/et/4-Data-Science-Lifecycle/14-Introduction/README.md
index 72fa387a..1e96b092 100644
--- a/translations/et/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/et/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Praeguseks olete ilmselt mõistnud, et andmeteadus on protsess. Seda protsessi s
See õppetund keskendub elutsükli kolmele osale: andmete kogumine, töötlemine ja hooldus.
-
+
> Foto autor [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Andmete kogumine
@@ -100,7 +100,7 @@ Uurige [Team Data Science Process elutsüklit](https://docs.microsoft.com/en-us/
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Pilt autorilt [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Pilt autorilt [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Järelloengu viktoriin](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/et/4-Data-Science-Lifecycle/README.md b/translations/et/4-Data-Science-Lifecycle/README.md
index f4613d3b..f9f9705f 100644
--- a/translations/et/4-Data-Science-Lifecycle/README.md
+++ b/translations/et/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Andmeteaduse elutsükkel
-
+
> Foto autorilt Headway lehel Unsplash
Nendes tundides uurid mõningaid andmeteaduse elutsükli aspekte, sealhulgas andmete analüüsi ja kommunikatsiooni.
diff --git a/translations/et/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/et/5-Data-Science-In-Cloud/18-Low-Code/README.md
index 195bb0c0..5ed611dd 100644
--- a/translations/et/5-Data-Science-In-Cloud/18-Low-Code/README.md
+++ b/translations/et/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -61,7 +61,7 @@ Azure ML pakub kõiki tööriistu, mida arendajad ja andmeteadlased vajavad oma
Pole kahtlust, et projektide loomine ja ehitamine on parim viis oma oskuste ja teadmiste proovile panemiseks. Selles õppetunnis uurime kahte erinevat viisi südamepuudulikkuse rünnakute ennustamise andmeteaduse projekti loomiseks Azure ML Studios: vähe koodi/ilma koodita meetodil ja Azure ML SDK abil, nagu on näidatud järgmisel skeemil:
-
+
Igal meetodil on oma plussid ja miinused. Vähe koodi/ilma koodita meetod on lihtsam alustada, kuna see hõlmab graafilise kasutajaliidese (GUI) kasutamist, ilma et oleks vaja eelnevaid teadmisi koodist. See meetod võimaldab projekti elujõulisust kiiresti testida ja luua POC (Proof Of Concept). Kuid kui projekt kasvab ja asjad peavad olema tootmisvalmis, ei ole GUI kaudu ressursside loomine teostatav. Siin muutub Azure ML SDK kasutamise oskus hädavajalikuks.
@@ -114,15 +114,15 @@ Azure Machine Learningi kasutamiseks looge tööruum oma Azure'i tellimuses. See
1. Logige sisse [Azure portaali](https://ms.portal.azure.com/) Microsofti mandaatidega, mis on seotud teie Azure'i tellimusega.
2. Valige **+Loo ressurss**
- 
+ 
Otsige Machine Learning ja valige Machine Learningi plaat
- 
+ 
Klõpsake nuppu "Loo"
- 
+ 
Täitke seaded järgmiselt:
- Tellimus: Teie Azure'i tellimus
@@ -134,17 +134,17 @@ Azure Machine Learningi kasutamiseks looge tööruum oma Azure'i tellimuses. See
- Rakenduse ülevaated: Märkige vaikimisi uus rakenduse ülevaate ressurss, mis luuakse teie tööruumi jaoks
- Konteineriregister: Puudub (üks luuakse automaatselt esimesel korral, kui juurutate mudeli konteinerisse)
- 
+ 
- Klõpsake nuppu "Loo + ülevaade" ja seejärel nuppu "Loo"
3. Oodake, kuni teie tööruum luuakse (see võib võtta paar minutit). Seejärel minge portaali. Leiate selle Machine Learning Azure'i teenuse kaudu.
4. Tööruumi ülevaate lehel käivitage Azure Machine Learning studio (või avage uus brauseri vahekaart ja navigeerige aadressile https://ml.azure.com) ning logige sisse Azure Machine Learning studio kasutades oma Microsofti kontot. Kui küsitakse, valige oma Azure'i kataloog ja tellimus ning Azure Machine Learningi tööruum.
-
+
5. Azure Machine Learning studios lülitage ☰ ikooni ülaosas, et vaadata erinevaid lehti liideses. Saate neid lehti kasutada oma tööruumi ressursside haldamiseks.
-
+
Tööruumi saate hallata Azure'i portaali kaudu, kuid andmeteadlaste ja masinõppe operatsioonide inseneride jaoks pakub Azure Machine Learning Studio rohkem keskendunud kasutajaliidest tööruumi ressursside haldamiseks.
@@ -189,18 +189,18 @@ Madala prioriteediga instants tähendab, et see on katkestatav: Microsoft Azure
[Azure ML tööruumis](https://ml.azure.com/), mille me varem lõime, minge arvutuse sektsiooni ja näete erinevaid arvutusressursse, mida me just arutasime (st arvutusinstantsid, arvutusklastrid, ennustusklastrid ja seotud arvutus). Selle projekti jaoks vajame mudeli treenimiseks arvutusklastrit. Studios klõpsake menüül "Compute", seejärel vahekaardil "Compute cluster" ja klõpsake nuppu "+ New", et luua arvutusklaster.
-
+
1. Valige oma valikud: Dedikeeritud vs Madala prioriteediga, CPU või GPU, VM suurus ja tuumade arv (võite selle projekti jaoks jätta vaikeseaded).
2. Klõpsake nupul Next.
-
+
3. Andke klastrile arvutusnimi.
4. Valige oma valikud: Minimaalne/maksimaalne sõlmede arv, tühikäigu sekundid enne vähendamist, SSH-juurdepääs. Pange tähele, et kui minimaalne sõlmede arv on 0, säästate raha, kui klaster on tühikäigul. Pange tähele, et mida suurem on maksimaalne sõlmede arv, seda lühem on treenimisaeg. Maksimaalne soovitatav sõlmede arv on 3.
5. Klõpsake nupul "Create". See samm võib võtta paar minutit.
-
+
Suurepärane! Nüüd, kui meil on arvutusklaster, peame andmed Azure ML Studiosse laadima.
@@ -208,15 +208,15 @@ Suurepärane! Nüüd, kui meil on arvutusklaster, peame andmed Azure ML Studioss
1. [Azure ML tööruumis](https://ml.azure.com/), mille me varem lõime, klõpsake vasakpoolses menüüs "Datasets" ja klõpsake nuppu "+ Create dataset", et luua andmestik. Valige "From local files" ja valige varem alla laaditud Kaggle'i andmestik.
- 
+ 
2. Andke oma andmestikule nimi, tüüp ja kirjeldus. Klõpsake Next. Laadige andmed failidest. Klõpsake Next.
- 
+ 
3. Skeemis muutke andmetüüp Boolean järgnevate tunnuste jaoks: anaemia, diabeet, kõrge vererõhk, sugu, suitsetamine ja DEATH_EVENT. Klõpsake Next ja seejärel Create.
- 
+ 
Suurepärane! Nüüd, kui andmestik on paigas ja arvutusklaster loodud, saame alustada mudeli treenimist!
@@ -226,19 +226,19 @@ Traditsiooniline masinõppe mudeli arendamine on ressursimahukas, nõuab märkim
1. [Azure ML tööruumis](https://ml.azure.com/), mille me varem lõime, klõpsake vasakpoolses menüüs "Automated ML" ja valige just üles laaditud andmestik. Klõpsake Next.
- 
+ 
2. Sisestage uue eksperimendi nimi, sihtveerg (DEATH_EVENT) ja loodud arvutusklaster. Klõpsake Next.
- 
+ 
3. Valige "Classification" ja klõpsake Finish. See samm võib võtta 30 minutist kuni 1 tunnini, sõltuvalt teie arvutusklastri suurusest.
- 
+ 
4. Kui jooks on lõpetatud, klõpsake vahekaardil "Automated ML", klõpsake oma jooksul ja seejärel klõpsake "Best model summary" kaardil algoritmil.
- 
+ 
Siin näete üksikasjalikku kirjeldust parimast mudelist, mille AutoML genereeris. Samuti saate uurida teisi mudeleid vahekaardil Models. Võtke paar minutit, et uurida mudeleid selgituste (preview) nupul. Kui olete valinud mudeli, mida soovite kasutada (siin valime AutoML-i poolt valitud parima mudeli), näeme, kuidas seda juurutada.
@@ -249,15 +249,15 @@ Automatiseeritud masinõppe liides võimaldab teil parima mudeli veebiteenusena
Parima mudeli kirjelduses klõpsake nuppu "Deploy".
-
+
15. Andke sellele nimi, kirjeldus, arvutustüüp (Azure Container Instance), lubage autentimine ja klõpsake Deploy. See samm võib võtta umbes 20 minutit. Juurutamisprotsess hõlmab mitmeid samme, sealhulgas mudeli registreerimist, ressursside loomist ja nende konfigureerimist veebiteenuse jaoks. Juurutamise olek ilmub Deploy status all. Valige Refresh perioodiliselt, et kontrollida juurutamise olekut. Kui olek on "Healthy", on see juurutatud ja töötab.
-
+
16. Kui see on juurutatud, klõpsake vahekaardil Endpoint ja klõpsake just juurutatud lõpp-punkti. Siit leiate kõik üksikasjad, mida peate lõpp-punkti kohta teadma.
-
+
Vinge! Nüüd, kui meil on mudel juurutatud, saame alustada lõpp-punkti tarbimist.
@@ -267,7 +267,7 @@ Klõpsake vahekaardil "Consume". Siit leiate REST-lõpp-punkti ja Python-skripti
Seda skripti saab otse teie kohalikust masinast käivitada ja see tarbib teie lõpp-punkti.
-
+
Võtke hetk, et vaadata neid kahte koodirida:
diff --git a/translations/et/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/et/5-Data-Science-In-Cloud/19-Azure/README.md
index e74bb58b..d7562095 100644
--- a/translations/et/5-Data-Science-In-Cloud/19-Azure/README.md
+++ b/translations/et/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -57,7 +57,7 @@ SDK peamised valdkonnad:
[Varasemas õppetunnis](../18-Low-Code/README.md) nägime, kuidas treenida, juurutada ja tarbida mudelit madala koodi/ilma koodita meetodil. Kasutasime südamepuudulikkuse andmestikku, et luua südamepuudulikkuse ennustusmudel. Selles õppetunnis teeme täpselt sama, kuid kasutades Azure Machine Learning SDK-d.
-
+
### 1.2 Südamepuudulikkuse ennustusprojekti ja andmestiku tutvustus
@@ -74,7 +74,7 @@ Kui ei, järgige juhiseid jaotises **2.1 Azure ML tööruumi loomine** [varasema
[Azure ML tööruumis](https://ml.azure.com/), mille me varem lõime, minge menüüsse Compute ja näete erinevaid arvutusressursse.
-
+
Loome arvutusressursi Jupyter märkmiku jaoks.
1. Klõpsake nupul + New.
@@ -97,10 +97,10 @@ Märkmiku loomiseks vajame arvutusressurssi, mis teenindab Jupyter märkmiku ins
1. Rakenduste jaotises klõpsake Jupyter valikul.
2. Märkige ruut "Yes, I understand" ja klõpsake nupul Continue.
-
+
3. See avab uue brauseri vahekaardi teie Jupyter märkmiku instantsiga. Klõpsake nupul "New", et luua märkmik.
-
+
Nüüd, kui meil on märkmik, saame alustada mudeli treenimist Azure ML SDK-ga.
diff --git a/translations/et/5-Data-Science-In-Cloud/README.md b/translations/et/5-Data-Science-In-Cloud/README.md
index 3344afad..7dde7e3b 100644
--- a/translations/et/5-Data-Science-In-Cloud/README.md
+++ b/translations/et/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Andmeteadus pilves
-
+
> Foto autorilt [Jelleke Vanooteghem](https://unsplash.com/@ilumire) lehelt [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Kui tegemist on suurte andmetega andmeteadusega, võib pilv olla tõeline mängumuutja. Järgmise kolme õppetunni jooksul vaatame, mis on pilv ja miks see võib olla väga kasulik. Uurime ka südamepuudulikkuse andmestikku ja loome mudeli, mis aitab hinnata südamepuudulikkuse tõenäosust. Kasutame pilve võimsust mudeli treenimiseks, juurutamiseks ja kasutamiseks kahel erineval viisil. Üks viis on kasutada ainult kasutajaliidest madala koodi/ilma koodita lähenemisviisil, teine viis on kasutada Azure Machine Learning Software Developer Kit'i (Azure ML SDK).
-
+
### Teemad
diff --git a/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 27945b76..3ac0c991 100644
--- a/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Tänu tehisintellekti demokratiseerimisele on arendajatel nüüd lihtsam kujunda
* [Andmeteadus tervishoius](https://data-flair.training/blogs/data-science-in-healthcare/) - toob esile rakendusi nagu meditsiiniline pildistamine (nt MRI, röntgen, CT-skaneerimine), genoomika (DNA järjestamine), ravimite arendamine (riskihindamine, edu prognoosimine), ennustav analüütika (patsiendihooldus ja tarne logistika), haiguste jälgimine ja ennetamine jne.
- Pildi krediit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Pildi krediit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Joonis näitab teisi valdkondi ja näiteid andmeteaduse tehnikate rakendamiseks. Kas soovite uurida teisi rakendusi? Vaadake [Ülevaade ja iseseisev õpe](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) sektsiooni allpool.
diff --git a/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index b9ab43b5..a06b540c 100644
--- a/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/et/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Explorer-liides (näidatud alloleval ekraanipildil) võimaldab valida andmehulga
2. Uuri andmehulkade [kataloogi](https://planetarycomputer.microsoft.com/catalog) – saa teada iga andmehulgaga seotud eesmärk.
3. Kasuta Explorerit – vali huvipakkuv andmehulk, sobiv päring ja renderdamisvõimalus.
-
+
`Sinu ülesanne:`
Uuri nüüd brauseris loodud visualiseerimist ja vasta järgmistele küsimustele:
diff --git a/translations/et/CONTRIBUTING.md b/translations/et/CONTRIBUTING.md
index feb2d78d..043eaf02 100644
--- a/translations/et/CONTRIBUTING.md
+++ b/translations/et/CONTRIBUTING.md
@@ -315,7 +315,7 @@ Lisage oma PR-i kirjeldusse:
```
````
-- Lisage piltidele alt-tekst: ``
+- Lisage piltidele alt-tekst: ``
- Hoidke rea pikkused mõistlikud (umbes 80-100 tähemärki)
### Python
diff --git a/translations/et/README.md b/translations/et/README.md
index acc067aa..e4b01596 100644
--- a/translations/et/README.md
+++ b/translations/et/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates Microsoftis rõõmustavad, et saavad pakkuda 10-nädalast,
**🙏 Eriline tänu 🙏 meie [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) autoritele, arvustajatele ja sisuloojatele,** eelkõige Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Andmeteadus algajatele - _Sketchnote autorilt [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates Microsoftis rõõmustavad, et saavad pakkuda 10-nädalast,
Meie Discordis toimub "Learn with AI" sari — saa rohkem teada ja liitu meiega aadressil [Learn with AI Series](https://aka.ms/learnwithai/discord) ajavahemikus 18 - 30 september, 2025. Saad näpunäiteid ja nippe GitHub Copiloti kasutamiseks andmeteaduses.
-
+
# Kas oled tudeng?
@@ -132,7 +132,7 @@ Iga näide sisaldab üksikasjalikke kommentaare, mis selgitavad iga sammu, muute
## Õppetükid
-||
+||
|:---:|
| Andmeteadus algajatele: teekaart - _Sketchnote autor: [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/et/sketchnotes/README.md b/translations/et/sketchnotes/README.md
index 7ad75aa0..714ff7f9 100644
--- a/translations/et/sketchnotes/README.md
+++ b/translations/et/sketchnotes/README.md
@@ -13,7 +13,7 @@ Leia kõik visandmärkmed siit!
Nitya Narasimhan, kunstnik
-
+
---
diff --git a/translations/fa/1-Introduction/01-defining-data-science/README.md b/translations/fa/1-Introduction/01-defining-data-science/README.md
index 213bd793..303f24f5 100644
--- a/translations/fa/1-Introduction/01-defining-data-science/README.md
+++ b/translations/fa/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [آزمون پیش از درس](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
در این چالش، سعی خواهیم کرد مفاهیم مرتبط با حوزه علم داده را با بررسی متون پیدا کنیم. ما یک مقاله ویکیپدیا درباره علم داده را انتخاب میکنیم، متن را دانلود و پردازش میکنیم، و سپس یک ابر کلمات مانند این تصویر ایجاد میکنیم:
-
+
به [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') مراجعه کنید تا کد را مرور کنید. همچنین میتوانید کد را اجرا کنید و ببینید که چگونه تمام تبدیلهای داده را به صورت زنده انجام میدهد.
diff --git a/translations/fa/1-Introduction/04-stats-and-probability/README.md b/translations/fa/1-Introduction/04-stats-and-probability/README.md
index 802cab0e..5ba9c25b 100644
--- a/translations/fa/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/fa/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
نظریه آمار و احتمال دو حوزه مرتبط از ریاضیات هستند که اهمیت زیادی در علم داده دارند. ممکن است بتوان بدون دانش عمیق ریاضی با دادهها کار کرد، اما بهتر است حداقل با برخی مفاهیم پایه آشنا باشید. در اینجا یک مقدمه کوتاه ارائه میدهیم که به شما کمک میکند شروع کنید.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [آزمون پیش از درس](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
ما فقط میتوانیم درباره احتمال اینکه یک متغیر در یک بازه خاص از مقادیر قرار گیرد صحبت کنیم، مثلا P(t1≤X2). در این حالت، توزیع احتمال با یک **تابع چگالی احتمال** p(x) توصیف میشود، به طوری که
- پیدا کنید.
diff --git a/translations/fa/1-Introduction/README.md b/translations/fa/1-Introduction/README.md
index 0b8bba4d..2863e268 100644
--- a/translations/fa/1-Introduction/README.md
+++ b/translations/fa/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# مقدمهای بر علم داده
-
+
> عکس از استیون داوسون در Unsplash
در این درسها، شما خواهید آموخت که علم داده چگونه تعریف میشود و با ملاحظات اخلاقی که یک دانشمند داده باید در نظر بگیرد آشنا خواهید شد. همچنین خواهید آموخت که داده چگونه تعریف میشود و کمی درباره آمار و احتمال، حوزههای اصلی علمی علم داده، یاد خواهید گرفت.
diff --git a/translations/fa/2-Working-With-Data/07-python/README.md b/translations/fa/2-Working-With-Data/07-python/README.md
index 88220872..3f02885a 100644
--- a/translations/fa/2-Working-With-Data/07-python/README.md
+++ b/translations/fa/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| کار با پایتون - _طرح دستی توسط [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
در حالی که پایگاههای داده روشهای بسیار کارآمدی برای ذخیرهسازی دادهها و جستجوی آنها با استفاده از زبانهای پرسوجو ارائه میدهند، انعطافپذیرترین روش پردازش دادهها نوشتن برنامهای است که دادهها را دستکاری کند. در بسیاری از موارد، انجام یک پرسوجوی پایگاه داده میتواند مؤثرتر باشد. اما در برخی موارد که پردازش دادههای پیچیدهتر مورد نیاز است، این کار به راحتی با SQL قابل انجام نیست.
پردازش دادهها را میتوان با هر زبان برنامهنویسی انجام داد، اما برخی زبانها سطح بالاتری برای کار با دادهها دارند. دانشمندان داده معمولاً یکی از زبانهای زیر را ترجیح میدهند:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
حالا فرض کنید که هر هفته یک مهمانی برای دوستان برگزار میکنیم و 10 بسته بستنی اضافی برای مهمانی میگیریم. میتوانیم یک سری دیگر، با شاخص هفته، برای نشان دادن این موضوع ایجاد کنیم:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **توجه** که ما از نحو ساده `total_items+additional_items` استفاده نمیکنیم. اگر این کار را میکردیم، تعداد زیادی مقدار `NaN` (*Not a Number*) در سری حاصل دریافت میکردیم. این به این دلیل است که مقادیر گمشدهای برای برخی از نقاط شاخص در سری `additional_items` وجود دارد و افزودن `NaN` به هر چیزی نتیجه `NaN` میدهد. بنابراین باید پارامتر `fill_value` را هنگام جمع مشخص کنیم.
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
از آنجا که میخواهیم نشان دهیم چگونه با دادهها کار کنیم، از شما دعوت میکنیم [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) را باز کنید و از ابتدا تا انتها بخوانید. همچنین میتوانید سلولها را اجرا کنید و برخی چالشهایی که در انتها برای شما گذاشتهایم را انجام دهید.
-
+
> اگر نمیدانید چگونه کد را در Jupyter Notebook اجرا کنید، به [این مقاله](https://soshnikov.com/education/how-to-execute-notebooks-from-github/) نگاهی بیندازید.
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
[`notebook-papers.ipynb`](notebook-papers.ipynb) را باز کنید و از ابتدا تا انتها بخوانید. همچنین میتوانید سلولها را اجرا کنید و برخی چالشهایی که در انتها برای شما گذاشتهایم را انجام دهید.
-
+
## پردازش دادههای تصویری
diff --git a/translations/fa/2-Working-With-Data/README.md b/translations/fa/2-Working-With-Data/README.md
index d05843fd..f4d15e3e 100644
--- a/translations/fa/2-Working-With-Data/README.md
+++ b/translations/fa/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# کار با دادهها
-
+
> عکس از الکساندر سین در Unsplash
در این درسها، شما با روشهایی آشنا خواهید شد که دادهها میتوانند مدیریت، دستکاری و در برنامهها استفاده شوند. شما درباره پایگاههای داده رابطهای و غیررابطهای و نحوه ذخیرهسازی دادهها در آنها یاد خواهید گرفت. همچنین اصول کار با پایتون برای مدیریت دادهها را خواهید آموخت و با برخی از روشهای متعدد کار با پایتون برای مدیریت و استخراج دادهها آشنا خواهید شد.
diff --git a/translations/fa/3-Data-Visualization/12-visualization-relationships/README.md b/translations/fa/3-Data-Visualization/12-visualization-relationships/README.md
index 29de7253..123f19d1 100644
--- a/translations/fa/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/fa/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
حالا، همان دادهها را با یک طرح رنگی مرتبط با عسل نمایش دهید تا نشان دهید قیمت چگونه در طول سالها تغییر کرده است. میتوانید این کار را با افزودن پارامتر 'hue' برای نمایش تغییرات سال به سال انجام دهید:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
با این تغییر طرح رنگ، میتوانید ببینید که به وضوح یک پیشرفت قوی در طول سالها از نظر قیمت هر پوند عسل وجود دارد. در واقع، اگر یک مجموعه نمونه از دادهها را بررسی کنید (مثلاً ایالت آریزونا)، میتوانید الگویی از افزایش قیمت سال به سال را با چند استثنا مشاهده کنید:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
میتوانید ببینید که اندازه نقاط به تدریج افزایش مییابد.
-
+
آیا این یک مورد ساده از عرضه و تقاضا است؟ آیا به دلیل عواملی مانند تغییرات اقلیمی و فروپاشی کلنی، عسل کمتری برای خرید در دسترس است و بنابراین قیمت افزایش مییابد؟
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
پاسخ: بله، با چند استثنا در حدود سال ۲۰۰۳:
-
+
✅ از آنجا که Seaborn دادهها را در یک خط تجمیع میکند، "اندازهگیریهای متعدد در هر مقدار x را با رسم میانگین و فاصله اطمینان ۹۵٪ در اطراف میانگین نمایش میدهد". [منبع](https://seaborn.pydata.org/tutorial/relational.html). این رفتار زمانبر را میتوان با افزودن `ci=None` غیرفعال کرد.
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
پاسخ: نه واقعاً. اگر به تولید کل نگاه کنید، به نظر میرسد که در آن سال خاص افزایش یافته است، حتی اگر به طور کلی مقدار عسل تولید شده در این سالها در حال کاهش باشد.
@@ -139,7 +139,7 @@ sns.relplot(
```
در این تجسم، میتوانید بازده هر کلنی و تعداد کلنیها را سال به سال، کنار هم با تنظیم wrap در ۳ برای ستونها مقایسه کنید:
-
+
برای این مجموعه داده، هیچ چیز خاصی در مورد تعداد کلنیها و بازده آنها، سال به سال و ایالت به ایالت برجسته نیست. آیا راه دیگری برای یافتن همبستگی بین این دو متغیر وجود دارد؟
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
در حالی که چیزی در حدود سال ۲۰۰۳ به چشم نمیآید، این نمودار به ما اجازه میدهد این درس را با یک نکته خوشحالکنندهتر به پایان برسانیم: در حالی که تعداد کلنیها به طور کلی در حال کاهش است، تعداد کلنیها در حال تثبیت است حتی اگر بازده هر کلنی کاهش یابد.
diff --git a/translations/fa/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/fa/3-Data-Visualization/R/09-visualization-quantities/README.md
index e79312d4..6033f06d 100644
--- a/translations/fa/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/fa/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -69,7 +69,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
در اینجا، بسته `ggplot2` را نصب کرده و سپس با استفاده از دستور `library("ggplot2")` آن را وارد فضای کاری میکنید. برای رسم هر نمودار در ggplot، از تابع `ggplot()` استفاده میشود و شما مجموعه داده، متغیرهای x و y را به عنوان ویژگیها مشخص میکنید. در این مورد، از تابع `geom_line()` استفاده میکنیم زیرا هدف ما رسم نمودار خطی است.
-
+
چه چیزی بلافاصله توجه شما را جلب میکند؟ به نظر میرسد حداقل یک مقدار پرت وجود دارد - این طول بال واقعاً چشمگیر است! طول بال بیش از ۲۰۰۰ سانتیمتر برابر با بیش از ۲۰ متر است - آیا پتروسورها در مینهسوتا پرسه میزنند؟ بیایید بررسی کنیم.
@@ -87,7 +87,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
ما زاویه را در `theme` مشخص میکنیم و برچسبهای محور x و y را در `xlab()` و `ylab()` به ترتیب مشخص میکنیم. `ggtitle()` نامی به نمودار/گراف میدهد.
-
+
حتی با چرخش برچسبها به زاویه ۴۵ درجه، تعداد زیادی برای خواندن وجود دارد. بیایید استراتژی متفاوتی را امتحان کنیم: فقط مقادیر پرت را برچسبگذاری کنیم و برچسبها را در داخل نمودار قرار دهیم. میتوانید از نمودار پراکندگی برای ایجاد فضای بیشتر برای برچسبگذاری استفاده کنید:
@@ -103,7 +103,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
چه چیزی کشف میکنید؟
-
+
## فیلتر کردن دادههای خود
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
ما یک دیتافریم جدید به نام `birds_filtered` ایجاد کردیم و سپس نمودار پراکندگی رسم کردیم. با حذف مقادیر پرت، دادههای شما اکنون منسجمتر و قابل فهمتر است.
-
+
اکنون که حداقل در مورد طول بالها مجموعه داده تمیزتری داریم، بیایید اطلاعات بیشتری درباره این پرندگان کشف کنیم.
@@ -164,7 +164,7 @@ birds_filtered %>% group_by(Category) %>%
```
در قطعه کد زیر، بستههای [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) و [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) را نصب میکنیم تا به دستکاری و گروهبندی دادهها برای رسم نمودار میلهای انباشته کمک کنیم. ابتدا دادهها را بر اساس `Category` پرنده گروهبندی کرده و سپس ستونهای `MinLength`، `MaxLength`، `MinBodyMass`، `MaxBodyMass`، `MinWingspan`، `MaxWingspan` را خلاصه میکنیم. سپس، نمودار میلهای را با استفاده از بسته `ggplot2` رسم کرده و رنگها و برچسبها را مشخص میکنیم.
-
+
این نمودار میلهای، با این حال، خوانا نیست زیرا دادههای غیرگروهبندی شده زیادی وجود دارد. شما باید فقط دادههایی را که میخواهید رسم کنید انتخاب کنید، بنابراین بیایید طول پرندگان را بر اساس دستهبندی آنها بررسی کنیم.
@@ -179,7 +179,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
ابتدا مقادیر منحصر به فرد در ستون `Category` را شمارش کرده و سپس آنها را به یک دیتافریم جدید به نام `birds_count` مرتب میکنیم. این دادههای مرتب شده سپس در همان سطح فاکتور میشوند تا به صورت مرتب رسم شوند. با استفاده از `ggplot2` سپس دادهها را در یک نمودار میلهای رسم میکنیم. `coord_flip()` میلههای افقی را رسم میکند.
-
+
این نمودار میلهای نمای خوبی از تعداد پرندگان در هر دستهبندی نشان میدهد. با یک نگاه، میبینید که بیشترین تعداد پرندگان در این منطقه در دسته اردکها/غازها/آبزیان قرار دارند. مینهسوتا "سرزمین ۱۰,۰۰۰ دریاچه" است، بنابراین این تعجبآور نیست!
@@ -202,7 +202,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
ما دادههای `birds_filtered` را بر اساس `Category` گروهبندی کرده و سپس نمودار میلهای رسم میکنیم.
-
+
اینجا چیزی تعجبآور نیست: مرغ مگسخوار کمترین حداکثر طول را در مقایسه با پلیکانها یا غازها دارد. خوب است وقتی دادهها منطقی به نظر میرسند!
@@ -214,7 +214,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 چالش
diff --git a/translations/fa/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/fa/3-Data-Visualization/R/10-visualization-distributions/README.md
index 55f1e809..1037770c 100644
--- a/translations/fa/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/fa/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
این نمودار نمای کلی از توزیع طول بدن بر اساس راسته پرندگان ارائه میدهد، اما بهترین روش برای نمایش توزیعهای واقعی نیست. این کار معمولاً با ایجاد یک هیستوگرام انجام میشود.
## کار با هیستوگرامها
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
همانطور که مشاهده میکنید، بیشتر از 400 پرنده در این مجموعه داده در محدوده زیر 2000 برای جرم بدن حداکثر قرار دارند. با تغییر پارامتر `bins` به عددی بالاتر، مانند 30، اطلاعات بیشتری کسب کنید:
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
این نمودار توزیع را به صورت کمی دقیقتر نشان میدهد. میتوان نموداری کمتر متمایل به سمت چپ ایجاد کرد، با اطمینان از اینکه فقط دادههای در یک محدوده خاص انتخاب شدهاند:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ برخی فیلترها و نقاط داده دیگر را امتحان کنید. برای مشاهده توزیع کامل دادهها، فیلتر `['MaxBodyMass']` را حذف کنید تا توزیعهای برچسبگذاری شده نمایش داده شوند.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
به نظر میرسد یک همبستگی مورد انتظار بین این دو عنصر در طول یک محور مورد انتظار وجود دارد، با یک نقطه همگرایی بسیار قوی:
-
+
هیستوگرامها به طور پیشفرض برای دادههای عددی خوب کار میکنند. اگر نیاز داشته باشید توزیعها را بر اساس دادههای متنی مشاهده کنید چه باید کرد؟
## بررسی مجموعه داده برای توزیعها با استفاده از دادههای متنی
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
به نظر نمیرسد که همبستگی خوبی بین طول بال حداقل و وضعیت حفاظتی وجود داشته باشد. سایر عناصر مجموعه داده را با استفاده از این روش آزمایش کنید. میتوانید فیلترهای مختلفی را نیز امتحان کنید. آیا همبستگیای پیدا میکنید؟
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
میتوانید ببینید که نمودار دادههای طول بال حداقل قبلی را بازتاب میدهد؛ فقط کمی روانتر است. اگر بخواهید آن خط پلهای جرم بدن حداکثر در نمودار دوم که ساختید را بازبینی کنید، میتوانید آن را با استفاده از این روش بسیار خوب روان کنید:
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
اگر بخواهید یک خط روان، اما نه خیلی روان داشته باشید، پارامتر `adjust` را ویرایش کنید:
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ درباره پارامترهای موجود برای این نوع نمودار بخوانید و آزمایش کنید!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 چالش
diff --git a/translations/fa/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/fa/3-Data-Visualization/R/11-visualization-proportions/README.md
index 904c4e83..7277cb15 100644
--- a/translations/fa/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/fa/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
وویلا، یک نمودار دایرهای که نسبتهای این دادهها را بر اساس این دو دسته قارچ نشان میدهد. بسیار مهم است که ترتیب برچسبها را به درستی تنظیم کنید، به خصوص در اینجا، بنابراین حتماً ترتیب آرایه برچسبها را بررسی کنید!
-
+
## دونات!
@@ -127,7 +127,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
این کد از دو کتابخانه - ggplot2 و webr - استفاده میکند. با استفاده از تابع PieDonut در کتابخانه webr، میتوانیم به راحتی یک نمودار دونات ایجاد کنیم!
@@ -165,7 +165,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
با استفاده از نمودار وافل، میتوانید به وضوح نسبتهای رنگهای کلاهک قارچها در این مجموعه داده را مشاهده کنید. جالب است که قارچهای زیادی با کلاهک سبز وجود دارند!
-
+
در این درس، شما سه روش برای تجسم نسبتها یاد گرفتید. ابتدا باید دادههای خود را به دستهها گروهبندی کنید و سپس تصمیم بگیرید که بهترین روش برای نمایش دادهها چیست - دایرهای، دونات، یا وافل. همه اینها خوشمزه هستند و کاربر را با یک نمای فوری از مجموعه داده راضی میکنند.
diff --git a/translations/fa/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/fa/3-Data-Visualization/R/12-visualization-relationships/README.md
index f928f65c..75eb579d 100644
--- a/translations/fa/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/fa/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
حالا همان دادهها را با یک طرح رنگی عسل نمایش دهید تا نشان دهید قیمت چگونه در طول سالها تغییر کرده است. میتوانید این کار را با افزودن پارامتر 'scale_color_gradientn' انجام دهید تا تغییرات سال به سال را نشان دهید:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
با این تغییر طرح رنگی، میتوانید ببینید که به وضوح یک پیشرفت قوی در طول سالها از نظر قیمت هر پوند عسل وجود دارد. در واقع، اگر یک مجموعه نمونه در دادهها را بررسی کنید (مثلاً ایالت آریزونا)، میتوانید الگویی از افزایش قیمت سال به سال را مشاهده کنید، با چند استثنا:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
میتوانید ببینید که اندازه نقاط به تدریج افزایش مییابد.
-
+
آیا این یک مورد ساده از عرضه و تقاضا است؟ به دلیل عواملی مانند تغییرات اقلیمی و فروپاشی کلنی، آیا عسل کمتری برای خرید در دسترس است و بنابراین قیمت افزایش مییابد؟
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
پاسخ: بله، با چند استثنا در حدود سال ۲۰۰۳:
-
+
سؤال: خب، در سال ۲۰۰۳ آیا میتوانیم افزایش عرضه عسل را نیز مشاهده کنیم؟ اگر تولید کل را سال به سال بررسی کنید چه؟
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
پاسخ: نه واقعاً. اگر تولید کل را بررسی کنید، به نظر میرسد که در آن سال خاص افزایش یافته است، حتی اگر به طور کلی مقدار عسل تولید شده در این سالها در حال کاهش باشد.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
در این تجسم، میتوانید بازده هر کلنی و تعداد کلنیها را سال به سال، کنار هم با تنظیم wrap در ۳ برای ستونها مقایسه کنید:
-
+
برای این مجموعه داده، هیچ چیز خاصی در مورد تعداد کلنیها و بازده آنها، سال به سال و ایالت به ایالت برجسته نیست. آیا راه دیگری برای یافتن همبستگی بین این دو متغیر وجود دارد؟
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
در حالی که هیچ چیز خاصی در حدود سال ۲۰۰۳ به چشم نمیآید، این اجازه را به ما میدهد که این درس را با یک نکته خوشحالکنندهتر به پایان برسانیم: در حالی که تعداد کلنیها به طور کلی در حال کاهش است، تعداد کلنیها در حال تثبیت است حتی اگر بازده هر کلنی کاهش یابد.
diff --git a/translations/fa/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/fa/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 6aadbda4..04fba3cb 100644
--- a/translations/fa/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/fa/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
حتی اگر یک دانشمند داده در انتخاب نمودار مناسب برای دادهها دقت کند، روشهای زیادی وجود دارد که دادهها میتوانند به گونهای نمایش داده شوند که یک نکته را ثابت کنند، اغلب به قیمت تضعیف خود دادهها. نمونههای زیادی از نمودارها و اینفوگرافیکهای گمراهکننده وجود دارد!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "چگونه نمودارها دروغ میگویند")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "چگونه نمودارها دروغ میگویند")
> 🎥 روی تصویر بالا کلیک کنید تا یک سخنرانی کنفرانس درباره نمودارهای گمراهکننده مشاهده کنید
این نمودار محور X را معکوس میکند تا بر اساس تاریخ، حقیقت را وارونه نشان دهد:
-
+
[این نمودار](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) حتی گمراهکنندهتر است، زیرا چشم به سمت راست کشیده میشود تا نتیجهگیری کند که در طول زمان، موارد COVID در شهرستانهای مختلف کاهش یافته است. در واقع، اگر به تاریخها دقت کنید، متوجه میشوید که آنها به گونهای مرتب شدهاند که روند نزولی گمراهکنندهای ایجاد کنند.
-
+
این مثال معروف از رنگ و محور Y معکوس برای گمراه کردن استفاده میکند: به جای نتیجهگیری اینکه مرگهای ناشی از اسلحه پس از تصویب قوانین دوستدار اسلحه افزایش یافته است، در واقع چشم فریب داده میشود تا فکر کند که عکس آن درست است:
-
+
این نمودار عجیب نشان میدهد که چگونه نسبتها میتوانند به شکلی دستکاری شوند که خندهدار باشد:
-
+
مقایسه موارد غیرقابل مقایسه یکی دیگر از ترفندهای مشکوک است. یک [وبسایت فوقالعاده](https://tylervigen.com/spurious-correlations) وجود دارد که تماماً درباره 'همبستگیهای جعلی' است و 'حقایق'ی را نمایش میدهد که چیزهایی مانند نرخ طلاق در مین و مصرف مارگارین را همبسته میکند. یک گروه در Reddit نیز [استفادههای زشت](https://www.reddit.com/r/dataisugly/top/?t=all) از دادهها را جمعآوری میکند.
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
اگر دادههای شما متنی و طولانی روی محور X است، میتوانید متن را برای خوانایی بهتر زاویه دهید. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) امکان رسم سهبعدی را ارائه میدهد، اگر دادههای شما از آن پشتیبانی کند. مصورسازیهای دادهای پیشرفته میتوانند با استفاده از آن تولید شوند.
-
+
## نمایش نمودارهای متحرک و سهبعدی
برخی از بهترین مصورسازیهای دادهای امروز متحرک هستند. شرلی وو نمونههای شگفتانگیزی با D3 دارد، مانند '[گلهای فیلم](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'، که هر گل یک مصورسازی از یک فیلم است. نمونه دیگری برای گاردین 'بیرون فرستاده شده' است، یک تجربه تعاملی که مصورسازیها را با Greensock و D3 به علاوه یک قالب مقاله اسکرولتلیگ ترکیب میکند تا نشان دهد چگونه نیویورک با مشکل بیخانمانهای خود با بیرون فرستادن افراد از شهر برخورد میکند.
-
+
> "بیرون فرستاده شده: چگونه آمریکا بیخانمانهای خود را جابهجا میکند" از [گاردین](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). مصورسازیها توسط نادیه برمر و شرلی وو
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
شما یک اپلیکیشن وب کامل خواهید کرد که نمای متحرکی از این شبکه اجتماعی را نمایش میدهد. این اپلیکیشن از یک کتابخانه استفاده میکند که برای ایجاد [نمایی از یک شبکه](https://github.com/emiliorizzo/vue-d3-network) با استفاده از Vue.js و D3 ساخته شده است. هنگامی که اپلیکیشن اجرا میشود، میتوانید گرهها را روی صفحه بکشید تا دادهها را جابهجا کنید.
-
+
## پروژه: ساخت نموداری برای نمایش یک شبکه با استفاده از D3.js
diff --git a/translations/fa/3-Data-Visualization/README.md b/translations/fa/3-Data-Visualization/README.md
index 07833fe6..dbec1a51 100644
--- a/translations/fa/3-Data-Visualization/README.md
+++ b/translations/fa/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# مصورسازیها
-
+
> عکس از جنا لی در Unsplash
مصورسازی دادهها یکی از مهمترین وظایف یک دانشمند داده است. تصاویر به اندازه هزار کلمه ارزش دارند و یک مصورسازی میتواند به شما کمک کند تا انواع مختلفی از جنبههای جالب دادههایتان مانند جهشها، نقاط پرت، گروهبندیها، تمایلات و موارد دیگر را شناسایی کنید که میتوانند به شما در درک داستانی که دادههایتان میخواهند بگویند، کمک کنند.
diff --git a/translations/fa/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/fa/4-Data-Science-Lifecycle/14-Introduction/README.md
index 6563442d..2387d9d1 100644
--- a/translations/fa/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/fa/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
این درس بر سه بخش از چرخه عمر تمرکز دارد: جمعآوری، پردازش و نگهداری.
-
+
> عکس از [مدرسه اطلاعات برکلی](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## جمعآوری
@@ -101,7 +101,7 @@ CO_OP_TRANSLATOR_METADATA:
|فرآیند تیم علم داده (TDSP)|استاندارد صنعتی برای دادهکاوی (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| تصویر توسط [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | تصویر توسط [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [پسآزمون](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/fa/4-Data-Science-Lifecycle/README.md b/translations/fa/4-Data-Science-Lifecycle/README.md
index bda5f55e..04c7b40a 100644
--- a/translations/fa/4-Data-Science-Lifecycle/README.md
+++ b/translations/fa/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# چرخه حیات علم داده
-
+
> عکس از Headway در Unsplash
در این درسها، برخی از جنبههای چرخه حیات علم داده را بررسی خواهید کرد، از جمله تحلیل و ارتباطات پیرامون دادهها.
diff --git a/translations/fa/5-Data-Science-In-Cloud/README.md b/translations/fa/5-Data-Science-In-Cloud/README.md
index e1ca5d5f..7dabbebd 100644
--- a/translations/fa/5-Data-Science-In-Cloud/README.md
+++ b/translations/fa/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# علم داده در فضای ابری
-
+
> عکس از [Jelleke Vanooteghem](https://unsplash.com/@ilumire) در [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
وقتی صحبت از انجام علم داده با دادههای بزرگ میشود، فضای ابری میتواند یک تغییر اساسی ایجاد کند. در سه درس بعدی، بررسی خواهیم کرد که فضای ابری چیست و چرا میتواند بسیار مفید باشد. همچنین یک مجموعه داده مربوط به نارسایی قلبی را بررسی کرده و مدلی برای ارزیابی احتمال نارسایی قلبی در افراد ایجاد خواهیم کرد. از قدرت فضای ابری برای آموزش، استقرار و استفاده از مدل به دو روش مختلف استفاده خواهیم کرد. یک روش با استفاده از رابط کاربری به صورت "کد کم/بدون کد"، و روش دیگر با استفاده از کیت توسعه نرمافزار Azure Machine Learning (Azure ML SDK).
-
+
### موضوعات
diff --git a/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index dd276887..1aedf452 100644
--- a/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [علم داده در مراقبتهای بهداشتی](https://data-flair.training/blogs/data-science-in-healthcare/) - کاربردهایی مانند تصویربرداری پزشکی (مانند MRI، اشعه ایکس، سیتیاسکن)، ژنومیک (توالییابی DNA)، توسعه دارو (ارزیابی ریسک، پیشبینی موفقیت)، تحلیلهای پیشبینیکننده (مراقبت از بیمار و لجستیک تامین)، ردیابی و پیشگیری از بیماری و غیره را برجسته میکند.
- اعتبار تصویر: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ اعتبار تصویر: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
این شکل حوزهها و مثالهای دیگری برای کاربرد تکنیکهای علم داده را نشان میدهد. آیا میخواهید کاربردهای دیگری را بررسی کنید؟ بخش [مرور و مطالعه خود](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) را در زیر ببینید.
diff --git a/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 74103fc7..ed0d8037 100644
--- a/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/fa/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. مجموعه دادههای [Catalog](https://planetarycomputer.microsoft.com/catalog) را بررسی کنید - هدف هر کدام را یاد بگیرید.
3. از Explorer استفاده کنید - یک مجموعه داده مورد علاقه انتخاب کنید، یک پرسش مرتبط و گزینه رندر مناسب انتخاب کنید.
-
+
`وظیفه شما:`
اکنون مصورسازیای که در مرورگر رندر شده است را بررسی کنید و به سوالات زیر پاسخ دهید:
diff --git a/translations/fa/CONTRIBUTING.md b/translations/fa/CONTRIBUTING.md
index 9d576103..84fbdb1b 100644
--- a/translations/fa/CONTRIBUTING.md
+++ b/translations/fa/CONTRIBUTING.md
@@ -318,7 +318,7 @@ def calculate_mean(data):
```
````
-- متن جایگزین برای تصاویر اضافه کنید: ``
+- متن جایگزین برای تصاویر اضافه کنید: ``
- طول خطوط را معقول نگه دارید (حدود 80-100 کاراکتر)
### پایتون
diff --git a/translations/fa/README.md b/translations/fa/README.md
index e033a48d..6768000a 100644
--- a/translations/fa/README.md
+++ b/translations/fa/README.md
@@ -33,7 +33,7 @@ CO_OP_TRANSLATOR_METADATA:
**🙏 تشکر ویژه 🙏 از نویسندگان، بازبینها و مشارکتکنندگان محتوایی ما از [سفیران دانشجویی مایکروسافت](https://studentambassadors.microsoft.com/)،** بهویژه Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| علوم داده برای مبتدیان - _اسکتچنوت توسط [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ CO_OP_TRANSLATOR_METADATA:
ما مجموعهای از رویدادهای Discord با عنوان «یادگیری با هوش مصنوعی» را برگزار میکنیم، برای اطلاعات بیشتر و پیوستن به ما به [Learn with AI Series](https://aka.ms/learnwithai/discord) از 18 تا 30 سپتامبر 2025 مراجعه کنید. در این رویداد نکات و ترفندهایی برای استفاده از GitHub Copilot در علوم داده دریافت خواهید کرد.
-
+
# آیا دانشجو هستید؟
@@ -132,7 +132,7 @@ CO_OP_TRANSLATOR_METADATA:
## درسها
-||
+||
|:---:|
| نقشهٔ راه علوم داده برای مبتدیان - _اسکِچنوت توسط [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/fa/sketchnotes/README.md b/translations/fa/sketchnotes/README.md
index 5dc5e6bb..32b42713 100644
--- a/translations/fa/sketchnotes/README.md
+++ b/translations/fa/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
نیتیا ناراسیمهان، هنرمند
-
+
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.
\ No newline at end of file
diff --git a/translations/fi/1-Introduction/01-defining-data-science/README.md b/translations/fi/1-Introduction/01-defining-data-science/README.md
index d863a873..4a49af05 100644
--- a/translations/fi/1-Introduction/01-defining-data-science/README.md
+++ b/translations/fi/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Esiluennon kysely](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Jos haluamme mennä vielä pidemmälle, voimme piirtää kaavion, jossa esitetä
Tässä haasteessa yritämme löytää Data Science -alaan liittyviä käsitteitä tarkastelemalla tekstejä. Otamme Wikipedia-artikkelin Data Sciencesta, lataamme ja käsittelemme tekstin ja luomme sitten sanapilven, joka näyttää tältä:
-
+
Vieraile tiedostossa [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') lukeaksesi koodin läpi. Voit myös suorittaa koodin ja nähdä, kuinka se suorittaa kaikki datan muunnokset reaaliajassa.
diff --git a/translations/fi/1-Introduction/04-stats-and-probability/README.md b/translations/fi/1-Introduction/04-stats-and-probability/README.md
index ebcdfdaa..c5c4e68a 100644
--- a/translations/fi/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/fi/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Tilastotiede ja todennäköisyysteoria ovat kaksi läheisesti liittyvää matematiikan osa-aluetta, jotka ovat erittäin tärkeitä datatieteessä. Vaikka dataa voi käsitellä ilman syvällistä matematiikan tuntemusta, on silti hyödyllistä ymmärtää ainakin peruskäsitteet. Tässä esittelemme lyhyen johdannon, joka auttaa sinua pääsemään alkuun.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Esiluentovisa](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Jatkuvan muuttujan todennäköisyysjakauman kuvaaminen on vaikeampaa, kun arvot
Voimme puhua vain todennäköisyydestä, että muuttuja osuu tietylle arvojen välille, esim. P(t1≤X2). Tässä tapauksessa todennäköisyysjakauma kuvataan **tiheysfunktiolla** p(x), siten että
-.
diff --git a/translations/fi/1-Introduction/README.md b/translations/fi/1-Introduction/README.md
index 021e0436..23c71588 100644
--- a/translations/fi/1-Introduction/README.md
+++ b/translations/fi/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Johdatus Data Scienceen
-
+
> Kuva: Stephen Dawson palvelussa Unsplash
Näissä oppitunneissa opit, miten Data Science määritellään, ja tutustut eettisiin näkökohtiin, jotka data scientistin tulee ottaa huomioon. Lisäksi opit, mitä data tarkoittaa, ja saat perustiedot tilastotieteestä ja todennäköisyyslaskennasta, jotka ovat Data Sciencen keskeisiä akateemisia aloja.
diff --git a/translations/fi/2-Working-With-Data/07-python/README.md b/translations/fi/2-Working-With-Data/07-python/README.md
index 1e67d8e7..71f8bfdd 100644
--- a/translations/fi/2-Working-With-Data/07-python/README.md
+++ b/translations/fi/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Työskentely Pythonin kanssa - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Vaikka tietokannat tarjoavat erittäin tehokkaita tapoja tallentaa dataa ja tehdä kyselyitä kyselykielillä, joustavin tapa käsitellä dataa on kirjoittaa oma ohjelma datan muokkaamiseen. Monissa tapauksissa tietokantakysely olisi tehokkaampi tapa. Kuitenkin joissakin tapauksissa, kun tarvitaan monimutkaisempaa datan käsittelyä, sitä ei voida helposti tehdä SQL:llä.
Datan käsittelyä voidaan ohjelmoida millä tahansa ohjelmointikielellä, mutta tietyt kielet ovat korkeammalla tasolla datan käsittelyn suhteen. Datatieteilijät suosivat yleensä yhtä seuraavista kielistä:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Oletetaan nyt, että järjestämme joka viikko juhlat ystäville, ja otamme juhliin 10 ylimääräistä jäätelöpakkausta. Voimme luoda toisen sarjan, joka on indeksoitu viikoittain, osoittamaan tätä:
```python
@@ -84,7 +84,7 @@ Kun lisäämme kaksi sarjaa yhteen, saamme kokonaismäärän:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Huomio**: Emme käytä yksinkertaista syntaksia `total_items+additional_items`. Jos tekisimme niin, saisimme paljon `NaN` (*Not a Number*) -arvoja tuloksena olevaan sarjaan. Tämä johtuu siitä, että `additional_items`-sarjassa on puuttuvia arvoja joillekin indeksipisteille, ja `NaN`-arvon lisääminen mihin tahansa johtaa `NaN`:iin. Siksi meidän täytyy määrittää `fill_value`-parametri lisäyksen aikana.
@@ -93,7 +93,7 @@ Aikasarjojen kanssa voimme myös **resamplata** sarjan eri aikaväleillä. Esime
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Ensimmäinen ongelma, johon keskitymme, on COVID-19:n epidemian leviämisen mall
Koska haluamme demonstroida, miten dataa käsitellään, kutsumme sinut avaamaan [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ja lukemaan sen alusta loppuun. Voit myös suorittaa soluja ja tehdä joitakin haasteita, jotka olemme jättäneet sinulle loppuun.
-
+
> Jos et tiedä, miten suorittaa koodia Jupyter Notebookissa, tutustu [tähän artikkeliin](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Täydellinen esimerkki tämän datasetin analysoinnista [Text Analytics for Heal
Avaa [`notebook-papers.ipynb`](notebook-papers.ipynb) ja lue se alusta loppuun. Voit myös suorittaa soluja ja tehdä joitakin haasteita, jotka olemme jättäneet sinulle loppuun.
-
+
## Kuvadatan käsittely
diff --git a/translations/fi/2-Working-With-Data/README.md b/translations/fi/2-Working-With-Data/README.md
index dcd28506..45e614c8 100644
--- a/translations/fi/2-Working-With-Data/README.md
+++ b/translations/fi/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Työskentely datan kanssa
-
+
> Kuva: Alexander Sinn palvelussa Unsplash
Näissä oppitunneissa opit joitakin tapoja, joilla dataa voidaan hallita, käsitellä ja käyttää sovelluksissa. Opit relaatiotietokannoista ja ei-relaatiotietokannoista sekä siitä, miten dataa voidaan tallentaa niihin. Opit Pythonin perusteet datan hallintaan ja tutustut moniin tapoihin, joilla voit käyttää Pythonia datan hallintaan ja analysointiin.
diff --git a/translations/fi/3-Data-Visualization/12-visualization-relationships/README.md b/translations/fi/3-Data-Visualization/12-visualization-relationships/README.md
index 4c5a3494..59ae0bce 100644
--- a/translations/fi/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/fi/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Luo perushajontakaavio, joka näyttää hunajan hinnan ja sen alkuperäosavaltio
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Näytä nyt sama data hunajavärisävyillä, jotka kuvaavat hinnan kehitystä vuosien varrella. Voit tehdä tämän lisäämällä 'hue'-parametrin, joka näyttää muutoksen vuosi vuodelta:
@@ -60,7 +60,7 @@ Näytä nyt sama data hunajavärisävyillä, jotka kuvaavat hinnan kehitystä vu
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Tämän värisävyjen muutoksen avulla näet selvästi vahvan kehityksen hunajan hinnassa vuosien varrella. Jos tarkastelet datan otosta varmistaaksesi (valitse esimerkiksi Arizona), näet hintojen nousun vuosi vuodelta, muutamia poikkeuksia lukuun ottamatta:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Näet pisteiden koon kasvavan asteittain.
-
+
Onko tämä yksinkertainen tapaus kysynnän ja tarjonnan laista? Ilmastonmuutoksen ja pesäkatojen kaltaisten tekijöiden vuoksi, onko hunajaa vähemmän saatavilla vuosi vuodelta, ja siksi hinta nousee?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Vastaus: Kyllä, muutamia poikkeuksia lukuun ottamatta vuoden 2003 tienoilla:
-
+
✅ Koska Seaborn yhdistää datan yhdeksi viivaksi, se näyttää "useat mittaukset kussakin x-arvossa piirtämällä keskiarvon ja 95 %:n luottamusvälin keskiarvon ympärille". [Lähde](https://seaborn.pydata.org/tutorial/relational.html). Tämä aikaa vievä toiminto voidaan poistaa lisäämällä `ci=None`.
@@ -114,7 +114,7 @@ Kysymys: No, vuonna 2003, näkyykö myös piikki hunajan tarjonnassa? Entä jos
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Vastaus: Ei oikeastaan. Jos tarkastelet kokonaistuotantoa, se näyttää itse asiassa kasvaneen kyseisenä vuonna, vaikka yleisesti ottaen hunajan tuotantomäärä on laskussa näinä vuosina.
@@ -139,7 +139,7 @@ sns.relplot(
```
Tässä visualisoinnissa voit verrata pesien tuottoa ja pesämäärää vuosi vuodelta rinnakkain, sarakkeiden wrap-asetuksella 3:
-
+
Tämän datasetin osalta mikään ei erityisesti erotu pesien määrän ja niiden tuoton osalta vuosi vuodelta ja osavaltioittain. Onko olemassa toinen tapa tarkastella korrelaatiota näiden kahden muuttujan välillä?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Vaikka mikään ei erityisesti erotu vuoden 2003 tienoilla, tämä antaa meille mahdollisuuden päättää oppitunti hieman iloisemmalla nuotilla: vaikka pesien määrä on yleisesti laskussa, pesien määrä näyttää vakiintuvan, vaikka niiden tuotto per pesä on laskussa.
diff --git a/translations/fi/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/fi/3-Data-Visualization/R/09-visualization-quantities/README.md
index a61cdb51..45f11972 100644
--- a/translations/fi/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/fi/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Tässä asennetaan `ggplot2`-kirjasto ja tuodaan se työtilaan komennolla `library("ggplot2")`. Kaavion piirtämiseen ggplotissa käytetään `ggplot()`-funktiota, jossa määritetään datasetti, x- ja y-muuttujat attribuuteiksi. Tässä tapauksessa käytetään `geom_line()`-funktiota, koska tavoitteena on piirtää viivakaavio.
-
+
Mitä huomaat heti? Näyttää olevan ainakin yksi poikkeama - melko vaikuttava siipiväli! Yli 2000 senttimetrin siipiväli vastaa yli 20 metriä - onko Minnesotassa lentäviä pterosauruksia? Tutkitaan asiaa.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Määritämme kulman `theme`-osiossa ja määritämme x- ja y-akselin selitteet `xlab()`- ja `ylab()`-funktioilla. `ggtitle()` antaa kaaviolle nimen.
-
+
Vaikka selitteiden kiertokulma on asetettu 45 asteeseen, niitä on silti liikaa luettavaksi. Kokeillaan toista strategiaa: merkitään vain poikkeamat ja asetetaan selitteet kaavion sisälle. Voit käyttää hajontakaaviota, jotta selitteille jää enemmän tilaa:
@@ -100,7 +100,7 @@ Mitä tässä tapahtuu? Käytit `geom_point()`-funktiota hajontapisteiden piirt
Mitä huomaat?
-
+
## Suodata dataasi
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Loimme uuden dataframen `birds_filtered` ja piirsimme hajontakaavion. Suodattamalla poikkeamat datasi on nyt yhtenäisempää ja ymmärrettävämpää.
-
+
Nyt kun meillä on puhtaampi datasetti ainakin siipivälin osalta, tutkitaan lisää näitä lintuja.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
Seuraavassa koodissa asennetaan [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8)- ja [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0)-kirjastot, jotka auttavat datan käsittelyssä ja ryhmittelyssä pinotun pylväsdiagrammin piirtämiseksi. Ensin ryhmitellään data lintujen `Category`-sarakkeen mukaan ja tiivistetään sarakkeet `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Sitten piirretään pylväsdiagrammi `ggplot2`-kirjaston avulla ja määritetään eri kategorioiden värit ja selitteet.
-
+
Tämä pylväsdiagrammi on kuitenkin vaikeasti luettavissa, koska siinä on liikaa ryhmittelemätöntä dataa. Sinun täytyy valita vain data, jonka haluat piirtää, joten tarkastellaan lintujen pituutta kategorian perusteella.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Ensin lasketaan `Category`-sarakkeen uniikit arvot ja lajitellaan ne uuteen dataframeen `birds_count`. Tämä lajiteltu data järjestetään samalle tasolle, jotta se piirretään järjestyksessä. Käyttämällä `ggplot2`-kirjastoa piirretään data pylväsdiagrammiin. `coord_flip()` piirtää vaakapalkit.
-
+
Tämä pylväsdiagrammi näyttää hyvän näkymän lintujen lukumäärästä kussakin kategoriassa. Silmänräpäyksessä näet, että suurin osa tämän alueen linnuista kuuluu Ankat/hanhet/vesilinnut-kategoriaan. Minnesota on "10 000 järven maa", joten tämä ei ole yllättävää!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Ryhmämme `birds_filtered`-datan `Category`-sarakkeen mukaan ja piirrämme pylväsdiagrammin.
-
+
Tässä ei ole mitään yllättävää: kolibrit ovat pienimpiä maksimaalisen pituuden osalta verrattuna pelikaaniin tai hanhiin. On hyvä, kun data on loogista!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Haaste
diff --git a/translations/fi/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/fi/3-Data-Visualization/R/10-visualization-distributions/README.md
index f88387ee..f07a7a9c 100644
--- a/translations/fi/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/fi/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Tämä antaa yleiskuvan kehon pituuden jakaumasta lintulahkoittain, mutta se ei ole paras tapa esittää todellisia jakaumia. Tätä tehtävää varten käytetään yleensä histogrammia.
@@ -57,7 +57,7 @@ Tämä antaa yleiskuvan kehon pituuden jakaumasta lintulahkoittain, mutta se ei
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Kuten näet, suurin osa tämän datasetin yli 400 linnusta kuuluu alle 2000:n Max Body Mass -alueeseen. Saat lisää tietoa datasta muuttamalla `bins`-parametrin suuremmaksi, esimerkiksi 30:ksi:
@@ -65,7 +65,7 @@ Kuten näet, suurin osa tämän datasetin yli 400 linnusta kuuluu alle 2000:n Ma
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Tämä kaavio näyttää jakauman hieman tarkemmin. Vähemmän vasemmalle vinoutunut kaavio voidaan luoda varmistamalla, että valitset vain tietyn alueen sisällä olevan datan:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Kokeile muita suodattimia ja datapisteitä. Näyttääksesi datan koko jakauman, poista `['MaxBodyMass']`-suodatin ja näytä nimettyjä jakaumia.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Näyttää siltä, että näiden kahden elementin välillä on odotettu korrelaatio odotetun akselin mukaisesti, ja yksi erityisen vahva yhtymäkohta:
-
+
Histogrammit toimivat oletuksena hyvin numeeriselle datalle. Entä jos haluat nähdä jakaumia tekstidatan perusteella?
## Tutki datasettiä jakaumien osalta tekstidatan avulla
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Näyttää siltä, ettei minimisiipivälin ja suojelustatuksen välillä ole selvää korrelaatiota. Testaa datasetin muita elementtejä tällä menetelmällä. Voit kokeilla myös erilaisia suodattimia. Löydätkö mitään korrelaatiota?
@@ -136,7 +136,7 @@ Työskennellään nyt tiheyskäyrien parissa!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Näet, kuinka käyrä muistuttaa aiempaa minimisiipivälin kaaviota; se on vain hieman tasaisempi. Jos haluat tarkastella uudelleen sitä epätasaista MaxBodyMass-käyrää, jonka loit toisessa kaaviossa, voit tasoittaa sen hyvin luomalla sen uudelleen tällä menetelmällä:
@@ -144,7 +144,7 @@ Näet, kuinka käyrä muistuttaa aiempaa minimisiipivälin kaaviota; se on vain
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Jos haluat tasaisen, mutta ei liian tasaisen käyrän, muokkaa `adjust`-parametria:
@@ -152,7 +152,7 @@ Jos haluat tasaisen, mutta ei liian tasaisen käyrän, muokkaa `adjust`-parametr
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Lue tämän kaaviotyypin käytettävissä olevista parametreista ja kokeile!
@@ -162,7 +162,7 @@ Tämä kaaviotyyppi tarjoaa kauniita ja selittäviä visualisointeja. Esimerkiks
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Haaste
diff --git a/translations/fi/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/fi/3-Data-Visualization/R/11-visualization-proportions/README.md
index b300dc88..0c28c970 100644
--- a/translations/fi/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/fi/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -93,7 +93,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, piirakkakaavio, joka näyttää tämän datan osuudet näiden kahden sieniluokan mukaan. On erittäin tärkeää saada tunnisteiden järjestys oikein, erityisesti tässä, joten varmista tunnisteiden järjestys ennen kaavion rakentamista!
-
+
## Donitsit!
@@ -127,7 +127,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Tämä koodi käyttää kahta kirjastoa - ggplot2 ja webr. Käyttämällä webr-kirjaston PieDonut-funktiota voimme helposti luoda donitsikaavion!
@@ -165,7 +165,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Vohvelikaaviota käyttämällä voit selkeästi nähdä sienilakkien värien osuudet tässä datasetissä. Mielenkiintoista on, että on paljon vihreälakkisia sieniä!
-
+
Tässä oppitunnissa opit kolme tapaa visualisoida osuuksia. Ensin sinun täytyy ryhmitellä data kategorioihin ja sitten päättää, mikä on paras tapa esittää data - piirakka, donitsi tai vohveli. Kaikki ovat herkullisia ja tarjoavat käyttäjälle välittömän katsauksen datasettiin.
diff --git a/translations/fi/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/fi/3-Data-Visualization/R/12-visualization-relationships/README.md
index 2b42d544..ec20cd0b 100644
--- a/translations/fi/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/fi/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Näytä nyt sama data hunajan värimaailmalla, joka havainnollistaa hinnan kehitystä vuosien varrella. Voit tehdä tämän lisäämällä 'scale_color_gradientn'-parametrin, joka näyttää muutoksen vuosi vuodelta:
@@ -61,7 +61,7 @@ Näytä nyt sama data hunajan värimaailmalla, joka havainnollistaa hinnan kehit
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Tämän värimaailman avulla näet selvästi, että hunajan hinta per pauna on selvästi noussut vuosien varrella. Jos tarkastelet esimerkiksi Arizonan osavaltiota, voit havaita hintojen nousun vuosi vuodelta, muutamia poikkeuksia lukuun ottamatta:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Näet pisteiden koon kasvavan vähitellen.
-
+
Onko kyseessä yksinkertainen kysynnän ja tarjonnan laki? Ilmastonmuutoksen ja mehiläispesien romahtamisen vuoksi onko hunajaa vuosi vuodelta vähemmän saatavilla, mikä nostaa hintaa?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Vastaus: Kyllä, muutamia poikkeuksia lukuun ottamatta, kuten vuonna 2003:
-
+
Kysymys: Näkyykö vuonna 2003 myös piikki hunajan tarjonnassa? Entä jos tarkastelet kokonaistuotantoa vuosi vuodelta?
@@ -115,7 +115,7 @@ Kysymys: Näkyykö vuonna 2003 myös piikki hunajan tarjonnassa? Entä jos tarka
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Vastaus: Ei oikeastaan. Jos tarkastelet kokonaistuotantoa, se näyttää itse asiassa kasvaneen kyseisenä vuonna, vaikka yleisesti ottaen hunajantuotanto on ollut laskussa näinä vuosina.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Tässä visualisoinnissa voit verrata tuottoa per pesä ja pesien määrää vuosi vuodelta rinnakkain, sarakkeiden määrän ollessa 3:
-
+
Tässä datasetissä mikään ei erityisesti erotu pesien määrän ja niiden tuoton osalta vuosi vuodelta ja osavaltioittain. Onko olemassa jokin toinen tapa löytää korrelaatio näiden kahden muuttujan välillä?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Vaikka mikään ei erityisesti erotu vuoden 2003 kohdalla, tämä antaa meille mahdollisuuden päättää oppitunti hieman positiivisemmalla nuotilla: vaikka pesien määrä on yleisesti ottaen laskussa, niiden määrä näyttää vakiintuvan, vaikka tuotto per pesä onkin laskussa.
diff --git a/translations/fi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/fi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 7807ca19..075c2d6d 100644
--- a/translations/fi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/fi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Aiemmissa oppitunneissa kokeilit erilaisten datavisualisointien rakentamista Mat
Vaikka datatieteilijä valitsisi oikean kaavion oikealle datalle, on monia tapoja esittää dataa harhaanjohtavasti, usein datan kustannuksella. Harhaanjohtavia kaavioita ja infografiikoita on paljon!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Klikkaa yllä olevaa kuvaa nähdäksesi konferenssipuheen harhaanjohtavista kaavioista
Tässä kaaviossa X-akseli on käännetty, jotta totuus näyttäisi päinvastaiselta päivämäärien perusteella:
-
+
[Tämä kaavio](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) on vielä harhaanjohtavampi, sillä katsojan huomio kiinnittyy oikealle, jolloin syntyy vaikutelma, että COVID-tapaukset ovat vähentyneet eri maakunnissa. Tarkemmin katsottuna päivämäärät on kuitenkin järjestetty uudelleen, jotta saadaan aikaan harhaanjohtava laskeva trendi.
-
+
Tämä tunnettu esimerkki käyttää värejä JA käännettyä Y-akselia harhauttaakseen: sen sijaan, että asekuolemat olisivat lisääntyneet aselainsäädännön muutosten jälkeen, katsoja saadaan uskomaan päinvastaista:
-
+
Tämä outo kaavio näyttää, kuinka mittasuhteita voidaan manipuloida huvittavin seurauksin:
-
+
Vertailu, joka ei ole vertailukelpoista, on toinen kyseenalainen temppu. On olemassa [mahtava verkkosivusto](https://tylervigen.com/spurious-correlations), joka esittelee "näennäisiä korrelaatioita", kuten Mainen avioeroprosentin ja margariinin kulutuksen välisiä "faktoja". Redditissä on myös ryhmä, joka kerää [huonoja datan käyttötapoja](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Merkitse akselit, lisää selite tarvittaessa ja tarjoa työkaluja datan parempa
Jos datasi on tekstuaalista ja X-akselilla on paljon tekstiä, voit kallistaa tekstiä luettavuuden parantamiseksi. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) tarjoaa 3D-plottausta, jos datasi tukee sitä. Sen avulla voidaan tuottaa hienostuneita datavisualisointeja.
-
+
## Animaatio ja 3D-kaavioiden näyttäminen
Jotkut parhaista datavisualisoinneista nykyään ovat animoituja. Shirley Wu on tehnyt upeita visualisointeja D3:lla, kuten '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', jossa jokainen kukka on elokuvan visualisointi. Toinen esimerkki Guardianille on 'bussed out', interaktiivinen kokemus, joka yhdistää visualisointeja Greensockin ja D3:n avulla sekä artikkelin, joka kertoo, kuinka NYC käsittelee kodittomien ongelmaa lähettämällä ihmisiä pois kaupungista.
-
+
> "Bussed Out: How America Moves its Homeless" [Guardianista](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisoinnit: Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Vaikka tämä oppitunti ei riitä opettamaan näitä tehokkaita visualisointikir
Toteutat verkkosovelluksen, joka näyttää animoidun näkymän tästä sosiaalisesta verkostosta. Se käyttää kirjastoa, joka on rakennettu [verkoston visualisointiin](https://github.com/emiliorizzo/vue-d3-network) Vue.js:n ja D3:n avulla. Kun sovellus on käynnissä, voit siirrellä solmuja näytöllä ja järjestellä dataa uudelleen.
-
+
## Projekti: Rakenna kaavio, joka näyttää verkoston D3.js:llä
diff --git a/translations/fi/3-Data-Visualization/README.md b/translations/fi/3-Data-Visualization/README.md
index b479a03b..51f92a25 100644
--- a/translations/fi/3-Data-Visualization/README.md
+++ b/translations/fi/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualisoinnit
-
+
> Kuva: Jenna Lee palvelussa Unsplash
Datan visualisointi on yksi data-analyytikon tärkeimmistä tehtävistä. Kuva kertoo enemmän kuin tuhat sanaa, ja visualisointi voi auttaa sinua tunnistamaan kaikenlaisia mielenkiintoisia piirteitä datassasi, kuten piikkejä, poikkeamia, ryhmittymiä, suuntauksia ja paljon muuta, jotka auttavat sinua ymmärtämään, mitä tarinaa datasi yrittää kertoa.
diff --git a/translations/fi/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/fi/4-Data-Science-Lifecycle/14-Introduction/README.md
index 75ef66fa..50bb1054 100644
--- a/translations/fi/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/fi/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Olet luultavasti jo huomannut, että data-analytiikka on prosessi. Tämä proses
Tämä oppitunti keskittyy elinkaaren kolmeen osaan: tiedon keräämiseen, käsittelyyn ja ylläpitoon.
-
+
> Kuva: [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Tiedon kerääminen
@@ -101,7 +101,7 @@ Tutki [Team Data Science Process -elinkaarta](https://docs.microsoft.com/en-us/a
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Kuva: [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Kuva: [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Jälkikysely](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/fi/4-Data-Science-Lifecycle/README.md b/translations/fi/4-Data-Science-Lifecycle/README.md
index 71b75450..0b2e01ed 100644
--- a/translations/fi/4-Data-Science-Lifecycle/README.md
+++ b/translations/fi/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Tieteen datan elinkaari
-
+
> Kuva: Headway sivustolla Unsplash
Näissä oppitunneissa tutustut tieteen datan elinkaaren eri osa-alueisiin, kuten analysointiin ja viestintään datan ympärillä.
diff --git a/translations/fi/5-Data-Science-In-Cloud/README.md b/translations/fi/5-Data-Science-In-Cloud/README.md
index 3b2d338e..09b7b9f9 100644
--- a/translations/fi/5-Data-Science-In-Cloud/README.md
+++ b/translations/fi/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Pilvilaskenta ja Data Science
-
+
> Kuva: [Jelleke Vanooteghem](https://unsplash.com/@ilumire) palvelusta [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Kun käsitellään suuria datamääriä data science -projektissa, pilvilaskenta voi olla todellinen pelin muuttaja. Seuraavien kolmen oppitunnin aikana tutustumme siihen, mitä pilvilaskenta on ja miksi se voi olla erittäin hyödyllistä. Lisäksi tutkimme sydämen vajaatoimintaa koskevaa datasettiä ja rakennamme mallin, joka auttaa arvioimaan sydämen vajaatoiminnan todennäköisyyttä. Käytämme pilvilaskennan voimaa mallin kouluttamiseen, käyttöönottoon ja hyödyntämiseen kahdella eri tavalla: ensimmäinen tapa hyödyntää pelkästään käyttöliittymää Low code/No code -tyylillä, ja toinen tapa käyttää Azure Machine Learning Software Developer Kit (Azure ML SDK) -työkalua.
-
+
### Aiheet
diff --git a/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 2b0623a2..565245be 100644
--- a/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ AI:n demokratisoinnin ansiosta kehittäjien on nyt helpompi suunnitella ja integ
* [Data Science terveydenhuollossa](https://data-flair.training/blogs/data-science-in-healthcare/) - korostaa sovelluksia, kuten lääketieteellinen kuvantaminen (esim. MRI, röntgen, CT-skannaus), genomiikka (DNA-sekvensointi), lääkekehitys (riskinarviointi, onnistumisen ennustaminen), ennustava analytiikka (potilashoito ja toimituslogistiikka), tautien seuranta ja ehkäisy jne.
- Kuva: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Kuva: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Kuvassa näkyy muita aloja ja esimerkkejä data science -tekniikoiden soveltamisesta. Haluatko tutkia muita sovelluksia? Katso [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) -osio alta.
diff --git a/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index a75cafe3..a0dfc78a 100644
--- a/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/fi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Explorer-käyttöliittymä (näkyy alla olevassa kuvakaappauksessa) antaa mahdol
2. Tutustu tietoaineistojen [luetteloon](https://planetarycomputer.microsoft.com/catalog) - opi kunkin tarkoitus.
3. Käytä Exploreria - valitse kiinnostava tietoaineisto, valitse relevantti kysely ja visualisointivaihtoehto.
-
+
`Tehtäväsi:`
Tutki nyt selaimessa luotua visualisointia ja vastaa seuraaviin kysymyksiin:
diff --git a/translations/fi/CONTRIBUTING.md b/translations/fi/CONTRIBUTING.md
index eb49f98d..8697b4bd 100644
--- a/translations/fi/CONTRIBUTING.md
+++ b/translations/fi/CONTRIBUTING.md
@@ -312,7 +312,7 @@ Sisällytä PR-kuvaukseesi:
import pandas as pd
```
````
-- Lisää alt-tekstiä kuviin: ``
+- Lisää alt-tekstiä kuviin: ``
- Pidä rivien pituudet kohtuullisina (noin 80-100 merkkiä)
### Python
diff --git a/translations/fi/README.md b/translations/fi/README.md
index b8e21d61..7302cbc0 100644
--- a/translations/fi/README.md
+++ b/translations/fi/README.md
@@ -28,7 +28,7 @@ Microsoftin Azure Cloud Advocates -tiimi tarjoaa mielellään 10 viikon, 20 oppi
**🙏 Erityiskiitos 🙏 Microsoft Student Ambassador -kirjoittajille, tarkistajille ja sisällönavustajille,** erityisesti Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science For Beginners - _Sketchnote tekijältä [@nitya](https://twitter.com/nitya)_ |
@@ -47,7 +47,7 @@ Microsoftin Azure Cloud Advocates -tiimi tarjoaa mielellään 10 viikon, 20 oppi
Meillä on käynnissä Discordissa Learn with AI -sarja; lisätietoja ja liity mukaan osoitteessa [Learn with AI -sarja](https://aka.ms/learnwithai/discord) ajanjaksolla 18.–30. syyskuuta 2025. Saat vinkkejä ja niksejä GitHub Copilotin käyttämiseen datatieteessä.
-
+
# Oletko opiskelija?
@@ -127,7 +127,7 @@ Jokainen esimerkki sisältää yksityiskohtaisia kommentteja, jotka selittävät
## Oppitunnit
-||
+||
|:---:|
| Data-analytiikka aloittelijoille: Tiekartta - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/fi/sketchnotes/README.md b/translations/fi/sketchnotes/README.md
index b774b7a3..bdcf5ebc 100644
--- a/translations/fi/sketchnotes/README.md
+++ b/translations/fi/sketchnotes/README.md
@@ -13,7 +13,7 @@ Löydä kaikki sketchnotet täältä!
Nitya Narasimhan, taiteilija
-
+
---
diff --git a/translations/fr/1-Introduction/01-defining-data-science/README.md b/translations/fr/1-Introduction/01-defining-data-science/README.md
index 35a78a37..e2eef0ce 100644
--- a/translations/fr/1-Introduction/01-defining-data-science/README.md
+++ b/translations/fr/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz avant le cours](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Si nous voulons aller encore plus loin, nous pouvons tracer le temps nécessaire
Dans ce défi, nous allons essayer de trouver des concepts pertinents dans le domaine de la Data Science en analysant des textes. Nous prendrons un article de Wikipédia sur la Data Science, téléchargerons et traiterons le texte, puis créerons un nuage de mots comme celui-ci :
-
+
Visitez [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') pour parcourir le code. Vous pouvez également exécuter le code et voir comment il effectue toutes les transformations de données en temps réel.
diff --git a/translations/fr/1-Introduction/04-stats-and-probability/README.md b/translations/fr/1-Introduction/04-stats-and-probability/README.md
index 640ca1d1..732efb84 100644
--- a/translations/fr/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/fr/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
La théorie des statistiques et des probabilités sont deux domaines étroitement liés des mathématiques, très pertinents pour la science des données. Il est possible de travailler avec des données sans une connaissance approfondie des mathématiques, mais il est tout de même préférable de connaître au moins quelques concepts de base. Voici une courte introduction pour vous aider à démarrer.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Quiz avant le cours](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Il est plus difficile de décrire la distribution de probabilité d'une variable
Nous ne pouvons parler que de la probabilité qu'une variable tombe dans un intervalle donné de valeurs, par exemple P(t1≤X2). Dans ce cas, la distribution de probabilité est décrite par une **fonction de densité de probabilité** p(x), telle que
-.
diff --git a/translations/fr/1-Introduction/04-stats-and-probability/notebook.ipynb b/translations/fr/1-Introduction/04-stats-and-probability/notebook.ipynb
index 8084996e..d87b68fe 100644
--- a/translations/fr/1-Introduction/04-stats-and-probability/notebook.ipynb
+++ b/translations/fr/1-Introduction/04-stats-and-probability/notebook.ipynb
@@ -5,12 +5,12 @@
"metadata": {},
"source": [
"# Introduction à la probabilité et aux statistiques\n",
- "Dans ce carnet, nous allons explorer certains des concepts que nous avons abordés précédemment. 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"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 117,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -25,24 +25,14 @@
"metadata": {},
"source": [
"## Variables aléatoires et distributions\n",
- "Commençons par tirer un échantillon de 30 valeurs à partir d'une distribution uniforme entre 0 et 9. Nous calculerons également la moyenne et la variance.\n"
+ "Commençons par tirer un échantillon de 30 valeurs à partir d'une distribution uniforme de 0 à 9. Nous allons également calculer la moyenne et la variance.\n"
]
},
{
"cell_type": "code",
- "execution_count": 118,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Sample: [0, 8, 1, 0, 7, 4, 3, 3, 6, 7, 1, 0, 6, 3, 1, 5, 9, 2, 4, 2, 5, 6, 8, 7, 1, 9, 8, 2, 3, 7]\n",
- "Mean = 4.266666666666667\n",
- "Variance = 8.195555555555556\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"sample = [ random.randint(0,10) for _ in range(30) ]\n",
"print(f\"Sample: {sample}\")\n",
@@ -54,25 +44,14 @@
"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 se trouvent dans l’échantillon, nous pouvons tracer l'**histogramme** :\n"
]
},
{
"cell_type": "code",
- "execution_count": 119,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.hist(sample)\n",
"plt.show()"
@@ -82,26 +61,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Analyse de données réelles\n",
+ "## Analyse des données réelles\n",
"\n",
- "La moyenne et la variance sont très importantes lorsqu'il s'agit d'analyser des 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 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"
]
},
{
"cell_type": "code",
- "execution_count": 120,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Empty DataFrame\n",
- "Columns: [Name, Team, Role, Weight, Height, Age]\n",
- "Index: []\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df = pd.read_csv(\"../../data/SOCR_MLB.tsv\",sep='\\t', header=None, names=['Name','Team','Role','Weight','Height','Age'])\n",
"df\n"
@@ -111,30 +80,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "> 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",
+ "> 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",
"\n",
"Calculons les valeurs moyennes pour l'âge, la taille et le poids :\n"
]
},
{
"cell_type": "code",
- "execution_count": 121,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Age 28.736712\n",
- "Height 201.726306\n",
- "Weight 73.697292\n",
- "dtype: float64"
- ]
- },
- "execution_count": 121,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df[['Age','Height','Weight']].mean()"
]
@@ -143,41 +98,23 @@
"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"
]
},
{
"cell_type": "code",
- "execution_count": 122,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[180, 215, 210, 210, 188, 176, 209, 200, 231, 180, 188, 180, 185, 160, 180, 185, 197, 189, 185, 219]\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(list(df['Height'])[:20])"
]
},
{
"cell_type": "code",
- "execution_count": 123,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Mean = 201.72630560928434\n",
- "Variance = 441.6355706557866\n",
- "Standard Deviation = 21.01512718628623\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"mean = df['Height'].mean()\n",
"var = df['Height'].var()\n",
@@ -189,28 +126,17 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "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 **boîte à moustaches** :\n"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 124,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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AAAAyBCj5siK53navXs3Yy0G0NoWettBa1vobQetbaF3sLDxRppEIqEXX3xRiUTC76Ugx2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSO3bsUDKZ9HspyDFa20JvO2htC73toLUt9A4WNt5Ik0wmtX79ek5yA2htC73toLUt9LaD1rbQO1gYNQcAAAAAIEOMmiMryWRSW7Zs4btrBtDaFnrbQWtb6G0HrW2hd7Cw8UaaZDKp119/nZPcAFrbQm87aG0Lve2gtS30DhZGzQEAAAAAyBCj5shKIpFQbW0tvzPQAFrbQm87aG0Lve2gtS30DhY23kjjnNO+ffuU52EI+IDWttDbDlrbQm87aG0LvYOFUXMAAAAAADLEqDmykkgktGrVKsZaDKC1LfS2g9a20NsOWttC72Bh4400zjk1NDQw1mIArW2htx20toXedtDaFnoHC6PmAAAAAABkiFFzZCWRSOiFF15grMUAWttCbztobQu97aC1LfQOFjbeAAAAAADkEKPmAAAAAABkKJO9bWme1pTSvM9vaGjI912jneLxuJYvX65PfOITKisr83s5yCFa20JvO2htC73toLUt9C58zXva9lzLzvvGu7GxUZLUp0+ffN81AAAAAAAdqrGxUV27dj3rbfI+au55ng4cOKDKykqFQqF83jXaqaGhQX369NE777zDjwMEHK1tobcdtLaF3nbQ2hZ6Fz7nnBobG9WzZ0+VlJz96dPyfsW7pKREvXv3zvfd4n2oqqriJDeC1rbQ2w5a20JvO2htC70LW1tXupvxrOYAAAAAAOQQG28AAAAAAHKIjTfSlJeXa9q0aSovL/d7KcgxWttCbztobQu97aC1LfQOlrw/uRoAAAAAAJZwxRsAAAAAgBxi4w0AAAAAQA6x8QYAAAAAIIfYeAMAAAAAkENsvI1Ys2aNxo4dq549eyoUCmnp0qVpt9m5c6duvvlmde3aVZ07d9bgwYO1d+/e1PtPnTqlKVOm6Pzzz1eXLl10yy236PDhw3k8CrRHW62bmpo0depU9e7dW+ecc44GDBigRx99tMVtaF08ZsyYocGDB6uyslLdu3fX+PHj9eabb7a4TXt67t27VzfddJMqKirUvXt3ffvb31YikcjnoaANbbU+duyYvvrVr6pfv34655xzdOGFF+prX/ua6uvrW3weWheH9pzbzZxz+tSnPtXqYz69C197W9fW1ur6669X586dVVVVpREjRujkyZOp9x87dkx33HGHqqqqdO655+qee+5RU1NTPg8F7dCe3ocOHdKdd96pHj16qHPnzho0aJD+9Kc/tbgNvYsPG28jjh8/riuuuEJz585t9f1vvfWWrrvuOvXv31+rVq3SP/7xD/3gBz9Qp06dUre5//779ec//1mLFi3S6tWrdeDAAU2YMCFfh4B2aqv1N77xDS1btkxPP/20du7cqa9//euaOnWqampqUrehdfFYvXq1pkyZovXr12v58uWKx+Oqrq7W8ePHU7dpq2cymdRNN92kWCymV199VU888YTmz5+vH/7wh34cEs6grdYHDhzQgQMH9NBDD2n79u2aP3++li1bpnvuuSf1OWhdPNpzbjf7+c9/rlAolPZ2eheH9rSura3VmDFjVF1drY0bN2rTpk2aOnWqSkr+90v5O+64Qzt27NDy5cv13HPPac2aNfrSl77kxyHhLNrT+6677tKbb76pmpoavfbaa5owYYJuvfVWbd26NXUbehchB3MkuSVLlrR428SJE92kSZPO+DHvvvuuKysrc4sWLUq9befOnU6Sq62tzdVSkaXWWl922WXuRz/6UYu3DRo0yH3ve99zztG62B05csRJcqtXr3bOta/nX/7yF1dSUuIOHTqUus2vfvUrV1VV5aLRaH4PAO12euvWLFy40EUiERePx51ztC5mZ+q9detW16tXL3fw4MG0x3x6F6fWWg8ZMsR9//vfP+PHvP76606S27RpU+ptf/3rX10oFHL79+/P6XqRndZ6d+7c2T355JMtbnfeeee5xx57zDlH72LFFW/I8zw9//zzuuSSS/TJT35S3bt315AhQ1qMq23evFnxeFw33nhj6m39+/fXhRdeqNraWh9Wjfdr2LBhqqmp0f79++Wc08qVK7Vr1y5VV1dLonWxax4rPu+88yS1r2dtba0GDhyoCy64IHWbT37yk2poaNCOHTvyuHpk4vTWZ7pNVVWVSktLJdG6mLXW+8SJE7r99ts1d+5c9ejRI+1j6F2cTm995MgRbdiwQd27d9ewYcN0wQUXaOTIkVq3bl3qY2pra3Xuuefq6quvTr3txhtvVElJiTZs2JDfA0BGWju3hw0bpj/+8Y86duyYPM/TH/7wB506dUqjRo2SRO9ixcYbOnLkiJqamjRz5kyNGTNGL774oj796U9rwoQJWr16taT3ftYkEono3HPPbfGxF1xwgQ4dOuTDqvF+zZkzRwMGDFDv3r0ViUQ0ZswYzZ07VyNGjJBE62LmeZ6+/vWv6+Mf/7guv/xySe3reejQoRZfmDe/v/l9KDyttT7d0aNH9eMf/7jF6CGti9OZet9///0aNmyYxo0b1+rH0bv4tNb67bffliRNnz5dkydP1rJlyzRo0CDdcMMNqqurk/Rez+7du7f4XKWlpTrvvPNoXcDOdG4vXLhQ8Xhc559/vsrLy3XvvfdqyZIl6tu3ryR6F6tSvxcA/3meJ0kaN26c7r//fknSxz72Mb366qt69NFHNXLkSD+Xhw42Z84crV+/XjU1Nbrooou0Zs0aTZkyRT179mxxVRTFZ8qUKdq+fXuLqyAIprZaNzQ06KabbtKAAQM0ffr0/C4OHa613jU1NVqxYkWLn/lE8WutdfPXaffee68+//nPS5KuvPJKvfzyy/rtb3+rGTNm+LJWZO9Mj+U/+MEP9O677+qll15St27dtHTpUt16661au3atBg4c6NNqkS2ueEPdunVTaWmpBgwY0OLtl156aepZzXv06KFYLKZ33323xW0OHz7c6ngbCtPJkyf13e9+Vw8//LDGjh2rj370o5o6daomTpyohx56SBKti9XUqVP13HPPaeXKlerdu3fq7e3p2aNHj7RnOW/+b5oXnjO1btbY2KgxY8aosrJSS5YsUVlZWep9tC4+Z+q9YsUKvfXWWzr33HNVWlqa+nGCW265JTWOSu/icqbWH/rQhySpza/Tjhw50uL9iURCx44do3WBOlPvt956S7/85S/129/+VjfccIOuuOIKTZs2TVdffXXqiXPpXZzYeEORSESDBw9O+1UGu3bt0kUXXSRJuuqqq1RWVqaXX3459f4333xTe/fu1dChQ/O6Xrx/8Xhc8Xi8xbOgSlI4HE59R53WxcU5p6lTp2rJkiVasWKFPvKRj7R4f3t6Dh06VK+99lqLf8SXL1+uqqqqtC/04J+2WkvvXemurq5WJBJRTU1Ni99MIdG6mLTV+zvf+Y7+8Y9/aNu2bakXSZo9e7Yef/xxSfQuFm21/vCHP6yePXue9eu0oUOH6t1339XmzZtT71+xYoU8z9OQIUNyfxBot7Z6nzhxQpLO+rUavYuUn8/shvxpbGx0W7dudVu3bnWS3MMPP+y2bt3q/vWvfznnnFu8eLErKytzv/71r11dXZ2bM2eOC4fDbu3atanP8eUvf9ldeOGFbsWKFe5vf/ubGzp0qBs6dKhfh4QzaKv1yJEj3WWXXeZWrlzp3n77bff444+7Tp06uUceeST1OWhdPL7yla+4rl27ulWrVrmDBw+mXk6cOJG6TVs9E4mEu/zyy111dbXbtm2bW7ZsmfvgBz/oHnjgAT8OCWfQVuv6+no3ZMgQN3DgQLd79+4Wt0kkEs45WheT9pzbp9Npz2pO7+LQntazZ892VVVVbtGiRa6urs59//vfd506dXK7d+9O3WbMmDHuyiuvdBs2bHDr1q1zF198sbvtttv8OCScRVu9Y7GY69u3rxs+fLjbsGGD2717t3vooYdcKBRyzz//fOrz0Lv4sPE2YuXKlU5S2svdd9+dus28efNc3759XadOndwVV1zhli5d2uJznDx50t13333uAx/4gKuoqHCf/vSn3cGDB/N8JGhLW60PHjzoPve5z7mePXu6Tp06uX79+rlZs2Y5z/NSn4PWxaO11pLc448/nrpNe3ru2bPHfepTn3LnnHOO69atm/vmN7+Z+hVUKAxttT7TuS/J/fOf/0x9HloXh/ac2619zOm/QpLeha+9rWfMmOF69+7tKioq3NChQ1tcHHHOuX//+9/utttuc126dHFVVVXu85//vGtsbMzjkaA92tN7165dbsKECa579+6uoqLCffSjH0379WL0Lj4h55zr6KvoAAAAAADgPfyMNwAAAAAAOcTGGwAAAACAHGLjDQAAAABADrHxBgAAAAAgh9h4AwAAAACQQ2y8AQAAAADIITbeAAAAAADkEBtvAAAAAAByiI03AAAAAAA5xMYbAAAAAIAcYuMNAAAAAEAOsfEGAAAAACCH/j+8q7kCS2EPGAAAAABJRU5ErkJggg==",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,2))\n",
- "plt.boxplot(df['Height'], vert=False, showmeans=True)\n",
+ "plt.boxplot(df['Height'].ffill(), vert=False, showmeans=True)\n",
"plt.grid(color='gray', linestyle='dotted')\n",
"plt.tight_layout()\n",
"plt.show()"
@@ -220,25 +146,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Nous pouvons également créer des boîtes à moustaches pour des sous-ensembles de notre ensemble de données, par exemple, regroupés par rôle de joueur.\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"
]
},
{
"cell_type": "code",
- "execution_count": 125,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAMVCAYAAABqdZdfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClTklEQVR4nOzdeViU9f7/8RebyOqOuINiooKZu7mglZpLSui3OqVZeerUQS3FSm3TFimPmi22nnKpY3k0QrM0MRUxJZPSNHdzKfclIRZxYOb3h4f5OYLmkDf3MDwf1+WFc2+f982Hued+zb152Gw2mwAAAAAAwDXnaXYBAAAAAAC4K0I3AAAAAAAGIXQDAAAAAGAQQjcAAAAAAAYhdAMAAAAAYBBCNwAAAAAABiF0AwAAAABgEEI3AAAAAAAGIXQDAAAAAGAQQjcAwC14eHho0qRJZpfh9tasWSMPDw+tWbPmitNNmjRJHh4eOnXqVNkUdg316NFDPXr0MLsMAICbIHQDAK5ozpw58vDwcPgXEhKinj17atmyZWaX95dt375dkyZN0oEDB8wuBaXQo0cPh79NPz8/tWrVSjNnzpTVajW7PAAA5G12AQCA8uH5559XeHi4bDabjh8/rjlz5qhfv3764osvNGDAALPLK7Xt27dr8uTJ6tGjh8LCwswuB6VQv359JSYmSpJOnTql+fPna8yYMTp58qReeuklk6sDAFR0hG4AwFXp27ev2rVrZ389YsQI1a5dW5988km5Dt1lqaCgQFarVZUqVTK7FLdSpUoVDR061P764YcfVmRkpN544w09//zz8vLyMrE6AEBFx+nlAIBSqVq1qvz8/OTt7fj9bU5OjhISEtSgQQP5+vqqWbNmmjZtmmw2myQpLy9PkZGRioyMVF5enn2+M2fOqE6dOrrxxhtVWFgoSbrvvvsUGBioX375RX369FFAQIDq1q2r559/3r68K/nxxx/Vt29fBQcHKzAwUDfffLPS09Pt4+fMmaP/+7//kyT17NnTforyn12vvHDhQrVo0UKVK1dWVFSUPv/8c913330OR8oPHDggDw8PTZs2TTNnzlSTJk3k6+ur7du3S5JWrVqlbt26KSAgQFWrVtWgQYO0Y8cOh3YuXWaRouulL+bh4aGRI0fqP//5j5o1a6bKlSurbdu2Wrt2bbH5Dx8+rAceeEC1a9eWr6+vWrZsqQ8//LDYdL/99ptiY2MVEBCgkJAQjRkzRvn5+Vf83Vzq1KlTuuOOOxQcHKwaNWro0Ucf1blz5+zjY2JidP3115c4b7NmzdSnTx+n2pOkypUrq3379vrjjz904sQJ+/CCggK98MIL9r4ICwvTxIkTr2qd8vPz9dxzzykiIkK+vr5q0KCBnnjiCad/HwCAiocj3QCAq5KZmalTp07JZrPpxIkTeuONN5Sdne1whNFms2ngwIFavXq1RowYodatW+vrr7/W448/rsOHD+vVV1+Vn5+f5s6dqy5duuipp57SjBkzJEnx8fHKzMzUnDlzHI5MFhYW6tZbb1WnTp00depULV++XM8995wKCgr0/PPPX7ben3/+Wd26dVNwcLCeeOIJ+fj46N1331WPHj2Umpqqjh07qnv37ho9erRef/11TZw4Uc2bN5ck+8+SfPnll7rzzjsVHR2txMRE/f777xoxYoTq1atX4vSzZ8/WuXPn9NBDD8nX11fVq1fXypUr1bdvXzVu3FiTJk1SXl6e3njjDXXp0kU//PBDqU9zT01N1YIFCzR69Gj5+vrqrbfe0q233qqNGzcqKipKknT8+HF16tTJHtJr1aqlZcuWacSIEcrKytJjjz0m6cKXIzfffLMOHTqk0aNHq27duvroo4+0atUqp2q64447FBYWpsTERKWnp+v111/X77//rnnz5kmShg0bpgcffFDbtm2z1yhJ33//vXbv3q2nn366VL+Loi89qlatah/297//XXPnztWQIUOUkJCg7777TomJidqxY4c+//zzyy7LarVq4MCBWrdunR566CE1b95cW7du1auvvqrdu3crOTm5VDUCACoIGwAAVzB79mybpGL/fH19bXPmzHGYNjk52SbJ9uKLLzoMHzJkiM3Dw8O2d+9e+7AJEybYPD09bWvXrrUtXLjQJsk2c+ZMh/mGDx9uk2QbNWqUfZjVarX179/fVqlSJdvJkyftwyXZnnvuOfvr2NhYW6VKlWz79u2zDzty5IgtKCjI1r17d/uworZXr159Vb+P6OhoW/369W1//PGHfdiaNWtskmyNGjWyD9u/f79Nki04ONh24sQJh2W0bt3aFhISYjt9+rR92JYtW2yenp62e++912H9L15mkeeee8526Ud4Ub9s2rTJPuzgwYO2ypUr226//Xb7sBEjRtjq1KljO3XqlMP8d911l61KlSq23Nxcm81ms82cOdMmyfbf//7XPk1OTo4tIiLiqn5fRTUOHDjQYfg///lPmyTbli1bbDabzXb27Flb5cqVbU8++aTDdKNHj7YFBATYsrOzr9hOTEyMLTIy0nby5EnbyZMnbTt37rQ9/vjjNkm2/v3726fbvHmzTZLt73//u8P848aNs0myrVq1ymGZMTEx9tcfffSRzdPT05aWluYw7zvvvGOTZPv222+vWCMAoGLj9HIAwFWZNWuWUlJSlJKSoo8//lg9e/bU3//+dyUlJdmn+eqrr+Tl5aXRo0c7zJuQkCCbzeZwt/NJkyapZcuWGj58uP75z38qJiam2HxFRo4caf9/0RHa8+fPa+XKlSVOX1hYqBUrVig2NlaNGze2D69Tp47uvvturVu3TllZWU7/Do4cOaKtW7fq3nvvVWBgoH14TEyMoqOjS5xn8ODBqlWrlv310aNHtXnzZt13332qXr26fXirVq3Uq1cvffXVV07XVaRz585q27at/XXDhg01aNAgff311yosLJTNZtNnn32m2267TTabTadOnbL/69OnjzIzM/XDDz9IutCXderU0ZAhQ+zL8/f310MPPeRUTfHx8Q6vR40aZV++dOF67EGDBumTTz6xXzJQWFioBQsW2E9t/zM7d+5UrVq1VKtWLUVGRupf//qXBg4cqDlz5tinKWpv7NixDvMmJCRIunAGw+UsXLhQzZs3V2RkpMPv7KabbpIkrV69+k9rBABUXJxeDgC4Kh06dHC4kdrf/vY33XDDDRo5cqQGDBigSpUq6eDBg6pbt66CgoIc5i06XfvgwYP2YZUqVdKHH36o9u3bq3Llypo9e3ax65QlydPT0yE4S9J1110nSZd9zNfJkyeVm5urZs2aFRvXvHlzWa1W/frrr2rZsuXVrfz/FNUfERFRbFxERIQ9sF4sPDy8xGVcrravv/5aOTk5VxU2L9W0adNiw6677jrl5ubq5MmT8vT01NmzZ/Xee+/pvffeK3EZRddAHzx4UBEREcX6pKS6nampSZMm8vT0dOi7e++9VwsWLFBaWpq6d++ulStX6vjx4xo2bNhVtREWFqb3339fVqtV+/bt00svvaSTJ0+qcuXK9mkOHjwoT0/PYn0XGhqqqlWrOvxtXmrPnj3asWOHw5cnF7v4unEAAC5F6AYAlIqnp6d69uyp1157TXv27HE6wErS119/LUk6d+6c9uzZUyygugM/P79Sz1vSlxCS7Deac1bRc6uHDh2q4cOHlzhNq1atSrXsq1XSOvXp00e1a9fWxx9/rO7du+vjjz9WaGiobrnllqtaZkBAgMO0Xbp0UZs2bTRx4kS9/vrrf9r+n7FarYqOjrbff+BSDRo0cHqZAICKg9ANACi1goICSVJ2drYkqVGjRlq5cqX++OMPh6PdO3futI8v8tNPP+n555/X/fffr82bN+vvf/+7tm7dqipVqji0YbVa9csvv9iPbkvS7t27JemyNxyrVauW/P39tWvXrmLjdu7cKU9PT3tQciaEFdW/d+/eYuNKGnalZVyutpo1a9qPclerVk1nz54tNt3ljsru2bOn2LDdu3fL39/ffpQ2KChIhYWFfxpoGzVqpG3btslmszn8jkqq+0ou/TJl7969slqtDn3n5eWlu+++W3PmzNErr7yi5ORkPfjgg6V+1FerVq00dOhQvfvuuxo3bpwaNmyoRo0ayWq1as+ePQ43yjt+/LjOnj3r8Ld5qSZNmmjLli26+eabSxXaAQAVG9d0AwBKxWKxaMWKFapUqZI9xPTr10+FhYV68803HaZ99dVX5eHhob59+9rnve+++1S3bl299tprmjNnjo4fP64xY8aU2NbFy7PZbHrzzTfl4+Ojm2++ucTpvby81Lt3by1evNjhNObjx49r/vz56tq1q4KDgyXJHnBLCreXqlu3rqKiojRv3jz7Fw3ShbuGb9269U/nly5cV966dWvNnTvXoc1t27ZpxYoV6tevn31YkyZNlJmZqZ9++sk+7OjRo5e90/aGDRscTnH/9ddftXjxYvXu3VteXl7y8vLS4MGD9dlnn2nbtm3F5j958qT9//369dORI0e0aNEi+7Dc3NzLnpZ+ObNmzXJ4/cYbb0iS/W+hyLBhw/T777/rH//4R7G74pfGE088IYvFYj86XfR7nTlzpsN0ReP79+9/2WXdcccdOnz4sN5///1i4/Ly8pSTk/OXagUAuDeOdAMArsqyZcvsR6xPnDih+fPna8+ePRo/frw9wN52223q2bOnnnrqKR04cEDXX3+9VqxYocWLF+uxxx5TkyZNJEkvvviiNm/erG+++UZBQUFq1aqVnn32WT399NMaMmSIQ/CsXLmyli9fruHDh6tjx45atmyZvvzyS02cOPGy19gWtZGSkqKuXbvqn//8p7y9vfXuu+8qPz9fU6dOtU/XunVreXl56ZVXXlFmZqZ8fX110003KSQkpMTlTpkyRYMGDVKXLl10//336/fff9ebb76pqKgohyB+Jf/617/Ut29fde7cWSNGjLA/MqxKlSqaNGmSfbq77rpLTz75pG6//XaNHj1aubm5evvtt3XdddeVeP14VFSU+vTp4/DIMEmaPHmyfZqXX35Zq1evVseOHfXggw+qRYsWOnPmjH744QetXLlSZ86ckSQ9+OCDevPNN3XvvfcqIyNDderU0UcffSR/f/+rWsci+/fv18CBA3Xrrbdqw4YN+vjjj3X33XcXezb3DTfcoKioKPtNy9q0aeNUO5dq0aKF+vXrp3//+9965plndP3112v48OF67733dPbsWcXExGjjxo2aO3euYmNj1bNnz8sua9iwYfrvf/+rhx9+WKtXr1aXLl1UWFionTt36r///a++/vprh/sdAADgwMxbpwMAXF9JjwyrXLmyrXXr1ra3337bZrVaHab/448/bGPGjLHVrVvX5uPjY2vatKntX//6l326jIwMm7e3t8NjwGw2m62goMDWvn17W926dW2///67zWa78MisgIAA2759+2y9e/e2+fv722rXrm177rnnbIWFhQ7z65JHhtlsNtsPP/xg69Onjy0wMNDm7+9v69mzp239+vXF1vH999+3NW7c2Obl5XVVj8P69NNPbZGRkTZfX19bVFSUbcmSJbbBgwfbIiMj7dMUPTLsX//6V4nLWLlypa1Lly42Pz8/W3BwsO22226zbd++vdh0K1assEVFRdkqVapka9asme3jjz++7CPD4uPjbR9//LGtadOmNl9fX9sNN9xQ4rocP37cFh8fb2vQoIHNx8fHFhoaarv55ptt7733nsN0Bw8etA0cONDm7+9vq1mzpu3RRx+1LV++3KlHhm3fvt02ZMgQW1BQkK1atWq2kSNH2vLy8kqcZ+rUqTZJtilTplxx2ReLiYmxtWzZssRxRY9yK/q7sFgstsmTJ9vCw8NtPj4+tgYNGtgmTJhgO3fuXLFlXvzIMJvNZjt//rztlVdesbVs2dLm6+trq1atmq1t27a2yZMn2zIzM6+6XgBAxeNhs/3v+RwAALiY++67T4sWLbrqI8hmat26tWrVqqWUlBRT2vfw8FB8fHyxU/vL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qFEjzZ8/X126dNH+/fvVsmVL5ebmml1imeBIt4m6deumlJQUs8tACerXr68tW7ZowYIF9o33iBEjdM8998jPz8/s8iq8//znP3r//ffVv39/TZo0SX/729/UpEkTtWrVSunp6YRuk7Ftc21F27dPP/1UP/30E9s3F1KtWjX98ccfkqR69epp27Ztio6O1tmzZyvMjqmr8vX1tffNxbKzs4vdHwHmqFKlip566imzy8AlmjVrpl27diksLEzXX3+93n33XYWFhemdd96pUF+IcKTbZOfPn9eJEydktVodhjds2NCkiiBJa9eu1Y033mh/FmeRgoICrV+/Xt27dzepMkgXjjjs2LFDDRs2VJ06dfTll1+qTZs2+uWXX3TDDTcoMzPT7BIBwGl333232rVrp7Fjx+qFF17QG2+8oUGDBiklJUVt2rThRmomuvfee/XDDz/ogw8+UIcOHSRJ3333nR588EG1bdtWc+bMMbdA6OzZs9q4cWOJ+9X33nuvSVXh448/VkFBge677z5lZGTo1ltv1ZkzZ1SpUiXNmTNHd955p9kllglCt0n27NmjBx54QOvXr3cYbrPZ5OHhUWHu5OeqvLy8dPTo0WKnWZ4+fVohISH0j8maNWumefPmqWPHjuratasGDBig8ePHa8GCBRo1apROnDhhdokVSrVq1eTh4XFV03K9vWvYs2ePVq9eXeLO6bPPPmtSVThz5ozOnTununXr2m8CtX79ejVt2lRPP/20qlWrZnaJFdbZs2c1fPhwffHFF/Lx8ZF04Yv4gQMHavbs2apataq5BVZwX3zxhe655x5lZ2crODjY4TPJw8ODzx4Xkpubq507d6phw4aqWbOm2eWUGUK3Sbp06SJvb2+NHz9ederUKbbDev3115tUGSTJ09NTx48fV61atRyG7969W+3atVNWVpZJlUGSxo8fr+DgYE2cOFELFizQ0KFDFRYWpkOHDmnMmDF6+eWXzS6xQpk7d679/6dPn9aLL76oPn36qHPnzpKkDRs26Ouvv9YzzzyjMWPGmFUm/uf999/XI488opo1ayo0NLTYzukPP/xgYnWAa9u7d6/9kWHNmzcv8RGJKHvXXXed+vXrpylTppT46DDAbIRukwQEBCgjI0ORkZFml4KLxMXFSZIWL16sW2+91eHZjoWFhfrpp5/UrFkzLV++3KwSUYINGzZo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qMOzh+EaPvvsMw0bNkz33HOPPvroI23fvl2NGzfWm2++qa+++kpfffWV2SVWeF988YXi4uJ09913O+ycfvLJJ1q4cOEVv3SEsa70aDce52auLVu2aOjQoTp06JDGjh2r5557TpI0atQonT59WvPnzze5Qrz99tt66aWXdOTIEUkX7pEwadIk3XvvvSZXVrHNnTv3iuMrys2jCd0m27NnjzZv3iw/Pz9FR0fbrykGcHm33367Vq1apRo1aqhly5bFvjVNSkoyqTLccMMNGjNmjO69914FBQVpy5Ytaty4sX788Uf17dtXx44dM7tESPryyy81ZcoU++dPq1at9Nxzz3GpAOCkc+fOydvbm0eJuZCTJ0/Kz89PgYGBZpcC2LGFMMnzzz+vcePGqWnTpmratKl9eF5env71r38VO+0PZeNqj5xyip+5qlatqri4OLPLQAl27dplv2TmYlWqVNHZs2fLviCUqH///urfv7/ZZeAyzp8/r/3796tJkyaEORfRuHFjff/998Xuu3Pu3Dm1adOGsxBMdtNNNykpKUlVq1Z1ePJMVlaWYmNjtWrVKhOrw759+zR79mzt27dPr732mkJCQrRs2TI1bNhQLVu2NLu8MsGRbpN4eXnp6NGjCgkJcRh++vRphYSEcM2wSS49te/XX39VnTp1HHZ6OMUPuLzGjRvrvffe0y233OJwpHvevHl6+eWXtX37drNLrPAuFx7Onj1LeDBZbm6uRo0aZT8dc/fu3WrcuLFGjRqlevXqafz48SZXWHF5enra7/tysePHj6tBgwY6f/68SZVBunz/nDhxQvXq1ZPFYjGpMqSmpqpv377q0qWL1q5dqx07dqhx48Z6+eWXtWnTJi1atMjsEssEX5+apOiZtZfasmWLqlevbkJFkC7cEOViQUFBSk1N5c6XLqigoEBr1qzRvn37dPfddysoKEhHjhxRcHAwp5SZ6MEHH9Sjjz6qDz/8UB4eHjpy5Ig2bNigcePG6ZlnnjG7PEg6cOBAiV/s5ufn6/DhwyZUhCITJkzQli1btGbNGt1666324bfccosmTZpE6DbBxU8z+frrrx0eS1VYWKhvvvnmitfiw1g//fST/f/bt293uISpsLBQy5cvV7169cwoDf8zfvx4vfjiixo7dqyCgoLsw2+66Sa9+eabJlZWtgjdZaxatWry8PCQh4eHrrvu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iIj+ds+ePYOhoSE0NTXlxnNzc2FoaChXiBMRUc3BPd1EVZSVlUFL683/LDQ1NfHq1SslJiIiInVhYmKicNzc3FzJSYiI6O/EopuoCqlUCn9/f+jq6iq8zhluIiIiIiL6I1h0E1Xh5+f3u+9h53IiIiIiInpX3NNNRERERERE9J6wezkRERERERHRe8Kim4iIiIiIiOg9YdFNRERERERE9J6w6CYiIiIiIiJ6T1h0ExEREX766SdIJBLk5eWJjkJERFSrsOgmIiKqBfz9/SGRSCCRSKCtrQ17e3vMmjULRUVFoqMRERGpNZ7TTUREVEv07dsX27ZtQ2lpKS5fvgw/Pz9IJBKsXLlSdDQiIiK1xZluIiKiWkJXVxfW1taws7ODr68vPD09cerUKQBAcXExvvjiC1haWkJPTw9dunRBQkLCW/++uLg4dO3aFXXq1IGdnR2++OILFBQUKONHISIiqjVYdBMREdVC169fx7lz56CjowMAmDVrFvbv34/t27cjMTERjo6O6NOnD3JzcxV+/82bN9G3b18MGjQIycnJ+P777xEXF4fJkycr88cgIiKq8SRSqVQqOgQRERH9Nf7+/vj222+hp6eHV69eobi4GBoaGtizZw/69u0LMzMzREREYOjQoQCA0tJSNGrUCNOmTUNAQAB++ukndO/eHU+fPoWpqSnGjh0LTU1NhIWFyf4bcXFx8PDwQEFBAfT09ET9qERERDUK93QTERHVEt27d8eGDRtQUFCAtWvXQktLSzZTXVpais6dO8veq62tDXd3d/z6668K/66kpCQkJycjMjJSNiaVSlFeXo7MzEw4OTm995+HiIioNmDRTUREVEsYGBjA0dERALB161a0bt0aW7ZsQfv27f/w35Wfn4/x48fjiy++qHatQYMGfzkrERGRumDRTUREVAtpaGhg3rx5mD59OjIyMqCjo4NffvkFDRs2BFCxvDwhIQHTpk1T+P2urq5ISUmRFfFERET057CRGhERUS01ePBgaGpqYsOGDZg4cSICAgJw/PhxpKSkYNy4cSgsLMSYMWMUfu/s2bNx7tw5TJ48GVevXsWNGzdw6NAhNlIjIiL6gzjTTUREVEtpaWlh8uTJWLVqFTIzM1FeXo4RI0bgxYsXcHNzw4kTJ2BmZqbwe11cXBAbG4v58+eja9eukEqlaNy4MYYMGaLkn4KIiKhmY/dyIiIiIiIioveEy8uJiIiIiIiI3hMW3URERERERETvCYtuIiIiIiIioveERTcRERERERHRe8Kim4iIiIiIiOg9YdFNRERERERE9J6w6CYiIiIiIiJ6T1h0ExEREREREb0nLLqJiIiIiIiI3hMW3URERERERETvCYtuIiIiIiIioveERTcRERERERHRe/L/AJ/aJD9mHqDtAAAAAElFTkSuQmCC",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.boxplot(column='Height', by='Role', figsize=(10,8))\n",
"plt.xticks(rotation='vertical')\n",
@@ -250,27 +165,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "> **Note** : Ce diagramme suggère qu'en moyenne, les tailles des joueurs de première base sont supérieures à celles des 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 prouver.\n",
+ "> **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",
"\n",
- "L'âge, la taille et le poids sont tous des variables aléatoires continues. À votre avis, quelle est 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. Quelle est selon vous leur distribution ? Une bonne façon de le découvrir est de tracer l'histogramme des valeurs : \n"
]
},
{
"cell_type": "code",
- "execution_count": 126,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA94AAAJQCAYAAAB4oLw3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRnUlEQVR4nO3de5yN9f7//+ea0xrDzDAYYzLMUM45xGaTMOQwbBJli4oOdEAan052qZHa7A462Er1LSmmNiW12SnH5FgqiUqIauccZjCMZdb790e/WbtlxhyY91xrzON+u82N9b7e61qvdb3WzKznXOu6LpcxxggAAAAAAFgR5HQBAAAAAABcyAjeAAAAAABYRPAGAAAAAMAigjcAAAAAABYRvAEAAAAAsIjgDQAAAACARQRvAAAAAAAsIngDAAAAAGARwRsAAAAAAIsI3gBQDgwbNkyJiYnnfN9KlSqVbEEFeP311+VyubRr1y7fWOfOndW5c+dSeXyXy6W0tDTf7bS0NLlcLh08eLBUHj8xMVHDhg0rlcc6V9u2bVP37t0VHR0tl8ul+fPnO12SdaX5GgQAXHgI3gDgkDlz5sjlcum9997Ls6x58+ZyuVxavnx5nmW1a9dW+/btS6PEYsnKylJaWppWrFjhdCmSpDVr1igtLU1HjhxxupQ8Arm2ohg6dKi++eYbPf7443rzzTfVunXrfOft2rVLLpdLLpdLjz32WL5zhgwZIpfLleePO507d1bTpk0LrCP3jyK5X0FBQapZs6b+8pe/aN26dUV6LomJiX7riI2N1RVXXJHv9yUAAOcqxOkCAKC86tChgyRp1apVuvrqq33jmZmZ2rx5s0JCQrR69WolJyf7lv3yyy/65ZdfNGjQoGI91iuvvCKv11syhZ9FVlaWJkyYIEklvmfw448/LvZ91qxZowkTJmjYsGGqXLlyke934sQJhYTY/fVYUG1bt25VUFDg/l38xIkTWrt2rR588EGNGjWqSPcJDw/XW2+9pYceeshv/Pjx43r//fcVHh5+XjW9+OKLqlSpkrxer3755Re98sor6tixoz777DO1aNGi0Pu3aNFC//d//ydJ2r17t1566SX1799fL774om6//fbzqg0AAIngDQCOiY+PV1JSklatWuU3vnbtWhljdO211+ZZlns7N7QXVWho6PkV67CwsDCr6/d6vTp16pTCw8PPOwSeL7fb7ejjF+bAgQOSVKw/ZvTq1Uvz5s3T119/rebNm/vG33//fZ06dUo9e/bUsmXLzrmma665RtWqVfPd7tevn5o2baq5c+cWKXhfdNFFuv766323b7zxRl188cV65plnykTw/uPrFwAQmAL3T+oAUA506NBBX331lU6cOOEbW716tZo0aaKUlBStW7fOb0/16tWr5XK5dPnll/vGZs2apVatWqlChQqKiYnRoEGD9Msvv/g9Tn7HeP/222+64YYbFBUVpcqVK2vo0KH6+uuv5XK59Prrr+ep9ddff1W/fv1UqVIlVa9eXffcc49ycnIk/f6R4urVq0uSJkyY4PvY7h+Plc7Pli1b1KVLF1WoUEG1atXSY489lu+e+fyOr506daqaNGmiiIgIValSRa1bt1Z6erqk3z+CfO+990qSkpKSfPXkHjfucrk0atQozZ49W02aNJHb7daiRYt8y/Kr++DBgxo4cKCioqJUtWpVjRkzRidPnvQtz/1YdX7b7o/rLKy2/I7x/vHHH3XttdcqJiZGERER+vOf/6yFCxf6zVmxYoVcLpfmzJmjxx9/XLVq1VJ4eLi6du2q7du356kpP1999ZVSUlIUFRWlSpUqqWvXrn4f2U5LS1OdOnUkSffee69cLleRzh3Qrl07JSUl+fqTa/bs2erZs6diYmKKVF9RxcXFSdI5f3IhLi5OjRo10s6dO88659SpU3r44YfVqlUrRUdHq2LFirriiiv8Dg8xxigxMVFXXXVVnvufPHlS0dHRuu2223xj2dnZeuSRR3TxxRfL7XYrISFB9913n7Kzs/3uW9Dr9+2331arVq0UGRmpqKgoXXrppXruuefOaTsAAEoOe7wBwEEdOnTQm2++qfXr1/uC5erVq9W+fXu1b99eGRkZ2rx5s5o1a+Zb1rBhQ1WtWlWS9Pjjj2v8+PEaOHCgbr31Vh04cEBTp05Vx44d9dVXX511r6TX61WfPn302Wef6Y477lDDhg31/vvva+jQofnOz8nJUY8ePdS2bVs99dRTWrJkiZ5++mnVq1dPd9xxh6pXr64XX3xRd9xxh66++mr1799fknx152fv3r1KTk7W6dOn9cADD6hixYp6+eWXVaFChUK32yuvvKK77rpL11xzjS8Ab9q0SevXr9fgwYPVv39//fDDD3rrrbf0zDPP+PaG5v5xQJKWLVumOXPmaNSoUapWrVqhAXLgwIFKTEzUpEmTtG7dOj3//PM6fPiw3njjjULr/aOi1PZH+/btU/v27ZWVlaW77rpLVatW1cyZM9W3b1+98847focpSNLkyZMVFBSke+65RxkZGXriiSc0ZMgQrV+/vsC6tmzZoiuuuEJRUVG67777FBoaqpdeekmdO3fWJ598orZt26p///6qXLmyUlNTdd1116lXr15FPvHeddddp1mzZmny5Mm+k9V9/PHHevPNN32h8VwdOnRI0u+v619//VUTJ05UeHi4Bg4ceE7r83g8+uWXX3zfZ/nJzMzU//t//0/XXXedhg8frqNHj+rVV19Vjx49fB9xd7lcuv766/XEE0/o0KFDfn9g+Pe//63MzEzfnnav16u+fftq1apVGjFihBo1aqRvvvlGzzzzjH744Yc8J7DL7/W7ePFiXXfdderatav+8Y9/SJK+++47rV69WmPGjDmnbQEAKCEGAOCYLVu2GElm4sSJxhhjPB6PqVixopk5c6YxxpgaNWqYadOmGWOMyczMNMHBwWb48OHGGGN27dplgoODzeOPP+63zm+++caEhIT4jQ8dOtTUqVPHd/vdd981ksyzzz7rG8vJyTFdunQxksyMGTP87ivJPProo36P07JlS9OqVSvf7QMHDhhJ5pFHHinSc7/77ruNJLN+/Xrf2P79+010dLSRZHbu3Okb79Spk+nUqZPv9lVXXWWaNGlS4PqffPLJPOvJJckEBQWZLVu25Lvsj8/hkUceMZJM3759/ebdeeedRpL5+uuvjTHG7Ny5M8+2O9s6C6qtTp06ZujQob7budvp008/9Y0dPXrUJCUlmcTERJOTk2OMMWb58uVGkmnUqJHJzs72zX3uueeMJPPNN9/keaw/6tevnwkLCzM7duzwje3evdtERkaajh07+sZyn+eTTz5Z4PrOnLt582a/5zFt2jRTqVIlc/z4cTN06FBTsWJFv/t26tSp0B7n9ubMr8qVK5tFixYVWp8xv2/v7t27mwMHDpgDBw6Yr7/+2gwaNMhIMqNHj/ar54+vwdOnT/ttZ2OMOXz4sKlRo4a5+eabfWNbt241ksyLL77oN7dv374mMTHReL1eY4wxb775pgkKCvLrszHGTJ8+3Ugyq1ev9o2d7fU7ZswYExUVZU6fPl2k5w4AKD181BwAHNSoUSNVrVrVd+z2119/rePHj/vOWt6+fXutXr1a0u/Hfufk5PiO7543b568Xq8GDhyogwcP+r7i4uJ0ySWX5HtG9FyLFi1SaGiohg8f7hsLCgrSyJEjz3qfM491veKKK/Tjjz+e2xOX9J///Ed//vOf1aZNG99Y9erVNWTIkELvW7lyZf33v//V559/fs6P36lTJzVu3LjI88/cNqNHj5b0+/Ow6T//+Y/atGnjd1x/pUqVNGLECO3atUvffvut3/ybbrrJ75j4K664QpIK7FVOTo4+/vhj9evXT3Xr1vWN16xZU4MHD9aqVauUmZl5Xs+jSZMmatasmd566y1JUnp6uq666ipFRESc13ol6d1339XixYv18ccfa8aMGapfv74GDBigNWvWFOn+H3/8sapXr67q1aurefPmmjt3rm644QbfXuP8BAcH+7az1+vVoUOHdPr0abVu3Vpffvmlb179+vXVtm1bzZ492zd26NAhffjhh74zukvS3Llz1ahRIzVs2NDv+7lLly6SlOf7Ob/Xb+XKlXX8+HEtXry4SM8bAFB6CN4A4CCXy6X27dv7juVevXq1YmNjdfHFF0vyD965/+YGsG3btskYo0suucQXGnK/vvvuO+3fv/+sj/vTTz+pZs2aeUJP7uOeKTw8PM9HoatUqaLDhw+f2xP//2u45JJL8ow3aNCg0Pvef//9qlSpktq0aaNLLrlEI0eO9G2fokpKSirW/DNrrVevnoKCgvyuN27DTz/9lO82adSokW/5H9WuXdvvdpUqVSSpwF4dOHBAWVlZZ32c3LOFn6/Bgwdr7ty52r59u9asWaPBgwef9zolqWPHjrryyivVrVs3DRs2TEuXLlVkZKTvjyOFadu2rRYvXqwlS5ZozZo1OnjwoN54441CD3uYOXOmmjVrpvDwcFWtWlXVq1fXwoULlZGR4Tfvxhtv1OrVq329mjt3rjwej2644QbfnG3btmnLli15vpfr168vSXm+n/N7/d55552qX7++UlJSVKtWLd18883n/TF+AEDJ4BhvAHBYhw4d9O9//1vffPON7/juXO3bt9e9996rX3/9VatWrVJ8fLxvj6TX65XL5dKHH36o4ODgPOst6rG3RZHf+p3UqFEjbd26VQsWLNCiRYv07rvv6oUXXtDDDz/su6RZYYpyLHlBcvdUnu12rtwT0JWWs/XKGFOqdeTnuuuu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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.hist(np.random.normal(0,1,50000), bins=300)\n",
@@ -364,25 +231,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Étant donné que 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"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 130,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAlM0lEQVR4nO3dfWxd9X348Y+dB8dA7OCU2FhJiDWhhhRKy8OCAXWstfKwCCUj2saUTcAiMq0ObcgEIx2EQWkDiNIUlpKBugAqWddIC49rpihUiSqcAKFMQFmgahgZwc66YJuExjH4/P5A3P1MQ2O6+/ENyeslXQmfc+7x5yK+urx17rmuKoqiCAAAAKDsqis9AAAAABytRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQJKRlR7gtzEwMBC7d++OsWPHRlVVVaXHAQAA4BhTFEW8/fbb0dzcHNXVH309+xMZ3bt3745JkyZVegwAAACOcbt27YqJEyd+5P5PZHSPHTs2It5/cXV1dRWeBgAAgGNNb29vTJo0qdSnH+UTGd0ffKS8rq5OdAMAAFAxh7vl2RepAQAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBlZ6QHg45py3ROVHuGo89qtcyo9AgAAHJVc6QYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSjKz0AABAZUy57olKj3DUee3WOZUeAYAjjCvdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAECSkZUeAAAA4JNsynVPVHqEo85rt86p9Ahl40o3AAAAJBHdAAAAkER0AwAAQBL3dAMAcMRyr2z5HU33ysIngSvdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAk+djRvWXLlrj44oujubk5qqqq4uGHHx60vyiKWL58eZx88slRW1sbbW1t8eqrrw46Zu/evbFgwYKoq6uLcePGxcKFC2Pfvn3/pxcCAAAAR5qPHd379++PM888M1atWnXI/bfffnvcddddsXr16ti2bVscf/zxMXPmzDhw4EDpmAULFsRLL70UGzdujMcffzy2bNkSixYt+u1fBQAAAByBRn7cJ8yePTtmz559yH1FUcTKlSvj+uuvj7lz50ZExIMPPhiNjY3x8MMPx6WXXhovv/xybNiwIZ555pk455xzIiLi7rvvjj/4gz+IO+64I5qbm/8PLwcAAACOHGW9p3vnzp3R2dkZbW1tpW319fUxffr06OjoiIiIjo6OGDduXCm4IyLa2tqiuro6tm3bVs5xAAAAoKI+9pXu36SzszMiIhobGwdtb2xsLO3r7OyMCRMmDB5i5MhoaGgoHfNhfX190dfXV/q5t7e3nGMDAABAirJGd5YVK1bETTfdVOkxAIZsynVPVHqEo85rt86p9AgARwXvUTC8yvrx8qampoiI6OrqGrS9q6urtK+pqSn27NkzaP+7774be/fuLR3zYcuWLYuenp7SY9euXeUcGwAAAFKUNbpbWlqiqakpNm3aVNrW29sb27Zti9bW1oiIaG1tje7u7ti+fXvpmCeffDIGBgZi+vTphzxvTU1N1NXVDXoAAADAke5jf7x837598fOf/7z0886dO+P555+PhoaGmDx5cixZsiRuueWWOPXUU6OlpSVuuOGGaG5ujnnz5kVExGmnnRazZs2KK6+8MlavXh39/f2xePHiuPTSS31zOQAAAEeVjx3dzz77bPz+7/9+6eelS5dGRMRll10W999/f1x77bWxf//+WLRoUXR3d8eFF14YGzZsiDFjxpSe89BDD8XixYvjS1/6UlRXV8f8+fPjrrvuKsPLOTK5bwYAAODY9LGj+6KLLoqiKD5yf1VVVdx8881x8803f+QxDQ0NsXbt2o/7qwEAAOATpaz3dAMAAAD/S3QDAABAEtENAAAAST72Pd3A0ceX/QEAQA5XugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkIys9AADA0WLKdU9UegQAjjCudAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAEAS0Q0AAABJRDcAAAAkEd0AAACQRHQDAABAEtENAAAASUQ3AAAAJBHdAAAAkER0AwAAQJKRlR4AAIZiynVPVHoEAICPzZVuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKUPbrfe++9uOGGG6KlpSVqa2vjd37nd+LrX/96FEVROqYoili+fHmcfPLJUVtbG21tbfHqq6+WexQAAACoqLJH92233Rb33HNP/P3f/328/PLLcdttt8Xtt98ed999d+mY22+/Pe66665YvXp1bNu2LY4//viYOXNmHDhwoNzjAAAAQMWU/U+GPfXUUzF37tyYM2dORERMmTIl/umf/imefvrpiHj/KvfKlSvj+uuvj7lz50ZExIMPPhiNjY3x8MMPx6WXXlrukQAAAKAiyn6l+/zzz49NmzbFK6+8EhER//7v/x4/+clPYvbs2RERsXPnzujs7Iy2trbSc+rr62P69OnR0dFxyHP29fVFb2/voAcAAAAc6cp+pfu6666L3t7emDp1aowYMSLee++9+MY3vhELFiyIiIjOzs6IiGhsbBz0vMbGxtK+D1uxYkXcdNNN5R4VAAAAUpX9SvcPf/jDeOihh2Lt2rXx3HPPxQMPPBB33HFHPPDAA7/1OZctWxY9PT2lx65du8o4MQAAAOQo+5Xua665Jq677rrSvdlnnHFG/Od//mesWLEiLrvssmhqaoqIiK6urjj55JNLz+vq6orPfe5zhzxnTU1N1NTUlHtUAAAASFX2K93vvPNOVFcPPu2IESNiYGAgIiJaWlqiqakpNm3aVNrf29sb27Zti9bW1nKPAwAAABVT9ivdF198cXzjG9+IyZMnx2c+85n46U9/GnfeeWf8xV/8RUREVFVVxZIlS+KWW26JU089NVpaWuKGG26I5ubmmDdvXrnHAQAAgIope3TffffdccMNN8SXv/zl2LNnTzQ3N8df/uVfxvLly0vHXHvttbF///5YtGhRdHd3x4UXXhgbNmyIMWPGlHscAAAAqJiqoiiKSg/xcfX29kZ9fX309PREXV1dpcc5rCnXPVHpEQAAAD4xXrt1TqVHOKyhdmnZ7+kGAAAA3ie6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSpET3G2+8EX/2Z38W48ePj9ra2jjjjDPi2WefLe0viiKWL18eJ598ctTW1kZbW1u8+uqrGaMAAABA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W7pPu76+Pmpra6O+vj4WLlwYS5cujYaGhqirq4urrroqWltbfXM5AAAAR5WyR/c999wTEREXXXTRoO1r1qyJyy+/PCIivv3tb0d1dXXMnz8/+vr6YubMmfHd73633KMAAABARZU9uouiOOwxY8aMiVWrVsWqVavK/esBAADgiJH+d7oBAADgWCW6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVCy6V61aFVOmTIkxY8bE9OnT4+mnn67UKAAAAJCiItH9z//8z7F06dK48cYb47nnnoszzzwzZs6cGXv27KnEOAAAAJCiItF95513xpVXXhlXXHFFTJs2LVavXh3HHXdc/OM//mMlxgEAAIAUI4f7Fx48eDC2b98ey5YtK22rrq6Otra26OjoOORz+vr6oq+vr/RzT09PRET09vbmDlsmA33vVHoEAACAT4xPQut9MGNRFL/xuGGP7l/+8pfx3nvvRWNj46DtjY2N8R//8R+HfM6KFSvipptu+rXtkyZNSpkRAACAyqlfWekJhu7tt9+O+vr6j9w/7NH921i2bFksXbq09PPAwEDs3bs3xo8fH1VVVem/v7e3NyZNmhS7du2Kurq69N8Hn0TWCQyNtQKHZ53A0FgrlVUURbz99tvR3Nz8G48b9uj+1Kc+FSNGjIiurq5B27u6uqKpqemQz6mpqYmamppB28aNG5c14keqq6vzHzMchnUCQ2OtwOFZJzA01krl/KYr3B8Y9i9SGz16dJx99tmxadOm0raBgYHYtGlTtLa2Dvc4AAAAkKYiHy9funRpXHbZZXHOOefE7/7u78bKlStj//79ccUVV1RiHAAAAEhRkej+kz/5k/jv//7vWL58eXR2dsbnPve52LBhw699udqRoqamJm688cZf+4g78L+sExgaawUOzzqBobFWPhmqisN9vzkAAADwWxn2e7oBAADgWCG6AQAAIInoBgAAgCSiGwAAAJIcs9G9ZcuWuPjii6O5uTmqqqri4YcfHrR/3759sXjx4pg4cWLU1tbGtGnTYvXq1YOOOXDgQLS3t8f48ePjhBNOiPnz50dXV9cwvgrId7i10tXVFZdffnk0NzfHcccdF7NmzYpXX3110DHWCke7FStWxLnnnhtjx46NCRMmxLx582LHjh2DjhnKOnj99ddjzpw5cdxxx8WECRPimmuuiXfffXc4XwqkGco6uffee+Oiiy6Kurq6qKqqiu7u7l87z969e2PBggVRV1cX48aNi4ULF8a+ffuG6VVAvsOtlb1798ZVV10Vn/70p6O2tjYmT54cX/nKV6Knp2fQebynHDmO2ejev39/nHnmmbFq1apD7l+6dGls2LAhvv/978fLL78cS5YsicWLF8ejjz5aOubqq6+Oxx57LNatWxebN2+O3bt3xyWXXDJcLwGGxW9aK0VRxLx58+IXv/hFPPLII/HTn/40TjnllGhra4v9+/eXjrNWONpt3rw52tvbY+vWrbFx48bo7++PGTNmfKx18N5778WcOXPi4MGD8dRTT8UDDzwQ999/fyxfvrwSLwnKbijr5J133olZs2bF1772tY88z4IFC+Kll16KjRs3xuOPPx5btmyJRYsWDcdLgGFxuLWye/fu2L17d9xxxx3x4osvxv333x8bNmyIhQsXls7hPeUIU1BERLF+/fpB2z7zmc8UN99886BtZ511VvG3f/u3RVEURXd3dzFq1Khi3bp1pf0vv/xyERFFR0dH+sxQCR9eKzt27CgionjxxRdL2957773ipJNOKu67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",
- "text/plain": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"wrong_sample = np.random.rand(1000)*2*std+mean-std\n",
"plt.figure(figsize=(10,6))\n",
@@ -395,26 +251,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Intervalles de Confiance\n",
+ "## Intervalles de confiance\n",
"\n",
- "Calculons maintenant les intervalles de confiance pour les poids et les tailles des joueurs de baseball. Nous utiliserons le code [de cette discussion sur 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 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"
]
},
{
"cell_type": "code",
- "execution_count": 131,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "p=0.85, mean = 73.70 ± 0.10\n",
- "p=0.90, mean = 73.70 ± 0.12\n",
- "p=0.95, mean = 73.70 ± 0.14\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"import scipy.stats\n",
"\n",
@@ -434,126 +280,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Test d'hypothèses\n",
+ "## Test d'hypothèse\n",
"\n",
- "Explorons les 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 sur les joueurs de baseball :\n"
]
},
{
"cell_type": "code",
- "execution_count": 132,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- "
\n",
- "
\n",
- "
Weight
\n",
- "
Height
\n",
- "
Count
\n",
- "
\n",
- "
\n",
- "
Role
\n",
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- " \n",
- " \n",
- "
\n",
- "
Catcher
\n",
- "
72.723684
\n",
- "
204.328947
\n",
- "
76
\n",
- "
\n",
- "
\n",
- "
Designated_Hitter
\n",
- "
74.222222
\n",
- "
220.888889
\n",
- "
18
\n",
- "
\n",
- "
\n",
- "
First_Baseman
\n",
- "
74.000000
\n",
- "
213.109091
\n",
- "
55
\n",
- "
\n",
- "
\n",
- "
Outfielder
\n",
- "
73.010309
\n",
- "
199.113402
\n",
- "
194
\n",
- "
\n",
- "
\n",
- "
Relief_Pitcher
\n",
- "
74.374603
\n",
- "
203.517460
\n",
- "
315
\n",
- "
\n",
- "
\n",
- "
Second_Baseman
\n",
- "
71.362069
\n",
- "
184.344828
\n",
- "
58
\n",
- "
\n",
- "
\n",
- "
Shortstop
\n",
- "
71.903846
\n",
- "
182.923077
\n",
- "
52
\n",
- "
\n",
- "
\n",
- "
Starting_Pitcher
\n",
- "
74.719457
\n",
- "
205.321267
\n",
- "
221
\n",
- "
\n",
- "
\n",
- "
Third_Baseman
\n",
- "
73.044444
\n",
- "
200.955556
\n",
- "
45
\n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Weight Height Count\n",
- "Role \n",
- "Catcher 72.723684 204.328947 76\n",
- "Designated_Hitter 74.222222 220.888889 18\n",
- "First_Baseman 74.000000 213.109091 55\n",
- "Outfielder 73.010309 199.113402 194\n",
- "Relief_Pitcher 74.374603 203.517460 315\n",
- "Second_Baseman 71.362069 184.344828 58\n",
- "Shortstop 71.903846 182.923077 52\n",
- "Starting_Pitcher 74.719457 205.321267 221\n",
- "Third_Baseman 73.044444 200.955556 45"
- ]
- },
- "execution_count": 132,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"df.groupby('Role').agg({ 'Weight' : 'mean', 'Height' : 'mean', 'Age' : 'count'}).rename(columns={ 'Age' : 'Count'})"
]
@@ -561,23 +297,15 @@
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "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"
+ ]
},
{
"cell_type": "code",
- "execution_count": 133,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Conf=0.85, 1st basemen height: 209.36..216.86, 2nd basemen height: 182.24..186.45\n",
- "Conf=0.90, 1st basemen height: 208.82..217.40, 2nd basemen height: 181.93..186.76\n",
- "Conf=0.95, 1st basemen height: 207.97..218.25, 2nd basemen height: 181.45..187.24\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"for p in [0.85,0.9,0.95]:\n",
" m1, h1 = mean_confidence_interval(df.loc[df['Role']=='First_Baseman',['Height']],p)\n",
@@ -589,25 +317,16 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Nous pouvons constater que les intervalles ne se chevauchent pas.\n",
+ "Nous pouvons voir que les intervalles ne se chevauchent pas.\n",
"\n",
- "Une méthode statistiquement plus correcte pour prouver l'hypothèse est d'utiliser un **test t de Student** :\n"
+ "Une manière statistiquement plus correcte de prouver l’hypothèse est d’utiliser un **test t de Student** :\n"
]
},
{
"cell_type": "code",
- "execution_count": 134,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "T-value = 9.77\n",
- "P-value: 1.4185554184322326e-15\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"from scipy.stats import ttest_ind\n",
"\n",
@@ -619,36 +338,25 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Les deux valeurs renvoyé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 y a de fortes preuves indiquant que les joueurs de première base sont plus grands. \n",
- "* La t-value est la valeur intermédiaire de la différence de moyennes normalisée utilisée dans le test t, et elle est comparée à une valeur seuil pour un niveau de confiance donné. \n"
+ "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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Simuler une distribution normale avec le théorème central limite\n",
+ "## Simulation d'une distribution normale avec le théorème central limite\n",
"\n",
- "Le générateur pseudo-aléatoire de Python est conçu pour nous fournir une distribution uniforme. Si nous souhaitons créer un générateur pour une distribution normale, nous pouvons utiliser le théorème central limite. Pour obtenir une valeur normalement distribuée, il suffit de calculer la moyenne d'un échantillon généré de manière uniforme.\n"
+ "Le générateur pseudo-aléatoire en Python est conçu pour nous donner une distribution uniforme. Si nous voulons créer un générateur pour une distribution normale, nous pouvons utiliser le théorème central limite. Pour obtenir une valeur distribuée normalement, nous allons simplement calculer la moyenne d'un échantillon généré uniformément.\n"
]
},
{
"cell_type": "code",
- "execution_count": 135,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgnUlEQVR4nO3de2yV9f3A8U+hUpyzZYhQOirgNq/zsjllMLxtRCBG8ZJMjXNojMYFZ5R5ATd16hbYJco0CJtT2WIUs0yRjQQ38R5BI4SgziEyULy0eBktsFkZfX5/LPa3SlEL58Np4fVKTuJ5znPO+TzJN/V58/ScVhRFUQQAAABQcj3KPQAAAADsrEQ3AAAAJBHdAAAAkER0AwAAQBLRDQAAAElENwAAACQR3QAAAJBEdAMAAECSynIP8FGtra3x5ptvxp577hkVFRXlHgcAAAC2UBRFrF+/Purq6qJHj61fz+5y0f3mm29GfX19uccAAACAT7RmzZoYNGjQVh/vctG95557RsR/B6+uri7zNAAAALCl5ubmqK+vb2vYrely0f3hr5RXV1eLbgAAALq0T/pYtC9SAwAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASFJZ7gEAAOB/DZk0r9wj7JRWTz2x3CPALsmVbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACBJp6J7ypQpceSRR8aee+4Z/fv3j1NOOSWWL1/ebp/3338/JkyYEHvttVd89rOfjdNPPz0aGxtLOjQAAAB0B52K7scffzwmTJgQixYtir/+9a+xadOmOOGEE2Ljxo1t+1x22WXxpz/9Kf7whz/E448/Hm+++WacdtppJR8cAAAAurrKzuw8f/78dvdnzZoV/fv3j8WLF8cxxxwTTU1Ncccdd8Q999wT3/zmNyMi4q677ooDDzwwFi1aFF//+tdLNzkAAAB0cdv1me6mpqaIiOjbt29ERCxevDg2bdoUo0aNatvngAMOiH322ScWLly4PW8FAAAA3U6nrnT/r9bW1rj00kvjG9/4Rnz5y1+OiIiGhobo1atX9OnTp92+AwYMiIaGhg5fp6WlJVpaWtruNzc3b+tIAAAA0KVs85XuCRMmxAsvvBCzZ8/ergGmTJkSNTU1bbf6+vrtej0AAADoKrYpui+++OL485//HI8++mgMGjSobXttbW188MEHsW7dunb7NzY2Rm1tbYevNXny5Ghqamq7rVmzZltGAgAAgC6nU9FdFEVcfPHF8cADD8QjjzwSQ4cObff4EUccEbvttlssWLCgbdvy5cvjtddei+HDh3f4mlVVVVFdXd3uBgAAADuDTn2me8KECXHPPffEgw8+GHvuuWfb57Rrampi9913j5qamjj//PNj4sSJ0bdv36iuro7vf//7MXz4cN9cDgAAwC6nU9E9Y8aMiIg47rjj2m2/66674txzz42IiJtvvjl69OgRp59+erS0tMTo0aPjtttuK8mwAAAA0J10KrqLovjEfXr37h3Tp0+P6dOnb/NQAAAAsDPYrr/TDQAAAGyd6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroB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iegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkpQ8un/84x9HRUVFu9sBBxxQ6rcBAACALq8y40UPPvjgePjhh///TSpT3gYAAAC6tJQarqysjNra2oyXBgAAgG4j5TPdK1asiLq6uth3333j7LPPjtdee22r+7a0tERzc3O7GwAAAOwMSh7dw4YNi1mzZsX8+fNjxowZsWrVqjj66KNj/fr1He4/ZcqUqKmpabvV19eXeiQAAAAoi4qiKIrMN1i3bl0MHjw4brrppjj//PO3eLylpSVaWlra7jc3N0d9fX00NTVFdXV15mgA223IpHnlHgEAKJPVU08s9wiUUXNzc9TU1Hxiu6Z/w1mfPn1iv/32i1deeaXDx6uqqqKqqip7DAAAANjh0v9O94YNG2LlypUxcODA7LcCAACALqXk0X355ZfH448/HqtXr46nn346Tj311OjZs2ecddZZpX4rAAAA6NJK/uvlr7/+epx11lnx7rvvxt577x0jR46MRYsWxd57713qtwIAAIAureTRPXv27FK/JAAAAHRL6Z/pBgAAgF2V6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIUlnuAQAAALqjIZPmlXuEndLqqSeWe4SScqUbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AOjIkEnzyj3CTmn11BPLPQIAAOxSXOkGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSiG4AAABIIroBAAAgiegGAACAJKIbAAAAkohuAAAASCK6AQAAIInoBgAAgCSiGwAAAJKIbgAAAEgiugEAACCJ6AYAAIAkohsAAACSVJZ7AGDHGTJp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",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"def normal_random(sample_size=100):\n",
" sample = [random.uniform(0,1) for _ in range(sample_size) ]\n",
@@ -665,26 +373,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "## Corrélation et la Maléfique Corporation de Baseball\n",
+ "## 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 fictif, imaginons qu'il existe une maléfique corporation de baseball 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 supplémentaire allant de 0 à 100 $, en fonction de la taille. Nous allons prendre les vrais joueurs de la MLB et calculer leurs salaires imaginaires :\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"
]
},
{
"cell_type": "code",
- "execution_count": 136,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[(180, 1033.985209531635), (215, 1073.6346206518763), (210, 1067.9704190632704), (210, 1067.9704190632704), (188, 1043.0479320734046), (176, 1029.4538482607504), (209, 1066.837578745549), (200, 1056.6420158860585), (231, 1091.760065735415), (180, 1033.985209531635)]\n"
- ]
- }
- ],
- "source": [
- "heights = df['Height']\n",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "heights = df['Height'].fillna(method='pad')\n",
"salaries = 1000+(heights-heights.min())/(heights.max()-heights.mean())*100\n",
"print(list(zip(heights, salaries))[:10])"
]
@@ -693,26 +393,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "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 corrélation entre les variables d'entrée $X_i$ et $X_j$, et les valeurs diagonales $M_{ii}$ représentent 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}$ sont la variance de $X_{i}$. De même, `np.corrcoef` nous donnera la **matrice de corrélation**.\n"
]
},
{
"cell_type": "code",
- "execution_count": 137,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Covariance matrix:\n",
- "[[441.63557066 500.30258018]\n",
- " [500.30258018 566.76293389]]\n",
- "Covariance = 500.3025801786725\n",
- "Correlation = 0.9999999999999997\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"print(f\"Covariance matrix:\\n{np.cov(heights, salaries)}\")\n",
"print(f\"Covariance = {np.cov(heights, salaries)[0,1]}\")\n",
@@ -723,25 +411,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Une corrélation égale à 1 signifie qu'il existe une **relation linéaire** forte entre deux variables. Nous pouvons visualiser la relation linéaire en traçant une valeur par rapport à l'autre :\n"
+ "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"
]
},
{
"cell_type": "code",
- "execution_count": 138,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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Z7qjoqI0cODAYJeBdthsNv7CiGCMb2RjfCMfYxzZGN/IxvhGNsY39JxuhrsVL1IDAAAAACBACN0AAAAAAAQIoRvdKi4uTosXL1ZcXFywS0EAML6RjfGNfIxxZGN8IxvjG9kY3/AWsS9SAwAAAAAg2JjpBgAAAAAgQAjdAAAAAAAECKEbAAAAAIAAIXQDAAAAABAghG6YoqCgQLm5uUpLS5PFYtG6detOafPxxx/rmmuukd1uV+/evXXxxRervLzcc72+vl5z585V//791adPH91www06dOhQN34LtKej8a2rq9O8efM0cOBAxcfHy+l0atWqVV5tGN/QtGzZMl188cVKTExUcnKyrrvuOu3bt8+rTWfGrry8XDk5OUpISFBycrLuuusuNTU1dedXQRs6Gt/q6mrdeuutOueccxQfH6/09HT99re/VU1NjVc/jG/o6syf4VaGYWjSpElt/j3OGIemzo5vYWGhrrzySvXu3Vs2m01jx47VsWPHPNerq6t18803y2azqW/fvpo5c6bq6uq686ugDZ0Z38rKSk2bNk0Oh0O9e/fWiBEj9Je//MWrDeMb+gjdMMWRI0c0dOhQrVixos3rn332mUaPHq0f/ehHevfdd7V792498MADslqtnja33367NmzYoD//+c967733dPDgQV1//fXd9RVwGh2N7/z585Wfn681a9bo448/1m233aZ58+Zp/fr1njaMb2h67733NHfuXP3tb3/T5s2b1djYqAkTJujIkSOeNh2NXXNzs3JyctTQ0KAPPvhAL730kvLy8rRo0aJgfCWcoKPxPXjwoA4ePKgnn3xSe/bsUV5envLz8zVz5kxPH4xvaOvMn+FWf/jDH2SxWE45zxiHrs6Mb2FhobKzszVhwgQVFRVp+/btmjdvnqKi/vFr/s0336y9e/dq8+bNev3111VQUKDZs2cH4yvhBJ0Z3+nTp2vfvn1av369PvroI11//fX62c9+pl27dnnaML5hwABMJslYu3at17kbb7zRmDp1arv3HD582OjVq5fx5z//2XPu448/NiQZhYWFgSoVXdDW+J533nnGgw8+6HVuxIgRxn333WcYBuMbTqqqqgxJxnvvvWcYRufGbtOmTUZUVJRRWVnpabNy5UrDZrMZx48f794vgNM6eXzb8l//9V9GbGys0djYaBgG4xtu2hvjXbt2GT/4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",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(heights,salaries)\n",
@@ -752,21 +429,15 @@
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "source": [
+ "Voyons ce qui se passe si la relation n'est pas linéaire. Supposons que notre entreprise ait décidé de cacher la dépendance linéaire évidente entre les tailles et les salaires, et ait introduit une certaine non-linéarité dans la formule, comme `sin` :\n"
+ ]
},
{
"cell_type": "code",
- "execution_count": 139,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Correlation = 0.9910655775558532\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100\n",
"print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")"
@@ -776,22 +447,14 @@
"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 plus d'aléatoire 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 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"
]
},
{
"cell_type": "code",
- "execution_count": 140,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Correlation = 0.948230287835537\n"
- ]
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"salaries = 1000+np.sin((heights-heights.min())/(heights.max()-heights.mean()))*100+np.random.random(size=len(heights))*20-10\n",
"print(f\"Correlation = {np.corrcoef(heights, salaries)[0,1]}\")"
@@ -799,20 +462,9 @@
},
{
"cell_type": "code",
- "execution_count": 141,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAACaS0lEQVR4nOz9fXxU9Z3//z8nIRcEyBUxTLgOaJUUBdEKUbDVKkZZxNXP7mortbt+oLL6+bTV72rZqoC260X76fZC69W2tZVqL37bClSblYotqAFUjIqhVkIAhQQkgQQISSBzfn+EM8xM5uJ9Zs5kksnjfrt5q0xec86ZOVbzOu/X+/XyWJZlCQAAAAAAuC4j1RcAAAAAAEC6IukGAAAAACBJSLoBAAAAAEgSkm4AAAAAAJKEpBsAAAAAgCQh6QYAAAAAIElIugEAAAAASBKSbgAAAAAAkmRIqi8gWXw+n/bu3asRI0bI4/Gk+nIAAAAAAGnEsiwdPnxYo0ePVkZG5PXstE269+7dq3HjxqX6MgAAAAAAaeyjjz7S2LFjI/48bZPuESNGSOr5AvLz81N8NQAAAACAdNLW1qZx48b5c89I0jbptkvK8/PzSboBAAAAAEkRazszjdQAAAAAAEgSkm4AAAAAAJKEpBsAAAAAgCQh6QYAAAAAIElIugEAAAAASBKSbgAAAAAAkoSkGwAAAACAJCHpBgAAAAAgSUi6AQAAAABIEpJuAAAAAACShKQbAAAAAIAkIekGAAAAACBJSLoBAAAAAEgSkm4AAAAAAJKEpBsAAAAAgCQh6QYAAAAAIElIugEAAAAASJIhqb4AAAAAAPHr9lna3NCi/Yc7VDoiVxeUFyszw5PqywJwEkk3AAAAMEBVb23UijV1amzt8L9WVpCrZfMrVDW1LIVXBsBGeTkAAACQAt0+SzX1zVpVu0c19c3q9lmO3l+9tVFLVm4JSrglqam1Q0tWblH11kY3LxdAnFjpBgAAAPpYoivU3T5LK9bUKVyabknySFqxpk6XV3gpNQdSjJVuAAAAoA+5sUK9uaGl1/sDWZIaWzu0uaEl0csFkCCSbgAAAKCPxFqhlnpWqGOVmu8/HDnhjicOQPKQdAMAACCtJLpXOpncWqEuHZFrdD7TOADJ4zjpXr9+vebPn6/Ro0fL4/Ho+eefD/r57373O82dO1cjR46Ux+NRbW1tr2N0dHTo1ltv1ciRIzV8+HBdd9112rdvX1DM7t27NW/ePOXl5am0tFT/9m//phMnTji9XAAAAAwi1VsbNfuhdbrhqY366q9qdcNTGzX7oXX9pqmYWyvUF5QXq6wgV5F2a3vUs0f8gvJiZxcIwHWOk+6jR49q2rRpevTRRyP+fPbs2XrooYciHuPrX/+61qxZo9/+9rf6y1/+or179+raa6/1/7y7u1vz5s1TV1eXXn/9df385z/X008/rXvvvdfp5QIAAGCQGAjdvN1aoc7M8GjZ/ApJ6pV4239eNr+CJmpAP+CxLCvuehuPx6Pf//73uuaaa3r9bOfOnSovL9fbb7+t6dOn+19vbW3VaaedpmeffVb/63/9L0nSX//6V02ZMkU1NTWaNWuW/vjHP+rv/u7vtHfvXo0aNUqS9Pjjj+uuu+7SJ598ouzs7JjX1tbWpoKCArW2tio/Pz/ejwgAAIABoNtnafZD6yKWbnskeQty9epdl6Y0EbWvs6m1I+y+bqfXyZxuIHVMc84+39P91ltv6fjx47rsssv8r5111lkaP368ampqJEk1NTU6++yz/Qm3JF1xxRVqa2vT+++/39eXDAAAgH5uoHTzdnuFumpqmV6961I9t2iWfnD9dD23aJZevetSEm6gH+nzOd1NTU3Kzs5WYWFh0OujRo1SU1OTPyYw4bZ/bv8snM7OTnV2dvr/3NbW5uJVAwAAoD8bSN28q6aW6bEbZ/RaofbGuUKdmeFR5eSRbl8mAJf0edKdLA888IBWrFiR6ssAAABACgy0bt5VU8t0eYVXmxtatP9wh0pH9DQ9Yw82kH76vLzc6/Wqq6tLhw4dCnp937598nq9/pjQbub2n+2YUEuXLlVra6v/r48++sj9iwcAAEC/NBC7edsr1Aumj1Hl5JEk3ECa6vOk+7zzzlNWVpZefvll/2sffPCBdu/ercrKSklSZWWl3nvvPe3fv98fs3btWuXn56uioiLscXNycpSfnx/0FwAAAAYHe690pA7BlujmDSA1HJeXHzlyRNu3b/f/uaGhQbW1tSouLtb48ePV0tKi3bt3a+/evZJ6EmqpZ4Xa6/WqoKBAN998s26//XYVFxcrPz9f/+f//B9VVlZq1qxZkqS5c+eqoqJCCxcu1MMPP6ympibdfffduvXWW5WTk+PG5wYAAAAAIOkcjwz785//rEsuuaTX6zfddJOefvppPf300/rnf/7nXj9ftmyZli9fLknq6OjQHXfcoeeee06dnZ264oor9OMf/ziodHzXrl1asmSJ/vznP2vYsGG66aab9OCDD2rIELPnBIwMAwAAGDwGysgwDFzdPos9+AhimnMmNKe7PyPpBgAAGDxq6pt1w1MbY8Y9t2gWnb7hGPPQEU6/ndMNAAAAuG0gjQzDwFK9tVFLVm7pVUXR1NqhJSu3qHprY4quDAMFSTcAAAAGvIE2MgwDQ7fP0oo1dWEb9NmvrVhTp25fWhYPwyVpM6cbAAAAqdEf9rraI8OaWjvCJkj2nu7+NDIM/d/mhpaIfQKknsS7sbVDmxta2Lbgkv7w7xO3kXQDAAAgbv1lr6s9MmzJyi3ySEGJt/3rOiPD4BTbFvpWf/n3idsoLwcAAEBc+tte16qpZXrsxhkqHZEd9HrpiGw9duOMAf1LO1KDbQt9p7/9+8RNJN0AAABwrL/udX1790F9cqQr6LVPjnTp7d0H+/Q6kB7sbQuR6iM86lmJZdtCYvrrv0/cQtINAAAAx0z3uj79WoNW1e5RTX1z0n9hfuDFOj2xvkGhp/FZ0hPrG/TAi3VJPT/Sj71tQVKvxJttC+5xsnd+ICLpBgAAgGOme1jvf2GbvvqrWt3w1EbNfmhd0kpEu0749NSGhqgxT21oUNcJX1LOj/Rlb1vwFgSXkHsLctm24JJ03ztPIzUAAAA4Fs8eVntvZjISlWdqdvZa4Q7ls3ribp4zydVzI/1VTS3T5RXetOuq3V+k+955km4AAAA4FmtEVziWekpyV6yp0+UVXlcTlp3N7a7GAaEyMzyujAVLx5FYiUr3kX8k3QAAAGkuGb/kRxvRFU3y5ho7uQIgNdJ1JFai0n3kH3u6AQAA0lj11kbNfmidbnhqo+t7q6umlmnxxeXyxPF7sNt7M6ePLXQ1DnBbOo/EckM6751npRsAACBN2b/kh67turW3unpro55c3xDX2rHbezO9BUNdjQPcFGskVrK2XQw06bp3nqQbAAAgDSX7l/xox48maXszTT/CwP7dHQOUk5FY7m67GHjc2jvfn1BeDgAAkIaSPfc21vHDSebezANHOl2Ni0e3z1JNfXOfzSXHwJHuI7EQHSvdAAAAaSjZv+TH8z5vEhtGpXrkUCobZNENu/9L9T+fSC2SbgAAgDSU7F/yTd93z7wpKhmRk/RkMJUjh5K9dz7WuemG3f+l+0gsREd5OQAAQBqyf8mPpiyBX/Lt40dKoT0nj//li8q1YPoYVU4emdTVV3vkkH3u0GuRklPWHmvvvNSzdz4ZpeZ0wx44UvXPJ/oHkm4AAIA0lJnh0dXToq90Xj2tLO5f8vtjEpGKkUPJ3jsfSSqTfcQnnUdiITrKywEAANJQt8/Sr9/8OGrMr9/8WHdWTYk7MbaTiNDy5mTu3Ta5pr4cOZSqBll0wx6Y0nUkFqIj6QYAAEhDG+ubdaj9eNSYQ+3HtbG+WRedURL3efpjEtGXI4dS1SCLbtgDVzqOxEJ0JN0AAABpqGbHAeO4RJJuKXISMRi6aqeqQRbdsIGBg6QbAAAgDZ3oNtvLaxrn1GDpqm3vbV+ycos8UlDincy97XTDBgYOGqkBAACkoe2fHHE1zonB1lU7FQ2y+mMjOwDhsdINAADQR/qy3PrY8W5X40zF6qrtUU9X7csrvGmVEKZib3t/bGQHoDeSbgAAgD7Q1+XWk0qG6bXtzUZxbhrMXbVT0SCrPzayAxCM8nIAAIAkS0W59V1VU1yNM0VX7b5nJ/sLpo9R5eSRJNxAP0PSDQAAkESxyq2lnnLrbp+7Dc3e29PqapwpumoDQDCSbgAAgCRyUm7tplStONtdtSOttXrUU1ZPV20AgwVJNwAAQBKlKvlN1YozXbUBIBhJNwAAQBKlKvmdPq7Q1TgnUjFCK1C3z1JNfbNW1e5RTX2z66X7AOAE3csBAACSyC63bmrtCLuv26OeZNTtcutnN+0yjrt5ziRXzy2lrqt2X3eJB4BYWOkGAABIIrvcOtJaq6XklFvvaml3NS4efd1VOxVd4gEgFpJuAACANDSuKM/VuP4uVV3i+wPK6YH+jfJyAACAJLKTwUg86kkGL6/wuroS/KnS4a7G9UfdPstfvn7gcKdxl/jKySP77iKTjHJ6oP8j6QYAAEgiJyPD3EwG39h10Djus2eVunbevhIu2TThdpf4VLLL6UPXte1y+r5oWpcKgQ9b+qpXAJAIkm4AAIAkStXIMJ/lczWuP4mUbJpwu0t8qsQqp09WBUWqsbKPgYg93QAAAElUMizH1ThTRXlmxzON6y+iJZvReNSTnLndJT5VnFRQpAsa5WGgIukGAABIJtNFRpcXI0tGGCb7hnH9RaxkMxz7q01Gl/hUSVUFRaoM5kZ5GPhIugEAAJLowJFOV+NMefPNyqhN4/qLeJJIb0Fu2u1vNi2TT5dy+sG4so/0wZ5uAAAw6PRlI6ZUJUcXlBerrCA3aqIyEMutTb+ne+ZNUcmInLRttGXf36bWjrCrvx71PGwYaPc3ksG2so/0QtINAAAGlb5uxJSq5Cgzw6Nl8yu0ZOUWSQo690Autzb9Pr98UfmA+2xOBN5fj9Ln/kYy2Fb2kV4oLwcAAINGvI2Yun2Wauqbtap2j2rqmx3tG7WTI6n3tu1kJ0dVU8v02I0z5C0ITkT6qtw6ke8tklR+n/1Nqu9vX7IftkS6q+nWKA/pxWNZVlp2G2hra1NBQYFaW1uVn5+f6ssBAAAp1u2zNPuhdRHLre0V0lfvujQoYXNrZTyVo45SMdc42Z832vEvr/AOqjnOXSd8eqZmp3a1tGtCcZ4WVk5U9pD0W1uzH5pJ4Vf20+1BA/o/05yTpBsAAAwKNfXNuuGpjTHjnls0S5WTR0qKPA861i/5kZLcVCS/qRDv9+ZUuO9zbV3ToJrjPNjmVg+2z4v+zTTnZE83AAAYFJw2Yoo1osijnhFFl1d4jVfGL6/wJvAJBoZ4v7d4ZGZ4/A9IpMjJvr19IN1WQgfb55V6SuoHWyUDBj6SbgAAMCg4bcTkZERRrJXxptYO3bJyiwrzsnSo/bj/9XRcoYvne3NDXyb7/cFg+7yBQh+2AP1d+m32AAAACOO8CUWKlXtkeHriJPdXxiUFJdxST/IZrYHbQJSq0U6DbY7zYPu8wEBG0g0AAAaFt3YdVKzm2T6rJ04yXxk/cLhTq2r36OnXGqImQZFY6lmRdKOzdyTJ6CIeSapGOw22Oc6D7fMCAxnl5QAAYFBoaj3mKC7WPGipZ2X8/he2JXxtySi3tg2WueQlw3NcjevvmFsNDBysdAMAgLQVuMK7ZfdBo/e0HO2SFH0etM3NBWPThwJOxDuXPBEpm6Ntei/SZG4Pc6uBgYOkGwAApKXqrY2a/dA63fDURn31V7V6ZuNuo/cVB6yEVk0t02M3zpC3IHi1MBl9qexk3y0me8yTVdYe6XvzFuQmraP2gaOdrsb1dyl7uAHAMcrLAQBA2onURdxE6Yjg8uPQEUUHDne6UlIeqtjlsudUdRG39fVop8FYbm0/3AjdPuBNw674wEBG0g0AAAaMbp8VM4mLtsJr4sRxX6/XAkcUrardE+eRo/Pmp19jsb4c7ZSqveSpxtxqoP8j6QYAAAOCaUOwWCu8sfz+nT367JTSiD83XSm9Z94UlYzIUcmwHN3x23fU1Bb5mpKx93awrfza5dZLVm6RR8Fbt9O93Jq51UD/xp5uAADQ7zlpCJboyu3RzhNRf27awOrLF5VrwfQxuuiMEi2/ukIehd9761FyksHB2GgrFXvJASAWVroBAEDKJFoubqkneVyxpk6XV3iVmeFJeOV2VIwy73hWVFOx9zbwOiNJx5Vfyq0B9Dck3QAAICWqtzZq+eq6oLJrb36ull/trFw8tCGYyXztaM4dXxQzJp4kOhXJYNXUMi2+uFxPbWgIGm+W4ZEWzSlP25Vfyq0B9Cck3QAAoM9Vb23ULWFWYJvaOnTLyi16PKAU2GlDsGgr0SZGFw41iosnie7rZLB6a6OeWN/Q63WfJT2xvkHnji9K28QbAPoLkm4AANCnun2WvvG796LGLP3de47LxQPjIq1EZ3ikaGOpne5x7m8rqoHl+iXDchx9z26dN/Dhg8n2AQBIdyTdAACgT23c0axD7cejxhxsP66NO5p10eklcY+CCrcSffBop/712bcjnncg73EO1909lsDv2c3zlhXk6uppZVr9TmPMbvMAkO7oXg4AAPpUTX2zozi7XFwK3/1bipws2yvRC6aPUeXkkcoYoAl1LJG6u5swvR9OztvY2qEn1jcYdZsHgHRH0g0AAPqY6S7rU3FujIKyu6BHs2JNnbqj1Z8b6vZZqqlv1qraPaqpb/YfM9LriZ4rUnd3M/G9M57zWif/cut7BoCBgPJyAADQpyonleiRV+qN4gIl2v07Vhd0KbgLeiAne5P7utza5HNFE/o998V5I33PAJCOSLoBAECfmjV5pArzsqLu6y7My9KsMAlZIo3LAkeTOYmLlESHS5btcuvQNVy73LrXuU6WW5uu1odj2t09nEjfc7LPK5nfDwAY6CgvBwAASRdYVr25oUX/cc3UqPEPXnu26w3NWo50Oo6LtGc53N7keMutpcTKrU27u4eTyPecyHkl8/sBAAMdK90AACCpqrc2avnquqCVTW9+rr5ycblW1e5VU1tnwOs5Wn71p5PS3bp4WLZRXMvRLq2q3aOS4Tlavvr9sEm0pZ4mbivW1PlHbsVbbm0psXLrWN3dw/FIWnxxeULfczznDWR6P/ojRqEBcIKkGwAAJE311kbdsnJLr9eb2nrKrX/8hRkqGpbdJ8lLab7Zyuyjf46931zqnSwnWm4d7/vt7u5LVm6RR+Zt0Z5c36BzxxfFnXjHe16bt2BoXOdNNSfbDQBAorwcAAAkSbfP0jd+917UmG8+/54uKC/2j/RK6mphkppl28lyouXWibw/Unf3SF+nG2Xt8ZzXVhZmrvpA4GS7AQDYWOkGAABJsXFHc9RmaZJ0sP24Nu5o1kWnx9dB24kDR5Ozh9hOluMtt/aoZ/RZokloaHf3A4c7df8L2yLGJ1rWHum8pSNydfBop2599u2w34NHkeeq92fR9uyH224AADZWugEAQFLU1De7GpeoRFeiQ3kUvGJrl1vbPzM9huReEmp3d18wfYxKRuQYvSfRsvjQ81ZOHqmrzhmtxReX9/oe3NhLniqx9uwHPsQAgEAk3QAAIElM13sTr/sO7I5eU98ctmTaXol2Q6RkOVK5dVlBT+M4b35wIjwqPyfquDCTzxWJ6UMGtx9GSD1l2E+sb+h1Zy1JT6xvSHoZdiLfWySmDyfceIgBIL1QXg4AAJKiclKJHnkldlOyykmJlZabNrbKzPDo6mllYedlO+WN0jgrXLn1BeXFWlvXpFW1oclm5NXtRBt2XVBeHHMeelFelut7q0328n/jd+8lrQw7WY3OUvkQA8DARtINAMAgd6TjhL7+67e1++AxjS8aqv/8p3M1PDfxXxFmTR4ZM+krzMuSJK2q3RNX93K7sVXoOqbd2CpwFbnbZ2n1O85XWO0919/9X9N04Gin0XXa5daxrnNfW+/rdPq5EpGM3nIb62Pv5T/Uflwb65t10Rnu7uVP5vcWa8++W3vzAaQfkm4AAAaxqx/ZoHc/bvP/+YOmw5q6/H90zth8rb5tTkLHzszw6MFrzw47MizQF3+yyf/3TlYknTa2imeOdmAZebwJYqzrVMh1mnyu5avf14jcLB04EvkhwOaGFqPkN9FGaqFqdhwwjnMz6U52o7NoI9Lc3psPIL2wpxsAgEEqNOEO9O7Hbbr6kQ0Jn6Nqapkev3FGr73MhUN7nvuHJoVORi85bWwVz15bb0FuwqvKJsl+4HWafK6mtk598b826au/qtUNT23U7IfW9frOTD/va9sPuLr32XkbOXf0RaOzSHv23fjnBED6YqUbAIBB6EjHiYgJt+3dj9t0pONEwqXmoXucS4bn6I7f1ErHTvSKdbIi6bSxVclws27eN84cr4wMjyYU52lh5URlD0lsjaKpzew67bh4Hg6EK5823Vv8yCvb/X/vxt7nyskjg44ZLc5NfdXoLNKefVa4AUTCSjcAAIPQ1379tqtxsQSOlMrweNTUFnlmtumKpNPGVl2d3UbxKzft1i9qdun+F7bps995JeFO2y1HzOaD23HxNOIKLFO3V6vj6dbupNIgklmTRvr36kdSlJelWZPcTbr7stFZ6Ig0Em4A0ThOutevX6/58+dr9OjR8ng8ev7554N+blmW7r33XpWVlWno0KG67LLL9OGHHwbF/O1vf9OCBQtUUlKi/Px8zZ49W6+88kpQzO7duzVv3jzl5eWptLRU//Zv/6YTJ3o/EQcAAM590HTY1Tgn3FqRtJPKSOlO6Bzt/3rdeddyN5LQ4mHZjuJifa5IQh9W2N3anR5DCk7enbL38kfzwLVnu56oOv3nAQD6iuOk++jRo5o2bZoeffTRsD9/+OGH9cMf/lCPP/64Nm3apGHDhumKK65QR8ep/3D+3d/9nU6cOKF169bprbfe0rRp0/R3f/d3ampqkiR1d3dr3rx56urq0uuvv66f//znevrpp3XvvffG+TEBAEDg7GLThKdgaPQVy3iUDDMr844VZze2knrvDg7X2KqtI3pTsXDcSEK9BUMdxUX7XCbshxXxdmt3a+9zz17+3vPKH0/S3men/zwAQF9xvEnryiuv1JVXXhn2Z5Zl6fvf/77uvvtuLViwQJL0i1/8QqNGjdLzzz+v66+/XgcOHNCHH36on/zkJzrnnHMkSQ8++KB+/OMfa+vWrfJ6vXrppZdUV1enP/3pTxo1apSmT5+u+++/X3fddZeWL1+u7GyzJ8YAAKBHuNnFJr5+6RnuX4yLfbbsxlahny3cHO2powv03p7o+9jDCUxC49mHbDIvuzBkXnakz2XCLp+Op1t7oIG499nJPw8A0FdcbaTW0NCgpqYmXXbZZf7XCgoKNHPmTNXU1Oj666/XyJEjdeaZZ+oXv/iFZsyYoZycHD3xxBMqLS3VeeedJ0mqqanR2WefrVGjRvmPc8UVV2jJkiV6//33de6557p52QAApLVIs4tN5Oa433P1gOEeZ9M40+Ru/Mg8x9caKNEkNJpwaWivBnTDcnTHb9/RvjazOdGJXq+be5/7Eo3OAPQ3rv6X1C4PD0yW7T/bP/N4PPrTn/6ka665RiNGjFBGRoZKS0tVXV2toqIi/3HCHSPwHKE6OzvV2XnqP85tbc6fZAMAkG6izS42kYxE07SLuGmcZJbcJbLqK8WfhJrMyz5oMC87I8Oje/+uQrc+azYnOt7rDU3eB6JUJPsAEEmfjwyzLEu33nqrSktLtWHDBg0dOlT/9V//pfnz5+uNN95QWVl8ZT8PPPCAVqxY4fLVAgAwsCVaYnzgSJej+G6fFXuF0fQJgBsjowOMKzLbWx0q0SQ03sZx4bYElBXkavHF5Vr9TmPM8unzJhQpwyM52YreV3ufjf45AYA04WrS7fV6JUn79u0LSp737dun6dOnS5LWrVunP/zhDzp48KDy8/MlST/+8Y+1du1a/fznP9c3vvENeb1ebd68OejY+/btCzpHqKVLl+r222/3/7mtrU3jxo1z7bMBADAQJbpSfeiYedIdKUkMTQYPHDUsLzeMiyYwubPiSOLdSELjGWUVaUtAU2uHnlzfoEe/cK6KhuVETVrf2nXQUcIt9c3eZ9N/TgAgXbiadJeXl8vr9erll1/2J9ltbW3atGmTlixZIklqb2+XJGVkBDdOz8jIkM/nkyRVVlbq29/+tvbv36/S0lJJ0tq1a5Wfn6+Kioqw587JyVFOjnkZGgAAg0Gi+3I/bmnXqto9MVcjIyWJjSdHbj0W0LHare7lscTbPC6QG0moPcqqqdVsL3a0LQHWyfj7X9imV++6NOqDgKbWY0bX96+fm6wzvSP6ZMU52sOE0H9OACBdOE66jxw5ou3bt/v/3NDQoNraWhUXF2v8+PH62te+pm9961s644wzVF5ernvuuUejR4/WNddcI6knoS4qKtJNN92ke++9V0OHDtVTTz2lhoYGzZs3T5I0d+5cVVRUaOHChXr44YfV1NSku+++W7feeiuJNQAADsRTYhxo1TuNWnVy7FSk1chY+8Yt9YzcurzC25PQudi9PJJEmsfdM2+KSkbkuJaE2qOslqw024sda0uAaTf1lqNmVQojh2VrwfQxRrFOBVYalAzL0fLV0R8mBP1zAgBpwnHS/eabb+qSSy7x/9ku6b7pppv09NNP684779TRo0e1ePFiHTp0SLNnz1Z1dbVyc3uetJeUlKi6ulrf/OY3demll+r48eP69Kc/rVWrVmnatGmSpMzMTP3hD3/QkiVLVFlZqWHDhummm27Sfffd58ZnBgBg0IinxDiSSKuRJvvGA5NEt7uXh0qkeVxRXpa+fFG560mfk1FW8e4BD1Vs2IjONM4pp5UGiY5mA4D+ynHS/bnPfU5WlE1RHo9H9913X9QE+fzzz9f//M//RD3PhAkT9OKLLzq9PAAAEMDN7uORViNNy5jtuHj2ODuRSPM4l3u3BamaWqZLzxqlZ2p2aldLuyYU52lh5URlDwnecufW9+PNNzuOaZwTiVQaJHM0GwCkQp93LwcAAH3HjVnLgcKtRpqWMdtxTvc4O5VI0nbIYHRXvMKt/P7Xqw29Vrrd+n7s40R7AFGWhNFgiY6pc/ufWQBItYzYIQAAoC90+yzV1DdrVe0e1dQ3q9uFunA78XJ7h+xr2w/4r7MoL9voPS1Hu7Sqdo82N7Tonnk9jVFDr6svu4VHkoyVVnvlNzQBtkv2q7c2+l+z94BLiX0/9nE8EY7jMTyOU/FWGniUnIcAAJBqrHQDANAPVG9t1PLVdWpqC9jvm5+r5Vcn1jk7WhOvRDzyyqmmqsXDsoze8+if6/1/b8+bfv7tPdp3+NRKeemIbK1YMDWp3cJjcXul1aQbeWjJvpM94NG4dRwn4nlo0VfzwQEgFTxWtA3aA1hbW5sKCgrU2trqnwcOAEB/VL21Ubes3BLx54+7MEbJjfFZyRD6ICDDIy2aU66lV4UfEWrKXlmWnD1oyPBIf73/yl77rBNRU9+sG57aGDPuuUWzepW1B3b/TqSbulvHMWH6eQMxpxvAQGSac7LSDQBACnX7LH3jd+9FjVn6u/cSHqNUNbVMl1d4/YnX/rZOffvFbXEfLxKnq+mhsT5LemJ9gyQllHhHWuGNxWf1dHx3c093It3IMzM8rlyLW8cxYbInfVR+jv7fP07XgSOdfTIfHABSiaQbAIAU2rijWYfaj0eNOdh+XBt3NOui00sSOldg4rXhb58kdKxIioZlGzdWi+bJ9Q26Y+5ZCa04hz5o+Gtjmx77y46Y79t7yKwbu6mSYWYjuUzj+juTueTLr/50wv88A8BAQSM1AABSqKa+2dW4aAIbtf1uy8dG77lm+mj94Prpuu2SyUbx98yboucWzdIPrp+uWz9n9p5wLElPv9YQ9/tt9oOGBdPH6EjnCaP31H50MOHzBjFdwE3iQm8ymvRFY1caeAuC98d7C3J7zXkHgHTHSjcAACllmvwkliTFu6d7bNFQLZg+RjX1zXrklfqY8d6Cof7V9J9siL2qHM1LdU1a/FmzxL0v9yw7deBIp6txToW7932xhzq00qC/3RcA6Csk3QAApFDlpBKjZLZyknkpbmgCevBop2599u240vaZ5T0JdDwzn4uHJ1oubZacmSaV44uHGR3PNM6UaTf0ZMynthvKhd57e1RZsled+3IvOQD0VyTdAACk0KzJI1WYlxV1X3dhXpZmGSYu4RLQDE/86+QZnp7ENzPDo6unlfmbnIVz9bSyoFVMb35iSeTnp5wWM8ZJUvmp0uFG5zWNM2XSWMybhPnU8YwqAwC4jz3dAACkUGaGRw9ee3bUmAevPdsoKbIT0NDV6ES279odtbt9lla/0xg1dvU7jUF7he1kM14eyxN1D3KspFLqSSrt927e2WJ0XtM4U3ZjsUi3wVJy5lNvbmiJWplgSWps7dDmBnc/LwAgGEk3AAAp9vbu6I27Yv1cip6AJqKprSdpi5XASb0TODvZ9Ci+HmEP/s8H+uqvanXDUxs1+6F1qt4anPQ7TSr3GHYlN43r7xIZVQYAcA9JNwAAKdR1wqenNkTv0v3UhgZ1nfBFjTFJiuPx6ocHJMWfwEXqYu2UXS4emHg7vabRhUON4k3jTNkPRCKxy7zd7iieyr3kAIBTSLoBAEihZ2p2xiz/9lk9cdEka7Xy0LGemduJJHBVU8v06l2X+keJXTjJ+d7lcOXiTq/JdC602/OjU1XmbZf3R6oy8Kh38zsAgPtIugEASKFdLe2uxCVrtdJeYU80gQuclz1tXGFc1xKanF5QXqzCvKyo7ynKy/Jf06xJI5WXnRk1flh2pmZNcrfbdqrKvO3yfql3eb/952TsJQcABCPpBgAghcYV5bkSFysplnq6mDs18mRS62YCVzwssVFiTpLT0CKC7CHRf/WJ9fN4pLLMO1J5v7cgN+njwgAAPRgZBgBACrk1xspOipes3CKPgpNNOw1+5IYZKhqWrf2HO/Toug/1t/1HY573eMBWcjuBCx1J5g0zEzuakcOyjeIisZPTzQ0tUUetSdKh9uPa3NCiyskjjeIPBsS7JVUjw2xVU8t0eYU3aHb7BeXFrHADQB8h6QYAIIWcjLH67FmlUWOcJMWbdzQbJd1neUf0OkeiCVzz0S7j2EChyanTsm27E3sspnGmTB6IJLvM2y7vBwD0PZJuAABSyO0xVqZJ8YSRw4yOFy4u0QTuwFHnSW245NRp2XbLkU6jeNM4J9yqEgAADDwk3QAApFAyxliZJMWW4URv0zgn3v+4zfF7wiWnTsu2iw3L2k3jnKLMGwAGJ5JuAABS6KLTS/TjP9cbxblpzyGz1WbTOCeGxuggbjt/fKEWXjgxYnLqtGzbW2D24MI0Lh6UeQPA4EP3cgAAUmjWpJFGY6/cHmM1odisa7plWVpVu0c19c3++diJ+swEs4Zhcyu8WjB9jConj4y4GuykO/d5E4qMznui2+f6Z7Z1+yzV1Dcn7fgAgP6HlW4AABLU7bPiLhnOzPDoMxOLtLZuf8SY8ycWuV6C/IWZE3T/C9tixj2zcbee2bhbUs8cbjf2H08Zne9qXNXUMl161ig9U7NTu1raNaE4TwsrJ/Ya/7VpR7PR8Rb+dLP/7936zJJUvbWx155uN48PAOifSLoBAAjRdcIXM4GzJZpIdZ3w6U9REm5J+lPdfnWd8Lk6Q/rNBrOu6YGaWju0ZOWWhOc7t7SbdS83jQt3D/7r1YZe9+C/t3zs7ELl3meu3tqoJSu39Np77tbxAQD9F+XlAAAEeODFOp159x91/wvb9IuaXbr/hW068+4/6oEX63rF2olUYLInnUqkqrc2xjzf0681xGxVZp2Mc9P/b8tHjt9jX+eKNXUJlUU77ToejZN70N51wtmFquczW0rsM3f7LK1YUxf2Prv1nQIA+i+SbgAATnrgxTo9sb53EmxJemJ9Q1Di7VYi9dL7TUbXZhpnynQEWShLUmNrhzbHsVJus7uORyqY96inWsDni76f3Ok9+MzE+PfFJ/KZNze09HooEMiN7xQA0H+RdAMAoJ4y7yfXR19NfnJ9g7pO+CS5l0i1dZqtvprGmRpbZNZILZL9h+Pvam53HZfUK/G2u5AfO96tL/5kk776q1rd8NRGzX5oXa/KAaf34MZZE+K+ZklqaovvM5t+V4l8pwCA/oukGwAAST9/3azM++ev9yTmbiVSU7wjjI5jGmfquhljE3p/pNJv0+7ckbqO253cD7UfD3o9XLm403tQ+9Eho/hIWo50xvU+N8vpAQADD43UAACQjEt7Nze0aNHFk11LpK49d6xWvRN77/e15yaWJIeaGecIMo96xnFdUN577JfTpnJVU8t0eYXX3/m9ZHiO7vhNbdjzWifPvWJNnS6v8Cozw+P4HiS6klw8LDuu99nl9E2tHWEf7ET7TgEAAx8r3QAASDrceTx2UECc6b7kWIlUhuEoMNM4U2/EsX/YvoJl8yt6jTCLt6lcZoZHlZNHasH0McrweNTUFnk1ObRc/ILy4pgzzgvzsvz3INGVZG/B0LjeF6ucXgr/nQIA0gNJNwAAkg53dDuKsxOpSCXplswSqU0NZrOjTeNMvV5/wPF7vAW5YUdbJdJULrAc/bXtnxhdh5MV68BvP9aDkmhMHqBEE6mcPtJ3CgBIH5SXAwAgyRNzR3ePo53Htap2j0pH5OqtXdFXi9/efdAgmTJNAd1dBd1zsN0o7qLJxfrHz4xX6YiepDMzw6Nun+UvCS8d0dNl3LShWeXkU2Xt4crRTdgr1psbWnrt/Q51sP24/7z2g5JbVm5xdD6P3FmJDi2nD/xOAQDpi6QbAAD1lA5v3Xs4ZtzO5mP66q9qjY755IYG3TH3LGUPiVxYVjl5pB55ZXvMYwUmq67wmCV6p43I1YLpY/x/DpcoFw6NXuJtC1yhtsvRnUymDt37nIyu4IV5WUGJfLQ96fGwy+kBAIMHSTcAAJIum1KqP23b7+oxLUv6+es7tejiSRFjZowvMjqWaZypMYVm+5MD4yIlyoeOme2Ht1eoo5WjRxJu77PTRmr2eaOdY2hWph69eYYOHO1kJRoA4Ar2dAMAIOn9vW1JOe4bO6OXoK/cuMvoOKZxpkz3J9tx8STKttCmcrHma4cTbu+z02Z2pnO9MzI8WjB9jL8kHQCARLDSDQCAFFcyaSIvOzPqz9/YadYg7Y2dzVFXzE0E7sXebNiY7W/7DuuzZ5bGlShL4VeoTcu9b7vkdJ0xanjEFWd7j/aSlVvkUfA9TOS8iY4WAwAgEEk3AACSxhXFNw4qlutizNfOzYqelDuNiyTepmU7DxyVZJ6IFg7NCio394bZE21aFn7R6SUx9z/bXcFDP1si5010tBgAAIFIugEAaa/rhE/P1OzUrpZ2TSjO08LKib2am1k+98+bl52pC88oiRozPMfsP8WmceHE07TMVtfYKsk8EX30izOU4fFE7c5tl4U3tXaEvabQhmmxmHYFP29CkTI8UpjJZX4Znp44AADcQtINAEhrD7xYp6c2NAQlWt9+cZsWzSnX0qsq/K9t+eig6+deOGt8zD3BpnuG491bnMhebElqPtIpyTxRnjUp9j7oWKO7TGechx4z1qr4W7sORk24pZ6E/K1dB+kwDgBwDY3UAABp64EX6/TE+oZeiZbPkp5Y36AHXjzVyTov2/3n0KvfaVR3jCxvfPEwo2NZlrSqdo9q6ptjHjNQvHuxbT6r51cFO1GWek8MD7d/uj9iTzcAIBVIugEAaanrhE9PbWiIGvPUhgZ1neipK79uRvS91/FobO3Q5obo3cs/VTrc6FgrN+3WV39Vqxue2qjZD61T9dZGo/clmkCeO6HQ//f2/mlvQXCpebjO4tGYjO5asabO0cMFE+zpBgCkAuXlAIABJ7ALd6T9u8/U7DQqJX6mZqdunjNJF55eorzsTLV3dUeMz8vK0FM3fUYHjnTqw32H9cgr9TGvNVbSuznGSLFwmlo7tGTlFqNEN9EE8tppY4L+bLp/OhrT0V2bG1pcLfN2ey85AAAmSLoBAANKuC7cZWE6Ve9qaTc6nh2XmeHRwlnj9cT6yKvjCysn6KLTexqj1dQ3GyXdsZLevYeOGV1nIEunVoMvr/BGTXhjJZqxfPjJEV2iUUGvmeyfjiZVZd5OR4wBAOAGyssBAP1W1wmffrJhh+5dtVU/2bBDa97ZqyUrt/RaJbVXfgNLricU5xmdw47r9lla/U70ku3APdp2MhspPfOo52FArFXT0XGOKgtcDY4m2l5sE2/ucr4SH0sqy7zdKpEHAMAUK90AgH4pXNfxSMKt/C6snKhvv7gt5niohZUTJZk1HAsseXZr1XTWxJF6VLFXzCMxWQ2ONMvaxNAE54OHk+oybzdK5AEAMMVKNwCg34nUdTya0JXf7CEZWjSnPOp7Fs0p98/rjqfk2Y1V04zMxBI909XgqqllevWuS/Xcoln6wfXT9YULxhm979OjC3q91u2zVFPfHFc3denU6nukd8UzMswpu0R+wfQx/ocoAAAkAyvdAICUC2yMVpyXHXVfdSyBSbE9hzt0xTzDo15zuuMteU501fTAyTnYTsWzGhy4F7u729Kzmz+K+Z6S4TlBfzbdUw8AAHqQdAMAUipcEpeI0KR46VUVumPuWXqmZqd2tbRrQnGeFlZO9K9w2+yS52jXEWmPdiKNxeLZt+xG0y/TZD8wrnpro5as3NJrhbrRQTd1yXxkWKwmcQAADAQk3QCAlImUxMUj2spv9pAM3TxnUtT3Z2Z4dPW0sqir7FdPK3M9CTTpLp7hUdBKvdeFleX397Y6irMT5Wgl4aaJcqpGhgEAkAok3QCAlIiVxDnhxsqvaffyO6umuJp4mzRke+SGGSoalu1q06+PD5pVFthxThvNRZOqkWEAAKQCSTcAICVMkjhTbqz8uplUOlU1tUyLLy7XUxsaZAVk3Z6Te8+vOsf9vdI5hr8B2HFNrWbzxE3iUjkyDACAvkbSDQBIiURXMS+aPFL/+JlxCa38BjZw+6DxsNF7Gg+ZJZ9OVG9tDFvW7rOkJ9Y36NzxRa40KQv8vJbH7PsqGd6T+LYc7TKKN4k7b0JRr5L5UBmenjgAAAY6km4AQEokuoo5fVyhFkwfE/f7423g9vZHB3XteWPjPm+obp+l23/zTtSY23/zTsJNxeL9vOOK8yRJxSFdzCMxiXtr18GY4+B8Vk8ce7oBAAMdc7oBAClhNxCLN42cVR5/MmY3cIunvN1nubEL/ZTXPzyg9q7uqDHtXd16/cMDcZ8jkc974eklkiRvvtlDEpM49nQDAAYTkm4AQErYDcQkxZd4x5mtu9nAzQ3/veVjV+NCJfJ5PZI+M7GnG7z9kCSaSCPVQrGnGwAwmJB0AwBSpmpqmR67cYa8MZK5cDY1tBjHdvss1dQ3a1XtHj39WkNCDdxG5GTF/d5w11PXaDa666OD7XGdK5GGdZakN05+z/ZDEo96P++wXzPtHh+rysEj8wQeAID+jj3dAICUqppapssrvP4GX69s26/n39kb832WYZl3vHuZI2lqS+w48V5P5wlfXOdLtET79R0HdNEZPSXm9kOS0Os36R4f2MStdESu7pk3Rbc++3bEMWmJjH8DAKA/IekGAKRcZobH3zCrqbXDKOnOHxp7xdney+xmKXkiW7oTuR5vvlkjs1CJlmjvPRjcrT30IYlJ9/hwDxrKCnK1+OJyrX6n0XECDwDAQELSDQDoV9o6jrsSl6y9258c7tCq2j2OR5Ulej0zJ8XXOM4u5W5q7Yjr3KMLh/Z6LfAhSSyRHjQ0tXboyfUNevQLM1Q0LNs4gQcAYKAh6QYA9CumZeOx4hLZyxzN6zta9PqOnn3OZQ5WZRO9nhtnTYzrffZe7FtWbonr/Yl0iY/2oMFSTyn5/S/U6dW7LiXRBgCkLRqpAQD6lcLcbFfi+mLcVFNrh5as3KLqrY0xYxO9ntqPDiX0/rglkAvHetBgSWps7dBmB03xAAAYaFjpBgC4LrRplpOS4Zb2Llfi+mLclL1au2JNnS6v8Eb9jIlez2vbP4nr+7RXm+NVU9+sOZ86zTg+8N5/uO+I0XuYxw0ASGck3QAAV0VqmmVahv3eHrMRWq9uPxB1b3Wie5lNBa7WRtvnnOj1PPJKvf/v+7Ks/Z2PDxnHxtuZnXncAIB0Rnk5ACCmIx0ntOjnb+iK76/Xop+/oSMdJ8LG2U2zQpMuJ2XYQ7PM/tO0dW+bvvqrWt3w1EbNfmhdr2Pbe5ml8HOlw72eiNdOPgSoqW9Wt693Wh3tepzqy7L2vGyz+xHp3kfDPG4AwGBA0g0AiOrqRzZo6vL/0dpt+/VB02Gt3bZfU5f/j65+ZENQXKymWVJPGXa4hDSQt6B3t+xYIiWh9lxpb0HwSmphXlbQdbnhkVe2R30IEO16nHLyfSa6ivyZCbEbqcXTmZ153ACAwYKkGwAQ0dWPbNC7H7eF/dm7H7cFJd5uNc2aNq7Q8XVGS0Krppbp1bsu1XOLZukH10/XL//3TOUMSe5//qKtRIdez8JZ4+M6h+n3aZe1x+uM0uExY+IpYfcW5OqxG2cwjxsAkPbY0w0ACOtIx4mICbft3Y/bdKTjhIbnDjEuY44Vd/CoWSO1UKZ7q//a2Kamts64zuHkWqI1WAucc/3WroMJnSvW95mZ4dHV08r0xPqGuI6/6t29uqRiVELXYLvtksk6Y9QI5nEDAAYVkm4AQFhf/dVbxnE/+fJM4zLmWHF1jdET/VhCE8B4m3slyvQhwITivITOE+v77PZZWv1O7L3fkXx8sD3ha7BddPppUb8LAADSEeXlAICw3vnIrIu4HWeXMUdauzRtmnW0M3yTNlOBCWA8zb1iueEz4/SD66frtksmG8XHWgVeWDlR8Sz4mn6fiXYvzxmSGTPGrXsPAEA6IukGAITVecLnKM6kW7hJ06zS/Bwnlxl0jsDELp7mXiaOdp7QguljdNHpZrOrY60CZw/J0OenlDq6BiffZ6Ldy88emx8zxq17DwBAOiLpBgCEVTrCLPkNjIvUndtJ06xzxxU5u1CdSuzumTdFmxtatKp2j55+rSEpJeV7Dx2T5N7qbrfP0hs7o+/rDj2Hk+8z0e7lF002e7jgxr0HACAdsacbABDWyBHZqj8Qez/vyBHZQX+umlqmyyu82tzQov2HOxw3zWo9dtzxtXoLcnX1tDLd/8K2pO/dbu86rlW1e1Q6Ilf3zJuiW599Wx4Fjx9zsrq7sb5Zh9qjf2ZL0jevOkul+bmOv8/zJhQpwyPFmCwW/eSGEr33AACkI5JuAEBYRzu7444L7M7tVPGw7NhBkv71c5N0pjdfpSNydfBol259dktcpeT/fuVZGlWQq8df2a5t+47EjK9rOqqv/qpWUs9K9uKLy7X6ncagZN9bkKtl8yuMVndrdhwwus7WY8e16GKzfeSB3tp1MP6EW9Kmnc2ac6bZareU2L0HACAdkXQDAMIzTdRc3jTtLRhqFDfnjFJVTh6pbp+l2Q+ti/syPB5pwfQxerj6r47f29TaoSfXN+jRL8xQ0bDsOFd344/r9llhV5UDX//Q4EFCNJbbm+IBABhkSLoBAGGVFQ7V+42HjeJMRUoSA11QXqzCvKyoJdeFeVn+vdKJdud+Y2eLSvNz4yprt+dx3/9CnV6969K4yqhnlhfrkVfM4gKFG4VWdrLMPnTlPRH5Q7NcOQ4AAIMVSTcAwC8wKR5bbNaA65IzS4ziIiWJpmXYgQJT20S7c79Ut18v1e2P+/2m87gjyfCYJeqBcfYotNBF6MbWDj2xvsHxNURz6GiXq8cDAGCwIekGAEgKnxSbeOWDT/TFWeUxjx0uSWxq7dCSlVuCultvbmiJ2VjsYPtxf5KbaHdut8Sb/B842ukoLlmj0CJpaktuYzoAANIdI8MAAP6kOJ6S5FjviZYk2q+tWFOn7pPdvkyTVzsu1uiuvhJv8m/6Pjsu0XJ6p0YXmW8fAAAAvTlOutevX6/58+dr9OjR8ng8ev7554N+blmW7r33XpWVlWno0KG67LLL9OGHH/Y6zgsvvKCZM2dq6NChKioq0jXXXBP08927d2vevHnKy8tTaWmp/u3f/k0nTpxwerkAMKh1+yzV1DdrVe0e1dQ3+xPb0JhEVk5jdTmPlSQGlmdLzpPQzAyPls2vkNS71Zgn5H+TwXQedyRO530nWk5/2yWT9YPrp+ubV51lFH/hJLPtAwAAIDzH5eVHjx7VtGnT9C//8i+69tpre/384Ycf1g9/+EP9/Oc/V3l5ue655x5dccUVqqurU25uzy9I//3f/61FixbpP/7jP3TppZfqxIkT2rp1q/8Y3d3dmjdvnrxer15//XU1NjbqS1/6krKysvQf//EfCXxcABg8TPdQJ7pyOvm0YVF/7nTl+rwJRfJ4onfN9nh64mxVU8v02I0zen1ee3TXpWeN0jM1O7WrpV1t7cf1/Dt7ja4plljzuE0ax9kPDZas3GI07zvRcvqLTj/N3/X90T/Xx2xYN4vxXwAAJMRx0n3llVfqyiuvDPszy7L0/e9/X3fffbcWLFggSfrFL36hUaNG6fnnn9f111+vEydO6Ktf/aq+853v6Oabb/a/t6Kiwv/3L730kurq6vSnP/1Jo0aN0vTp03X//ffrrrvu0vLly5WdbTbDFQAGKyd7qBNdOT1vfFHUnztduX5jZ0vMMVWW1RN30emnVmGrppbp8gpvxCT35jmTJEk/2bDDtaQ72jxuJ43j7IcGy1e/r6a2U3u8R+XnaPnVnw6Kt1fGm1o7HFUneE5er71inpnh0YPXnq1bVm6J+J4Hrz07ro7sAADgFFf3dDc0NKipqUmXXXaZ/7WCggLNnDlTNTU1kqQtW7Zoz549ysjI0LnnnquysjJdeeWVQSvdNTU1OvvsszVq1Cj/a1dccYXa2tr0/vvvu3nJAJB2nO6hTnTl9ONDx6L+3Gn5dE19s9F5w8VlZnhUOXmkFkwfo8rJI8MmjMXDEntwW1lepB9cP13PLZqlV++6NGLCHW6PvP3Qo3prY4SjRyqQPyVaOX0kkVbkq6aW6fEbZ8ibnxMU783P0eMBD2YAAED8XE26m5qaJCkoWbb/bP9sx44dkqTly5fr7rvv1h/+8AcVFRXpc5/7nFpaWvzHCXeMwHOE6uzsVFtbW9BfADAYOd1DnWgjsl3N7b1eC9xLvrmhRffMmyIpckoZmAx2d/vMzttyNOpe9Ui8BQk2BvN4oib1Th96SKeS9NBO4U1t4ZN0e2XcWxD8wKSsIFdfubhcZSGvewtyg6obQo/12jc+r+cWzfI/THjtG58n4QYAwCV9PjLM5+v5Zeqb3/ymrrvuOknSz372M40dO1a//e1v9ZWvfCWu4z7wwANasWKFa9cJAAOV0z3U0fYUm+g4HtxILVJZ9eKLy7X6ncawe64DE7zWjujjwmxr3mnUmnca/cc3nfdtP2SIdx9785Hoc6udPPSw91ZHa2RnqSdJv7zC22uVOlI5/Z1VU2LuJQ9kVwgAAAD3uZp0e71eSdK+fftUVnbqF599+/Zp+vTpkuR/PXAPd05OjiZNmqTdu3f7j7N58+agY+/bty/oHKGWLl2q22+/3f/ntrY2jRs3LsFPBAD9i0ljLqd7qKXIjchMTApopBZtL/mT6xv06BdmqGhYdtTr/+Sw2dzq0OOH7lWPJPAhQzwd24fnRv9Pp9OHHiaN7AKT9ECRkmWSaAAA+g9Xk+7y8nJ5vV69/PLL/iS7ra1NmzZt0pIlSyRJ5513nnJycvTBBx9o9uzZkqTjx49r586dmjBhgiSpsrJS3/72t7V//36VlpZKktauXav8/PygZD1QTk6OcnJywv4MANJB9dZGLV9dF1SC7M3P1fKrKxw12gptqGULXTl9dN2H+tv+ozGvq6a+Wfeu2qpxRUP1k1d3Riyr9ki6/4U6vXrXpVFXXYflOP9Pk338cCvC4STykOFM7/CoP3f60KOpNfqeeJtpHAAA6F8c/2Zz5MgRbd++3f/nhoYG1dbWqri4WOPHj9fXvvY1fetb39IZZ5zhHxk2evRo/xzu/Px83XLLLVq2bJnGjRunCRMm6Dvf+Y4k6R/+4R8kSXPnzlVFRYUWLlyohx9+WE1NTbr77rt16623klgDGJSqtzaG7TLd1NahW1ZuCWp6ZTKC6p554cuPA1dIn9u8WzJIuj8+1KFf1OyKGRdaVh3JdeeO1fO1zruL28d/+rUGlYzIiVlWHfqQ4a+NbXrsLztinuf88dHncTt96NFyNHq5us00DgAA9C+Ok+4333xTl1xyif/Pdkn3TTfdpKefflp33nmnjh49qsWLF+vQoUOaPXu2qqur/TO6Jek73/mOhgwZooULF+rYsWOaOXOm1q1bp6KinrEzmZmZ+sMf/qAlS5aosrJSw4YN00033aT77rsv0c8LAANOt8/SN373XtSYpb97L2iFN9rc6qunlen+F7bFHGXVFbJX2y2xyq8vPKNEedmZau+K7/z3v7DN//ex9noHPmQoGZZjlHTHasQW+NAjksDGccXDzR4mm8YBAID+xWNZsaahDkxtbW0qKChQa2ur8vPzU305ABC317Yf0Bf/a1PMuF/+75lBc6ul3nvADx7t0q3P9t7LbK8FB+6JvvnpzXr5r5+48AmCPbdoVsz9xpFW9p0K97kiSeR7DueBF+v01IYGBTZWz/BIi+aUa+lVp7ZK1dQ364anNsY8nsn3BgAA+o5pzunqyDAAgPte234g7rjAudUXlBfr/hfMR1mNyM2K84rDC53H3RcijegKZ5/h3u7XPjwQc1RZ9dZGPbk+OOGWJMuSnlzfEDQCzC5Hj6avvzcAAOAekm4A6Of2HOw9BzueOKfzuyu87lUJhZvHHUm3z9Ltv3nHtXOHfq5I3twV/ee2H/+lXl/9Va1ueGqjZj+0rtcMbadzujMzPLp6WvRV+KunlcX83gAAQP9E0g0A/Z5pshU9zukoq6Lh2Ybnjc1bkGtU4i1Jr394IO793NHE+vx/bWxzfEx7VFlg4u304Ua3z9Kv3/w46nl+8+bHMVfqAQBA/+TqyDAAgPtMU61YcU5HWb29+6DhmXvzSPrFv1yglvaumF3EQ/3mrY/iPm80sT7/4c4Tjo8ZblSZ04cbG3c061D78aixB9uPa+OOZqO95AAAoH9hpRsA+jvTfpcx4uy9w5FS39A9139tOmx+jSEWX1yuOZ86TQumj1Hl5JGOSqNrP4o/2Q/HdC/5yDhX9kNXrp0+3KipbzaKN40DAAD9C0k3APRzpvlqrDh7lJXUuxA93J7rIx3RV18jXcNXLg7uzu3UkAz3/tN0ai55hTY3tERtgJZhXMYfnr1y7fThhnu1DAAAoD+ivBwA+rkxxXlxx4WODLu8whtxfnfoPOuRw8y6l08oytFnz/JqQnGeFlZOVPaQxJLmWZOK1dBs1jwullNzyetiziUflpvYfxLtlevAOd0eBafK4R5uVE4q0SOv1Mc8fuUkSssBABiISLoBoB8KTJYLh5olvxeGJGXVWxt7Jdd2svnqXZcGJePh9lyXjBgq6VDM854zrlj3LZhqdI0m5k7x6rk3ojcWi+aeeVNUMiLn5FzyTt367Nu91ojtBmiBzd0umDhSa+v2Oz6fRz3JfWD5etXUMuOHG7Mmj1RhXlbUfd2FeVmaxYxuAAAGJJJuAOhnwiXLseRlZwYlZdVbG7Vk5RajZDMS033Ybo+yeivOPd128vvli8qVmeFRt8/S7IfWRRzdFdoA7aYLJ+o//rjNeAu9fU4p/Ci0qqllurzCG/PhRmaGRw9ee7ZuWbkl4nkevPZsRoYBADBAsacbAPoRO1l2knBLkicgH3M6JzqS4uFmK+ymcabimYwVLvl1Orore0iGzh7jbDa5x9PTNC7SA4zMDI8qJ4+M2VCuamqZHr9xhrz5OUGve/Nz9LjhqDUAANA/sdINAP1EtGQ5lqOd3f6RUk6SzcooJcvrP/jE6NzrP/hE+junVxxZUZ7zLuLhyradju7qOuHT1j3OZnX7LOnJ9Q06d3xRwomx6co4AAAYWEi6AaAPhDY0C5dMxUqWY6mp70m6nSabkbQcNetebhonmX0PxcPMku4ln52ks8ryIx7H6eiuZ2p2xrXKLgWXqSfCXhkHAADpg6QbAJIsWkOzeFZmI+vJGJ0mm4ECk2LTLuQFho3eTL+HQ+1dRscrGZ6jBdPHRPy5PbqrqbUjbPVAaAO0HQeOGp03lGnlAAAAGJxIugEgiZw0NDNNliOxR0qdN6FIGZ7oe6MzPD1xodfqtIGbJC29ckqv10JXtJ10ETctL28+0qVVtXuiNihzMrprf1tiDz0Sf2gCAADSEUk3ACRJrIZmod2zY63MRhPYvfytXQdjlkn7rJ44e2U20sMBE0OzMoP+HC55z/DI+Hs4aLjS/eO/nJptHW7FXHI2uuu0EcFNzJxK9KEJAABITyTdAJAkThuaRVuZjSUnoBTc6Z7uRBq4SdKmnc2ac+ZpkiIn79EeAoR+D6Z7ugNFG4Vm2qAs3u3Y4eZ0AwAA2BgZBgBJEk9DM3tl1lvgbNX0YPtx/+grp3u6E23gZo8eSzR5t7+H0nznK8axRqGZjO4aYbg3Pdy5w83pBgAAkFjpBoCkibehWejK7If7juiRV7bHPI6dtDptIJboXuTmo52SEk/e/d9DnFl7tIZmJl3TMzwkzQAAwH0k3QAQB5MkzmnyGyhwdFRNfbNR0m0nrU4biCW6F/m17c2S4k/eez0EONKZ4PV8EnRf1tY1GXVNL8iJb6U7dE86AABAIJJuAHDIdPSV0+Q3kni6kTtpIJZIAzdJOtTeM6c7nuTd/uT3zJvif4ixZVdLHFdxyiOvnGqwVpiX5b++QOH2gB/qMGvgFoqRYQAAIBqSbgBwwMkIMKkn+V18cbme2tAgK+BNHo+0aE55r6Zf4cTTjdw+t0kDsUQauElSblbP8UyS99CHB96CXF09rUz3v7AtodL0SMIl3FL4rukZnsTanDAyDAAAhEPSDQCGYo0Ak3qXGVdvbdST6xvCdvN+cn2Dzh1fFDPxjqchmy2wTD2aSCvjJs44bZj/XLFW9h+5YYaKhmUHzO/u0q3PxjeqLFGhK9SVk0calfFHwsgwAAAQDkk3ABgyaRQWmMSZdPM22Qscb0M2p0JXxp/d2KBNO1tjvm/k8FPzrZ2UtXf7LM1+aF1KEu5A9sOKWZNGKmdIhjpP+By9n5FhAAAgGpJuAIgisGHaB42Hjd7TeOiYJOdzuiM5b0JRzLJvj4L3dMcrcGX8yb+YrfrubG4P+rNpWXui3c7dYj+s6PZZ6up2nnBLjAwDAACRkXQDQAThGqaZePujg7r2vLEJlYUHeqOhJeZqsHUy7qIzSoJeN+myHkl7l1kCGi7OpKw91XugQ1eon6nZGbTv3kS4FXwAAIBAJN0AEEakhmkm7PeUDMuJGmfb39ahVbV7gpLiwGT5lW37jY7zev2BoKTbtMt6JKMLc9UQsoodKS4eqd4DbSl4hXpXS+zPKklzK0Zp3jlljh9iAACAwYmkGwBCmOzFjmZc0dCevzHMxb794l/9f192spv36ncaHa+w7zlZ1i7F7rL+6BeCG5qFSx7nnHGaXquPPb5rzhmnObpOW6Kjytw2oTjPKG5mebEWTB+T5KsBAADpgqQbAEIkutf4eHdPCnngSKfj9za2duiJ9Q1xnrdbklmX9due2xI8uis/V8uvDl4BT3YDt0RHlQWK9LAi1nzzwEZ2Cysn6tsvbos5D31h5cQErhQAAAw2JN0AECLRvcara/fotkvP6PPy6ff3tEkye2gQmlg2tXXolpVb9HjAnPEDh80eGoSLM91Lbnc7X766Tk1tzr732aeP1D+cPy7o+HdWTfGf98DhTt3/wraoxwhsZJc9JEOL5pRHfeixaE65sockNs8bAAAMLiTdABAi0WT5wJEuST3dxGOttLrp+MnO24k8NFj6u/f8K7/vN8YeFyapV1x8e8mdf0lfuXiy5nwquLQ9sIHb77d8bHScptZTZflLr6qQJD21oSHovmV4ehJu++cAAACmSLoBIESie41zs3pWQt/adbDPEm5Jysvu+Vd6Ig8NDrYf18Ydzbro9JKgPeLRONlL/ljASnq0eBPnT4w+F7vlaJfRcULjll5VoTvmnqVnanZqV0u7JhTnaWHlRFa4AQBAXPgNAgBC2HuNJeNeaEFmjO+Zl93XI7HOPzn6yn5oEG9P7Zr6ZklSlmGSaceZ7CVfsaZO3SefRCTasO7ZTbui/rwoL9voOOHisodk6OY5k3Tfgqm6ec4kEm4AABA3fosAgDDsvcbeAuerxmePLZTU9yOxTj9tuKTEHxrYKfJpw8ySVjsu1l5yS6f2UJvExxJrxNfBdrOVbtM4AACAeFBeDgARVE0t0+UVXn9jrrq9rUadxYtPJqF9ORIrtKu2/dAgdG+1icpJPbO+xxSZjdCy40xX9l/b/on2H+7Qh/sOO7quUGUF0eegFxs+NDCNAwAAiAdJNwBEEdiYa9OOZqP3vL37oP7h/HFRR2LZfy7My9Kh9uP+1yONvsrLzlR7V3fEc4brqh360KBkeI7+9ZdvqfXYiYjHKczL0qyTn7fQsDzbjjNd2X/klXqjuFg+bom+59xbMNToOKZxAAAA8SDpBgCZjbj6oMlsZTYwLtKKs/dkN+/ApDjS6Cv79Yertznuqh340ECSHrruHN2yckvEa3/w2rP9n/ugYSOyrXtatap2j0qG5cibn6t9bclf2Zek3QejJ912pUG0lf6ygp7vFgAAIFlIugEMevGNuDIXuuIcmtQHJsW20GRZks4dX6TThu/RvsOnkuHThmfr3JON20yv5fEbZ2j56vfV1HZqvrY3P0fLr/500Od9d88ho2OuebdRa95tlNSzUm5JvVb2k2FCcfTy98BKg3DX4pG0bH5F2PnhAAAAbiHpBjCoORlxdaZ3hN7afSjmMc/0juj1Wrgk2o3r3He4K+woLlu4FfxYDwFsBw539jpeLK0nS+ULQsrmk+Hys0bFjIlUaeDmQxUAAIBoSLoBDFqxRlx51DPi6vIKrzIzPDp3fJGe3fxRzOM6WXlO9DqlnmsNvE5brBX8WA8BhudkOr5W+3vLHZKhX/7vmTpwpFMf7juiR17Z7vhYsbQcMyt/N33IAAAAkAyMDAMwaDkdcdVy1GzlN1xct89STX2zVtXuUU19s39WtRvXqZDrlE6tjIe+z17Br97aGPO8Z4zKN77GQJakprZOZXg8WjB9jC46vSSu48TSYrjnXDpVabBg+hhVTh5Jwg0AAPoMK90ABi3TEVd23NY9bUbxoXGJ7hn/+GD0edTBcSMdr+BHEq1bugn7e0vW6LQRufwnDAAA9H+sdAMY0BJZQTYdcWXH/c2we3lgnBsrzv9jEBMY53QFP5LGQ9G7g8dy4HCnVtXu0eaGFt0zr6e7upvryy+93+Ti0QAAAJKDZQIAA1aiK8ixVmA96hntZY+UGma4smrHubXiHNhlPBo7zukKfiQ5WfE/l83wSPe/sM3/57KCXC2+uLzX/HF7Tnk83c5NvxcAAIBUIukGMCA56ToeSeBIqdCkz06BA0dKneUdri0G3cvP8g6XZL7i/PRrDSoZkROxwVdhXlbMcwbGOV3Bj2TK6Hy9Vh99NTyS0IKDptYOPbm+QY9+4VwVDcsJami2tq6p18MTE6bfCwAAQCqRdAMYcNxaQZYij5Tyhlkxnza2UM9u/jjm9U0bWyjJfMU5dEU49LyL5kzSq9ubYx5n0ZxJksxX8H0+S6tq90RM9o92ON/TneHpnXBLp+7L/S9s06t3XRp0rtDu4o2HjunB6g9insv+vAAAAP0ZSTeAAcfJnmWT2dimI6XeM2yk9t6eNv2TzFecA4VbqZ99xmnKyvToeHfkAuysTI9mn3GapNgr+JakY8e79cWfbPK/Hi7Z/2Cf2R72M0qH6bZLz9CBw51BDxBCRbsvgXPMu32W/vNPH6rzhC/isXKGZPg/LwAAQH9GIzUAA45be5YDmYyU2mvYWMyOs1ecnTQPsxPkFWvqgprCZWVG/9d16M/tFfxR+cGJv12Sfaj9eNDr4Rq7Hek8YXTNnpOjwUpG5BjFx7ovmRke/eD66VFjfnD9dMZ+AQCAAYGkG8CA49ae5UAmXdB3HDhqdCw7zl5xlpx17Q7tLr6xvjnm+K72rm5trA9Xgh78OUKT7dCowGR/yqjhRtdrxxXnZRvFm8RVTS3T4zfOkDc/OJH35ufqcYP9+gAAAP0F5eUABpzp4wpdjave2qjlq98P6obtzc/R8qs/HZTcDcs2e04ZGBdpz7gJe0X49R0HjOJf33FAF51RIilyo7loHcJDy78XnDtOq96NPZZrwbnjJEl/bTIrv/9rU5vmfCp2abhp2T8AAEB/RtINYMBZuXGncdyiiydHjane2qhbVm7p9XpTW6duWbklaFW1rDBP7zceiXnessK8oD+HJo+x9j7b7JX6vQcNy9pPxkVrNGfCTvY/2GeWRH+wr02XTinVR4bXaRonBe/1BgAAGIgoLwcw4Nhl14nGdfssfeN370WN+cbv3vOXW19RMcrovLHizvLmy5sfea+3Rz2Nzez54KMLhxqd146L1WguFjvZX/t+7FXuwLgJxXkxIuUoDgAAIB2w0g1gwDkWY3+zadzG+uaIe5xth9qPa2N9sy46o0QleWaNwkLjqrc29iovL8zL8o/RijUf/MLJJXr0z/Uxz3vh5J7ScicN5EIV5mX5k/1PDnfGiFZQ3MLKifr2i9vCjgyzZXh64gAAAAYLVroBDAiBjc5GDjdLfs85OS87khrDvdJ23C/f2GUUHxhn760OXXluPZnsF5zsJm7zFuQGjQuTpM+UF8dsxOY5GSfFN6os8Di20/LNjmPHZQ/J0KI55VFjF80pV/YQ/tMDAAAGD1a6AfR74VaKTdhNxSIzbcjVE7fNsFGYHRdtb7W9yp07JEO//N8zdeBIZ8RGYW/tOhhzf7Yl6ZmanSoZkaOS4Tny5udoX1un433dB9uP+xupzZ0ySlt2H4r5nrlTTpXTL72qp1v7Uxsagla8Mzw9Cbf9cwAAgMGCpBtAvxapC3csw3IyNWtS9AZclZNH6pFXtsc8lt3Iq73LZ3RuOy7W3mpLPQ3bMk7OuY5k78F2o/MGNmeLVL5uwi5P//SYAqP40LilV1Xojrln6ZmandrV0q4JxXlaWDmRFW4AADAokXQD6LcS6cKdlRk7wZs1aaQK87Ki7usuysvyJ+/eghwdjLEH3I6TzPdWv7b9QNSRWLUfHzI6TqDA8vVY+9ZD2eXpLe1dRvHh4rKHZOjmOZMcnRcAACAdkXQD6LcS6cJ9KKBMOpLMDI8evPbssCPDbA9ce7Y/CZ4+tlDbDEaGTT+5l9x0b3XgantZQa6Wza8I2tNtXgZ/ir3KPTQrU4/ePEMHjnaqZFiO7vjtO9rX1hH2QYZHPXvK7UZqJcMMG8cZxgEAAAxG1PoB6LcS6cItSU2tsedBV00t0+M3zpA3pGlYWUFu0IxuSRpfaDbqyo67oLxYZQWRR4OFv+YOLVm5RdVbG/2vTRwZ34gtS1Jja4cyMnrK1y86o0TLr+7ZUx16TeG6pncdN+sSbxoHAAAwGJF0A+i3EunCLUkHjpiVR1dNLdNr37hUzy2apR9cP13PLZqlV++6NGS1WdpiWOZtx2VmeLRsfvgkNxJ7BXrFmjr/fPAvzJxg+O7wAh9eVE0t02M3zpC3IPi7Ddc1/anXdhgd3zQOAABgMKK8HEC/Za8UN7WGL4eO5ZDhnmSpJ0GOVoouSUc7TxgdKzDOTnKddF+3V6jt8vjajw4ZvS+S0IcXVVPLdHmFV5sbWqLuJd+x/6jR8U3jAAAABiOSbgD9lr1SvGTllri6cFvxZOpRlIww3OMcEhea5H6477AeeaU+5nHsFWqTMvlwQvdoBzJ5yJBhuDxvGgcAADAYUV4OoF+LVA5torXDfKXbxLhis73V4eLsJHfB9DG66PTTjI5z4HCnVtXu0Zu7WhxdpxR+j7ZThcOyXI0DAAAYjFjpBtDvha4Ur35nj17e9knM97m80K3zxhdLir1C3RMXmUnZfIYneO62U96wXdCdGTUiR3UG3dpHGVYAAAAADEYk3QAGhMBy6Dd3mq38ZnrMV3i7fVbMPc7/8/5eo2P9z/t7demU0sjXZVA274vjicE100frkrNKI16/Ux8fNNuDbhoHAAAwGJF0A3BF1wmfnqnZqV0t7ZpQnKeFlROVPSQ5O1imjS3UM9ptFGeiemujlq+uU1PbqeTRm5+r5VcHrxT/5W8HjI5nEhepwVqGJ76EW5KumzFWcz5lVrpu4pjhKDDTOAAAgMGIpBtAwh54sU5PbWgISha//eI2LZpTrqVXVbh+voOGXclN4qq3NuqWlVt6vd7U1qFbVm4JmtXdcdyse3m4uHAr6aFl8wcOdyZUUp7hYGXfxJBMs4cmpnEAAACDEUk3gIQ88GKdnljf0Ot1nyX/624n3ofaj7sS1+2z9I3fvRc1Zunv3tPlFV5lZnhUkDNEh47FXtUtyAn+V2v11sZeK9plAXuu7bL5VbV7Yh47mpodB3TgaKdr5eWXVZTqvzbsNIoDAABAeCxPAIhb1wmfntrQO+EO9NSGBnWd8Ll6Xo/him6suI07mmMm5gfbj2vjjmZJUvEIsw7qgXHVWxu1ZOWWXjO6m1o7tGTlFlVvbfS/FjpP26lHXqnXV39Vqxue2qjZD60LOnY8LjlzlKtxAAAAgxFJN4C4PVOzM+b+Y5/VExeq22eppr5Zq2r3qKa+Wd0ONjLPDDN3Op64mvpmo+PYcblZmUbxdly3z9KKNXVhG6XZr61YU+f/7HZXczeKxO2k/sV398b9Pc+aNFKFedHHgRXlZWnWpOjzvgEAAAYzyssBxG1nc3tccbHKrWMyzRtjxjk8kGE23HasS6tq9+jA4c5eK9yhR21s7dDmhhZVTh5p1NXclP3e2557O+jBiJPvOTPDowevPTvsnnfbA9eenXAZOwAAQDpjpRtA3CzLLC0MjHNSbh3Jpp1mK9Sx4ionlRgdx44bZrjS/X7jEX31V7XGTdH2Hz71Xdhdzb0FiZWa20IXtp18z/b1PH7jDHnzg6+nrCA3qMkcAAAAwmOlG0Dchuea/SvEjotVbu1RT7m13bgsMtOV1ehxsyb3lE9H29ddmJelWScbnZUMzzE8rzOhe7lDu5pv3HFAz23+2JVzOfuew1+PW43aAAAABgNWugHEzTTnsuM2N7QYl1tHY3f7jiVWnF0+Hc1/XDNVmxtatKp2j97bc8jovE5keKTzJhSFvbbKySO1YPoYXVButiJvyvR7jnQ9dik8AAAAYmOlG0DcivLMVn7tuMAy6mjCxQXOuS7Mid7cyzZjfO9kNlTV1DJ95eJyPbm+IWgF3qOeUVj3v7At6oOCRPks6a1dB6M+IAgt7XaL6f0AAABA/Ei6AcRt5LBsR3GmI7FC48I1XjOxcuNOLbp4ctSY6q2NvRJuqWc1eG3dfkfni1es5Pe8CUUJN1YLJ9ERZQAAAIiN8nIAcXO6ch1rJJZHPQ26LggY9RWp8ZqJN3YejPrzaHvM+1Ks5PeNhhbXrzH0ewYAAEBykHQDiNv6v33iKM4eiSX1bnFm/3nZ/Ar/fuFEk+Jh2dG7jcfaY55s4R4yhFOz44Dr5756Whn7sgEAAPoASTeAuO05ZDanOzAu0kgsb0GuHgsZQZVoUnzNuWOi/jyVe5rDPWSIHe2e1e80qjt0nhgAAABcx55uAHFrPRZ51Fa0ONMRVIkmxUMyoj9X7Is9zWUFubp6WplWv9MY9ADBW5CrZfMrjOZczywv1iOvuHtddvdy007wAAAAiI/jle7169dr/vz5Gj16tDwej55//vmgn1uWpXvvvVdlZWUaOnSoLrvsMn344Ydhj9XZ2anp06fL4/GotrY26Gfvvvuu5syZo9zcXI0bN04PP/yw00sFkGSZMZLaaHEmI6gSTYr3tUVP2mPtMY/XmIIc/eD66Xpu0Sy9etelWnpVhV6961I9t2hW0OsmCbck+brNVqS/ccWZ+sH103XbJdGbx9noXg4AAJB8jpPuo0ePatq0aXr00UfD/vzhhx/WD3/4Qz3++OPatGmThg0bpiuuuEIdHb1/ubvzzjs1evToXq+3tbVp7ty5mjBhgt566y195zvf0fLly/Xkk086vVwASTRqhNnIMNO4UIkmxW9/FL2RWrQ95onwFgzt9TAhkTnXv39nj1HcX/cd1oLpY3TR6acZxdO9HAAAIPkcJ91XXnmlvvWtb+nv//7ve/3Msix9//vf1913360FCxbonHPO0S9+8Qvt3bu314r4H//4R7300kv67ne/2+s4v/zlL9XV1aWf/vSn+vSnP63rr79e//f//l9973vfc3q5AJJo/jm9H5olEhcq0aTYZH040h7zsoJcfeXicpUVOE9MPzVqhOP3RHO084SjuHi6xAMAACA5XN3T3dDQoKamJl122WX+1woKCjRz5kzV1NTo+uuvlyTt27dPixYt0vPPP6+8vLxex6mpqdHFF1+s7OxTM4CvuOIKPfTQQzp48KCKiop6vaezs1OdnZ3+P7e1tbn50YC01e2zYu6tjqS0YKirceHYSXE8c7rHFZmdt2pqmS49a5SeqdmpXS3tmlCcp4WVE5U9JEN3Vk3xfz9/qmvSmnebYh4vP8/ddhmj8s0SfzvOflixZOWWXvO9nTVwAwAAQKJc/c2wqannl9FRo0YFvT5q1Cj/zyzL0pe//GXdcsstOv/887Vz586wxykvL+91DPtn4ZLuBx54QCtWrHDjYwCDRvXWxl7JbJmDBl/7244Zncc0LpLQxmsb6w/ouTc+jvm+nQfatap2T8yHCeG+h/96tcH/PdjNxv781/1G17u/tTN2kAPnji/Syk27jeJskR5WOGngBgAAgMT1effyH/3oRzp8+LCWLl3q6nGXLl2q22+/3f/ntrY2jRs3ztVzAOmkemujlqzc0qsEu6m1Q0tWbuk1viucNe82Gp1rzbuNWnLJGXFeaQ97T7QkvWB43ufe+EjPvfGRpMgPE5x8D6El6JGYxpkaXWi2Yh8aZ9olHgAAAMnj6pxur9crqad8PNC+ffv8P1u3bp1qamqUk5OjIUOG6PTTT5cknX/++brpppv8xwl3jMBzhMrJyVF+fn7QXwBO6fZZqqlv1qraPXpt+wEtX/1+2D3P9msr1tTFnOP88UGzFWzTOFPDsjMdv8dOoqu3nkrYu32WVqypM/4eioZmh4nsrfXYca2q3aOa+mZXZmFPH1cYd1wiDdwAAACQOFdXusvLy+X1evXyyy9r+vTpknpWnDdt2qQlS5ZIkn74wx/qW9/6lv89e/fu1RVXXKFf//rXmjlzpiSpsrJS3/zmN3X8+HFlZWVJktauXaszzzwzbGk5gOjClU9HY8lsjnOW4WM70zhT184Yq9/X7nX0nsAk+vIKrzIzPNrc0BL1Own9Hlo7zeaSP7v5Iz27OfoKuxPPbtplHHfznElxnwcAAADuc/yr8JEjR1RbW+ufq93Q0KDa2lrt3r1bHo9HX/va1/Stb31Lq1ev1nvvvacvfelLGj16tK655hpJ0vjx4zV16lT/X5/61KckSZMnT9bYsWMlSV/4wheUnZ2tm2++We+//75+/etf6wc/+EFQ+TgAM3b5tNMmZFLsOc6nnzbc6DimcaYuPL1EOUPiy+TtJFoyn1OdyDzrcCvsTu1qaXc1DgAAAH3H8Ur3m2++qUsuucT/ZzsRvummm/T000/rzjvv1NGjR7V48WIdOnRIs2fPVnV1tXJzzfc4FhQU6KWXXtKtt96q8847TyUlJbr33nu1ePFip5cLDGrRyqdNxJrjnGGY95rGOZFI0XZTW08SXTLMbH64HVc4NMvxuSz1dAwPXGF3akJx7ykPicQBAACg7zhOuj/3uc/JsiL/uuvxeHTffffpvvvuMzrexIkTwx7vnHPO0YYNG5xeHoAAscqnozGZ49zVbXYs0zhTr28/oK4Tvrjf33LkZHdx0/z3ZFxxntme7lCm5fqRLKycqG+/uE3RtodneHriAAAA0L/0efdyAMnVdcLnnzfddsxsD3I4V08ri7kqO644T2/tPhTzWONcXoH9/70Ve1xYNM1Hu7Sqdo8+3HfEKP7AyST9wNGuhM4bb5l69pAMLZpTrifWN0SMWTSnXNlxltwDAAAgeUi6gTTywIt1empDQ9QVUVOr32nUnVVToibe180Yq+cNGppdN2Ns4hcU4KOWowm9/8d/rncUf+Bwp1bV7tH6v32S0HljletHs/SqCknqdX8zPD0Jt/1zAAAA9C8k3UCaeODFuqgroU6ZlEPPnDRSHkXfX+05GeemzgRKy53K8Ej3v7AtoWN41DO7O1a5fixLr6rQHXPP8lcyTCjO08LKiaxwAwAA9GMk3UAa6Drh01Mb3Eu4bbHKod/adTBmQzPrZFw8e5kjibdzeTwSrRqw6wTumTdFmxtatP9wh0pH9CTg8TRVyx6SwVgwAACAAYSkG0gDz9TsdKWkPFSscmi7C3gspnGmhmZnunq8cDI8iSfcUs8K99XTynT/C9uCmtq5Mb8bAAAA/R9JN5AGTOczz60YpXnnlKlkWI7u+O072tfWEXal2rQc+oBhYzDTOFMlw832Rl84eaT+6TPj9OG+w3rkldj7uG+7ZLLOGDVCBw53JlRS/vmzTtPV08eodESuDh7t0q3Pbun1Pdvzux+7cQaJNwAAQBpjIyCQBkznM88sL9aC6WN00RklWn51T+Ot0AJn+8/L5lfELH9uOWLWzds0zlRZodl87XPG5vd83tNPM4q/6PTTtGD6GJWMMDt+JPvaOrVg+hhdUF6s+18IPyfdfm3Fmjp1J6NMAQAAAP0CSTeQBhZWTpQnxvZgT8gc56qpZXrsxhnyFgSvGnsLco1XX1NVXl481CwptuMuKC9WWUFuxLHcHgXPJU+ky3igWHPSA+d3AwAAID1RXg6kgcwMj4ZmZaq9qztiTF5WZq+V66qpZbq8wht3g6/RRUNdjTPV2mk2f9yOy8zwaNn8Ci1ZuaVXt/VwK/t2kt7UGr78PpaLTu9pGmc6lzve+d0AAADo/1jpBtLA5oaWqAm3JB3t6g67opqZ4VHl5JFaMH2MKiePdNRR+8JJJa7GmTK9wsA4Jyv7dpLu5FyBCvOyJZmvmLu1sg4AAID+h5VuIA2kakV11uSRKszL0qH2yCvPhXlZmuXiuDBJqpxUYtQYrTIk2Y+2st/ts4Jev7zCq8dunKEVa+qiloiH89fGNkmxV8zdmt8NAACA/oukG0gDqVpRzczw6MFrz9YtK7dEjHnw2rPjmkcdzWfKi3uViYfynIwLZa/sB6re2tgrubZHer1616X+ZPwXr+/UW7sPxbw+u+rAaVk7AAAA0g/l5UAacNoozE1VU8v0+I0z5M0Pbm7mzc/R40kah/XWroMx91pbJ+NCdfss1dQ3a1XtHtXUN+vFdxu1ZOWWXqvZ9kivtXVN/vL7KWX5Rtc3Kv/Uww03GtYBAABg4GKlG0gDqV5RrZpapkvPGqVnanZqV0u7JhTnaWHlRGUPSc5zvb0HzeaS98SdWtUOt6Kd4Qm/Ym6p57tbsaZOl1d4lZnh0bnjCrVy0+6Y5z13XGHQnxNtWAcAAICBi6QbSBP2impoUuk9WSadzBXV6q2NWrbqfe073Ol/7cn1O7RiwaeTct7ajw8Zx113/jj/NS5ZuaVXgh1tRHbgSK/KySNVMtxsVFm4uHBl7QAAAEh/JN1AGunrFWepJ5kNt6d73+FO3bJyi2sl5oGNzsznfnv8712xpi6u8V/SqQZ0/1PXZBT/P3VN+uxZpXGeDQAAAOmEpBtII+HKp//r1YakrXR3+yzd/pt3osbc8Zt3/OXZ8Qr3uUxYlqVVtXt04HCn4/cGshvQvftxq1G8aRwAAADSH0k3kCYilU/bDcGS0bTr9e0HjOaDv779gOZ86rS4zhHpc5lYuWm30R7sSEJHelmGV2EaBwAAgPRH0g2kgWjl04ENwUbkZOnA0U7XGnn99s2PjOPiSboTLQtPRLgGdAU5Zv/KNI0DAABA+uM3Q6CfCNyz7DQp3tzQErV82m4I9sWfbPK/VuZCg7Utu3uP5EokLlSsz5VM4RrQDcvNMnqvaRwAAADSH0k30A+E27PsJCm2G3054UbZuelCebwL6vF8rkTcM2+KSkbkRHzocUH5SK3dtj/mcS4op0s5AAAAeiSvpTEAI/ae5dAVXTsprt7aGPMYJcPMRlkFsku2V6ypU3e0uVlRZBl2RTeNC2U3MOsrJSNytGD6GFVOHhm2yuCmCyfKE+MBgsfTEwcAAABIJN1ASsXaiy0ZJsVxriQHzqGOR86QTFfjQl1QXqzCvL4r1Y6V5GcPydDiOeVRYxbPKU/qiDYAAAAMLPxmCKSQ6V7sWElxU4L7nsOVcXf7LNXUN2tV7R7V1DeHTfwzYi37OoxLFY96yvntLuXRLL2qQl+5uLxXyXyGR/rKxeVaelVFci4SAAAAAxJ7uoEUMt2zHCvu7TgbldlCV3hN95jPmlysrXvbYh5/1uTYyWw4mxtadKj9eFzvNRWuS3ksS6+q0B1zz9IzNTu1q6VdE4rztLByIivcAAAA6IWkG0gSk27kpnuWY8Xta4tvpTt0DrXkbN73qBFDjc5jGhcqkUZqedmZQTPEywpydfW0Mq1+pzHoYUK4LuUmsodk6OY5k+K+PgAAAAwOJN1AEpiuFF9QXqyyglw1tXaE3dcdLikOZ1icc6EtBa/wms77vrzCq8wMj0pGmDVwM40LlUgjNY+kX948s9dc8jurpsQ9mg0AAABwilpIwGVOupFnZni0bH7PHuDQtM9J2fPfTx+T6GVLcr7HvHS4WTJtGhfKfigRT0p8tKtbPsvq1Y08M8Ojyskjo3YpBwAAANxC0g24KJ5u5FVTy/TYjTPkLQhe1fUW5BrP0M6IM3G0V67t63G6x/yEz2cUbxonBTdw29zQonvmTfFfq1OP/6U+aiM4AAAAINkoLwdc5GSluHLySP/rVVPLdHmFN+6y540NzXFdb+j1ON1j/vu39xjF//7tPfrsmaUx4yKV5S++uLzXXmwTr9U367X6Zv9x4tm7DQAAACSCpBtwUSLdyO2y53jsOXgsrveFXo/TPeYfG563rrFVq2r3RH2YEK2B25PrG/ToF2aoaFi29h/u0Jp39upP2/Y7+IThG8EBAAAAyUZ5OeAit7qRO2UlWDltX4/TPeZjC80+x9/2HdVXf1WrG57aqNkPrQva1y6ZleXf/0KdLigv1oLpY3RVHElzpPJ+AAAAIJlIugFDgXuNI+0RjtX4y6OeMudY3cidGlMUXxIf7nqc7DH/+xljHZ8zXEM5pw3cygrjG0EWehwAAAAg2SgvBwyYjgCzV4qXrNwS8Vgm3cidqiwv0Y//vMPRe6J1RzfdYz4kw/lzu3Cjx5yW5dsPN5zu8Q49DgAAAJBsrHQDMTgZASb1JKyLLy5XaF6d4ZEWX1yelP3EGZnOk/hY3dFNRms1tcWXvPYaPeawLN9+uBHvowu3y/sBAACASFjpBqKItdc4dMVW6knSn1zf0Os9liU9ub5B544vcj3xPnCk0yjutktO1xmjhjvujh7J27sTK9OOt4GbdOrhxlMbGmS6RTvccQAAAIBkYqUbiMLpXuNYSbql5DTyMl25vej0kqgr107tazNL9iOJt4GbdOrhhpOEO9xxAAAAgGQi6QaicLrXOFaSLiWnkVeqGrjlZcdXLJNoA7doDzdsoXl1rHJ6AAAAIBkoLweicLrX2HSPc7x7oSMJbODmkYKS0WSu8FaMzteqd/Y6eo8bDdxMHm74LOmeeVNUMiLHtXJ6AAAAwCmSbiAKp3uNWwz3VpvGOWGvFId2WfeG6bLultJ85w3JYl2P3cAtGtOHFsXDc7Rg+hjH1wgAAAC4haQbiMLpCnLxsGyj45rGOWW6UuyW0hE5RnHfvGqKSvPdW3H+xDDpNo0DAAAAkoWkG4jByQpy8VDDpNswLh4mK8WuMWxiVlGWr4vOKHHttO/vbXU1DgAAAEgWkm7AgOkK8kvbmoyO99K2Jn12SmkyLrVPNbUeczXO1LHj3a7GAQAAAMlC0g0YMllBfneP2cqqaVw8un1Wn5WX1358yDjuuvPHuXbez0wcqZfq9hvFAQAAAKlE0g24KD83y9U4p6q3NvYqgy9LYiM103njbs8lv+nCifqPP26TFeWwHk9PHAAAAJBKzOkGXPS/Lyp3Nc6J6q2NWrJyS69RWk2tHVqycouqtza6fs5PDpt1YTeNM5U9JEOL50T/DhfPKVf2EP4VBwAAgNTiN1LARUMMkzzTOFPdPksr1tSF7Wtmv7ZiTZ3rK87Fw8xW7E3jnFh6VYW+cnG5QivnMzzSVy4u19KrKlw/JwAAAOAU5eWAizY1tBjHzfnUaa6dd3NDS68V7kCWpMbWDm1uaHG1s/n2/UddjXNq6VUVumPuWXqmZqd2tbRrQnGeFlZOZIUbAAAA/QZJN+Aq05Vkd1ec9x82m0dtGmcqJ8ssuTWNi0f2kAzdPGdS0o4PAAAAJILlIMBFlZPMZlGbxpkqHZHrapypvGyz53amcQAAAEC64TdhIEQiI7dmTR6pwrwsHWo/HjGmMC9Ls1ws8ZakC8qLVVaQq6bWjrBr6B5J3oKez+Km8SOHuhoHAAAApBuSbiBAoiO3MjM8evDas3XLyi0RYx689mzX52ZnZni0bH6FlqzcIo+Ci9ftMy2bX+H6eT9oPOJqHAAAAJBuKC8HTnJr5FbV1DJ95eJyhaa3HvV01U7GvGz7vI/dOEPeguAScm9Brh67cUZSznvseLercQAAAEC6YaUbUOyRWx71jNy6vMIbc7W4emujnljfEPY4T6xv0Lnji5KaeF9e4Y27PN6poVmZrsYBAAAA6YakG5B7I7e6fZa+8bv3op5r6e/eM0re45WZ4XF1LFg0RblmybRpHAAAAJBuKC8H5N7IrY07mqM2UZOkg+3HtXFHs/G19Wc7Dx5zNQ4AAABINyTdgNwbufX69gNGxzGNi0e3z1JNfbNW1e5RTX2zun3uzgQP5HM5DgAAAEg3lJcDcm/k1u7mo0bnM41zKlr39WTs9c7NNHtuZxoHAAAApBuSbkDujdx6b0+r0flM45ywu6+HPjRoau3QLSu39Jof7mQUWiQFQ7NcjQMAAADSDctPwElujNw62mU2Gss0zlSs7uuSeu01dzoKLZxPjnS5GgcAAACkG1a6gQCJjtwalZ9jlGCOys9J9FKDxOq+Ho7TUWjhjCrI0da9ZnEAAADAYMRKNxDCHrm1YPoYVU4e6SgZvePzZ7oaZ8q0+3qowFFo8ZhVXuJqHAAAAJBuSLoBF108pVRDYiTpQzI8unhKqavnNe2+Hkm8SfsNF4x3NQ4AAABINyTdgIsyMzy6efbEqDE3z56YcNfwUBeUF6swL/5mZfEm7b/ctMvVOAAAACDdkHQDLur2WVr9TvTGZKvfaUzK7OyuE86nYXvU08U81ii0SF56v8nVOAAAACDdkHQDLjJpaJbIHupINtY3q91hR3Qno9AiOdxxwtU4AAAAIN2QdAMuamo95mqcqZodBxy/x8kotEjOLBvhahwAAACQbhgZBrio5ajZPGrTOFOmxerXTB+tS84qNRqF1u2zYo5O+8fzxmlNjHJ6Ow4AAAAYjEi6ARcVDzebR20aZyo/16yJ2pSyfC2YPiZmXPXWRq1YUxdUKl9WkKtl8yuCVsYvPL1EedmZUUvbh2Vn6sLTGRkGAACAwYnycsBF3nyzLuCmcabajh13La56a6OWrNzSa296U2uHlqzcouqtp1a2MzM8+t4/Tot6vP/3j9Nc79YOAAAADBQk3Uh73T5LNfXNWlW7RzX1zUnpHG67oLxYZQXRE+pEuoUnW7fP0oo1dWHL1e3XVqypC/oOq6aW6fEbZ2jUiODVe29+jh5PcM84AAAAMNBRXo60Zlom7ZbMDI+Wza/QkpVbJAXvtXajW3gkhXnZrsTF6r5u6VT39crJI/2vV00t0+UV3ph7wAEAAIDBhpVupC0nZdKBEl0Zr5papsdunKFRISXkbnQLj6Q4z2xPd6y4/YejjzuLFpeZ4VHl5JFaMH2MKiePJOEGAAAAxEo30lSsMmmPesqkL6/wBiWHbq6MW5Yv6M8+ny9CZOIOGe7pjhVXOsJsr7lpHAAAADDYsdKNtOSkTNoW78p4qOqtjbpl5RbtOxw8Fmzf4S7d4uA4TiTSNT1wZd/ns+TNz1WkNWqP+veedAAAAKC/YaUbaclpmXS8K+Ohun2WvvG796Ke8xu/ey/mcZyKt2t6uJX9wrws/2fuqz3pAAAAQLpipRtpyWmZdDwr4+FsrG/WofboJdyH2o9rY32z0fWZOm9CkWLlwRmenjhbpJX91pPXXxCy/zuZe9IBAACAdMVKN9KSPbqrqbUj7Oq1Rz1JpF0mnUgDsUCv1X9idJzX6j/RRWeUGMWaeGvXQcXq9+azeuIqJ480WtnPHZKhX/7vmTpwpJNu5AAAAECcHK90r1+/XvPnz9fo0aPl8Xj0/PPPB/3csizde++9Kisr09ChQ3XZZZfpww8/9P98586duvnmm1VeXq6hQ4dq8uTJWrZsmbq6gve/vvvuu5ozZ45yc3M1btw4Pfzww/F9QgxK9uguSb32J4crk3argdjeQ2bJu2mcKacPDUxW9pvaOpXh8dCNHAAAAEiA46T76NGjmjZtmh599NGwP3/44Yf1wx/+UI8//rg2bdqkYcOG6YorrlBHR88v+H/961/l8/n0xBNP6P3339d//ud/6vHHH9e///u/+4/R1tamuXPnasKECXrrrbf0ne98R8uXL9eTTz4Z58fEYGSP7vIWxB7dZa+MJ9pArKzQLHk3jTPl9KGBWyv7AAAAAKJzXF5+5ZVX6sorrwz7M8uy9P3vf1933323FixYIEn6xS9+oVGjRun555/X9ddfr6qqKlVVVfnfM2nSJH3wwQd67LHH9N3vfleS9Mtf/lJdXV366U9/quzsbH36059WbW2tvve972nx4sXxfE70A90+S5sbWrT/cEeflStXTS3TpWeN0jM1O7WrpV0TivO0sHKisocEP2+yV8aXrNySUAOx4jzDLuKGcaacltMzGgwAAADoG67u6W5oaFBTU5Muu+wy/2sFBQWaOXOmampqdP3114d9X2trq4qLT60g1tTU6OKLL1Z2drb/tSuuuEIPPfSQDh48qKKiol7H6OzsVGdnp//PbW1tbnwkuMTN+deJnve/Xm0Ie157ZTw03uvgOouHZceMcRJnyulDA6dJOgAAAID4uNq9vKmpSZI0atSooNdHjRrl/1mo7du360c/+pG+8pWvBB0n3DECzxHqgQceUEFBgf+vcePGxf054C635l/3xXmrppbp1bsu1XOLZukH10/Xc4tm6dW7LjV+MHCovSt2kIM4J5yU0zvd8w4AAAAgPikdGbZnzx5VVVXpH/7hH7Ro0aKEjrV06VK1trb6//roo49cukokIlaXbKln/nV3rNbbLp/XinLezAyPKiePjKuBWPFww/JywzinqqaWad0dn9PCWeM154wSLZw1Xuvu+FzYhwZOknQAAAAA8XG1vNzr9UqS9u3bp7KyU7+w79u3T9OnTw+K3bt3ry655BJdeOGFvRqkeb1e7du3L+g1+8/2OULl5OQoJyc5iQzi52T+deXkkX12XiXpvN58sz3QpnFOPfBinZ7a0OAfH7bhQ+mXm3Zr0ZxyLb2qold81dQyXV7h7fO99gAAAMBg4epKd3l5ubxer15++WX/a21tbdq0aZMqKyv9r+3Zs0ef+9zndN555+lnP/uZMjKCL6OyslLr16/X8ePH/a+tXbtWZ555Ztj93Oi/UtUlu6nN7HimcaYuKC9WYV5W1JiivKyk7JV+4MU6PbG+ode8bp8lPbG+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py688EKtXr1ae/bskWVZeuWVV/S3v/1Nc+fOlcQ9HkjssuLi4mJJZveupqZGZ599tkaNGuWPueKKK9TW1qb333+/D68esYTe30gx+fn5GjJkiCTu70AS7v62t7frC1/4gh599FF5vd5e7+H+Diyh93j//v3atGmTSktLdeGFF2rUqFH67Gc/q1dffdX/npqaGhUWFur888/3v3bZZZcpIyNDmzZt6tsPgKjC/X/4wgsv1K9//Wu1tLTI5/PpV7/6lTo6OvS5z31OEvd3oCDpRlLt379fR44c0YMPPqiqqiq99NJL+vu//3tde+21+stf/iKpZ69Kdna2CgsLg947atQoNTU1peCq4dSPfvQjVVRUaOzYscrOzlZVVZUeffRRXXzxxZK4xwOFz+fT1772NV100UWaOnWqJLN719TUFPQLu/1z+2foH8Ld31AHDhzQ/fffH1SWyP0dGCLd369//eu68MILtWDBgrDv4/4OHOHu8Y4dOyRJy5cv16JFi1RdXa0ZM2bo85//vD788ENJPfextLQ06FhDhgxRcXEx97gfifT/4d/85jc6fvy4Ro4cqZycHH3lK1/R73//e51++umSuL8DxZBUXwDSm8/nkyQtWLBAX//61yVJ06dP1+uvv67HH39cn/3sZ1N5eXDJj370I23cuFGrV6/WhAkTtH79et16660aPXp00Aop+rdbb71VW7duDVohQfqIdX/b2to0b948VVRUaPny5X17cUhYuPu7evVqrVu3LmjvJwaucPfY/j3rK1/5iv75n/9ZknTuuefq5Zdf1k9/+lM98MADKblWOBfp39H33HOPDh06pD/96U8qKSnR888/r3/8x3/Uhg0bdPbZZ6foauEUK91IqpKSEg0ZMkQVFRVBr0+ZMsXfvdzr9aqrq0uHDh0Kitm3b1/YUjj0L8eOHdO///u/63vf+57mz5+vc845R7fddpv+6Z/+Sd/97nclcY8Hgttuu01/+MMf9Morr2js2LH+103undfr7dXN3P4z97d/iHR/bYcPH1ZVVZVGjBih3//+98rKyvL/jPvb/0W6v+vWrVN9fb0KCws1ZMgQ/5aB6667zl+ayv0dGCLd47KyMkmK+XvW/v37g35+4sQJtbS0cI/7iUj3t76+Xo888oh++tOf6vOf/7ymTZumZcuW6fzzz/c3t+X+Dgwk3Uiq7OxsfeYzn+k1/uBvf/ubJkyYIEk677zzlJWVpZdfftn/8w8++EC7d+9WZWVln14vnDt+/LiOHz8e1CVVkjIzM/1P4LnH/ZdlWbrtttv0+9//XuvWrVN5eXnQz03uXWVlpd57772g/+ivXbtW+fn5vX4RRN+KdX+lnhXuuXPnKjs7W6tXrw6aLCFxf/uzWPf3G9/4ht59913V1tb6/5Kk//zP/9TPfvYzSdzf/i7WPZ44caJGjx4d9fesyspKHTp0SG+99Zb/5+vWrZPP59PMmTOT/yEQUaz7297eLklRf8fi/g4QqezihvRw+PBh6+2337befvttS5L1ve99z3r77betXbt2WZZlWb/73e+srKws68knn7Q+/PBD60c/+pGVmZlpbdiwwX+MW265xRo/fry1bt06680337QqKyutysrKVH0khIh1jz/72c9an/70p61XXnnF2rFjh/Wzn/3Mys3NtX784x/7j8E97p+WLFliFRQUWH/+85+txsZG/1/t7e3+mFj37sSJE9bUqVOtuXPnWrW1tVZ1dbV12mmnWUuXLk3FR0KAWPe3tbXVmjlzpnX22Wdb27dvD4o5ceKEZVnc3/7M5P+/oRTSvZz727+Z3OP//M//tPLz863f/va31ocffmjdfffdVm5urrV9+3Z/TFVVlXXuuedamzZtsl599VXrjDPOsG644YZUfCQEiHV/u7q6rNNPP92aM2eOtWnTJmv79u3Wd7/7Xcvj8VgvvPCC/zjc3/6PpBsJe+WVVyxJvf666aab/DE/+clPrNNPP93Kzc21pk2bZj3//PNBxzh27Jj1r//6r1ZRUZGVl5dn/f3f/73V2NjYx58EkcS6x42NjdaXv/xla/To0VZubq515plnWv/v//0/y+fz+Y/BPe6fwt1XSdbPfvYzf4zJvdu5c6d15ZVXWkOHDrVKSkqsO+64wz9yCqkT6/5G+v+2JKuhocF/HO5v/2Ty/99w7wkd+8j97b9M7/EDDzxgjR071srLy7MqKyuDFjYsy7Kam5utG264wRo+fLiVn59v/fM//7N1+PDhPvwkCMfk/v7tb3+zrr32Wqu0tNTKy8uzzjnnnF4jxLi//Z/HsizL7dVzAADw/2/fDgkAAAAABP1/7QobvDAIAODpBgAAgI3oBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgInoBgAAgEkSp7/Bi3WIFQAAAABJRU5ErkJggg==",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(heights, salaries)\n",
@@ -824,85 +476,52 @@
"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 comme ceci ?\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 deux variables observées, comme la taille et le poids, sont corrélées :\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"
]
},
{
"cell_type": "code",
- "execution_count": 142,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 142,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'])"
+ "np.corrcoef(df['Height'].ffill(),df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "Malheureusement, nous n'avons obtenu aucun résultat - seulement des valeurs étranges `nan`. Cela est dû au fait que certaines des valeurs dans notre série sont indéfinies, représentées par `nan`, ce qui rend également le résultat de l'opération indéfini. En examinant la matrice, nous pouvons voir que la colonne problématique est `Weight`, car l'auto-corrélation 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 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",
"\n",
- "> Cet exemple montre l'importance de la **préparation** et du **nettoyage** des données. Sans données adéquates, nous ne pouvons rien calculer.\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, puis calculons la corrélation :\n"
+ "Utilisons la méthode `fillna` pour remplir les valeurs manquantes, et calculons la corrélation :\n"
]
},
{
"cell_type": "code",
- "execution_count": 143,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[1. , 0.52959196],\n",
- " [0.52959196, 1. ]])"
- ]
- },
- "execution_count": 143,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "np.corrcoef(df['Height'],df['Weight'].fillna(method='pad'))"
+ "np.corrcoef(df['Height'].fillna(method='pad'), df['Weight'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
- "source": []
+ "source": [
+ "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"
+ ]
},
{
"cell_type": "code",
- "execution_count": 144,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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+WXrY19++aX+8z//U2PHtuy7+fDDD3XkkUfa/pnhcFg333yzzjzzTI0ePbrDmK+++kr33HOPrr322tbHqqqq2iTcklq/r6rq+Ia6qKhIfr+/9as77QRMZNpy7B01nc8KdzfObZ93sXS5u3Fuq9nf5GgcnNXFJGq349xW32SvpXbj3Lb/QMjROLdt32XvFHy7cXCWafcHgFt6lHQ//vjjqqio0IgRI3TMMcfomGOO0YgRI7R9+3b99re/lSTt27dPd955p+2fOW/ePJWVlenZZ5/t8Pna2lqdd955CgQCuvvuu3vS7FYLFixo3YseDAb1ySef9OrnAV5n2mm4eVn2TlW2G+e24X57v3e7cW7LHGRvCbzdODjL7o2BN3Z0S6kD7LXUbpzbBg20t8TabpzbTLtem8a0+wPALT36C3PcccepvLxcL774om688UbdeOONWrZsmf7+97/r2GOPldRywvns2bNt/bz58+drxYoVWrNmjUaMGNHu+b1796qwsFDp6el6/vnnNWDAP2/EcnJy9MUXX7SJj3yfk5PT4b83cOBAZWRktPkCeioUtlS6bZde3PqZSrftUqirE4jiUOQ03Gi7sXzy1mm4d8wIOBrntieuHOdonNv+cP2Zjsa57elZ9k5Wthvntj/Z/L3bjXPbSzdMcjTObS/fONnROLfdVvg1R+PgLNPuDwC39Phj3YSEBBUWFrYm3eeee64SErr34yzL0vz58/X8889r9erVHdb2rq2t1bRp05ScnKxly5YpJaXtJ2kFBQV69913VV39z0M4Vq1apYyMDAUC3rihhneVlFVqwv2rdWnxRt307FZdWrxRE+5f7bmTPBMTfFo4s+X9cugf1sj3C2cGPHNISmpyoqYGsjuNmRrI9syhPP60ARqV1fmBSKOyUj1xiJokVeza72ic21Z99EXXQd2Ic9vmT+ztzbQb57Yqm8te7ca57YjMVCUndn4tTk70eeIQNUl697Ogo3Fwlmn3B4BbbJ9e/uCDD+raa69VSkqKHnzwwU5jb7zxRls/c968eXrmmWf04osvKj09vXUPtt/vV2pqamvCXVdXp6VLl7Y59GzYsGFKTEzUtGnTFAgENHv2bP30pz9VVVWV7rzzTs2bN08DB8b/qbfwrkgJjUPntSMlNBbPGuOp2pWFo3O1eNaYdnU4czxah7P48rFRy9B4se7r2lun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889vM/GFGLOAPnLbbbdZEyZM6DTmhBNOsH70ox+1eWzMmDHWD37wg75sGqK46aabrKOPPtoKh8PWnj17rAEDBli///3vW59/7733LElWaWmpi63snw4em4787//+r5WcnGw1NTXFuGWwrI7H5+2337aOOOIIq7Ky0pJkPf/88+41sJ87dHxOP/10684773S5VYg4dHwGDRpkPf30021iMjMzreLiYjea1++cd9551tVXX93msYsvvti67LLLLMuyrHA4bOXk5Fg/+9nPWp/fs2ePNXDgQOt3v/tdTNvaH3U1Ph3ZtGmTJcnasWNHXzcPUfCRLvrMsmXL9PWvf13//u//ruzsbJ166qkqLi5uEzN+/HgtW7ZMn332mSzL0po1a/TBBx9o2rRpLrW6/2psbNTSpUt19dVXy+fzafPmzWpqatI555zTGnP88cdr5MiRKi0tdbGl/c+hY9ORYDCojIwMJSWxgCnWOhqfuro6fec739HDDz+snJwcl1vYvx06PtXV1XrzzTeVnZ2t8ePH6/DDD9fkyZO1YcMGt5vaL3X0/hk/fryee+451dTUKBwO69lnn1VDQ4POOussdxvbT4wfP16vvvqqPvjgA0nS3/72N23YsEHTp0+XJFVUVKiqqqrN/YHf79fpp5/O/UEMdDU+HQkGg/L5fBoyZEiMWolDcXeGPvPxxx9r8eLF+t73vqc77rhDb731lm688UYlJyfriiuukCT9+te/1rXXXqsRI0YoKSlJCQkJKi4u1qRJk1xuff/zwgsvaM+ePbryyislteypS05ObneBPvzww1VVVRX7BvZjh47Nob766ivdc889uvbaa2PbMEjqeHxuueUWjR8/XhdccIF7DYOk9uPz8ccfS5Luvvtu/fznP9cpp5yip59+Wt/4xjdUVlamf/mXf3Gxtf1PR++f//3f/9W3vvUtZWVlKSkpSWlpaXr++ed1zDHHuNfQfuT2229XbW2tjj/+eCUmJioUCunee+/VZZddJkmt9wCHH354m/+O+4PY6Gp8DtXQ0KDbbrtNl156qTIyMmLcWkSQdKPPhMNhff3rX9d9990nSTr11FNVVlamRx99tE3SvXHjRi1btkyjRo3SunXrNG/ePA0fPrzNJ6joe48//rimT5+u4cOHu90UHKKzsamtrdV5552nQCCgu+++O/aNQ7vxWbZsmVavXq23337b5ZZBaj8+4XBYknTdddfpqquuktTy9+nVV1/VE088oaKiItfa2h91dH276667tGfPHv3lL3/RYYcdphdeeEHf/OY3tX79ep144okutrZ/+N///V/9z//8j5555hmdcMIJ2rp1q26++WYNHz689f4N7unO+DQ1Nemb3/ymLMvS4sWLXWoxJLGnG31n5MiR1jXXXNPmsUceecQaPny4ZVmWVVdXZw0YMMBasWJFm5hrrrnGOvfcc2PWTljW9u3brYSEBOuFF15ofezVV1+1JFm7d+9uEzty5EjrF7/4RYxb2H91NDYRtbW1VkFBgfWNb3zDqq+vd6F16Gh8brrpJsvn81mJiYmtX5KshIQEa/Lkye41th/qaHw+/vhjS5K1ZMmSNrHf/OY3re985zuxbmK/1tH4fPTRR5Ykq6ysrE3sN77xDeu6666LdRP7pREjRlgPPfRQm8fuuece67jjjrMsy7K2bdtmSbLefvvtNjGTJk2ybrzxxlg1s9/qanwiGhsbrQsvvNA66aSTrK+++iqWTUQH2NONPnPmmWfq/fffb/PYBx98oFGjRklq+fStqamp3WmxiYmJrTMRiI0nn3xS2dnZOu+881ofO+200zRgwAC9+uqrrY+9//772rlzpwoKCtxoZr/U0dhILTPc06ZNU3JyspYtW8ZpsS7paHxuv/12vfPOO9q6dWvrlyQ98MADevLJJ11qaf/U0fjk5eVp+PDhnf59Qmx0ND51dXWSxL2Bi+rq6jr9/efn5ysnJ6fN/UFtba3efPNN7g9ioKvxkf45w/3hhx/qL3/5i7KysmLdTBzK7awf5tq0aZOVlJRk3XvvvdaHH35o/c///I+VlpZmLV26tDVm8uTJ1gknnGCtWbPG+vjjj60nn3zSSklJsR555BEXW96/hEIha+TIkdZtt93W7rnrr7/eGjlypLV69Wrrr3/9q1VQUGAVFBS40Mr+KdrYBINB6/TTT7dOPPFE66OPPrIqKytbv5qbm11qbf/T2XvnUOL08pjrbHweeOABKyMjw/r9739vffjhh9add95ppaSkWB999JELLe2foo1PY2Ojdcwxx1gTJ0603nzzTeujjz6yfv7zn1s+n8966aWXXGpt/3LFFVdYRxxxhLVixQqroqLC+tOf/mQddthh1n/+53+2xvzkJz+xhgwZYr344ovWO++8Y11wwQVWfn4+q65ioKvxaWxstM4//3xrxIgR1tatW9vcIxw4cMDl1vdfJN3oU8uXL7dGjx5tDRw40Dr++OOt3/zmN22er6ystK688kpr+PDhVkpKinXcccdZ//Vf/xW1LBKc9+c//9mSZL3//vvtnquvr7e++93vWkOHDrXS0tKsiy66yKqsrHShlf1TtLFZs2aNJanDr4qKCnca2w919t45FEl37HU1PkVFRdaIESOstLQ0q6CgwFq/fn2MW9i/dTY+H3zwgXXxxRdb2dnZVlpamnXSSSe1KyGGvlNbW2vddNNN1siRI62UlBTrqKOOsn7wgx+0SdjC4bB11113WYcffrg1cOBA6xvf+IatayF6r6vxqaioiHqPsGbNGncb34/5LMuyYjy5DgAAAABAv8CebgAAAAAA+ghJNwAAAAAAfYSkGwAAAACAPkLSDQAAAABAHyHpBgAAAACgj5B0AwAAAADQR0i6AQAAAADoIyTdAAAAAAD0EZJuAADQzmuvvSafz6c9e/bY/m/uvvtunXLKKX3WJgAAvIikGwAAj3v00UeVnp6u5ubm1sf27dunAQMG6KyzzmoTG0mmt23b1unPHD9+vCorK+X3+x1t61lnnaWbb77Z0Z8JAEA8I+kGAMDjzj77bO3bt09//etfWx9bv369cnJy9Oabb6qhoaH18TVr1mjkyJE6+uijO/2ZycnJysnJkc/n67N2AwDQH5B0AwDgcccdd5xyc3P12muvtT722muv6YILLlB+fr42btzY5vGzzz5b4XBYRUVFys/PV2pqqk4++WT94Q9/aBN36PLy4uJiHXnkkUpLS9NFF12kX/ziFxoyZEi79ixZskR5eXny+/369re/rb1790qSrrzySq1du1a/+tWv5PP55PP5tH37dqd/HQAAxBWSbgAADHD22WdrzZo1rd+vWbNGZ511liZPntz6eH19vd58802dffbZKioq0tNPP61HH31Uf//733XLLbdo1qxZWrt2bYc///XXX9f111+vm266SVu3btXUqVN17733tovbtm2bXnjhBa1YsUIrVqzQ2rVr9ZOf/ESS9Ktf/UoFBQWaM2eOKisrVVlZqSOPPLIPfhsAAMSPJLcbAAAAeu/ss8/WzTffrObmZtXX1+vtt9/W5MmT1dTUpEcffVSSVFpaqgMHDuiss85SIBDQX/7yFxUUFEiSjjrqKG3YsEGPPfaYJk+e3O7n//rXv9b06dP1H//xH5KkY489Vm+88YZWrFjRJi4cDuupp55Senq6JGn27Nl69dVXde+998rv9ys5OVlpaWnKycnpy18HAABxg6QbAAADnHXWWdq/f7/eeust7d69W8cee6yGDRumyZMn66qrrlJDQ4Nee+01HXXUUdq3b5/q6uo0derUNj+jsbFRp556aoc///3339dFF13U5rFx48a1S7rz8vJaE25Jys3NVXV1tUO9BADAe0i6AQAwwDHHHKMRI0ZozZo12r17d+ts9fDhw3XkkUfqjTfe0Jo1azRlyhTt27dPkvTSSy/piCOOaPNzBg4c2Kt2DBgwoM33Pp9P4XC4Vz8TAAAvI+kGAMAQZ599tl577TXt3r1bt956a+vjkyZN0ssvv6xNmzZp7ty5CgQCGjhwoHbu3NnhUvKOHHfccXrrrbfaPHbo93YkJycrFAr9//buVyWWMI7j8PdoEfwTBLGqWNbiBaw4TBAsVqtpQdANA1tNBotsXKxehKxJBDF4B0bxDmSDoLB7mnA4J+iBYXV5njgwL79Jw4cZ3vfL9wHATyW6AWBClGWZo6OjvL+//xHTRVHk+Pg4b29vKcsy8/Pz6XQ6qaoqw+EwW1tbeXl5yf39fRYWFnJwcPDX2u12O9vb2+l2u9nb28vNzU36/f6XjxRbWVnJw8NDnp6eMjc3l8XFxUxN2dcVgMnlLQcAE6Isy7y+vmZ9fT3Ly8sf14uiyGAw+DhaLElOT09zcnKSs7OzNBqN7O7u5urqKqurq/9cu9ls5uLiIt1uN5ubm7m+vk5VVZmZmfnSjJ1OJ9PT09nY2MjS0lKen5///4EB4Af4NRqNRuMeAgD4eVqtVh4fH3N3dzfuUQDg2/J7OQDwKefn59nZ2cns7Gz6/X4uLy/T6/XGPRYAfGu+dAMAn7K/v5/b29sMBoOsra2l3W7n8PBw3GMBwLcmugEAAKAmNlIDAACAmohuAAAAqInoBgAAgJqIbgAAAKiJ6AYAAICaiG4AAACoiegGAACAmohuAAAAqInoBgAAgJr8BszmUCbCjQ3yAAAAAElFTkSuQmCC",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
"source": [
"plt.figure(figsize=(10,6))\n",
"plt.scatter(df['Weight'],df['Height'])\n",
@@ -918,14 +537,14 @@
"source": [
"## Conclusion\n",
"\n",
- "Dans ce notebook, nous avons appris à effectuer des opérations de base sur les données pour calculer des fonctions statistiques. Nous savons désormais comment utiliser un ensemble solide d'outils mathématiques et statistiques pour prouver certaines hypothèses, ainsi que comment calculer des intervalles de confiance pour des variables arbitraires à partir d'un échantillon de données.\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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
- "\n---\n\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 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.\n"
+ "---\n\n\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\n"
]
}
],
@@ -951,8 +570,8 @@
"version": "3.9.6"
},
"coopTranslator": {
- "original_hash": "0499b3f3da9a5b4cd91afc2a9d088298",
- "translation_date": "2025-09-06T17:00:22+00:00",
+ "original_hash": "0f899e3c5019f948e7c787b22f3b2304",
+ "translation_date": "2026-01-16T07:34:36+00:00",
"source_file": "1-Introduction/04-stats-and-probability/notebook.ipynb",
"language_code": "fr"
}
diff --git a/translations/fr/1-Introduction/README.md b/translations/fr/1-Introduction/README.md
index 1df607c7..1b4e943a 100644
--- a/translations/fr/1-Introduction/README.md
+++ b/translations/fr/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introduction à la Science des Données
-
+
> Photo par Stephen Dawson sur Unsplash
Dans ces leçons, vous découvrirez comment la Science des Données est définie et vous apprendrez les considérations éthiques qu'un data scientist doit prendre en compte. Vous apprendrez également ce que sont les données et vous vous familiariserez avec les bases des statistiques et de la probabilité, les domaines académiques fondamentaux de la Science des Données.
diff --git a/translations/fr/2-Working-With-Data/07-python/README.md b/translations/fr/2-Working-With-Data/07-python/README.md
index 836522bf..51934958 100644
--- a/translations/fr/2-Working-With-Data/07-python/README.md
+++ b/translations/fr/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Travailler avec Python - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Bien que les bases de données offrent des moyens très efficaces de stocker et d'interroger des données à l'aide de langages de requête, la méthode la plus flexible pour traiter les données reste d'écrire son propre programme pour les manipuler. Dans de nombreux cas, effectuer une requête dans une base de données serait plus efficace. Cependant, dans certains cas où un traitement de données plus complexe est nécessaire, cela ne peut pas être facilement réalisé avec SQL.
Le traitement des données peut être programmé dans n'importe quel langage, mais certains langages sont plus adaptés au travail avec les données. Les data scientists préfèrent généralement l'un des langages suivants :
@@ -72,7 +72,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Supposons maintenant que chaque semaine, nous organisons une fête pour nos amis et que nous prenons 10 packs de glaces supplémentaires pour la fête. Nous pouvons créer une autre série, indexée par semaine, pour le démontrer :
```python
@@ -83,7 +83,7 @@ Lorsque nous additionnons deux séries, nous obtenons le total :
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Note** : Nous n'utilisons pas la syntaxe simple `total_items+additional_items`. Si nous l'avions fait, nous aurions obtenu de nombreuses valeurs `NaN` (*Not a Number*) dans la série résultante. Cela est dû au fait qu'il manque des valeurs pour certains points d'index dans la série `additional_items`, et additionner `NaN` à quoi que ce soit donne `NaN`. Ainsi, nous devons spécifier le paramètre `fill_value` lors de l'addition.
@@ -92,7 +92,7 @@ Avec les séries temporelles, nous pouvons également **reéchantillonner** la s
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -218,7 +218,7 @@ Le premier problème sur lequel nous allons nous concentrer est la modélisation
Puisque nous voulons démontrer comment traiter les données, nous vous invitons à ouvrir [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) et à le lire de haut en bas. Vous pouvez également exécuter les cellules et relever certains défis que nous avons laissés pour vous à la fin.
-
+
> Si vous ne savez pas comment exécuter du code dans Jupyter Notebook, consultez [cet article](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -240,7 +240,7 @@ Un exemple complet d'analyse de ce jeu de données en utilisant le service cogni
Ouvrez [`notebook-papers.ipynb`](notebook-papers.ipynb) et lisez-le de haut en bas. Vous pouvez également exécuter les cellules et relever certains défis que nous avons laissés pour vous à la fin.
-
+
## Traitement des données d'image
diff --git a/translations/fr/2-Working-With-Data/README.md b/translations/fr/2-Working-With-Data/README.md
index cc563f32..3726a049 100644
--- a/translations/fr/2-Working-With-Data/README.md
+++ b/translations/fr/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Travailler avec les données
-
+
> Photo par Alexander Sinn sur Unsplash
Dans ces leçons, vous apprendrez certaines des façons dont les données peuvent être gérées, manipulées et utilisées dans les applications. Vous découvrirez les bases des bases de données relationnelles et non relationnelles, ainsi que la manière dont les données peuvent y être stockées. Vous apprendrez les fondamentaux de la gestion des données avec Python et explorerez plusieurs méthodes pour utiliser Python afin de gérer et d'exploiter les données.
diff --git a/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md b/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md
index a34dac1f..6bb048fb 100644
--- a/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Créez un diagramme de dispersion basique pour montrer la relation entre le prix
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Maintenant, affichez les mêmes données avec un schéma de couleurs miel pour montrer comment le prix évolue au fil des années. Vous pouvez le faire en ajoutant un paramètre 'hue' pour montrer le changement, année après année :
@@ -60,7 +60,7 @@ Maintenant, affichez les mêmes données avec un schéma de couleurs miel pour m
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Avec ce changement de schéma de couleurs, vous pouvez voir qu'il y a évidemment une forte progression au fil des années en termes de prix du miel par livre. En effet, si vous examinez un échantillon de données pour vérifier (choisissez un État donné, l'Arizona par exemple), vous pouvez voir un schéma d'augmentation des prix année après année, avec quelques exceptions :
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Vous pouvez voir la taille des points augmenter progressivement.
-
+
Est-ce un simple cas d'offre et de demande ? En raison de facteurs tels que le changement climatique et l'effondrement des colonies, y a-t-il moins de miel disponible à l'achat année après année, ce qui entraîne une augmentation des prix ?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Réponse : Oui, avec quelques exceptions autour de l'année 2003 :
-
+
✅ Parce que Seaborn agrège les données autour d'une seule ligne, il affiche "les multiples mesures à chaque valeur x en traçant la moyenne et l'intervalle de confiance à 95 % autour de la moyenne". [Source](https://seaborn.pydata.org/tutorial/relational.html). Ce comportement chronophage peut être désactivé en ajoutant `ci=None`.
@@ -114,7 +114,7 @@ Question : Eh bien, en 2003, pouvons-nous également voir un pic dans l'approvis
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Réponse : Pas vraiment. Si vous examinez la production totale, il semble qu'elle ait en fait augmenté cette année-là, même si, de manière générale, la quantité de miel produite est en déclin au cours de ces années.
@@ -139,7 +139,7 @@ sns.relplot(
```
Dans cette visualisation, vous pouvez comparer le rendement par colonie et le nombre de colonies année après année, côte à côte avec un wrap défini à 3 pour les colonnes :
-
+
Pour cet ensemble de données, rien ne se démarque particulièrement en ce qui concerne le nombre de colonies et leur rendement, année après année et État par État. Existe-t-il une autre façon de rechercher une corrélation entre ces deux variables ?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Bien que rien ne saute aux yeux autour de l'année 2003, cela nous permet de terminer cette leçon sur une note un peu plus joyeuse : bien qu'il y ait globalement un déclin du nombre de colonies, le nombre de colonies se stabilise même si leur rendement par colonie diminue.
diff --git a/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md
index 1fd81f52..74630ac0 100644
--- a/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Ici, vous installez le package `ggplot2` puis l'importez dans l'espace de travail avec la commande `library("ggplot2")`. Pour tracer un graphique dans ggplot, la fonction `ggplot()` est utilisée et vous spécifiez le jeu de données, les variables x et y comme attributs. Dans ce cas, nous utilisons la fonction `geom_line()` car nous visons à tracer un graphique linéaire.
-
+
Que remarquez-vous immédiatement ? Il semble y avoir au moins une valeur aberrante - quelle envergure impressionnante ! Une envergure de plus de 2000 centimètres équivaut à plus de 20 mètres - y aurait-il des ptérodactyles qui rôdent dans le Minnesota ? Enquêtons.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Nous spécifions l'angle dans le `theme` et définissons les étiquettes des axes x et y avec `xlab()` et `ylab()` respectivement. La fonction `ggtitle()` donne un titre au graphique.
-
+
Même avec une rotation des étiquettes réglée à 45 degrés, il y en a trop pour être lisibles. Essayons une autre stratégie : étiqueter uniquement les valeurs aberrantes et placer les étiquettes directement dans le graphique. Vous pouvez utiliser un graphique en nuage de points pour laisser plus de place aux étiquettes :
@@ -100,7 +100,7 @@ Que se passe-t-il ici ? Vous avez utilisé la fonction `geom_point()` pour trace
Que découvrez-vous ?
-
+
## Filtrer vos données
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Nous avons créé un nouveau dataframe `birds_filtered` puis tracé un nuage de points. En filtrant les valeurs aberrantes, vos données sont désormais plus cohérentes et compréhensibles.
-
+
Maintenant que nous avons un jeu de données plus propre en termes d'envergure, découvrons-en davantage sur ces oiseaux.
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
Dans l'extrait suivant, nous installons les packages [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) et [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) pour aider à manipuler et regrouper les données afin de tracer un graphique en barres empilées. Tout d'abord, vous regroupez les données par `Category` d'oiseau, puis vous résumez les colonnes `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Ensuite, vous tracez le graphique en barres avec le package `ggplot2` et spécifiez les couleurs pour les différentes catégories et les étiquettes.
-
+
Cependant, ce graphique en barres est illisible car il y a trop de données non regroupées. Vous devez sélectionner uniquement les données que vous souhaitez tracer, alors examinons la longueur des oiseaux en fonction de leur catégorie.
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Vous comptez d'abord les valeurs uniques dans la colonne `Category` puis les triez dans un nouveau dataframe `birds_count`. Ces données triées sont ensuite factoriées au même niveau afin qu'elles soient tracées dans l'ordre trié. Avec `ggplot2`, vous tracez ensuite les données dans un graphique en barres. La fonction `coord_flip()` trace des barres horizontales.
-
+
Ce graphique en barres montre une bonne vue du nombre d'oiseaux dans chaque catégorie. En un clin d'œil, vous voyez que le plus grand nombre d'oiseaux dans cette région appartient à la catégorie Canards/Oies/Oiseaux aquatiques. Le Minnesota est le "pays des 10 000 lacs", donc cela n'est pas surprenant !
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Nous regroupons les données `birds_filtered` par `Category` puis traçons un graphique en barres.
-
+
Rien de surprenant ici : les colibris ont la LongueurMax la plus faible comparée aux pélicans ou aux oies. C'est bien lorsque les données ont du sens logiquement !
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Défi
diff --git a/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md
index 6e646d24..c00b88d8 100644
--- a/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Cela donne un aperçu de la distribution générale de la longueur corporelle par ordre d'oiseaux, mais ce n'est pas la meilleure façon de représenter les distributions réelles. Cette tâche est généralement mieux réalisée avec un histogramme.
@@ -57,7 +57,7 @@ Cela donne un aperçu de la distribution générale de la longueur corporelle pa
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Comme vous pouvez le voir, la plupart des 400+ oiseaux de ce jeu de données ont une Masse Corporelle Max inférieure à 2000. Obtenez plus d'informations sur les données en modifiant le paramètre `bins` à une valeur plus élevée, comme 30 :
@@ -65,7 +65,7 @@ Comme vous pouvez le voir, la plupart des 400+ oiseaux de ce jeu de données ont
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Ce graphique montre la distribution de manière un peu plus détaillée. Un graphique moins biaisé vers la gauche pourrait être créé en s'assurant que vous ne sélectionnez que des données dans une plage donnée :
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Essayez d'autres filtres et points de données. Pour voir la distribution complète des données, supprimez le filtre `['MaxBodyMass']` pour afficher les distributions étiquetées.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Il semble y avoir une corrélation attendue entre ces deux éléments le long d'un axe attendu, avec un point de convergence particulièrement fort :
-
+
Les histogrammes fonctionnent bien par défaut pour les données numériques. Que faire si vous devez examiner les distributions en fonction de données textuelles ?
## Explorer le jeu de données pour les distributions à l'aide de données textuelles
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Il ne semble pas y avoir de bonne corrélation entre l'envergure minimale et le statut de conservation. Testez d'autres éléments du jeu de données en utilisant cette méthode. Essayez également différents filtres. Trouvez-vous une corrélation ?
@@ -136,7 +136,7 @@ Travaillons maintenant avec des graphiques de densité !
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Vous pouvez voir comment le graphique reflète le précédent pour les données d'EnvergureMin ; il est juste un peu plus fluide. Si vous vouliez revisiter cette ligne irrégulière de MasseCorporelleMax dans le deuxième graphique que vous avez construit, vous pourriez la lisser très bien en la recréant avec cette méthode :
@@ -144,7 +144,7 @@ Vous pouvez voir comment le graphique reflète le précédent pour les données
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Si vous vouliez une ligne lisse, mais pas trop lisse, modifiez le paramètre `adjust` :
@@ -152,7 +152,7 @@ Si vous vouliez une ligne lisse, mais pas trop lisse, modifiez le paramètre `ad
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Lisez les paramètres disponibles pour ce type de graphique et expérimentez !
@@ -162,7 +162,7 @@ Ce type de graphique offre des visualisations magnifiquement explicatives. Avec
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Défi
diff --git a/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md
index ffa46c6a..6af86f84 100644
--- a/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voilà, un graphique en secteurs montrant les proportions de ces données selon ces deux classes de champignons. Il est très important de respecter l'ordre des étiquettes, surtout ici, alors assurez-vous de vérifier l'ordre dans lequel le tableau des étiquettes est construit !
-
+
## Anneaux !
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Ce code utilise deux bibliothèques - ggplot2 et webr. En utilisant la fonction PieDonut de la bibliothèque webr, nous pouvons facilement créer un graphique en anneau !
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Avec un graphique en gaufres, vous pouvez clairement voir les proportions des couleurs de chapeau dans cet ensemble de données sur les champignons. Fait intéressant, il y a beaucoup de champignons avec des chapeaux verts !
-
+
Dans cette leçon, vous avez appris trois façons de visualiser les proportions. Tout d'abord, vous devez regrouper vos données en catégories, puis décider de la meilleure façon de les afficher - en secteurs, en anneau ou en gaufres. Tous sont délicieux et offrent à l'utilisateur un aperçu instantané d'un ensemble de données.
diff --git a/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md
index 60d24cce..d2a1b910 100644
--- a/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Maintenant, affichez les mêmes données avec un schéma de couleurs miel pour montrer comment le prix évolue au fil des années. Vous pouvez le faire en ajoutant un paramètre 'scale_color_gradientn' pour montrer le changement, année après année :
@@ -61,7 +61,7 @@ Maintenant, affichez les mêmes données avec un schéma de couleurs miel pour m
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Avec ce changement de schéma de couleurs, vous pouvez voir qu'il y a évidemment une forte progression au fil des années en termes de prix du miel par livre. En effet, si vous examinez un échantillon de données pour vérifier (choisissez un État donné, comme l'Arizona), vous pouvez voir un schéma d'augmentation des prix année après année, avec quelques exceptions :
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Vous pouvez voir la taille des points augmenter progressivement.
-
+
Est-ce un simple cas d'offre et de demande ? En raison de facteurs tels que le changement climatique et l'effondrement des colonies, y a-t-il moins de miel disponible à l'achat année après année, ce qui entraîne une augmentation des prix ?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Réponse : Oui, avec quelques exceptions autour de l'année 2003 :
-
+
Question : Eh bien, en 2003, pouvons-nous également observer un pic dans l'offre de miel ? Que se passe-t-il si vous examinez la production totale année après année ?
@@ -115,7 +115,7 @@ Question : Eh bien, en 2003, pouvons-nous également observer un pic dans l'offr
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Réponse : Pas vraiment. Si vous regardez la production totale, elle semble en fait avoir augmenté cette année-là, même si, de manière générale, la quantité de miel produite est en déclin pendant ces années.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Dans cette visualisation, vous pouvez comparer le rendement par colonie et le nombre de colonies année après année, côte à côte avec un wrap défini à 3 pour les colonnes :
-
+
Pour cet ensemble de données, rien ne semble particulièrement se démarquer en ce qui concerne le nombre de colonies et leur rendement, année après année et État par État. Existe-t-il une autre façon de rechercher une corrélation entre ces deux variables ?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Bien que rien ne saute aux yeux autour de l'année 2003, cela nous permet de terminer cette leçon sur une note un peu plus positive : bien qu'il y ait globalement une diminution du nombre de colonies, le nombre de colonies se stabilise même si leur rendement par colonie diminue.
diff --git a/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 5a3fb490..71a47464 100644
--- a/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Dans les leçons précédentes, vous avez expérimenté la création de toutes s
Même si un data scientist choisit soigneusement le bon graphique pour les bonnes données, il existe de nombreuses façons de présenter les données de manière à prouver un point, souvent au détriment des données elles-mêmes. Il existe de nombreux exemples de graphiques et d'infographies trompeurs !
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Comment les graphiques mentent")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Comment les graphiques mentent")
> 🎥 Cliquez sur l'image ci-dessus pour une conférence sur les graphiques trompeurs
Ce graphique inverse l'axe X pour montrer l'opposé de la vérité, basé sur les dates :
-
+
[Ce graphique](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) est encore plus trompeur, car l'œil est attiré vers la droite pour conclure qu'au fil du temps, les cas de COVID ont diminué dans les différents comtés. En réalité, si vous regardez attentivement les dates, vous constaterez qu'elles ont été réarrangées pour donner cette tendance descendante trompeuse.
-
+
Cet exemple notoire utilise la couleur ET un axe Y inversé pour tromper : au lieu de conclure que les décès par arme à feu ont augmenté après l'adoption d'une législation favorable aux armes, l'œil est trompé pour penser que l'inverse est vrai :
-
+
Ce graphique étrange montre comment la proportion peut être manipulée, avec un effet hilarant :
-
+
Comparer l'incomparable est une autre astuce douteuse. Il existe un [site web merveilleux](https://tylervigen.com/spurious-correlations) consacré aux 'corrélations fallacieuses' affichant des 'faits' corrélant des choses comme le taux de divorce dans le Maine et la consommation de margarine. Un groupe Reddit collecte également les [mauvaises utilisations](https://www.reddit.com/r/dataisugly/top/?t=all) des données.
@@ -100,13 +100,13 @@ Les graphiques ne sont pas significatifs s'ils ne sont pas lisibles ! Prenez un
Si vos données sont textuelles et longues sur l'axe X, vous pouvez incliner le texte pour une meilleure lisibilité. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) propose des tracés en 3D, si vos données le permettent. Des visualisations de données sophistiquées peuvent être produites avec cet outil.
-
+
## Animation et affichage de graphiques en 3D
Certaines des meilleures visualisations de données aujourd'hui sont animées. Shirley Wu en a créé d'incroyables avec D3, comme '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', où chaque fleur est une visualisation d'un film. Un autre exemple pour le Guardian est 'bussed out', une expérience interactive combinant des visualisations avec Greensock et D3, ainsi qu'un format d'article narratif pour montrer comment NYC gère son problème de sans-abris en envoyant des gens hors de la ville.
-
+
> "Bussed Out: How America Moves its Homeless" du [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisations par Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Bien que cette leçon ne soit pas suffisante pour enseigner en profondeur ces bi
Vous allez compléter une application web qui affichera une vue animée de ce réseau social. Elle utilise une bibliothèque conçue pour créer une [visualisation d'un réseau](https://github.com/emiliorizzo/vue-d3-network) avec Vue.js et D3. Lorsque l'application est en cours d'exécution, vous pouvez déplacer les nœuds sur l'écran pour réorganiser les données.
-
+
## Projet : Construire un graphique pour montrer un réseau avec D3.js
diff --git a/translations/fr/3-Data-Visualization/README.md b/translations/fr/3-Data-Visualization/README.md
index 27cc6291..c23beb3c 100644
--- a/translations/fr/3-Data-Visualization/README.md
+++ b/translations/fr/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualisations
-
+
> Photo par Jenna Lee sur Unsplash
Visualiser des données est l'une des tâches les plus importantes pour un data scientist. Les images valent mille mots, et une visualisation peut vous aider à identifier toutes sortes d'éléments intéressants dans vos données, tels que des pics, des valeurs aberrantes, des regroupements, des tendances, et bien plus encore, qui peuvent vous aider à comprendre l'histoire que vos données cherchent à raconter.
diff --git a/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md
index 85efe409..f43eb9e0 100644
--- a/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
Cette leçon se concentre sur 3 parties du cycle de vie : la capture, le traitement et la maintenance.
-
+
> Photo par [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Capture
@@ -101,7 +101,7 @@ Explorez le [cycle de vie du processus de science des données en équipe](https
|Processus de science des données en équipe (TDSP)|Processus standard intersectoriel pour l'exploration de données (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Image par [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Image par [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz après le cours](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/fr/4-Data-Science-Lifecycle/README.md b/translations/fr/4-Data-Science-Lifecycle/README.md
index 2666742a..0f6b76d2 100644
--- a/translations/fr/4-Data-Science-Lifecycle/README.md
+++ b/translations/fr/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Le cycle de vie de la science des données
-
+
> Photo par Headway sur Unsplash
Dans ces leçons, vous explorerez certains aspects du cycle de vie de la science des données, y compris l'analyse et la communication autour des données.
diff --git a/translations/fr/5-Data-Science-In-Cloud/README.md b/translations/fr/5-Data-Science-In-Cloud/README.md
index 1b17867f..5e159e14 100644
--- a/translations/fr/5-Data-Science-In-Cloud/README.md
+++ b/translations/fr/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# La Data Science dans le Cloud
-
+
> Photo par [Jelleke Vanooteghem](https://unsplash.com/@ilumire) sur [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Lorsqu'il s'agit de faire de la data science avec des données massives, le cloud peut être une véritable révolution. Dans les trois prochaines leçons, nous allons découvrir ce qu'est le cloud et pourquoi il peut être très utile. Nous explorerons également un jeu de données sur l'insuffisance cardiaque et construirons un modèle pour aider à évaluer la probabilité qu'une personne souffre d'une insuffisance cardiaque. Nous utiliserons la puissance du cloud pour entraîner, déployer et consommer un modèle de deux manières différentes. Une première méthode en utilisant uniquement l'interface utilisateur dans une approche Low code/No code, et une seconde méthode en utilisant le kit de développement logiciel Azure Machine Learning (Azure ML SDK).
-
+
### Sujets
diff --git a/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 0f9822c0..9e235b00 100644
--- a/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Grâce à la démocratisation de l'IA, les développeurs trouvent désormais plu
* [Science des données dans la santé](https://data-flair.training/blogs/data-science-in-healthcare/) - met en lumière des applications comme l'imagerie médicale (par exemple, IRM, radiographie, scanner), la génomique (séquençage ADN), le développement de médicaments (évaluation des risques, prédiction de succès), l'analyse prédictive (soins aux patients et logistique d'approvisionnement), le suivi et la prévention des maladies, etc.
- Crédit image : [Data Flair : 6 applications étonnantes de la science des données ](https://data-flair.training/blogs/data-science-applications/)
+ Crédit image : [Data Flair : 6 applications étonnantes de la science des données ](https://data-flair.training/blogs/data-science-applications/)
La figure montre d'autres domaines et exemples d'application des techniques de science des données. Vous voulez explorer d'autres applications ? Consultez la section [Révision et auto-apprentissage](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) ci-dessous.
diff --git a/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 1d4db887..96693492 100644
--- a/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ L'interface Explorer (illustrée dans la capture d'écran ci-dessous) vous perme
2. Explorer le [Catalogue](https://planetarycomputer.microsoft.com/catalog) des jeux de données - comprendre leur objectif.
3. Utiliser l'Explorer - choisir un jeu de données qui vous intéresse, sélectionner une requête et une option de rendu pertinentes.
-
+
`Votre tâche :`
Étudiez maintenant la visualisation affichée dans le navigateur et répondez aux questions suivantes :
diff --git a/translations/fr/CONTRIBUTING.md b/translations/fr/CONTRIBUTING.md
index fb9314b5..1ba08a4b 100644
--- a/translations/fr/CONTRIBUTING.md
+++ b/translations/fr/CONTRIBUTING.md
@@ -313,7 +313,7 @@ Incluez dans la description de votre PR :
```
````
-- Ajoutez du texte alternatif aux images : ``
+- Ajoutez du texte alternatif aux images : ``
- Gardez des longueurs de ligne raisonnables (environ 80-100 caractères)
### Python
diff --git a/translations/fr/README.md b/translations/fr/README.md
index 74002488..2a5e5418 100644
--- a/translations/fr/README.md
+++ b/translations/fr/README.md
@@ -1,221 +1,231 @@
# Data Science pour débutants - Un programme
-[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
+[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
-[](https://github.com/microsoft/Data-Science-For-Beginners/blob/master/LICENSE)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/graphs/contributors/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/issues/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/pulls/)
-[](http://makeapullrequest.com)
+[](https://github.com/microsoft/Data-Science-For-Beginners/blob/master/LICENSE)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/graphs/contributors/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/issues/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/pulls/)
+[](http://makeapullrequest.com)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/watchers/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/network/)
-[](https://GitHub.com/microsoft/Data-Science-For-Beginners/stargazers/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/watchers/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/network/)
+[](https://GitHub.com/microsoft/Data-Science-For-Beginners/stargazers/)
-[](https://discord.gg/nTYy5BXMWG)
+[](https://discord.gg/nTYy5BXMWG)
-[](https://aka.ms/foundry/forum)
+[](https://aka.ms/foundry/forum)
-Les Azure Cloud Advocates chez Microsoft sont heureux de proposer un programme de 10 semaines, 20 leçons entièrement consacré à la science des données. Chaque leçon comprend des quiz avant et après la leçon, des instructions écrites pour réaliser la leçon, une solution et un devoir. Notre pédagogie basée sur des projets vous permet d'apprendre en construisant, une méthode éprouvée pour que les nouvelles compétences « adhèrent ».
+Les Azure Cloud Advocates chez Microsoft sont heureux de proposer un programme de 10 semaines et 20 leçons entièrement consacré à la science des données. Chaque leçon comprend des quiz avant et après la leçon, des instructions écrites pour compléter la leçon, une solution, et un devoir. Notre pédagogie basée sur les projets vous permet d'apprendre en construisant, une méthode éprouvée pour que les nouvelles compétences « collent ».
**Un grand merci à nos auteurs :** [Jasmine Greenaway](https://www.twitter.com/paladique), [Dmitry Soshnikov](http://soshnikov.com), [Nitya Narasimhan](https://twitter.com/nitya), [Jalen McGee](https://twitter.com/JalenMcG), [Jen Looper](https://twitter.com/jenlooper), [Maud Levy](https://twitter.com/maudstweets), [Tiffany Souterre](https://twitter.com/TiffanySouterre), [Christopher Harrison](https://www.twitter.com/geektrainer).
-**🙏 Remerciements spéciaux 🙏 à nos auteurs, relecteurs et contributeurs de contenu [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** notamment Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
+**🙏 Remerciements particuliers 🙏 à nos auteurs, relecteurs et contributeurs de contenu [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** notamment Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
-| Data Science pour débutants - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+| Data Science Pour Débutants - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
-### 🌐 Prise en charge multilingue
+### 🌐 Support multilingue
-#### Pris en charge via GitHub Action (Automatisé et toujours à jour)
+#### Pris en charge via GitHub Action (Automatisé & Toujours à jour)
-[Arabe](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgare](../bg/README.md) | [Birman (Myanmar)](../my/README.md) | [Chinois (simplifié)](../zh/README.md) | [Chinois (traditionnel, Hong Kong)](../hk/README.md) | [Chinois (traditionnel, Macao)](../mo/README.md) | [Chinois (traditionnel, Taïwan)](../tw/README.md) | [Croate](../hr/README.md) | [Tchèque](../cs/README.md) | [Danois](../da/README.md) | [Néerlandais](../nl/README.md) | [Estonien](../et/README.md) | [Finnois](../fi/README.md) | [Français](./README.md) | [Allemand](../de/README.md) | [Grec](../el/README.md) | [Hébreu](../he/README.md) | [Hindi](../hi/README.md) | [Hongrois](../hu/README.md) | [Indonésien](../id/README.md) | [Italien](../it/README.md) | [Japonais](../ja/README.md) | [Kannada](../kn/README.md) | [Coréen](../ko/README.md) | [Lituanien](../lt/README.md) | [Malais](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Népali](../ne/README.md) | [Pidgin nigérian](../pcm/README.md) | [Norvégien](../no/README.md) | [Persan (farsi)](../fa/README.md) | [Polonais](../pl/README.md) | [Portugais (Brésil)](../br/README.md) | [Portugais (Portugal)](../pt/README.md) | [Pendjabi (Gurmukhi)](../pa/README.md) | [Roumain](../ro/README.md) | [Russe](../ru/README.md) | [Serbe (cyrillique)](../sr/README.md) | [Slovaque](../sk/README.md) | [Slovène](../sl/README.md) | [Espagnol](../es/README.md) | [Swahili](../sw/README.md) | [Suédois](../sv/README.md) | [Tagalog (philippin)](../tl/README.md) | [Tamoul](../ta/README.md) | [Télougou](../te/README.md) | [Thaï](../th/README.md) | [Turc](../tr/README.md) | [Ukrainien](../uk/README.md) | [Ourdou](../ur/README.md) | [Vietnamien](../vi/README.md)
+[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](./README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
+
+> **Vous préférez cloner localement ?**
+
+> Ce dépôt inclut plus de 50 traductions, ce qui augmente considérablement la taille du téléchargement. Pour cloner sans les traductions, utilisez le sparse checkout :
+> ```bash
+> git clone --filter=blob:none --sparse https://github.com/microsoft/Data-Science-For-Beginners.git
+> cd Data-Science-For-Beginners
+> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
+> ```
+> Cela vous donne tout ce dont vous avez besoin pour suivre le cours avec un téléchargement beaucoup plus rapide.
-**Si vous souhaitez que des langues de traduction supplémentaires soient prises en charge, elles sont listées [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
+**Si vous souhaitez que d’autres langues de traduction soient prises en charge, la liste est disponible [ici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
-#### Rejoignez notre communauté
-[](https://discord.gg/nTYy5BXMWG)
+#### Rejoignez notre communauté
+[](https://discord.gg/nTYy5BXMWG)
-Nous organisons une série Discord « Learn with AI », apprenez-en plus et rejoignez-nous sur [Learn with AI Series](https://aka.ms/learnwithai/discord) du 18 au 30 septembre 2025. Vous y recevrez des astuces et conseils pour utiliser GitHub Copilot pour la science des données.
+Nous avons une série Discord Apprenez avec l’IA en cours, apprenez-en plus et rejoignez-nous sur [Learn with AI Series](https://aka.ms/learnwithai/discord) du 18 au 30 septembre 2025. Vous y découvrirez des astuces pour utiliser GitHub Copilot en science des données.
-
+
# Êtes-vous étudiant ?
Commencez avec les ressources suivantes :
-- [Student Hub page](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) Sur cette page, vous trouverez des ressources pour débutants, des packs étudiants et même des moyens d'obtenir un bon pour une certification gratuite. C'est une page à ajouter à vos favoris et à consulter de temps en temps car nous remplaçons le contenu au moins une fois par mois.
-- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Rejoignez une communauté mondiale d'ambassadeurs étudiants, cela pourrait être votre porte d'entrée chez Microsoft.
+- [Page du Student Hub](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) Sur cette page, vous trouverez des ressources pour débutants, des packs étudiants et même des moyens d’obtenir un bon pour une certification gratuite. C’est une page à mettre en favori et à consulter régulièrement, car le contenu y est renouvelé au moins chaque mois.
+- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Rejoignez une communauté mondiale d’ambassadeurs étudiants, cela pourrait être votre porte d’entrée chez Microsoft.
# Premiers pas
## 📚 Documentation
-- **[Guide d'installation](INSTALLATION.md)** - Instructions de configuration étape par étape pour les débutants
-- **[Guide d'utilisation](USAGE.md)** - Exemples et flux de travail courants
-- **[Dépannage](TROUBLESHOOTING.md)** - Solutions aux problèmes courants
+- **[Guide d’installation](INSTALLATION.md)** - Instructions de configuration étape par étape pour débutants
+- **[Guide d’utilisation](USAGE.md)** - Exemples et flux de travail courants
+- **[Dépannage](TROUBLESHOOTING.md)** - Solutions aux problèmes fréquents
- **[Guide de contribution](CONTRIBUTING.md)** - Comment contribuer à ce projet
- **[Pour les enseignants](for-teachers.md)** - Conseils pédagogiques et ressources pour la classe
## 👨🎓 Pour les étudiants
-> **Débutants complets** : Nouveau en science des données ? Commencez par nos [exemples pour débutants](examples/README.md) ! Ces exemples simples et bien commentés vous aideront à comprendre les bases avant d'aborder le programme complet.
-> **[Étudiants](https://aka.ms/student-page)** : pour utiliser ce programme de manière autonome, forkiez l'ensemble du dépôt et réalisez les exercices par vous-même, en commençant par un quiz pré-lecture. Ensuite, lisez la leçon et complétez le reste des activités. Essayez de créer les projets en comprenant les leçons plutôt qu'en copiant le code de la solution ; ce code est toutefois disponible dans les dossiers /solutions de chaque leçon orientée projet. Une autre idée est de former un groupe d'étude avec des amis et de parcourir le contenu ensemble. Pour approfondir, nous recommandons [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
+> **Débutants complets** : Nouveau en science des données ? Commencez avec nos [exemples pour débutants](examples/README.md) ! Ces exemples simples et bien commentés vous aideront à comprendre les bases avant de vous plonger dans le programme complet.
+> **[Étudiants](https://aka.ms/student-page)** : pour utiliser ce programme de façon autonome, créez un fork complet du dépôt et faites les exercices seul(e), en commençant par un quiz pré-conférence. Puis lisez la conférence et complétez les activités restantes. Essayez de réaliser les projets en comprenant les leçons plutôt qu’en copiant le code solution ; cependant, ce code est disponible dans les dossiers /solutions de chaque leçon centrée sur un projet. Une autre idée serait de former un groupe d’étude avec des amis et de parcourir le contenu ensemble. Pour approfondir, nous recommandons [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
**Démarrage rapide :**
-1. Consultez le [Guide d'installation](INSTALLATION.md) pour configurer votre environnement
-2. Lisez le [Guide d'utilisation](USAGE.md) pour apprendre à travailler avec le programme
-3. Commencez par la leçon 1 et progressez dans l'ordre
-4. Rejoignez notre [communauté Discord](https://aka.ms/ds4beginners/discord) pour obtenir de l'aide
+1. Consultez le [Guide d’installation](INSTALLATION.md) pour configurer votre environnement
+2. Parcourez le [Guide d’utilisation](USAGE.md) pour apprendre à travailler avec le programme
+3. Commencez par la leçon 1 et suivez-les dans l’ordre
+4. Rejoignez notre [communauté Discord](https://aka.ms/ds4beginners/discord) pour obtenir de l’aide
## 👩🏫 Pour les enseignants
-> **Enseignants** : nous avons [inclus quelques suggestions](for-teachers.md) sur la façon d'utiliser ce programme. Nous serions ravis d'avoir vos retours [sur notre forum de discussion](https://github.com/microsoft/Data-Science-For-Beginners/discussions) !
-
-## Rencontrez l'équipe
+> **Enseignants** : nous avons [inclus quelques suggestions](for-teachers.md) sur la manière d’utiliser ce programme. Vos retours nous intéressent [dans notre forum de discussion](https://github.com/microsoft/Data-Science-For-Beginners/discussions) !
+## Rencontrez l’équipe
[](https://youtu.be/8mzavjQSMM4 "Vidéo promo")
**Gif par** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
-> 🎥 Cliquez sur l'image ci‑dessus pour une vidéo sur le projet et les personnes qui l'ont créé !
+
+> 🎥 Cliquez sur l'image ci-dessus pour une vidéo sur le projet et les personnes qui l'ont créé !
## Pédagogie
-Nous avons choisi deux principes pédagogiques lors de la construction de ce programme : veiller à ce qu'il soit axé sur des projets et qu'il inclue des quiz fréquents. À la fin de cette série, les apprenant·e·s auront acquis les principes de base de la science des données, y compris des concepts éthiques, la préparation des données, différentes manières de travailler avec les données, la visualisation des données, l'analyse des données, des cas d'utilisation réels de la science des données, et plus encore.
+Nous avons choisi deux principes pédagogiques lors de la construction de ce cursus : s'assurer qu'il soit basé sur des projets et qu'il inclue des quiz fréquents. À la fin de cette série, les étudiants auront appris les principes de base de la science des données, y compris les concepts éthiques, la préparation des données, différentes manières de travailler avec les données, la visualisation des données, l'analyse des données, des cas d'usage réels de la science des données, et plus encore.
-De plus, un quiz à faible enjeu avant une leçon oriente l'intention de l'apprenant·e vers l'apprentissage d'un sujet, tandis qu'un second quiz après la leçon assure une meilleure rétention. Ce programme a été conçu pour être flexible et amusant et peut être suivi en totalité ou partiellement. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 10 semaines.
+De plus, un quiz à faible enjeu avant un cours oriente l'intention de l'étudiant vers l'apprentissage d'un sujet, tandis qu'un second quiz après la classe assure une meilleure rétention. Ce cursus a été conçu pour être flexible et ludique et peut être suivi dans son intégralité ou en partie. Les projets commencent petits et deviennent de plus en plus complexes à la fin du cycle de 10 semaines.
-> Retrouvez notre [Code de conduite](CODE_OF_CONDUCT.md), [guide de contribution](CONTRIBUTING.md), [consignes de traduction](TRANSLATIONS.md). Nous accueillons vos retours constructifs !
+> Retrouvez notre [Code de conduite](CODE_OF_CONDUCT.md), [Contributions](CONTRIBUTING.md), [Traduction](TRANSLATIONS.md). Nous accueillons vos retours constructifs !
-## Chaque leçon comprend :
+## Chaque leçon inclut :
- Sketchnote optionnel
- Vidéo complémentaire optionnelle
-- Quiz d'échauffement avant la leçon
+- Quiz d’échauffement avant la leçon
- Leçon écrite
-- Pour les leçons basées sur des projets, des guides étape par étape pour construire le projet
+- Pour les leçons basées sur un projet, des guides étape par étape pour construire le projet
- Vérifications des connaissances
- Un défi
- Lectures complémentaires
-- Devoir
+- Devoirs
- [Quiz post-leçon](https://ff-quizzes.netlify.app/en/)
-> **Une note sur les quiz** : Tous les quiz sont contenus dans le dossier Quiz-App, soit 40 quiz au total de trois questions chacun. Ils sont liés depuis les leçons, mais l'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement localisés.
+> **Une note sur les quiz** : Tous les quiz se trouvent dans le dossier Quiz-App, pour un total de 40 quiz de trois questions chacun. Ils sont liés depuis les leçons, mais l'application de quiz peut être exécutée localement ou déployée sur Azure ; suivez les instructions dans le dossier `quiz-app`. Ils sont progressivement localisés.
-## 🎓 Exemples conviviaux pour débutants
+## 🎓 Exemples pour débutants
-**Nouveau·lle en science des données ?** Nous avons créé un [répertoire d'exemples](examples/README.md) spécial avec du code simple et bien commenté pour vous aider à démarrer :
+**Nouveau en science des données ?** Nous avons créé un répertoire spécial [exemples](examples/README.md) avec des codes simples et bien commentés pour vous aider à démarrer :
- 🌟 **Hello World** - Votre premier programme de science des données
-- 📂 **Chargement des données** - Apprenez à lire et explorer des jeux de données
+- 📂 **Chargement de données** - Apprenez à lire et explorer des jeux de données
- 📊 **Analyse simple** - Calculer des statistiques et trouver des motifs
-- 📈 **Visualisation de base** - Créer des graphiques et des diagrammes
+- 📈 **Visualisation basique** - Créer des graphiques et des diagrammes
- 🔬 **Projet réel** - Flux de travail complet du début à la fin
-Chaque exemple inclut des commentaires détaillés expliquant chaque étape, ce qui le rend parfait pour les débutant·e·s absolu·e·s !
+Chaque exemple inclut des commentaires détaillés expliquant chaque étape, parfait pour les débutants absolus !
👉 **[Commencez par les exemples](examples/README.md)** 👈
## Leçons
-||
+||
|:---:|
| Science des données pour débutants : feuille de route - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
-| Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
+| Numéro de leçon | Sujet | Groupe de leçons | Objectifs d'apprentissage | Leçon liée | Auteur |
| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
-| 01 | Définir la science des données | [Introduction](1-Introduction/README.md) | Comprendre les concepts de base de la science des données et son lien avec l'intelligence artificielle, le machine learning et le big data. | [leçon](1-Introduction/01-defining-data-science/README.md) [vidéo](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
-| 02 | Éthique en science des données | [Introduction](1-Introduction/README.md) | Concepts, défis et cadres de l'éthique des données. | [leçon](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
-| 03 | Définir les données | [Introduction](1-Introduction/README.md) | Comment les données sont classifiées et leurs sources courantes. | [leçon](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
-| 04 | Introduction aux statistiques et probabilités | [Introduction](1-Introduction/README.md) | Les techniques mathématiques de probabilité et de statistique pour comprendre les données. | [leçon](1-Introduction/04-stats-and-probability/README.md) [vidéo](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
-| 05 | Travailler avec des données relationnelles | [Working With Data](2-Working-With-Data/README.md) | Introduction aux données relationnelles et aux bases de l'exploration et de l'analyse des données relationnelles avec le Structured Query Language, également connu sous le nom SQL (prononcé “see-quell”). | [leçon](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
-| 06 | Travailler avec des données NoSQL | [Working With Data](2-Working-With-Data/README.md) | Introduction aux données non relationnelles, à leurs différents types et aux bases de l'exploration et de l'analyse des bases de données documentaires. | [leçon](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
-| 07 | Travailler avec Python | [Working With Data](2-Working-With-Data/README.md) | Bases de l'utilisation de Python pour l'exploration des données avec des bibliothèques telles que Pandas. Une compréhension de base de la programmation Python est recommandée. | [leçon](2-Working-With-Data/07-python/README.md) [vidéo](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
-| 08 | Préparation des données | [Working With Data](2-Working-With-Data/README.md) | Sujets sur les techniques de données pour nettoyer et transformer les données afin de gérer les problèmes de données manquantes, inexactes ou incomplètes. | [leçon](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
-| 09 | Visualiser des quantités | [Data Visualization](3-Data-Visualization/README.md) | Apprenez à utiliser Matplotlib pour visualiser des données d'oiseaux 🦆 | [leçon](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 10 | Visualiser les distributions de données | [Data Visualization](3-Data-Visualization/README.md) | Visualiser des observations et des tendances au sein d'un intervalle. | [leçon](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 11 | Visualiser des proportions | [Data Visualization](3-Data-Visualization/README.md) | Visualiser des pourcentages discrets et regroupés. | [leçon](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 12 | Visualiser des relations | [Data Visualization](3-Data-Visualization/README.md) | Visualiser les connexions et corrélations entre des ensembles de données et leurs variables. | [leçon](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 13 | Visualisations significatives | [Data Visualization](3-Data-Visualization/README.md) | Techniques et conseils pour rendre vos visualisations utiles pour résoudre efficacement des problèmes et obtenir des insights. | [leçon](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
-| 14 | Introduction au cycle de vie de la science des données | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Introduction au cycle de vie de la science des données et à sa première étape d'acquisition et d'extraction des données. | [leçon](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
-| 15 | Analyse | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Cette phase du cycle de vie de la science des données se concentre sur les techniques d'analyse des données. | [leçon](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
-| 16 | Communication | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Cette phase du cycle de vie de la science des données se concentre sur la présentation des insights issus des données d'une manière qui facilite la compréhension par les décideurs. | [leçon](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
-| 17 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Cette série de leçons présente la science des données dans le cloud et ses avantages. | [leçon](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
-| 18 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Entraînement de modèles en utilisant des outils Low Code. |[leçon](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
-| 19 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Déploiement de modèles avec Azure Machine Learning Studio. | [leçon](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
-| 20 | Science des données sur le terrain | [In the Wild](6-Data-Science-In-Wild/README.md) | Projets pilotés par la science des données dans le monde réel. | [leçon](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
-
-## GitHub Codespaces
+| 01 | Définir la science des données | [Introduction](1-Introduction/README.md) | Apprendre les concepts de base derrière la science des données et comment elle est liée à l'intelligence artificielle, au machine learning et au big data. | [leçon](1-Introduction/01-defining-data-science/README.md) [vidéo](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | Éthique en science des données | [Introduction](1-Introduction/README.md) | Concepts, défis et cadres éthiques des données. | [leçon](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | Définir les données | [Introduction](1-Introduction/README.md) | Comment les données sont classifiées et leurs sources communes. | [leçon](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | Introduction aux statistiques & probabilités | [Introduction](1-Introduction/README.md) | Techniques mathématiques de la probabilité et des statistiques pour comprendre les données. | [leçon](1-Introduction/04-stats-and-probability/README.md) [vidéo](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | Travailler avec des données relationnelles | [Working With Data](2-Working-With-Data/README.md) | Introduction aux données relationnelles et aux bases de l'exploration et de l'analyse avec le langage de requête structurée, également appelé SQL (prononcé « see-quell »). | [leçon](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
+| 06 | Travailler avec des données NoSQL | [Working With Data](2-Working-With-Data/README.md) | Introduction aux données non relationnelles, leurs différents types et les bases de l'exploration et de l'analyse des bases de données documentaires. | [leçon](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
+| 07 | Travailler avec Python | [Working With Data](2-Working-With-Data/README.md) | Bases de l'utilisation de Python pour explorer les données avec des bibliothèques comme Pandas. Une compréhension de base de la programmation Python est recommandée. | [leçon](2-Working-With-Data/07-python/README.md) [vidéo](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | Préparation des données | [Working With Data](2-Working-With-Data/README.md) | Techniques pour nettoyer et transformer les données afin de gérer les défis des données manquantes, inexactes ou incomplètes. | [leçon](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | Visualiser les quantités | [Data Visualization](3-Data-Visualization/README.md) | Apprenez à utiliser Matplotlib pour visualiser les données d'oiseaux 🦆 | [leçon](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | Visualiser les distributions de données | [Data Visualization](3-Data-Visualization/README.md) | Visualiser les observations et tendances au sein d'un intervalle. | [leçon](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | Visualiser les proportions | [Data Visualization](3-Data-Visualization/README.md) | Visualiser des pourcentages discrets et groupés. | [leçon](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | Visualiser les relations | [Data Visualization](3-Data-Visualization/README.md) | Visualiser les connexions et corrélations entre ensembles de données et leurs variables. | [leçon](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | Visualisations significatives | [Data Visualization](3-Data-Visualization/README.md) | Techniques et conseils pour rendre vos visualisations utiles pour une résolution efficace des problèmes et des insights. | [leçon](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | Introduction au cycle de vie de la science des données | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Introduction au cycle de vie de la science des données et à sa première étape d’acquisition et d’extraction des données. | [leçon](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | Analyser | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Cette phase du cycle de vie de la science des données se concentre sur les techniques d'analyse des données. | [leçon](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | Communication | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Cette phase du cycle de vie de la science des données se concentre sur la présentation des insights extraits des données d'une manière qui facilite la compréhension par les décideurs. | [leçon](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Cette série de leçons introduit la science des données dans le cloud et ses avantages. | [leçon](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) et [Maud](https://twitter.com/maudstweets) |
+| 18 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Entraînement de modèles avec des outils Low Code. |[leçon](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) et [Maud](https://twitter.com/maudstweets) |
+| 19 | Science des données dans le cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Déploiement de modèles avec Azure Machine Learning Studio. | [leçon](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) et [Maud](https://twitter.com/maudstweets) |
+| 20 | Science des données sur le terrain | [In the Wild](6-Data-Science-In-Wild/README.md) | Projets de science des données appliqués dans le monde réel. | [leçon](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## Codespaces GitHub
Suivez ces étapes pour ouvrir cet exemple dans un Codespace :
1. Cliquez sur le menu déroulant Code et sélectionnez l'option Open with Codespaces.
-2. Sélectionnez + New codespace en bas du volet.
+2. Sélectionnez + New codespace en bas du panneau.
Pour plus d'informations, consultez la [documentation GitHub](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
## VSCode Remote - Containers
-Suivez ces étapes pour ouvrir ce dépôt dans un conteneur en utilisant votre machine locale et VSCode avec l'extension VS Code Remote - Containers :
+Suivez ces étapes pour ouvrir ce dépôt dans un conteneur en utilisant votre machine locale et VSCode avec l’extension VS Code Remote - Containers :
-1. Si c'est la première fois que vous utilisez un conteneur de développement, assurez-vous que votre système remplit les prérequis (par ex. avoir Docker installé) dans [la documentation de démarrage](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
+1. Si c’est votre première fois à utiliser un conteneur de développement, assurez-vous que votre système répond aux prérequis (c’est-à-dire avoir Docker installé) dans [la documentation de démarrage](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
Pour utiliser ce dépôt, vous pouvez soit ouvrir le dépôt dans un volume Docker isolé :
-**Note** : En coulisses, cela utilisera la commande Remote-Containers: **Clone Repository in Container Volume...** pour cloner le code source dans un volume Docker au lieu du système de fichiers local. [Volumes](https://docs.docker.com/storage/volumes/) sont le mécanisme privilégié pour la persistance des données de conteneur.
+**Note** : Sous le capot, cela utilisera la commande Remote-Containers : **Clone Repository in Container Volume...** pour cloner le code source dans un volume Docker plutôt que sur le système de fichiers local. Les [volumes](https://docs.docker.com/storage/volumes/) sont le mécanisme préféré pour la persistance des données des conteneurs.
-Ou ouvrez une version clonée ou téléchargée localement du dépôt :
+Ou ouvrez une version localement clonée ou téléchargée du dépôt :
-- Clonez ce dépôt sur votre système de fichiers local.
+- Cloner ce dépôt sur votre système de fichiers local.
- Appuyez sur F1 et sélectionnez la commande **Remote-Containers: Open Folder in Container...**.
- Sélectionnez la copie clonée de ce dossier, attendez que le conteneur démarre, puis essayez.
## Accès hors ligne
-Vous pouvez exécuter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site sera servi sur le port 3000 de votre localhost : `localhost:3000`.
+Vous pouvez consulter cette documentation hors ligne en utilisant [Docsify](https://docsify.js.org/#/). Forkez ce dépôt, [installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de ce dépôt, tapez `docsify serve`. Le site web sera servi sur le port 3000 de votre localhost : `localhost:3000`.
-> Note, les notebooks ne seront pas rendus via Docsify, donc lorsque vous devez exécuter un notebook, faites-le séparément dans VS Code en utilisant un noyau Python.
+> Note, les notebooks ne seront pas rendus via Docsify, donc quand vous avez besoin d'exécuter un notebook, faites-le séparément dans VS Code avec un kernel Python.
## Autres cursus
-Notre équipe produit d'autres cursus ! Consultez :
+Notre équipe produit d’autres cursus ! Découvrez :
### LangChain
-[](https://aka.ms/langchain4j-for-beginners)
-[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
+[](https://aka.ms/langchain4j-for-beginners)
+[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
-[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
+[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-
-### Série IA générative
-[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
-[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
-[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
-[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
+
+### Série IA Générative
+[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
+[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
+[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
+[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
-
-### Apprentissage de base
+
+### Apprentissage Fondamental
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@@ -225,7 +235,7 @@ Notre équipe produit d'autres cursus ! Consultez :
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
-
+
### Série Copilot
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
@@ -234,19 +244,19 @@ Notre équipe produit d'autres cursus ! Consultez :
## Obtenir de l'aide
-**Rencontrez-vous des problèmes ?** Consultez notre [Guide de dépannage](TROUBLESHOOTING.md) pour des solutions aux problèmes courants.
+**Des problèmes rencontrés ?** Consultez notre [Guide de dépannage](TROUBLESHOOTING.md) pour des solutions aux problèmes courants.
-Si vous êtes bloqué ou avez des questions concernant la création d'applications IA. Rejoignez d'autres apprenants et des développeurs expérimentés dans les discussions autour de MCP. C'est une communauté solidaire où les questions sont les bienvenues et où les connaissances sont partagées librement.
+Si vous êtes bloqué ou avez des questions sur la création d'applications IA. Rejoignez d'autres apprenants et développeurs expérimentés dans des discussions sur MCP. C'est une communauté bienveillante où les questions sont les bienvenues et où le savoir est partagé librement.
-[](https://discord.gg/nTYy5BXMWG)
+[](https://discord.gg/nTYy5BXMWG)
-Si vous avez des retours sur le produit ou des erreurs lors du développement, visitez:
+Si vous avez des retours sur le produit ou des erreurs lors du développement, rendez-vous sur :
-[](https://aka.ms/foundry/forum)
+[](https://aka.ms/foundry/forum)
---
-Clause de non-responsabilité :
-Ce document a été traduit à l'aide du service de traduction par IA [Co-op Translator](https://github.com/Azure/co-op-translator). Nous nous efforçons d'être précis, mais 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 foi. Pour les informations critiques, une traduction professionnelle effectuée par un traducteur humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de l'utilisation de cette traduction.
+**Clause de non-responsabilité** :
+Ce document a été traduit à l’aide du service de traduction IA [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d’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, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de l’utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/sketchnotes/README.md b/translations/fr/sketchnotes/README.md
index 2d07c488..0a7b0384 100644
--- a/translations/fr/sketchnotes/README.md
+++ b/translations/fr/sketchnotes/README.md
@@ -13,7 +13,7 @@ Retrouvez toutes les sketchnotes ici !
Nitya Narasimhan, artiste
-
+
**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 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.
\ No newline at end of file
diff --git a/translations/he/1-Introduction/01-defining-data-science/README.md b/translations/he/1-Introduction/01-defining-data-science/README.md
index 0d6123ee..bc5d6879 100644
--- a/translations/he/1-Introduction/01-defining-data-science/README.md
+++ b/translations/he/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [שאלון לפני ההרצאה](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
באתגר הזה, ננסה למצוא מושגים רלוונטיים לתחום מדעי הנתונים על ידי התבוננות בטקסטים. ניקח מאמר מוויקיפדיה על מדעי הנתונים, נוריד ונעבד את הטקסט, ואז נבנה ענן מילים כמו זה:
-
+
בקרו ב-[`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') כדי לקרוא את הקוד. תוכלו גם להריץ את הקוד ולראות כיצד הוא מבצע את כל השינויים בנתונים בזמן אמת.
diff --git a/translations/he/1-Introduction/04-stats-and-probability/README.md b/translations/he/1-Introduction/04-stats-and-probability/README.md
index e8848ba9..08dcc59c 100644
--- a/translations/he/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/he/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
סטטיסטיקה ותורת ההסתברות הן שני תחומים מתמטיים הקשורים זה לזה באופן הדוק, והם בעלי חשיבות רבה במדעי הנתונים. ניתן לעבוד עם נתונים גם ללא ידע מעמיק במתמטיקה, אך עדיין עדיף להכיר לפחות כמה מושגים בסיסיים. כאן נציג מבוא קצר שיעזור לכם להתחיל.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [שאלון לפני השיעור](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
ניתן לדבר רק על ההסתברות שמשתנה ייפול בטווח ערכים מסוים, למשל P(t1≤X2). במקרה זה, התפלגות ההסתברות מתוארת באמצעות **פונקציית צפיפות הסתברות** p(x), כך ש-
-.
diff --git a/translations/he/1-Introduction/README.md b/translations/he/1-Introduction/README.md
index 0537d41a..866e8e03 100644
--- a/translations/he/1-Introduction/README.md
+++ b/translations/he/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# מבוא למדעי הנתונים
-
+
> צילום על ידי Stephen Dawson ב-Unsplash
בשיעורים אלו תגלו כיצד מוגדרים מדעי הנתונים ותלמדו על שיקולים אתיים שעל מדען נתונים לקחת בחשבון. בנוסף, תלמדו מהי ההגדרה של נתונים ותכירו מעט את תחומי הסטטיסטיקה וההסתברות, שהם הבסיס האקדמי של מדעי הנתונים.
diff --git a/translations/he/2-Working-With-Data/07-python/README.md b/translations/he/2-Working-With-Data/07-python/README.md
index 576432b4..17acea44 100644
--- a/translations/he/2-Working-With-Data/07-python/README.md
+++ b/translations/he/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| עבודה עם Python - _סקיצה מאת [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
בעוד שמאגרי נתונים מציעים דרכים יעילות מאוד לאחסן נתונים ולבצע שאילתות באמצעות שפות שאילתה, הדרך הגמישה ביותר לעיבוד נתונים היא כתיבת תוכנית משלך כדי לתפעל נתונים. במקרים רבים, ביצוע שאילתה במאגר נתונים יהיה דרך יעילה יותר. עם זאת, במקרים שבהם נדרש עיבוד נתונים מורכב יותר, לא ניתן לבצע זאת בקלות באמצעות SQL.
ניתן לתכנת עיבוד נתונים בכל שפת תכנות, אך ישנן שפות מסוימות שהן ברמה גבוהה יותר בכל הנוגע לעבודה עם נתונים. מדעני נתונים בדרך כלל מעדיפים אחת מהשפות הבאות:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
עכשיו נניח שבכל שבוע אנו מארגנים מסיבה לחברים, ולוקחים 10 חבילות נוספות של גלידה למסיבה. נוכל ליצור סדרה נוספת, עם אינדקס לפי שבוע, כדי להדגים זאת:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **הערה** שאנו לא משתמשים בתחביר הפשוט `total_items+additional_items`. אם היינו עושים זאת, היינו מקבלים הרבה ערכי `NaN` (*Not a Number*) בסדרה המתקבלת. זאת מכיוון שיש ערכים חסרים עבור חלק מנקודות האינדקס בסדרת `additional_items`, והוספת `NaN` לכל דבר תוצאה ב-`NaN`. לכן עלינו לציין את הפרמטר `fill_value` במהלך ההוספה.
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
מכיוון שאנחנו רוצים להדגים כיצד להתמודד עם נתונים, אנו מזמינים אתכם לפתוח את [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ולקרוא אותו מההתחלה ועד הסוף. תוכלו גם להריץ תאים ולעשות כמה אתגרים שהשארנו לכם בסוף.
-
+
> אם אינכם יודעים כיצד להריץ קוד ב-Jupyter Notebook, עיינו ב-[מאמר זה](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
פתחו את [`notebook-papers.ipynb`](notebook-papers.ipynb) וקראו אותו מההתחלה ועד הסוף. תוכלו גם להריץ תאים ולעשות כמה אתגרים שהשארנו לכם בסוף.
-
+
## עיבוד נתוני תמונה
diff --git a/translations/he/2-Working-With-Data/README.md b/translations/he/2-Working-With-Data/README.md
index 5599d984..7bfdaa64 100644
--- a/translations/he/2-Working-With-Data/README.md
+++ b/translations/he/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# עבודה עם נתונים
-
+
> צילום על ידי Alexander Sinn ב-Unsplash
בשיעורים אלו תלמדו כמה מהדרכים שבהן ניתן לנהל, לעבד ולהשתמש בנתונים ביישומים. תלמדו על מסדי נתונים יחסיים ולא-יחסיים וכיצד ניתן לאחסן בהם נתונים. תלמדו את היסודות של עבודה עם Python לניהול נתונים, ותגלו כמה מהדרכים הרבות שבהן ניתן לעבוד עם Python לניהול וניתוח נתונים.
diff --git a/translations/he/3-Data-Visualization/12-visualization-relationships/README.md b/translations/he/3-Data-Visualization/12-visualization-relationships/README.md
index fb5a07c6..24a9bbae 100644
--- a/translations/he/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/he/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
כעת, הציגו את אותם נתונים עם סכמת צבעים של דבש כדי להראות כיצד המחיר מתפתח לאורך השנים. ניתן לעשות זאת על ידי הוספת פרמטר 'hue' כדי להציג את השינוי משנה לשנה:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
עם שינוי סכמת הצבעים, ניתן לראות בבירור שיש התקדמות חזקה לאורך השנים מבחינת המחיר לקילוגרם של דבש. אכן, אם תבחנו סט דגימה בנתונים כדי לאמת (בחרו מדינה מסוימת, כמו אריזונה לדוגמה), תוכלו לראות דפוס של עליית מחירים משנה לשנה, עם מעט חריגות:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
ניתן לראות שהגודל של הנקודות גדל בהדרגה.
-
+
האם מדובר במקרה פשוט של היצע וביקוש? בשל גורמים כמו שינויי אקלים וקריסת מושבות, האם יש פחות דבש זמין לרכישה משנה לשנה, ולכן המחיר עולה?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
תשובה: כן, עם כמה חריגות סביב שנת 2003:
-
+
✅ מכיוון ש-Seaborn מאגד נתונים סביב קו אחד, הוא מציג "את המדידות המרובות בכל ערך x על ידי הצגת הממוצע וטווח הביטחון של 95% סביב הממוצע". [מקור](https://seaborn.pydata.org/tutorial/relational.html). ניתן לבטל התנהגות זו על ידי הוספת `ci=None`.
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
תשובה: לא ממש. אם תבחנו את הייצור הכולל, נראה שהוא דווקא עלה בשנה זו, למרות שבאופן כללי כמות הדבש המיוצרת נמצאת בירידה בשנים הללו.
@@ -139,7 +139,7 @@ sns.relplot(
```
בויזואליזציה זו, ניתן להשוות את התפוקה לכל כוורת ומספר הכוורות משנה לשנה, זו לצד זו, עם הגדרת wrap של 3 לעמודות:
-
+
עבור מאגר הנתונים הזה, שום דבר לא בולט במיוחד ביחס למספר הכוורות והתפוקה שלהן, משנה לשנה ומדינה למדינה. האם יש דרך אחרת לחפש קשר בין שני המשתנים הללו?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
בעוד ששום דבר לא קופץ לעין סביב שנת 2003, זה מאפשר לנו לסיים את השיעור בנימה מעט שמחה יותר: למרות שיש ירידה כללית במספר הכוורות, מספר הכוורות מתייצב גם אם התפוקה לכל כוורת יורדת.
diff --git a/translations/he/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/he/3-Data-Visualization/R/09-visualization-quantities/README.md
index 1657a7e3..7dea7e6a 100644
--- a/translations/he/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/he/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
כאן, אתם מתקינים את חבילת `ggplot2` ואז מייבאים אותה לסביבת העבודה באמצעות הפקודה `library("ggplot2")`. כדי לשרטט כל גרף ב-ggplot, משתמשים בפונקציה `ggplot()` ומציינים את מערך הנתונים, משתני x ו-y כמאפיינים. במקרה זה, אנו משתמשים בפונקציה `geom_line()` מכיוון שאנו מכוונים לשרטט גרף קווי.
-
+
מה אתם מבחינים מיד? נראה שיש לפחות ערך חריג אחד - זו מוטת כנפיים מרשימה! מוטת כנפיים של יותר מ-2000 ס"מ שווה ליותר מ-20 מטרים - האם יש פטרודקטילים במינסוטה? בואו נחקור.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
אנו מציינים את הזווית ב-`theme` ומציינים את התוויות של צירי x ו-y ב-`xlab()` ו-`ylab()` בהתאמה. הפונקציה `ggtitle()` נותנת שם לגרף/תרשים.
-
+
גם עם סיבוב התוויות ל-45 מעלות, יש יותר מדי תוויות לקריאה. בואו ננסה אסטרטגיה שונה: תייגו רק את הערכים החריגים והציבו את התוויות בתוך הגרף. תוכלו להשתמש בגרף פיזור כדי לפנות יותר מקום לתיוג:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
מה אתם מגלים?
-
+
## סינון הנתונים
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
יצרנו מערך נתונים חדש `birds_filtered` ואז שרטטנו גרף פיזור. על ידי סינון הערכים החריגים, הנתונים שלכם כעת יותר קוהרנטיים ומובנים.
-
+
כעת, כשיש לנו מערך נתונים נקי יותר לפחות מבחינת מוטת כנפיים, בואו נגלה עוד על הציפורים הללו.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
בקטע הבא, אנו מתקינים את החבילות [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) ו-[lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) כדי לעזור במניפולציה וקיבוץ נתונים לצורך שרטוט גרף עמודות מוערם. תחילה, מקבצים את הנתונים לפי `Category` של הציפור ואז מסכמים את העמודות `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. לאחר מכן, שרטטו את גרף העמודות באמצעות חבילת `ggplot2` וציינו את הצבעים עבור הקטגוריות השונות והתוויות.
-
+
גרף העמודות הזה, עם זאת, אינו קריא מכיוון שיש יותר מדי נתונים לא מקובצים. יש לבחור רק את הנתונים שברצונכם לשרטט, אז בואו נסתכל על אורך הציפורים לפי הקטגוריה שלהן.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
תחילה סופרים ערכים ייחודיים בעמודת `Category` ואז ממיינים אותם למערך נתונים חדש `birds_count`. נתונים ממיונים אלו מתועלים באותה רמה כך שהם משורטטים בסדר המיועד. באמצעות `ggplot2` אתם שרטטתם את הנתונים בגרף עמודות. הפונקציה `coord_flip()` מציגה עמודות אופקיות.
-
+
גרף העמודות הזה מציג מבט טוב על מספר הציפורים בכל קטגוריה. במבט חטוף, ניתן לראות שמספר הציפורים הגדול ביותר באזור זה שייך לקטגוריית ברווזים/אווזים/עופות מים. מינסוטה היא "ארץ 10,000 האגמים", כך שזה לא מפתיע!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
אנו מקבצים את הנתונים המסוננים `birds_filtered` לפי `Category` ואז שרטטנו גרף עמודות.
-
+
אין כאן הפתעות: לקוליברי יש את האורך המקסימלי הקטן ביותר בהשוואה לפליקנים או אווזים. זה טוב כאשר הנתונים הגיוניים מבחינה לוגית!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 אתגר
diff --git a/translations/he/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/he/3-Data-Visualization/R/10-visualization-distributions/README.md
index d88cd792..b1ff5345 100644
--- a/translations/he/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/he/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
זה נותן סקירה כללית של ההתפלגות הכללית של אורך גוף לפי סדר הציפורים, אך זו אינה הדרך האופטימלית להציג התפלגויות אמיתיות. משימה זו בדרך כלל מתבצעת על ידי יצירת היסטוגרמה.
## עבודה עם היסטוגרמות
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
כפי שניתן לראות, רוב 400+ הציפורים במערך הנתונים הזה נמצאות בטווח של מתחת ל-2000 עבור מסת הגוף המקסימלית שלהן. ניתן לקבל תובנות נוספות על הנתונים על ידי שינוי הפרמטר `bins` למספר גבוה יותר, כמו 30:
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
תרשים זה מציג את ההתפלגות בצורה מעט יותר מפורטת. ניתן ליצור תרשים פחות מוטה שמאלה על ידי הבטחת בחירת נתונים רק בטווח נתון:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ נסו מסננים ונקודות נתונים אחרות. כדי לראות את ההתפלגות המלאה של הנתונים, הסירו את המסנן `['MaxBodyMass']` כדי להציג התפלגויות עם תוויות.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
נראה שיש מתאם צפוי בין שני האלמנטים הללו לאורך ציר צפוי, עם נקודת התכנסות חזקה במיוחד אחת:
-
+
היסטוגרמות עובדות היטב כברירת מחדל עבור נתונים מספריים. מה אם אתם צריכים לראות התפלגויות לפי נתונים טקסטואליים?
## חקר מערך הנתונים להתפלגויות באמצעות נתונים טקסטואליים
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
נראה שאין מתאם טוב בין מוטת כנפיים מינימלית למצב השימור. בדקו אלמנטים אחרים במערך הנתונים באמצעות שיטה זו. תוכלו לנסות מסננים שונים גם כן. האם אתם מוצאים מתאם כלשהו?
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
ניתן לראות כיצד התרשים משקף את התרשים הקודם עבור נתוני מוטת כנפיים מינימלית; הוא פשוט מעט חלק יותר. אם תרצו לחזור לקו המדרגות של MaxBodyMass בתרשים השני שבניתם, תוכלו להחליק אותו היטב על ידי יצירתו מחדש באמצעות שיטה זו:
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
אם תרצו קו חלק, אך לא חלק מדי, ערכו את הפרמטר `adjust`:
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ קראו על הפרמטרים הזמינים עבור סוג תרשים זה ונסו להתנסות!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 אתגר
diff --git a/translations/he/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/he/3-Data-Visualization/R/11-visualization-proportions/README.md
index 6b48aadd..d1093314 100644
--- a/translations/he/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/he/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
והנה, גרף עוגה שמראה את היחסים של נתונים אלו לפי שתי מחלקות הפטריות. חשוב מאוד לקבל את סדר התוויות נכון, במיוחד כאן, אז ודאו את הסדר שבו נבנה מערך התוויות!
-
+
## דונאט!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
הקוד הזה משתמש בשתי ספריות - ggplot2 ו-webr. באמצעות פונקציית PieDonut של ספריית webr, ניתן ליצור גרף דונאט בקלות!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
באמצעות גרף וופל, ניתן לראות בבירור את היחסים של צבעי כובעי הפטריות במאגר הנתונים הזה. מעניין, יש הרבה פטריות עם כובעים ירוקים!
-
+
בשיעור זה, למדתם שלוש דרכים להמחשת יחסים. ראשית, עליכם לקבץ את הנתונים שלכם לקטגוריות ואז להחליט מהי הדרך הטובה ביותר להציג את הנתונים - עוגה, דונאט, או וופל. כולם טעימים ומספקים למשתמש תמונת מצב מיידית של מאגר נתונים.
diff --git a/translations/he/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/he/3-Data-Visualization/R/12-visualization-relationships/README.md
index 2a729f51..52f44173 100644
--- a/translations/he/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/he/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
כעת, הציגו את אותם נתונים עם ערכת צבעים של דבש כדי להראות כיצד המחיר מתפתח לאורך השנים. ניתן לעשות זאת על ידי הוספת פרמטר 'scale_color_gradientn' כדי להציג את השינוי משנה לשנה:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
עם שינוי ערכת הצבעים, ניתן לראות בבירור התקדמות חזקה לאורך השנים מבחינת המחיר לקילוגרם של דבש. למעשה, אם תבחנו דוגמה מתוך הנתונים כדי לאמת (בחרו מדינה מסוימת, למשל אריזונה), תוכלו לראות דפוס של עליית מחירים משנה לשנה, עם מעט יוצאים מן הכלל:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
ניתן לראות שהגודל של הנקודות גדל בהדרגה.
-
+
האם מדובר במקרה פשוט של היצע וביקוש? בשל גורמים כמו שינויי אקלים וקריסת מושבות, האם יש פחות דבש זמין לרכישה משנה לשנה, ולכן המחיר עולה?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
תשובה: כן, עם כמה יוצאים מן הכלל סביב שנת 2003:
-
+
שאלה: ובכן, בשנת 2003 האם ניתן לראות גם עלייה בהיצע הדבש? מה אם תבחנו את סך הייצור משנה לשנה?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
תשובה: לא ממש. אם תבחנו את סך הייצור, נראה שהוא דווקא עלה בשנה הזו, למרות שבאופן כללי כמות הדבש שמיוצרת נמצאת בירידה במהלך השנים הללו.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
בוויזואליזציה הזו, ניתן להשוות את התפוקה לכל כוורת ומספר הכוורות משנה לשנה, זו לצד זו עם פיצול שמוגדר ל-3 עבור העמודות:
-
+
עבור מאגר הנתונים הזה, שום דבר לא בולט במיוחד בכל הנוגע למספר הכוורות והתפוקה שלהן, משנה לשנה ומדינה למדינה. האם יש דרך אחרת למצוא קשר בין שני המשתנים הללו?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
למרות ששום דבר לא בולט לעין סביב שנת 2003, זה מאפשר לנו לסיים את השיעור הזה בנימה מעט שמחה יותר: למרות שיש ירידה כללית במספר הכוורות, מספר הכוורות מתייצב גם אם התפוקה שלהן לכל כוורת יורדת.
diff --git a/translations/he/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/he/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 003f5dbc..ebd3c97a 100644
--- a/translations/he/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/he/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
גם אם מדען נתונים מקפיד לבחור את התרשים הנכון לנתונים הנכונים, יש דרכים רבות שבהן ניתן להציג נתונים באופן שמוכיח נקודה, לעיתים על חשבון הנתונים עצמם. ישנם דוגמאות רבות לתרשימים ואינפוגרפיקות מטעים!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "איך תרשימים משקרים")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "איך תרשימים משקרים")
> 🎥 לחץ על התמונה למעלה להרצאה על תרשימים מטעים
התרשים הזה הופך את ציר ה-X כדי להציג את ההפך מהאמת, בהתבסס על תאריך:
-
+
[התרשים הזה](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) אפילו יותר מטעה, שכן העין נמשכת ימינה כדי להסיק שבמהלך הזמן, מקרי הקורונה ירדו במחוזות השונים. למעשה, אם תסתכל מקרוב על התאריכים, תמצא שהם סודרו מחדש כדי ליצור מגמת ירידה מטעה.
-
+
הדוגמה הידועה הזו משתמשת בצבע ובציר Y הפוך כדי להטעות: במקום להסיק שמקרי המוות מנשק עלו לאחר חקיקת חוקים ידידותיים לנשק, למעשה העין מתעתעת לחשוב שההפך הוא הנכון:
-
+
התרשים המוזר הזה מראה כיצד ניתן לתמרן פרופורציות, בצורה משעשעת:
-
+
השוואת דברים שאינם ברי השוואה היא עוד טריק מפוקפק. ישנו [אתר נפלא](https://tylervigen.com/spurious-correlations) שמציג 'קורלציות שגויות' עם 'עובדות' שמקשרות בין דברים כמו שיעור הגירושין במיין לצריכת מרגרינה. קבוצת Reddit גם אוספת את [השימושים המכוערים](https://www.reddit.com/r/dataisugly/top/?t=all) בנתונים.
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
אם הנתונים שלך הם טקסטואליים ומפורטים בציר ה-X, תוכל להטות את הטקסט לקריאות טובה יותר. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) מציע גרפים תלת-ממדיים, אם הנתונים שלך תומכים בכך. ניתן ליצור ויזואליזציות מתוחכמות באמצעותו.
-
+
## אנימציה ותצוגת תרשימים תלת-ממדיים
חלק מהויזואליזציות הטובות ביותר כיום הן מונפשות. שירלי וו יצרה ויזואליזציות מדהימות עם D3, כמו '[פרחי סרטים](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', שבה כל פרח הוא ויזואליזציה של סרט. דוגמה נוספת עבור ה-Guardian היא 'בוסס החוצה', חוויה אינטראקטיבית שמשלבת ויזואליזציות עם Greensock ו-D3 יחד עם פורמט מאמר סקרוליטלי כדי להראות כיצד ניו יורק מתמודדת עם בעיית חסרי הבית שלה על ידי שליחת אנשים מחוץ לעיר.
-
+
> "בוסס החוצה: כיצד אמריקה מזיזה את חסרי הבית שלה" מתוך [הגרדיאן](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). ויזואליזציות מאת נדיה ברמר ושירלי וו
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
תשלים אפליקציית ווב שתציג תצוגה מונפשת של הרשת החברתית הזו. היא משתמשת בספרייה שנבנתה כדי ליצור [ויזואליזציה של רשת](https://github.com/emiliorizzo/vue-d3-network) באמצעות Vue.js ו-D3. כשהאפליקציה פועלת, תוכל להזיז את הצמתים על המסך כדי לשנות את סידור הנתונים.
-
+
## פרויקט: צור תרשים להצגת רשת באמצעות D3.js
diff --git a/translations/he/3-Data-Visualization/README.md b/translations/he/3-Data-Visualization/README.md
index bafd8691..65101dc9 100644
--- a/translations/he/3-Data-Visualization/README.md
+++ b/translations/he/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ויזואליזציות
-
+
> צילום על ידי Jenna Lee ב-Unsplash
הדמיית נתונים היא אחת המשימות החשובות ביותר של מדען נתונים. תמונות שוות אלף מילים, וויזואליזציה יכולה לעזור לך לזהות כל מיני חלקים מעניינים בנתונים שלך כמו קפיצות, חריגות, קבוצות, מגמות ועוד, שיכולים לעזור לך להבין את הסיפור שהנתונים שלך מנסים לספר.
diff --git a/translations/he/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/he/4-Data-Science-Lifecycle/14-Introduction/README.md
index c8a60566..8e1daeaf 100644
--- a/translations/he/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/he/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
השיעור הזה מתמקד ב-3 חלקים מתוך מחזור החיים: איסוף, עיבוד ותחזוקה.
-
+
> תמונה מאת [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## איסוף
@@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA:
|תהליך מדעי הנתונים של הצוות (TDSP)|תהליך התקן התעשייתי לכריית נתונים (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| תמונה מאת [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | תמונה מאת [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [שאלון לאחר השיעור](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/he/4-Data-Science-Lifecycle/README.md b/translations/he/4-Data-Science-Lifecycle/README.md
index cb221289..96a2bc25 100644
--- a/translations/he/4-Data-Science-Lifecycle/README.md
+++ b/translations/he/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# מחזור החיים של מדע הנתונים
-
+
> צילום על ידי Headway ב-Unsplash
בשיעורים אלו, תחקור כמה מההיבטים של מחזור החיים של מדע הנתונים, כולל ניתוח ותקשורת סביב נתונים.
diff --git a/translations/he/5-Data-Science-In-Cloud/README.md b/translations/he/5-Data-Science-In-Cloud/README.md
index 5ab3aee6..4fbe5c96 100644
--- a/translations/he/5-Data-Science-In-Cloud/README.md
+++ b/translations/he/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# מדע הנתונים בענן
-
+
> צילום מאת [Jelleke Vanooteghem](https://unsplash.com/@ilumire) מתוך [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
כשמדובר בביצוע מדע נתונים עם נתונים גדולים, הענן יכול להיות משנה משחק. בשלושת השיעורים הבאים, נלמד מהו הענן ומדוע הוא יכול להיות מאוד מועיל. בנוסף, נחקור מערך נתונים על אי ספיקת לב ונבנה מודל שיעזור להעריך את ההסתברות של אדם לסבול מאי ספיקת לב. נשתמש בכוחו של הענן כדי לאמן, לפרוס ולצרוך מודל בשתי דרכים שונות. דרך אחת תשתמש רק בממשק המשתמש בגישה של Low code/No code, והדרך השנייה תשתמש ב-Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### נושאים
diff --git a/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 28d1ac0b..847fb609 100644
--- a/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [מדע הנתונים בבריאות](https://data-flair.training/blogs/data-science-in-healthcare/) - מדגיש יישומים כמו הדמיה רפואית (למשל, MRI, רנטגן, CT-Scan), גנומיקה (ריצוף DNA), פיתוח תרופות (הערכת סיכונים, תחזית הצלחה), אנליטיקה חזויה (טיפול בחולים ולוגיסטיקה של אספקה), מעקב ומניעת מחלות וכו'.
- קרדיט תמונה: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ קרדיט תמונה: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
התרשים מציג תחומים ודוגמאות נוספים ליישום טכניקות מדע הנתונים. רוצים לחקור יישומים נוספים? בדקו את [סקירה ולימוד עצמי](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) למטה.
diff --git a/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 4c445ced..599f7fb4 100644
--- a/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/he/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. לחקור את [הקטלוג](https://planetarycomputer.microsoft.com/catalog) של מערכי הנתונים - ללמוד את מטרת כל אחד מהם.
3. להשתמש ב-Explorer - לבחור מערך נתונים שמעניין אותך, לבחור שאילתה רלוונטית ואפשרות הצגה מתאימה.
-
+
`המשימה שלך:`
כעת למד את הוויזואליזציה שמוצגת בדפדפן וענה על השאלות הבאות:
diff --git a/translations/he/CONTRIBUTING.md b/translations/he/CONTRIBUTING.md
index c84a3470..377a83b9 100644
--- a/translations/he/CONTRIBUTING.md
+++ b/translations/he/CONTRIBUTING.md
@@ -316,7 +316,7 @@ def calculate_mean(data):
```
````
-- הוסף טקסט חלופי לתמונות: ``
+- הוסף טקסט חלופי לתמונות: ``
- שמור על אורך שורות סביר (בסביבות 80-100 תווים)
### Python
diff --git a/translations/he/README.md b/translations/he/README.md
index 684c9191..25869040 100644
--- a/translations/he/README.md
+++ b/translations/he/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates ב-Microsoft שמחים להציע תוכנית לימוד
**🙏 תודה מיוחדת 🙏 למחברי, הסוקרים ותורמי התוכן שלנו מ-[Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** ובמיוחד Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science For Beginners - _סקצ'נוט מאת [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates ב-Microsoft שמחים להציע תוכנית לימוד
אנו עורכים סדרת Learn with AI ב-Discord — למדו עוד והצטרפו אלינו ב-[סדרת Learn with AI](https://aka.ms/learnwithai/discord) בין ה-18 ל-30 בספטמבר 2025. תקבלו טיפים וטריקים לשימוש ב-GitHub Copilot עבור מדעי הנתונים.
-
+
# האם אתה סטודנט?
@@ -132,7 +132,7 @@ Azure Cloud Advocates ב-Microsoft שמחים להציע תוכנית לימוד
## שיעורים
-||
+||
|:---:|
| מפת דרכים של מדעי הנתונים למתחילים - _סקETCHנוט מאת [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/he/sketchnotes/README.md b/translations/he/sketchnotes/README.md
index c5996ce3..33e8550a 100644
--- a/translations/he/sketchnotes/README.md
+++ b/translations/he/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
ניטיה נאראסימהן, אמנית
-
+
---
diff --git a/translations/hi/1-Introduction/01-defining-data-science/README.md b/translations/hi/1-Introduction/01-defining-data-science/README.md
index 30fc30d5..8d2cdbba 100644
--- a/translations/hi/1-Introduction/01-defining-data-science/README.md
+++ b/translations/hi/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [प्री-लेक्चर क्विज़](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
इस चुनौती में, हम डेटा साइंस के क्षेत्र से संबंधित अवधारणाओं को खोजने की कोशिश करेंगे, और इसके लिए हम टेक्स्ट का विश्लेषण करेंगे। हम डेटा साइंस पर एक विकिपीडिया लेख लेंगे, टेक्स्ट को डाउनलोड और प्रोसेस करेंगे, और फिर एक वर्ड क्लाउड बनाएंगे, जो इस तरह दिखेगा:
-
+
कोड को पढ़ने के लिए [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') पर जाएं। आप कोड को चला सकते हैं और देख सकते हैं कि यह वास्तविक समय में सभी डेटा ट्रांसफॉर्मेशन कैसे करता है।
diff --git a/translations/hi/1-Introduction/04-stats-and-probability/README.md b/translations/hi/1-Introduction/04-stats-and-probability/README.md
index 7cfe4c5b..f08ed51a 100644
--- a/translations/hi/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/hi/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
सांख्यिकी और संभाव्यता सिद्धांत गणित के दो अत्यधिक संबंधित क्षेत्र हैं जो डेटा विज्ञान के लिए बहुत प्रासंगिक हैं। गणित का गहन ज्ञान न होने पर भी डेटा के साथ काम करना संभव है, लेकिन कुछ बुनियादी अवधारणाओं को जानना हमेशा बेहतर होता है। यहां हम एक छोटा सा परिचय प्रस्तुत करेंगे जो आपको शुरुआत करने में मदद करेगा।
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [पूर्व-व्याख्यान क्विज़](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
हम केवल वेरिएबल के किसी दिए गए मानों के अंतराल में गिरने की संभावना के बारे में बात कर सकते हैं, जैसे P(t1≤X2)। इस मामले में, संभाव्यता वितरण को **संभाव्यता घनत्व फ़ंक्शन** p(x) द्वारा वर्णित किया जाता है, ताकि
- में पाए जा सकते हैं।
diff --git a/translations/hi/1-Introduction/README.md b/translations/hi/1-Introduction/README.md
index 47fe2886..aa08c5b0 100644
--- a/translations/hi/1-Introduction/README.md
+++ b/translations/hi/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# डेटा साइंस का परिचय
-
+
> फोटो स्टीफन डॉसन द्वारा अनस्प्लैश पर
इन पाठों में, आप जानेंगे कि डेटा साइंस को कैसे परिभाषित किया जाता है और उन नैतिक विचारों के बारे में सीखेंगे जिन्हें एक डेटा वैज्ञानिक को ध्यान में रखना चाहिए। आप यह भी जानेंगे कि डेटा को कैसे परिभाषित किया जाता है और सांख्यिकी और संभावना के बारे में थोड़ा सीखेंगे, जो डेटा साइंस के मुख्य शैक्षणिक क्षेत्र हैं।
diff --git a/translations/hi/2-Working-With-Data/07-python/README.md b/translations/hi/2-Working-With-Data/07-python/README.md
index 369a9c48..b5aab07e 100644
--- a/translations/hi/2-Working-With-Data/07-python/README.md
+++ b/translations/hi/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Python के साथ काम करना - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
हालांकि डेटाबेस डेटा को स्टोर करने और उन्हें क्वेरी लैंग्वेज का उपयोग करके क्वेरी करने के लिए बहुत प्रभावी तरीके प्रदान करते हैं, डेटा प्रोसेसिंग का सबसे लचीला तरीका अपना प्रोग्राम लिखना है। कई मामलों में, डेटाबेस क्वेरी करना अधिक प्रभावी हो सकता है। लेकिन कुछ मामलों में जब अधिक जटिल डेटा प्रोसेसिंग की आवश्यकता होती है, तो इसे SQL का उपयोग करके आसानी से नहीं किया जा सकता।
डेटा प्रोसेसिंग किसी भी प्रोग्रामिंग भाषा में की जा सकती है, लेकिन कुछ भाषाएँ डेटा के साथ काम करने के लिए उच्च स्तर की होती हैं। डेटा वैज्ञानिक आमतौर पर निम्नलिखित भाषाओं में से एक को प्राथमिकता देते हैं:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
अब मान लें कि हर सप्ताह हम दोस्तों के लिए एक पार्टी आयोजित कर रहे हैं और पार्टी के लिए अतिरिक्त 10 पैक आइसक्रीम लेते हैं। हम इसे दिखाने के लिए सप्ताह द्वारा इंडेक्स की गई एक और सीरीज़ बना सकते हैं:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **ध्यान दें** कि हम साधारण सिंटैक्स `total_items+additional_items` का उपयोग नहीं कर रहे हैं। यदि हमने ऐसा किया होता, तो हमें परिणामी सीरीज़ में कई `NaN` (*Not a Number*) मान प्राप्त होते। ऐसा इसलिए है क्योंकि `additional_items` सीरीज़ में कुछ इंडेक्स पॉइंट्स के लिए मान गायब हैं, और किसी भी चीज़ में `NaN` जोड़ने से `NaN` मिलता है। इसलिए हमें जोड़ने के दौरान `fill_value` पैरामीटर निर्दिष्ट करने की आवश्यकता होती है।
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### डेटा फ्रेम
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
चूंकि हम दिखाना चाहते हैं कि डेटा के साथ कैसे काम किया जाए, हम आपको [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) खोलने और इसे ऊपर से नीचे तक पढ़ने के लिए आमंत्रित करते हैं। आप सेल्स को भी चला सकते हैं और अंत में छोड़े गए कुछ चैलेंज को हल कर सकते हैं।
-
+
> यदि आपको Jupyter Notebook में कोड चलाने का तरीका नहीं पता है, तो [इस लेख](https://soshnikov.com/education/how-to-execute-notebooks-from-github/) को देखें।
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
[`notebook-papers.ipynb`](notebook-papers.ipynb) खोलें और इसे ऊपर से नीचे तक पढ़ें। आप सेल्स को भी चला सकते हैं और अंत में छोड़े गए कुछ चैलेंज को हल कर सकते हैं।
-
+
## इमेज डेटा प्रोसेसिंग
diff --git a/translations/hi/2-Working-With-Data/README.md b/translations/hi/2-Working-With-Data/README.md
index f65ae528..ae95cabc 100644
--- a/translations/hi/2-Working-With-Data/README.md
+++ b/translations/hi/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# डेटा के साथ काम करना
-
+
> फोटो Alexander Sinn द्वारा Unsplash पर
इन पाठों में, आप सीखेंगे कि डेटा को कैसे प्रबंधित, संशोधित और अनुप्रयोगों में उपयोग किया जा सकता है। आप रिलेशनल और नॉन-रिलेशनल डेटाबेस के बारे में जानेंगे और डेटा को उनमें कैसे संग्रहीत किया जा सकता है। आप डेटा प्रबंधन के लिए Python के साथ काम करने की मूल बातें सीखेंगे, और आप यह भी खोजेंगे कि Python का उपयोग करके डेटा को प्रबंधित और माइन करने के कई तरीके क्या हैं।
diff --git a/translations/hi/3-Data-Visualization/12-visualization-relationships/README.md b/translations/hi/3-Data-Visualization/12-visualization-relationships/README.md
index d33b4cb7..0b5b3202 100644
--- a/translations/hi/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/hi/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
अब, वही डेटा शहद के रंग योजना के साथ दिखाएं ताकि यह दिखाया जा सके कि कीमत वर्षों के साथ कैसे विकसित होती है। आप इसे 'hue' पैरामीटर जोड़कर कर सकते हैं ताकि वर्ष दर वर्ष परिवर्तन दिखाया जा सके:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
इस रंग योजना परिवर्तन के साथ, आप देख सकते हैं कि वर्षों के साथ शहद की प्रति पाउंड कीमत में स्पष्ट रूप से एक मजबूत प्रगति है। वास्तव में, यदि आप डेटा के एक नमूना सेट को सत्यापित करने के लिए देखें (उदाहरण के लिए, एक राज्य, एरिज़ोना चुनें) तो आप देख सकते हैं कि कुछ अपवादों के साथ, कीमत में वर्ष दर वर्ष वृद्धि का एक पैटर्न है:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
आप देख सकते हैं कि डॉट्स का आकार धीरे-धीरे बढ़ रहा है।
-
+
क्या यह मांग और आपूर्ति का एक साधारण मामला है? जलवायु परिवर्तन और कॉलोनी कॉलैप्स जैसे कारकों के कारण, क्या वर्ष दर वर्ष खरीद के लिए कम शहद उपलब्ध है, और इसलिए कीमत बढ़ रही है?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
उत्तर: हां, कुछ अपवादों के साथ, विशेष रूप से 2003 के आसपास:
-
+
✅ क्योंकि Seaborn डेटा को एक लाइन के चारों ओर समेकित कर रहा है, यह "प्रत्येक x मान पर कई मापों को औसत और औसत के चारों ओर 95% विश्वास अंतराल को प्लॉट करके प्रदर्शित करता है"। [स्रोत](https://seaborn.pydata.org/tutorial/relational.html)। इस समय लेने वाले व्यवहार को `ci=None` जोड़कर अक्षम किया जा सकता है।
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
उत्तर: वास्तव में नहीं। यदि आप कुल उत्पादन को देखें, तो ऐसा लगता है कि उस विशेष वर्ष में यह वास्तव में बढ़ गया है, हालांकि सामान्य रूप से शहद का उत्पादन इन वर्षों के दौरान गिरावट में है।
@@ -139,7 +139,7 @@ sns.relplot(
```
इस चित्रण में, आप कॉलोनी की प्रति कॉलोनी उत्पादन और कॉलोनियों की संख्या को वर्ष दर वर्ष, राज्य दर राज्य, 3 कॉलम पर रैप सेट के साथ साइड बाय साइड तुलना कर सकते हैं:
-
+
इस डेटा सेट के लिए, कॉलोनियों की संख्या और उनके उत्पादन के संबंध में वर्ष दर वर्ष और राज्य दर राज्य कुछ खास नहीं दिखता। क्या इन दो चर के बीच संबंध खोजने के लिए इसे देखने का कोई अलग तरीका है?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
हालांकि 2003 के आसपास कुछ भी आंखों को नहीं खटकता, यह हमें इस पाठ को थोड़ा खुशहाल नोट पर समाप्त करने की अनुमति देता है: जबकि कॉलोनियों की संख्या में समग्र रूप से गिरावट हो रही है, कॉलोनियों की संख्या स्थिर हो रही है, भले ही उनकी प्रति कॉलोनी उत्पादन घट रहा हो।
diff --git a/translations/hi/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/hi/3-Data-Visualization/R/09-visualization-quantities/README.md
index d5ecf126..25a5e429 100644
--- a/translations/hi/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/hi/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
यहां, आप `ggplot2` पैकेज को इंस्टॉल करते हैं और फिर इसे `library("ggplot2")` कमांड का उपयोग करके वर्कस्पेस में इम्पोर्ट करते हैं। ggplot में किसी भी प्लॉट को प्लॉट करने के लिए `ggplot()` फ़ंक्शन का उपयोग किया जाता है और आप डेटासेट, x और y वेरिएबल्स को एट्रिब्यूट्स के रूप में निर्दिष्ट करते हैं। इस मामले में, हम एक लाइन प्लॉट को प्लॉट करने के लिए `geom_line()` फ़ंक्शन का उपयोग करते हैं।
-
+
आप तुरंत क्या नोटिस करते हैं? ऐसा लगता है कि कम से कम एक आउटलायर है - यह काफी बड़ा विंगस्पैन है! 2000+ सेंटीमीटर विंगस्पैन 20 मीटर से अधिक के बराबर है - क्या मिनेसोटा में पेटरोडैक्टाइल्स घूम रहे हैं? आइए जांच करें।
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
हम `theme` में कोण निर्दिष्ट करते हैं और `xlab()` और `ylab()` में x और y अक्ष लेबल निर्दिष्ट करते हैं। `ggtitle()` ग्राफ/प्लॉट को एक नाम देता है।
-
+
लेबल्स को 45 डिग्री पर घुमाने के बावजूद, उन्हें पढ़ने के लिए बहुत अधिक हैं। आइए एक अलग रणनीति आजमाएं: केवल उन आउटलायर्स को लेबल करें और लेबल्स को चार्ट के भीतर सेट करें। आप लेबलिंग के लिए अधिक जगह बनाने के लिए एक स्कैटर चार्ट का उपयोग कर सकते हैं:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
आप क्या खोजते हैं?
-
+
## अपने डेटा को फ़िल्टर करें
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
हमने एक नया डेटा फ्रेम `birds_filtered` बनाया और फिर एक स्कैटर प्लॉट को प्लॉट किया। आउटलायर्स को फ़िल्टर करके, आपका डेटा अब अधिक सुसंगत और समझने योग्य है।
-
+
अब जब हमारे पास विंगस्पैन के मामले में कम से कम एक साफ-सुथरा डेटासेट है, तो आइए इन पक्षियों के बारे में और अधिक खोज करें।
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
निम्नलिखित स्निपेट में, हम [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) और [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) पैकेज इंस्टॉल करते हैं ताकि डेटा को हेरफेर और समूहित किया जा सके और एक स्टैक्ड बार चार्ट को प्लॉट किया जा सके। पहले, आप पक्षी की `Category` द्वारा डेटा को समूहित करते हैं और फिर `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` कॉलम को सारांशित करते हैं। फिर, `ggplot2` पैकेज का उपयोग करके बार चार्ट को प्लॉट करें और विभिन्न श्रेणियों के लिए रंग और लेबल निर्दिष्ट करें।
-
+
हालांकि, यह बार चार्ट पढ़ने योग्य नहीं है क्योंकि इसमें बहुत अधिक गैर-समूहित डेटा है। आपको केवल उस डेटा का चयन करने की आवश्यकता है जिसे आप प्लॉट करना चाहते हैं, इसलिए आइए पक्षी की श्रेणी के आधार पर लंबाई देखें।
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
आप पहले `Category` कॉलम में अद्वितीय मानों की गणना करते हैं और फिर उन्हें एक नए डेटा फ्रेम `birds_count` में क्रमबद्ध करते हैं। इस क्रमबद्ध डेटा को फिर उसी स्तर पर फैक्टर किया जाता है ताकि इसे क्रमबद्ध तरीके से प्लॉट किया जा सके। फिर, `ggplot2` का उपयोग करके आप डेटा को एक बार चार्ट में प्लॉट करते हैं। `coord_flip()` क्षैतिज बार को प्लॉट करता है।
-
+
यह बार चार्ट प्रत्येक श्रेणी में पक्षियों की संख्या का अच्छा दृश्य दिखाता है। एक नज़र में, आप देख सकते हैं कि इस क्षेत्र में सबसे बड़ी संख्या में पक्षी Ducks/Geese/Waterfowl श्रेणी में हैं। मिनेसोटा '10,000 झीलों की भूमि' है, इसलिए यह आश्चर्यजनक नहीं है!
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
हम `birds_filtered` डेटा को `Category` द्वारा समूहित करते हैं और फिर एक बार ग्राफ़ को प्लॉट करते हैं।
-
+
यहां कुछ भी आश्चर्यजनक नहीं है: Hummingbirds की MaxLength Pelicans या Geese की तुलना में सबसे कम है। यह अच्छा है जब डेटा तार्किक रूप से समझ में आता है!
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 चुनौती
diff --git a/translations/hi/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/hi/3-Data-Visualization/R/10-visualization-distributions/README.md
index 206f6a34..832a6dd1 100644
--- a/translations/hi/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/hi/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
यह पक्षी क्रम के अनुसार शरीर की लंबाई के सामान्य वितरण का एक अवलोकन देता है, लेकिन यह सच्चे वितरण को प्रदर्शित करने का सबसे अच्छा तरीका नहीं है। यह कार्य आमतौर पर एक हिस्टोग्राम बनाकर किया जाता है।
## हिस्टोग्राम के साथ काम करना
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
जैसा कि आप देख सकते हैं, इस डेटासेट के 400+ पक्षियों में से अधिकांश का Max Body Mass 2000 से कम की सीमा में आता है। `bins` पैरामीटर को 30 जैसे उच्च संख्या में बदलकर डेटा के बारे में अधिक जानकारी प्राप्त करें:
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
यह चार्ट वितरण को थोड़ा अधिक विस्तृत तरीके से दिखाता है। एक चार्ट जो बाईं ओर कम झुका हुआ हो, उसे केवल एक दी गई सीमा के भीतर डेटा का चयन करके बनाया जा सकता है:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ कुछ अन्य फ़िल्टर और डेटा पॉइंट आज़माएं। डेटा के पूर्ण वितरण को देखने के लिए, लेबल वाले वितरण दिखाने के लिए `['MaxBodyMass']` फ़िल्टर को हटा दें।
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
ऐसा प्रतीत होता है कि इन दो तत्वों के बीच अपेक्षित अक्ष के साथ एक अपेक्षित सहसंबंध है, जिसमें अभिसरण का एक विशेष रूप से मजबूत बिंदु है:
-
+
हिस्टोग्राम डिफ़ॉल्ट रूप से संख्यात्मक डेटा के लिए अच्छी तरह से काम करते हैं। यदि आपको टेक्स्ट डेटा के अनुसार वितरण देखना हो तो क्या होगा?
## टेक्स्ट डेटा का उपयोग करके डेटासेट के वितरण का अन्वेषण करें
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
न्यूनतम पंख फैलाव और संरक्षण स्थिति के बीच कोई अच्छा संबंध प्रतीत नहीं होता। इस विधि का उपयोग करके डेटासेट के अन्य तत्वों का परीक्षण करें। आप विभिन्न फ़िल्टर भी आज़मा सकते हैं। क्या आपको कोई संबंध मिलता है?
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
आप देख सकते हैं कि यह प्लॉट न्यूनतम पंख फैलाव डेटा के लिए पिछले वाले को प्रतिध्वनित करता है; यह बस थोड़ा अधिक सुचारू है। यदि आप उस खुरदरे MaxBodyMass लाइन को फिर से देखना चाहते हैं जिसे आपने दूसरा चार्ट बनाते समय बनाया था, तो आप इसे इस विधि का उपयोग करके बहुत अच्छी तरह से सुचारू कर सकते हैं:
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
यदि आप एक सुचारू, लेकिन बहुत अधिक सुचारू रेखा नहीं चाहते हैं, तो `adjust` पैरामीटर को संपादित करें:
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ इस प्रकार के प्लॉट के लिए उपलब्ध पैरामीटर के बारे में पढ़ें और प्रयोग करें!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 चुनौती
diff --git a/translations/hi/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/hi/3-Data-Visualization/R/11-visualization-proportions/README.md
index d6a34d80..27aa6766 100644
--- a/translations/hi/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/hi/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
देखिए, एक पाई चार्ट जो इस डेटा को मशरूम के इन दो वर्गों के अनुसार दिखाता है। लेबल के क्रम को सही रखना बहुत महत्वपूर्ण है, खासकर यहां, इसलिए सुनिश्चित करें कि लेबल एरे को बनाते समय क्रम की जांच करें!
-
+
## डोनट्स!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
यह कोड दो लाइब्रेरीज़ - ggplot2 और webr का उपयोग करता है। webr लाइब्रेरी के PieDonut फ़ंक्शन का उपयोग करके, हम आसानी से एक डोनट चार्ट बना सकते हैं!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
वाफल चार्ट का उपयोग करके, आप मशरूम डेटा सेट के टोपी रंगों के अनुपात को स्पष्ट रूप से देख सकते हैं। दिलचस्प बात यह है कि कई हरे रंग की टोपी वाले मशरूम हैं!
-
+
इस पाठ में, आपने अनुपातों को विज़ुअलाइज़ करने के तीन तरीके सीखे। सबसे पहले, आपको अपने डेटा को श्रेणियों में समूहित करना होगा और फिर यह तय करना होगा कि डेटा को प्रदर्शित करने का सबसे अच्छा तरीका कौन सा है - पाई, डोनट, या वाफल। सभी स्वादिष्ट हैं और उपयोगकर्ता को डेटा सेट का त्वरित स्नैपशॉट प्रदान करते हैं।
diff --git a/translations/hi/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/hi/3-Data-Visualization/R/12-visualization-relationships/README.md
index 6b6aff2d..77e2a6e2 100644
--- a/translations/hi/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/hi/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
अब, वही डेटा एक शहद रंग योजना के साथ दिखाएं ताकि यह दिखाया जा सके कि कीमत वर्षों में कैसे विकसित होती है। आप इसे 'scale_color_gradientn' पैरामीटर जोड़कर कर सकते हैं, जो साल दर साल परिवर्तन दिखाता है:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
इस रंग योजना परिवर्तन के साथ, आप देख सकते हैं कि वर्षों में प्रति पाउंड शहद की कीमत में स्पष्ट रूप से एक मजबूत प्रगति है। वास्तव में, यदि आप डेटा के एक नमूना सेट को सत्यापित करने के लिए देखते हैं (उदाहरण के लिए, एरिज़ोना राज्य को चुनें), तो आप देख सकते हैं कि कुछ अपवादों को छोड़कर, कीमत में साल दर साल वृद्धि का एक पैटर्न है:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
आप देख सकते हैं कि डॉट्स का आकार धीरे-धीरे बढ़ रहा है।
-
+
क्या यह आपूर्ति और मांग का एक साधारण मामला है? जलवायु परिवर्तन और कॉलोनी कोलैप्स जैसे कारकों के कारण, क्या हर साल खरीदने के लिए कम शहद उपलब्ध है, और इसीलिए कीमत बढ़ रही है?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
उत्तर: हां, कुछ अपवादों के साथ, विशेष रूप से 2003 के आसपास:
-
+
प्रश्न: खैर, क्या 2003 में हम शहद की आपूर्ति में भी वृद्धि देख सकते हैं? यदि आप कुल उत्पादन को साल दर साल देखें तो क्या होता है?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
उत्तर: वास्तव में नहीं। यदि आप कुल उत्पादन को देखें, तो ऐसा लगता है कि यह विशेष वर्ष में बढ़ा है, हालांकि सामान्य रूप से इन वर्षों के दौरान शहद का उत्पादन घट रहा है।
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
इस विज़ुअलाइज़ेशन में, आप कॉलोनी की प्रति कॉलोनी उपज और कॉलोनियों की संख्या को साल दर साल, राज्य दर राज्य, 3 कॉलम के रैप के साथ साइड बाय साइड तुलना कर सकते हैं:
-
+
इस डेटा सेट के लिए, कॉलोनियों की संख्या और उनकी उपज के संबंध में, साल दर साल और राज्य दर राज्य, कुछ भी विशेष रूप से अलग नहीं दिखता। क्या इन दो चर के बीच सहसंबंध खोजने का कोई और तरीका है?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
हालांकि 2003 के आसपास कुछ भी आंखों को स्पष्ट रूप से नहीं दिखता, यह हमें इस पाठ को एक खुशहाल नोट पर समाप्त करने की अनुमति देता है: जबकि कॉलोनियों की संख्या में समग्र गिरावट हो रही है, कॉलोनियों की संख्या स्थिर हो रही है, भले ही उनकी प्रति कॉलोनी उपज घट रही हो।
diff --git a/translations/hi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/hi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 693b0181..70a1418a 100644
--- a/translations/hi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/hi/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
भले ही एक डेटा वैज्ञानिक सही डेटा के लिए सही चार्ट चुनने में सावधान हो, फिर भी डेटा को इस तरह से प्रदर्शित करने के कई तरीके हैं जो किसी बिंदु को साबित करने के लिए उपयोग किए जा सकते हैं, अक्सर डेटा की सच्चाई को कमजोर करते हुए। भ्रामक चार्ट और इन्फोग्राफिक्स के कई उदाहरण हैं!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "हाउ चार्ट्स लाई")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "हाउ चार्ट्स लाई")
> 🎥 ऊपर दी गई छवि पर क्लिक करें भ्रामक चार्ट्स पर एक सम्मेलन वार्ता के लिए
यह चार्ट X अक्ष को उलट देता है ताकि तारीख के आधार पर सच्चाई के विपरीत दिखाया जा सके:
-
+
[यह चार्ट](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) और भी भ्रामक है, क्योंकि आंखें दाईं ओर खिंचती हैं और यह निष्कर्ष निकालती हैं कि समय के साथ विभिन्न काउंटियों में COVID मामलों में गिरावट आई है। वास्तव में, यदि आप तारीखों को ध्यान से देखें, तो आप पाएंगे कि उन्हें इस भ्रामक गिरावट को दिखाने के लिए पुनर्व्यवस्थित किया गया है।
-
+
यह कुख्यात उदाहरण रंग और एक उलटे Y अक्ष का उपयोग करके धोखा देता है: बंदूक-अनुकूल कानून पारित होने के बाद बंदूक से होने वाली मौतों में वृद्धि के बजाय, आंखें यह सोचने के लिए धोखा खा जाती हैं कि इसके विपरीत सच है:
-
+
यह अजीब चार्ट दिखाता है कि अनुपात को कैसे हेरफेर किया जा सकता है, हास्यास्पद प्रभाव के लिए:
-
+
अतुलनीय चीजों की तुलना करना एक और संदिग्ध चाल है। एक [शानदार वेबसाइट](https://tylervigen.com/spurious-correlations) है जो 'स्प्यूरियस कोरिलेशन्स' दिखाती है, जैसे कि मेन में तलाक की दर और मार्जरीन की खपत। एक Reddit समूह भी डेटा के [खराब उपयोग](https://www.reddit.com/r/dataisugly/top/?t=all) को एकत्र करता है।
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
यदि आपका डेटा X अक्ष पर टेक्स्टुअल और वर्बोज़ है, तो बेहतर पठनीयता के लिए टेक्स्ट को एंगल करें। [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) 3D प्लॉटिंग प्रदान करता है, यदि आपका डेटा इसे सपोर्ट करता है। इसका उपयोग करके परिष्कृत डेटा विज़ुअलाइज़ेशन बनाए जा सकते हैं।
-
+
## एनिमेशन और 3D चार्ट डिस्प्ले
आज के कुछ बेहतरीन डेटा विज़ुअलाइज़ेशन एनिमेटेड हैं। Shirley Wu ने D3 के साथ अद्भुत विज़ुअलाइज़ेशन बनाए हैं, जैसे '[फिल्म फ्लावर्स](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', जहां प्रत्येक फूल एक फिल्म का विज़ुअलाइज़ेशन है। Guardian के लिए एक और उदाहरण है 'बस्ट आउट', जो NYC के बेघर लोगों को शहर से बाहर भेजने की समस्या को दिखाने के लिए विज़ुअलाइज़ेशन, Greensock और D3 के साथ एक स्क्रॉलीटेलिंग आर्टिकल फॉर्मेट को जोड़ता है।
-
+
> "बस्ट आउट: अमेरिका अपने बेघर लोगों को कैसे स्थानांतरित करता है" [द गार्जियन](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study) से। विज़ुअलाइज़ेशन Nadieh Bremer और Shirley Wu द्वारा।
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
आप एक वेब ऐप पूरा करेंगे जो इस सोशल नेटवर्क का एनिमेटेड दृश्य प्रदर्शित करेगा। यह एक लाइब्रेरी का उपयोग करता है जिसे Vue.js और D3 का उपयोग करके [नेटवर्क का विज़ुअल](https://github.com/emiliorizzo/vue-d3-network) बनाने के लिए डिज़ाइन किया गया है। जब ऐप चल रहा हो, तो आप स्क्रीन पर नोड्स को खींच सकते हैं और डेटा को इधर-उधर कर सकते हैं।
-
+
## प्रोजेक्ट: D3.js का उपयोग करके नेटवर्क दिखाने के लिए एक चार्ट बनाएं
diff --git a/translations/hi/3-Data-Visualization/README.md b/translations/hi/3-Data-Visualization/README.md
index 62c44ca3..f6c64204 100644
--- a/translations/hi/3-Data-Visualization/README.md
+++ b/translations/hi/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# विज़ुअलाइज़ेशन
-
+
> फोटो जेना ली द्वारा अनस्प्लैश पर
डेटा को विज़ुअलाइज़ करना एक डेटा वैज्ञानिक के सबसे महत्वपूर्ण कार्यों में से एक है। एक तस्वीर 1000 शब्दों के बराबर होती है, और एक विज़ुअलाइज़ेशन आपको आपके डेटा के विभिन्न रोचक पहलुओं जैसे स्पाइक्स, आउटलायर्स, समूह, प्रवृत्तियों और अन्य चीजों को पहचानने में मदद कर सकता है, जो आपके डेटा की कहानी को समझने में सहायता करता है।
diff --git a/translations/hi/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/hi/4-Data-Science-Lifecycle/14-Introduction/README.md
index 2b508627..06430696 100644
--- a/translations/hi/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/hi/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
यह पाठ जीवनचक्र के 3 भागों पर केंद्रित है: डेटा संग्रहण, प्रोसेसिंग और रखरखाव।
-
+
> फोटो [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/) द्वारा
## डेटा संग्रहण
@@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA:
|टीम डेटा साइंस प्रक्रिया (TDSP)|क्रॉस-इंडस्ट्री स्टैंडर्ड प्रक्रिया फॉर डेटा माइनिंग (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| छवि [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) द्वारा | छवि [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) द्वारा |
## [पोस्ट-लेक्चर क्विज़](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/hi/4-Data-Science-Lifecycle/README.md b/translations/hi/4-Data-Science-Lifecycle/README.md
index 1c428bca..74b86677 100644
--- a/translations/hi/4-Data-Science-Lifecycle/README.md
+++ b/translations/hi/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# डेटा साइंस जीवनचक्र
-
+
> फोटो Headway द्वारा Unsplash पर
इन पाठों में, आप डेटा साइंस जीवनचक्र के कुछ पहलुओं का पता लगाएंगे, जिसमें डेटा का विश्लेषण और उसके बारे में संवाद शामिल है।
diff --git a/translations/hi/5-Data-Science-In-Cloud/README.md b/translations/hi/5-Data-Science-In-Cloud/README.md
index b2d2f0c1..d3a50182 100644
--- a/translations/hi/5-Data-Science-In-Cloud/README.md
+++ b/translations/hi/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# क्लाउड में डेटा साइंस
-
+
> फोटो [Jelleke Vanooteghem](https://unsplash.com/@ilumire) द्वारा [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape) से
जब बड़े डेटा के साथ डेटा साइंस करने की बात आती है, तो क्लाउड एक गेम चेंजर साबित हो सकता है। अगले तीन पाठों में, हम देखेंगे कि क्लाउड क्या है और यह क्यों बहुत सहायक हो सकता है। हम एक हार्ट फेलियर डेटासेट का भी विश्लेषण करेंगे और एक मॉडल बनाएंगे जो किसी व्यक्ति के हार्ट फेलियर होने की संभावना का आकलन करने में मदद करेगा। हम क्लाउड की शक्ति का उपयोग करके दो अलग-अलग तरीकों से एक मॉडल को ट्रेन, डिप्लॉय और उपयोग करेंगे। एक तरीका केवल यूजर इंटरफेस का उपयोग करते हुए "लो कोड/नो कोड" तरीके से होगा, और दूसरा तरीका Azure Machine Learning Software Developer Kit (Azure ML SDK) का उपयोग करते हुए होगा।
-
+
### विषय
diff --git a/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 2c6fcd9c..a7e893f6 100644
--- a/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ AI के लोकतंत्रीकरण के कारण, डेवल
* [Data Science in Healthcare](https://data-flair.training/blogs/data-science-in-healthcare/) - चिकित्सा इमेजिंग (जैसे, MRI, X-Ray, CT-Scan), जीनोमिक्स (DNA अनुक्रमण), दवा विकास (जोखिम मूल्यांकन, सफलता की भविष्यवाणी), पूर्वानुमानात्मक विश्लेषण (रोगी देखभाल और आपूर्ति लॉजिस्टिक्स), रोग ट्रैकिंग और रोकथाम जैसे अनुप्रयोगों को उजागर करता है।
- छवि क्रेडिट: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ छवि क्रेडिट: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
चित्र अन्य डोमेन और डेटा विज्ञान तकनीकों को लागू करने के उदाहरण दिखाता है। क्या आप अन्य अनुप्रयोगों का पता लगाना चाहते हैं? नीचे दिए गए [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) अनुभाग को देखें।
diff --git a/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index d233e03d..aba775bf 100644
--- a/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/hi/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ CO_OP_TRANSLATOR_METADATA:
2. डेटा सेट [कैटलॉग](https://planetarycomputer.microsoft.com/catalog) का अन्वेषण करें - प्रत्येक का उद्देश्य जानें।
3. एक्सप्लोरर का उपयोग करें - अपनी रुचि का डेटा सेट चुनें, एक प्रासंगिक क्वेरी और रेंडरिंग विकल्प चुनें।
-
+
`आपका कार्य:`
अब ब्राउज़र में रेंडर किए गए विज़ुअलाइज़ेशन का अध्ययन करें और निम्नलिखित प्रश्नों का उत्तर दें:
diff --git a/translations/hi/CONTRIBUTING.md b/translations/hi/CONTRIBUTING.md
index 3c70b80b..1d2b14aa 100644
--- a/translations/hi/CONTRIBUTING.md
+++ b/translations/hi/CONTRIBUTING.md
@@ -318,7 +318,7 @@ def calculate_mean(data):
```
````
-- छवियों में alt टेक्स्ट जोड़ें: ``
+- छवियों में alt टेक्स्ट जोड़ें: ``
- पंक्ति की लंबाई उचित रखें (लगभग 80-100 वर्ण)
### Python
diff --git a/translations/hi/README.md b/translations/hi/README.md
index 9836cbef..513dba6f 100644
--- a/translations/hi/README.md
+++ b/translations/hi/README.md
@@ -33,7 +33,7 @@ Microsoft में Azure Cloud Advocates प्रसन्न हैं कि
**🙏 विशेष धन्यवाद 🙏 हमारे [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) लेखकों, समीक्षकों और सामग्री योगदानकर्ताओं को,** प्रमुख रूप से Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| डेटा साइंस शुरुआती के लिए - _स्केचनोट द्वारा [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Microsoft में Azure Cloud Advocates प्रसन्न हैं कि
हमारे पास एक Discord पर "AI के साथ सीखें" सीरीज़ चल रही है, और अधिक जानने और जुड़ने के लिए [Learn with AI Series](https://aka.ms/learnwithai/discord) पर हमारे साथ शामिल हों, 18 - 30 सितंबर, 2025 से। आपको Data Science के लिए GitHub Copilot का उपयोग करने के टिप्स और ट्रिक्स मिलेंगे।
-
+
# क्या आप छात्र हैं?
@@ -132,7 +132,7 @@ Microsoft में Azure Cloud Advocates प्रसन्न हैं कि
## Lessons
-||
+||
|:---:|
| डेटा साइंस शुरुआती के लिए: रोडमैप - _स्केचनोट द्वारा [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/hi/sketchnotes/README.md b/translations/hi/sketchnotes/README.md
index c15751cb..8744f8ce 100644
--- a/translations/hi/sketchnotes/README.md
+++ b/translations/hi/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
नित्या नरसिम्हन, कलाकार
-
+
**अस्वीकरण**:
यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/01-defining-data-science/README.md b/translations/hk/1-Introduction/01-defining-data-science/README.md
index 8cdeccc5..4c915179 100644
--- a/translations/hk/1-Introduction/01-defining-data-science/README.md
+++ b/translations/hk/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [課前測驗](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
在這次挑戰中,我們將透過分析文本來尋找與數據科學領域相關的概念。我們會選取一篇關於數據科學的維基百科文章,下載並處理文本,然後建立一個像這樣的文字雲:
-
+
請訪問 [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') 閱讀程式碼。你也可以執行程式碼,並即時查看它如何進行所有數據轉換。
diff --git a/translations/hk/1-Introduction/04-stats-and-probability/README.md b/translations/hk/1-Introduction/04-stats-and-probability/README.md
index 83cf8345..1a20327f 100644
--- a/translations/hk/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/hk/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
統計學與概率論是數學中兩個密切相關的領域,對於數據科學非常重要。雖然在沒有深入數學知識的情況下也可以處理數據,但了解一些基本概念仍然是有益的。在這裡,我們將提供一個簡短的介紹,幫助你入門。
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [課前測驗](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
我們只能討論變數落在某個值區間內的概率,例如 P(t1≤X2)。在這種情況下,概率分佈由 **概率密度函數** p(x) 描述,其公式如下:
- 中找到。
diff --git a/translations/hk/1-Introduction/README.md b/translations/hk/1-Introduction/README.md
index d1db54f3..76eeebcd 100644
--- a/translations/hk/1-Introduction/README.md
+++ b/translations/hk/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# 數據科學入門
-
+
> 圖片由 Stephen Dawson 提供,來源於 Unsplash
在這些課程中,你將了解什麼是數據科學,並學習數據科學家必須考慮的倫理問題。你還會學習數據的定義,並簡單了解統計學和概率論,這些是數據科學的核心學術領域。
diff --git a/translations/hk/2-Working-With-Data/07-python/README.md b/translations/hk/2-Working-With-Data/07-python/README.md
index f963c053..c7367a42 100644
--- a/translations/hk/2-Working-With-Data/07-python/README.md
+++ b/translations/hk/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| 使用 Python - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
雖然數據庫提供了非常高效的方式來存儲數據並使用查詢語言進行查詢,但最靈活的數據處理方式是編寫自己的程序來操作數據。在許多情況下,使用數據庫查詢可能更有效。然而,在某些需要更複雜數據處理的情況下,使用 SQL 並不容易完成這些操作。
@@ -74,7 +74,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
假設每週我們都會為朋友舉辦派對,並額外準備 10 盒冰淇淋。我們可以創建另一個以週為索引的 Series 來展示這一點:
```python
@@ -85,7 +85,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **注意**:我們並未使用簡單的語法 `total_items+additional_items`。如果這樣做,結果 Series 中會有許多 `NaN`(*非數值*)值。這是因為在 `additional_items` Series 的某些索引點上存在缺失值,而將 `NaN` 與任何值相加的結果都是 `NaN`。因此,我們需要在相加時指定 `fill_value` 參數。
@@ -94,7 +94,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -220,7 +220,7 @@ df = pd.read_csv('file.csv')
由於我們想展示如何處理數據,我們邀請你打開 [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後留下的一些挑戰。
-
+
> 如果你不知道如何在 Jupyter Notebook 中運行代碼,可以查看 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
@@ -242,7 +242,7 @@ df = pd.read_csv('file.csv')
打開 [`notebook-papers.ipynb`](notebook-papers.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後留下的一些挑戰。
-
+
## 處理圖片數據
diff --git a/translations/hk/2-Working-With-Data/README.md b/translations/hk/2-Working-With-Data/README.md
index 3088052c..cfce3a8b 100644
--- a/translations/hk/2-Working-With-Data/README.md
+++ b/translations/hk/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# 處理數據
-
+
> 照片由 Alexander Sinn 提供,來自 Unsplash
在這些課程中,你將學習一些管理、操作和應用數據的方法。你會了解關聯式和非關聯式數據庫,以及數據如何存儲在其中。你將學習使用 Python 管理數據的基礎知識,並探索多種使用 Python 管理和挖掘數據的方法。
diff --git a/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md b/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md
index b1705a89..8991a643 100644
--- a/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
接下來,使用蜂蜜色調展示價格隨年份的變化。您可以通過添加 'hue' 參數來展示每年的變化:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
通過這種色彩方案的改變,您可以清楚地看到蜂蜜每磅價格隨年份的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇一個州,亞利桑那州),您可以看到價格每年增長的模式,只有少數例外:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
您可以看到點的大小逐漸增大。
-
+
這是否是一個簡單的供需問題?由於氣候變化和蜂群崩潰等因素,是否每年可供購買的蜂蜜減少,因此價格上漲?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
答案:是的,但在2003年左右有一些例外:
-
+
✅ 由於 Seaborn 將數據聚合到一條線上,它通過繪製均值和均值周圍的95%置信區間來顯示每個 x 值的多個測量值。[來源](https://seaborn.pydata.org/tutorial/relational.html)。這種耗時的行為可以通過添加 `ci=None` 禁用。
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
答案:並不完全。如果您查看總生產量,實際上在那一年似乎有所增加,儘管總體而言蜂蜜的生產量在這些年中呈下降趨勢。
@@ -139,7 +139,7 @@ sns.relplot(
```
在這個視覺化中,您可以比較每年的每群產量和蜂群數量,並將列的 wrap 設置為3:
-
+
對於這個數據集,關於蜂群數量和每群產量,按年份和州比較並沒有特別突出的地方。是否有其他方式來尋找這兩個變量之間的相關性?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
雖然在2003年沒有明顯的異常,但這讓我們以一個稍微樂觀的結論結束本課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群產量在減少。
diff --git a/translations/hk/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/hk/3-Data-Visualization/R/09-visualization-quantities/README.md
index 1b8c6979..c27d50f0 100644
--- a/translations/hk/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/hk/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
在這裡,你安裝了 `ggplot2` 套件,然後使用 `library("ggplot2")` 命令將其導入工作空間。要在 ggplot 中繪製任何圖表,使用 `ggplot()` 函數並指定數據集、x 和 y 變量作為屬性。在這種情況下,我們使用 `geom_line()` 函數,因為我們的目標是繪製折線圖。
-
+
你立即注意到什麼?似乎至少有一個異常值——那是一個相當大的翼展!2000+ 厘米的翼展超過 20 米——明尼蘇達州有翼龍在飛嗎?讓我們調查一下。
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
我們在 `theme` 中指定角度,並在 `xlab()` 和 `ylab()` 中分別指定 x 和 y 軸標籤。`ggtitle()` 為圖表/圖形命名。
-
+
即使將標籤的旋轉設置為 45 度,仍然有太多標籤難以閱讀。讓我們嘗試另一種策略:僅標記那些異常值並在圖表內設置標籤。你可以使用散點圖來為標籤留出更多空間:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
你發現了什麼?
-
+
## 篩選數據
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
我們創建了一個新的數據框 `birds_filtered`,然後繪製了一個散點圖。通過篩選掉異常值,你的數據現在更加一致且易於理解。
-
+
現在我們至少在翼展方面有了一個更乾淨的數據集,讓我們了解更多關於這些鳥類的信息。
@@ -162,7 +162,7 @@ birds_filtered %>% group_by(Category) %>%
```
在以下代碼片段中,我們安裝了 [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) 和 [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) 套件,以幫助操作和分組數據以繪製堆疊條形圖。首先,你按鳥類的 `Category` 分組數據,然後總結 `MinLength`、`MaxLength`、`MinBodyMass`、`MaxBodyMass`、`MinWingspan`、`MaxWingspan` 列。然後,使用 `ggplot2` 套件繪製條形圖並指定不同類別的顏色和標籤。
-
+
然而,這個條形圖難以閱讀,因為有太多未分組的數據。你需要選擇你想要繪製的數據,所以讓我們看看基於鳥類類別的鳥類長度。
@@ -177,7 +177,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
你首先計算 `Category` 列中的唯一值,然後將它們排序到一個新的數據框 `birds_count` 中。這些排序後的數據在相同層次中進行分級,以便按排序方式繪製。使用 `ggplot2`,你然後在條形圖中繪製數據。`coord_flip()` 繪製水平條形圖。
-
+
這個條形圖很好地展示了每個類別中鳥類的數量。一眼就能看出,在這個地區最多的鳥類是鴨/鵝/水禽類別。明尼蘇達州是“萬湖之地”,所以這並不令人驚訝!
@@ -200,7 +200,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
我們按 `Category` 分組 `birds_filtered` 數據,然後繪製條形圖。
-
+
這裡沒有什麼令人驚訝的:蜂鳥的最大長度比鵜鶘或鵝要小得多。當數據符合邏輯時,這是件好事!
@@ -212,7 +212,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 挑戰
diff --git a/translations/hk/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/hk/3-Data-Visualization/R/10-visualization-distributions/README.md
index ec5d89ba..64cc975e 100644
--- a/translations/hk/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/hk/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
這提供了每個鳥類目身體長度分佈的概覽,但這並不是顯示真實分佈的最佳方式。這個任務通常通過創建直方圖來完成。
@@ -57,7 +57,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
如你所見,這個數據集中大多數 400 多種鳥類的最大體重都在 2000 以下。通過將 `bins` 參數設置為更高的數值(例如 30),可以獲得更多的數據洞察:
@@ -65,7 +65,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
這個圖表以更細緻的方式顯示了分佈。通過僅選擇給定範圍內的數據,可以創建一個不那麼偏向左側的圖表:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ 試試其他篩選條件和數據點。若要查看數據的完整分佈,移除 `['MaxBodyMass']` 篩選條件以顯示帶標籤的分佈。
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
可以看到這兩個元素之間沿著預期軸線存在預期的相關性,並且有一個特別強的匯聚點:
-
+
直方圖對於數值數據效果很好。如果需要查看基於文本數據的分佈該怎麼辦?
@@ -123,7 +123,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
最小翼展與保育狀況之間似乎沒有明顯的相關性。使用這種方法測試數據集的其他元素。你也可以嘗試不同的篩選條件。你發現了任何相關性嗎?
@@ -137,7 +137,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
你可以看到這個圖表反映了之前的最小翼展數據,只是更平滑了一些。如果你想重新查看第二個圖表中那條不平滑的最大體重線,可以使用這種方法將其非常平滑地重現:
@@ -145,7 +145,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
如果你想要一條平滑但不過於平滑的線,可以編輯 `adjust` 參數:
@@ -153,7 +153,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ 閱讀此類圖表可用的參數並進行實驗!
@@ -163,7 +163,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 挑戰
diff --git a/translations/hk/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/hk/3-Data-Visualization/R/11-visualization-proportions/README.md
index 41840868..d1f53125 100644
--- a/translations/hk/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/hk/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -93,7 +93,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
完成,一個圓餅圖展示了根據這兩類蘑菇的比例數據。正確排列標籤的順序非常重要,尤其是在這裡,因此請務必核對標籤數組的構建順序!
-
+
## 甜甜圈圖!
@@ -128,7 +128,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
這段代碼使用了兩個庫——ggplot2 和 webr。使用 webr 庫的 PieDonut 函數,我們可以輕鬆創建甜甜圈圖!
@@ -166,7 +166,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
使用華夫圖,你可以清楚地看到這個蘑菇數據集中菌蓋顏色的比例。有趣的是,有許多綠色菌蓋的蘑菇!
-
+
在這節課中,你學到了三種視覺化比例的方法。首先,你需要將數據分組到分類中,然後決定哪種方式最適合展示數據——圓餅圖、甜甜圈圖或華夫圖。這些方法都很有趣,能讓用戶快速了解數據集。
diff --git a/translations/hk/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/hk/3-Data-Visualization/R/12-visualization-relationships/README.md
index 2278ac88..86337905 100644
--- a/translations/hk/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/hk/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
現在,使用蜂蜜色彩方案展示價格隨年份的變化。您可以通過添加 'scale_color_gradientn' 參數來顯示每年的變化:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
使用這種色彩方案,您可以看到蜂蜜每磅價格隨年份的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇亞利桑那州),您可以看到價格每年逐漸上漲,僅有少數例外:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
您可以看到點的大小逐漸增大。
-
+
這是否是一個簡單的供需問題?由於氣候變化和蜂群崩潰等因素,是否每年可供購買的蜂蜜減少,導致價格上漲?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
答案:是的,但在2003年左右有一些例外:
-
+
問題:那麼在2003年,我們是否也能看到蜂蜜供應的激增?如果您查看每年的總生產量呢?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
答案:並不完全。如果您查看總生產量,實際上在那一年似乎有所增加,儘管總體而言蜂蜜的生產量在這些年中呈下降趨勢。
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
在此視覺化中,您可以比較每群產量和蜂群數量每年每州的變化,並將列數設置為3:
-
+
對於此數據集,關於蜂群數量和每群產量每年每州的變化,並未有特別突出的地方。是否有其他方式可以找到這兩個變量之間的相關性?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
雖然在2003年並未有明顯的異常,但這讓我們可以以一個稍微樂觀的結論結束本課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群產量在減少。
diff --git a/translations/hk/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/hk/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 250798fc..bfb15291 100644
--- a/translations/hk/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/hk/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
即使數據科學家謹慎地為正確的數據選擇了合適的圖表,仍然有許多方法可以以誤導的方式展示數據,通常是為了證明某個觀點,卻犧牲了數據的真實性。有許多誤導性圖表和信息圖的例子!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 點擊上方圖片觀看關於誤導性圖表的會議演講
這張圖表反轉了 X 軸,根據日期顯示了與事實相反的內容:
-
+
[這張圖表](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) 更加誤導,因為視覺上吸引人注意的是右側,讓人得出隨時間推移各縣的 COVID 病例數下降的結論。事實上,如果仔細查看日期,你會發現它們被重新排列以製造出誤導性的下降趨勢。
-
+
這個臭名昭著的例子使用顏色和反轉的 Y 軸來誤導:原本應該得出槍支友好立法通過後槍支死亡率激增的結論,卻讓人誤以為情況正好相反:
-
+
這張奇怪的圖表展示了比例如何被操控,效果令人捧腹:
-
+
比較不可比的事物是另一種不正當的手段。有一個[精彩的網站](https://tylervigen.com/spurious-correlations)專門展示「虛假的相關性」,例如顯示緬因州的離婚率與人造奶油的消耗量之間的「事實」相關性。一個 Reddit 群組也收集了[糟糕的數據使用](https://www.reddit.com/r/dataisugly/top/?t=all)。
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
如果你的數據在 X 軸上是文本且冗長,可以將文本角度調整以提高可讀性。[plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) 提供了 3D 繪圖功能,如果你的數據支持它,可以使用它來生成更高級的數據視覺化。
-
+
## 動畫和 3D 圖表展示
如今一些最好的數據視覺化是動畫化的。Shirley Wu 使用 D3 創作了令人驚嘆的作品,例如「[電影之花](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)」,每朵花都是一部電影的視覺化。另一個例子是《衛報》的「Bussed Out」,這是一個結合 Greensock 和 D3 的視覺化與滾動敘事文章格式的互動體驗,展示了紐約市如何通過將無家可歸者送出城市來處理其無家可歸問題。
-
+
> 「Bussed Out: How America Moves its Homeless」來自[衛報](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study)。視覺化由 Nadieh Bremer 和 Shirley Wu 創作
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
你將完成一個網頁應用,展示這個社交網絡的動畫視圖。它使用了一個庫來創建[網絡視覺化](https://github.com/emiliorizzo/vue-d3-network),基於 Vue.js 和 D3。當應用運行時,你可以在屏幕上拖動節點,重新排列數據。
-
+
## 項目:使用 D3.js 構建一個展示網絡的圖表
diff --git a/translations/hk/3-Data-Visualization/README.md b/translations/hk/3-Data-Visualization/README.md
index bc678301..46e61938 100644
--- a/translations/hk/3-Data-Visualization/README.md
+++ b/translations/hk/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# 視覺化
-
+
> 照片由 Jenna Lee 提供,來源於 Unsplash
視覺化數據是數據科學家最重要的任務之一。圖片勝過千言萬語,視覺化可以幫助你識別數據中的各種有趣部分,例如峰值、異常值、分組、趨勢等等,這些都能幫助你理解數據背後的故事。
diff --git a/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md
index 79041514..0b32a3da 100644
--- a/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
本課程將重點介紹生命周期中的三個部分:捕獲、處理和維護。
-
+
> 圖片來源:[Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## 捕獲
@@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA:
|團隊數據科學過程 (TDSP)|跨行業數據挖掘標準過程 (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| 圖片來源:[Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | 圖片來源:[Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [課後測驗](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/hk/4-Data-Science-Lifecycle/README.md b/translations/hk/4-Data-Science-Lifecycle/README.md
index 907526d3..2bb7f14b 100644
--- a/translations/hk/4-Data-Science-Lifecycle/README.md
+++ b/translations/hk/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# 數據科學生命周期
-
+
> 圖片由 Headway 提供,來自 Unsplash
在這些課程中,你將探索數據科學生命周期的一些方面,包括數據的分析和溝通。
diff --git a/translations/hk/5-Data-Science-In-Cloud/README.md b/translations/hk/5-Data-Science-In-Cloud/README.md
index f3e32ef7..ac12d145 100644
--- a/translations/hk/5-Data-Science-In-Cloud/README.md
+++ b/translations/hk/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# 雲端中的數據科學
-
+
> 圖片來源:[Jelleke Vanooteghem](https://unsplash.com/@ilumire) 來自 [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
當涉及到使用大數據進行數據科學時,雲端可以成為改變遊戲規則的關鍵。在接下來的三節課中,我們將了解什麼是雲端以及為什麼它非常有用。我們還將探索一個心臟衰竭數據集,並建立一個模型來幫助評估某人發生心臟衰竭的可能性。我們將利用雲端的強大功能來訓練、部署和以兩種不同的方式使用模型。一種方式是僅使用用戶界面,以低代碼/無代碼的方式進行;另一種方式是使用 Azure 機器學習軟件開發工具包 (Azure ML SDK)。
-
+
### 主題
diff --git a/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index c4f902d5..64540a4b 100644
--- a/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA:
* [數據科學在醫療保健中的應用](https://data-flair.training/blogs/data-science-in-healthcare/) - 強調應用包括醫學影像(例如 MRI、X光、CT掃描)、基因組學(DNA測序)、藥物開發(風險評估、成功預測)、預測分析(患者護理和供應物流)、疾病追蹤和預防等。
- 圖片來源:[Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ 圖片來源:[Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
該圖展示了其他領域和應用數據科學技術的例子。想探索更多應用?查看下面的[回顧與自學](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)部分。
diff --git a/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 511e59ed..d710c085 100644
--- a/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Explorer界面(如下圖所示)允許你選擇一個數據集(從提供的
2. 探索數據集[目錄](https://planetarycomputer.microsoft.com/catalog)——了解每個數據集的用途。
3. 使用Explorer——選擇一個感興趣的數據集,選擇相關的查詢和渲染選項。
-
+
`你的任務:`
現在,研究瀏覽器中渲染的可視化,並回答以下問題:
diff --git a/translations/hk/CONTRIBUTING.md b/translations/hk/CONTRIBUTING.md
index 67090877..0d262c71 100644
--- a/translations/hk/CONTRIBUTING.md
+++ b/translations/hk/CONTRIBUTING.md
@@ -311,7 +311,7 @@ def calculate_mean(data):
import pandas as pd
```
````
-- 為圖片添加替代文字:``
+- 為圖片添加替代文字:``
- 保持合理的行長(約 80-100 字元)
### Python
diff --git a/translations/hk/README.md b/translations/hk/README.md
index 68c870aa..680bda6c 100644
--- a/translations/hk/README.md
+++ b/translations/hk/README.md
@@ -28,7 +28,7 @@ Microsoft 的 Azure Cloud Advocates 很高興提供一個為期 10 週、共 20
**🙏 特別感謝 🙏 我們的 [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) 作者、審閱者與內容貢獻者,** 特別是 Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science For Beginners - _速寫筆記 由 [@nitya](https://twitter.com/nitya)_ |
@@ -47,7 +47,7 @@ Microsoft 的 Azure Cloud Advocates 很高興提供一個為期 10 週、共 20
我們正在舉辦 Discord 的「與 AI 一起學習」系列,詳情與加入請於 2025 年 9 月 18 日至 30 日,到 [與 AI 一起學習系列](https://aka.ms/learnwithai/discord)。你將會獲得使用 GitHub Copilot 進行資料科學的技巧與秘訣。
-
+
# 你是學生嗎?
@@ -127,7 +127,7 @@ Microsoft 的 Azure Cloud Advocates 很高興提供一個為期 10 週、共 20
## 課程
-||
+||
|:---:|
| 給初學者的資料科學:路線圖 - _手繪速寫筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
diff --git a/translations/hk/sketchnotes/README.md b/translations/hk/sketchnotes/README.md
index eaf0d7b1..9efed63d 100644
--- a/translations/hk/sketchnotes/README.md
+++ b/translations/hk/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
Nitya Narasimhan,藝術家
-
+
**免責聲明**:
本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hr/1-Introduction/01-defining-data-science/README.md b/translations/hr/1-Introduction/01-defining-data-science/README.md
index 283b1f14..971c1786 100644
--- a/translations/hr/1-Introduction/01-defining-data-science/README.md
+++ b/translations/hr/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Kviz prije predavanja](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Ako želimo ići još složenije, možemo prikazati vrijeme potrebno za svaki mo
U ovom izazovu pokušat ćemo pronaći koncepte relevantne za područje Data Sciencea analizirajući tekstove. Uzet ćemo članak s Wikipedije o Data Scienceu, preuzeti i obraditi tekst, a zatim izraditi oblak riječi poput ovog:
-
+
Posjetite [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') kako biste pregledali kod. Također možete pokrenuti kod i vidjeti kako u stvarnom vremenu obavlja sve transformacije podataka.
diff --git a/translations/hr/1-Introduction/04-stats-and-probability/README.md b/translations/hr/1-Introduction/04-stats-and-probability/README.md
index aa13493e..c70a75aa 100644
--- a/translations/hr/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/hr/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Statistika i teorija vjerojatnosti su dva usko povezana područja matematike koja su izuzetno važna za znanost o podacima. Iako je moguće raditi s podacima bez dubokog poznavanja matematike, ipak je korisno razumjeti barem osnovne koncepte. Ovdje ćemo predstaviti kratak uvod koji će vam pomoći da započnete.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Kviz prije predavanja](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Teže je opisati raspodjelu vjerojatnosti kontinuirane varijable, s vrijednostim
Možemo govoriti samo o vjerojatnosti da varijabla padne u određeni interval vrijednosti, npr. P(t1≤X2). U ovom slučaju, raspodjela vjerojatnosti opisana je **funkcijom gustoće vjerojatnosti** p(x), tako da
-.
diff --git a/translations/hr/1-Introduction/README.md b/translations/hr/1-Introduction/README.md
index 84c6fbf6..46ca9443 100644
--- a/translations/hr/1-Introduction/README.md
+++ b/translations/hr/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Uvod u podatkovnu znanost
-
+
> Fotografija autora Stephen Dawson na Unsplash
U ovim lekcijama otkrit ćete kako se definira podatkovna znanost i upoznati se s etičkim razmatranjima koja mora uzeti u obzir podatkovni znanstvenik. Također ćete naučiti kako se definiraju podaci te steći osnovno razumijevanje statistike i vjerojatnosti, ključnih akademskih područja podatkovne znanosti.
diff --git a/translations/hr/2-Working-With-Data/07-python/README.md b/translations/hr/2-Working-With-Data/07-python/README.md
index 81a5e012..4149fe8a 100644
--- a/translations/hr/2-Working-With-Data/07-python/README.md
+++ b/translations/hr/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Rad s Pythonom - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Iako baze podataka nude vrlo učinkovite načine za pohranu podataka i njihovo pretraživanje pomoću jezika upita, najfleksibilniji način obrade podataka je pisanje vlastitog programa za manipulaciju podacima. U mnogim slučajevima, upit u bazi podataka bio bi učinkovitiji način. Međutim, u nekim slučajevima kada je potrebna složenija obrada podataka, to se ne može lako postići pomoću SQL-a.
Obrada podataka može se programirati u bilo kojem programskom jeziku, ali postoje određeni jezici koji su na višoj razini u radu s podacima. Data znanstvenici obično preferiraju jedan od sljedećih jezika:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Sada pretpostavimo da svaki tjedan organiziramo zabavu za prijatelje i uzimamo dodatnih 10 paketa sladoleda za zabavu. Možemo stvoriti drugi niz, indeksiran po tjednu, kako bismo to prikazali:
```python
@@ -84,7 +84,7 @@ Kada zbrojimo dva niza, dobijemo ukupni broj:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Napomena** da ne koristimo jednostavnu sintaksu `total_items+additional_items`. Da jesmo, dobili bismo puno `NaN` (*Not a Number*) vrijednosti u rezultirajućem nizu. To je zato što nedostaju vrijednosti za neke točke indeksa u nizu `additional_items`, a zbrajanje `NaN` s bilo čim rezultira `NaN`. Stoga trebamo specificirati parametar `fill_value` tijekom zbrajanja.
@@ -93,7 +93,7 @@ S vremenskim nizovima također možemo **ponovno uzorkovati** nizove s različit
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Prvi problem na kojem ćemo se fokusirati je modeliranje širenja epidemije COVI
Budući da želimo demonstrirati kako raditi s podacima, pozivamo vas da otvorite [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) i pročitate ga od početka do kraja. Također možete izvršavati ćelije i riješiti neke izazove koje smo ostavili na kraju.
-
+
> Ako ne znate kako pokrenuti kod u Jupyter Notebooku, pogledajte [ovaj članak](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Potpuni primjer analize ovog skupa podataka koristeći [Text Analytics for Healt
Otvorite [`notebook-papers.ipynb`](notebook-papers.ipynb) i pročitajte ga od početka do kraja. Također možete izvršavati ćelije i riješiti neke izazove koje smo ostavili na kraju.
-
+
## Obrada slikovnih podataka
diff --git a/translations/hr/2-Working-With-Data/README.md b/translations/hr/2-Working-With-Data/README.md
index cc3da4c5..f26c2a07 100644
--- a/translations/hr/2-Working-With-Data/README.md
+++ b/translations/hr/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Rad s podacima
-
+
> Fotografija autora Alexander Sinn na Unsplash
U ovim lekcijama naučit ćete neke od načina na koje se podaci mogu upravljati, manipulirati i koristiti u aplikacijama. Naučit ćete o relacijskim i nerelacijskim bazama podataka te kako se podaci mogu pohranjivati u njima. Upoznat ćete osnove rada s Pythonom za upravljanje podacima i otkriti neke od brojnih načina na koje možete koristiti Python za upravljanje i analizu podataka.
diff --git a/translations/hr/3-Data-Visualization/12-visualization-relationships/README.md b/translations/hr/3-Data-Visualization/12-visualization-relationships/README.md
index 0a0036d4..e28dbf07 100644
--- a/translations/hr/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/hr/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Napravite osnovni scatterplot za prikaz odnosa između cijene po funti meda i dr
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Sada prikažite iste podatke s paletom boja inspiriranom medom kako biste pokazali kako se cijena mijenja tijekom godina. To možete učiniti dodavanjem parametra 'hue' za prikaz promjena iz godine u godinu:
@@ -60,7 +60,7 @@ Sada prikažite iste podatke s paletom boja inspiriranom medom kako biste pokaza
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
S ovom promjenom palete boja možete jasno vidjeti snažan napredak tijekom godina u pogledu cijene meda po funti. Ako pogledate uzorak podataka za provjeru (na primjer, odaberite državu Arizonu), možete uočiti obrazac povećanja cijene iz godine u godinu, uz nekoliko iznimaka:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Možete vidjeti kako se veličina točaka postupno povećava.
-
+
Je li ovo jednostavan slučaj ponude i potražnje? Zbog čimbenika poput klimatskih promjena i kolapsa kolonija, je li dostupno manje meda za kupnju iz godine u godinu, pa cijena raste?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Odgovor: Da, uz nekoliko iznimaka oko 2003. godine:
-
+
✅ Budući da Seaborn agregira podatke u jednu liniju, prikazuje "više mjerenja za svaku vrijednost x tako što crta srednju vrijednost i interval pouzdanosti od 95% oko srednje vrijednosti". [Izvor](https://seaborn.pydata.org/tutorial/relational.html). Ovo ponašanje koje oduzima vrijeme može se onemogućiti dodavanjem `ci=None`.
@@ -114,7 +114,7 @@ Pitanje: Pa, možemo li također vidjeti porast u opskrbi medom oko 2003. godine
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Odgovor: Ne baš. Ako pogledate ukupnu proizvodnju, čini se da je zapravo porasla te godine, iako općenito količina proizvedenog meda opada tijekom tih godina.
@@ -139,7 +139,7 @@ sns.relplot(
```
U ovoj vizualizaciji možete usporediti prinos po koloniji i broj kolonija iz godine u godinu, usporedno s postavkom wrap na 3 za stupce:
-
+
Za ovaj skup podataka, ništa posebno ne iskače u vezi s brojem kolonija i njihovim prinosom, iz godine u godinu i iz države u državu. Postoji li drugačiji način za pronalaženje korelacije između ove dvije varijable?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Iako ništa posebno ne iskače oko 2003. godine, ovo nam omogućuje da završimo lekciju na malo sretnijoj noti: iako općenito dolazi do smanjenja broja kolonija, broj kolonija se stabilizira čak i ako njihov prinos po koloniji opada.
diff --git a/translations/hr/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/hr/3-Data-Visualization/R/09-visualization-quantities/README.md
index f313bb55..f4a246cc 100644
--- a/translations/hr/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/hr/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Ovdje instalirate paket `ggplot2` i zatim ga uvozite u radni prostor pomoću naredbe `library("ggplot2")`. Za crtanje bilo kojeg grafa u ggplot-u koristi se funkcija `ggplot()`, a vi specificirate skup podataka, x i y varijable kao atribute. U ovom slučaju koristimo funkciju `geom_line()` jer želimo nacrtati linijski graf.
-
+
Što odmah primjećujete? Čini se da postoji barem jedan outlier - to je prilično velik raspon krila! Raspon krila od preko 2000 centimetara jednak je više od 20 metara - lutaju li Pterodaktili Minnesotom? Istražimo.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
U temi specificiramo kut, a oznake za x i y osi specificiramo pomoću `xlab()` i `ylab()` funkcija. Funkcija `ggtitle()` daje naziv grafu.
-
+
Čak i s rotacijom oznaka postavljenom na 45 stupnjeva, previše ih je za čitanje. Pokušajmo drugačiju strategiju: označimo samo outliere i postavimo oznake unutar grafa. Možete koristiti raspršeni graf kako biste napravili više prostora za označavanje:
@@ -100,7 +100,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
Što otkrivate?
-
+
## Filtriranje podataka
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Napravili smo novi dataframe `birds_filtered` i zatim nacrtali raspršeni graf. Filtriranjem outliera, vaši podaci sada su kohezivniji i razumljiviji.
-
+
Sada kada imamo čišći skup podataka barem u smislu raspona krila, istražimo više o ovim pticama.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
U sljedećem isječku instaliramo pakete [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) i [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) kako bismo manipulirali i grupirali podatke za crtanje složenog stupčastog grafa. Prvo grupirate podatke prema `Category` ptica i zatim sažimate stupce `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Zatim crtate stupčasti graf koristeći `ggplot2` i specificirate boje za različite kategorije i oznake.
-
+
Ovaj stupčasti graf, međutim, nije čitljiv jer ima previše negrupiranih podataka. Trebate odabrati samo podatke koje želite prikazati, pa pogledajmo duljinu ptica na temelju njihove kategorije.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Prvo brojite jedinstvene vrijednosti u stupcu `Category` i zatim ih sortirate u novi dataframe `birds_count`. Ovi sortirani podaci zatim se faktoriziraju na istoj razini kako bi se prikazali na sortirani način. Koristeći `ggplot2`, zatim crtate podatke u stupčastom grafu. Funkcija `coord_flip()` prikazuje horizontalne stupce.
-
+
Ovaj stupčasti graf pruža dobar pregled broja ptica u svakoj kategoriji. Na prvi pogled vidite da je najveći broj ptica u ovoj regiji u kategoriji Patke/Guske/Vodene ptice. Minnesota je 'zemlja 10.000 jezera', pa to nije iznenađujuće!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Grupiramo `birds_filtered` podatke prema `Category` i zatim crtamo stupčasti graf.
-
+
Ništa ovdje nije iznenađujuće: kolibrići imaju najmanju maksimalnu duljinu u usporedbi s pelikanima ili guskama. Dobro je kada podaci imaju logičan smisao!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Izazov
diff --git a/translations/hr/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/hr/3-Data-Visualization/R/10-visualization-distributions/README.md
index 83e0d91f..2eb2c00b 100644
--- a/translations/hr/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/hr/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Ovo daje pregled opće distribucije duljine tijela po redu ptica, ali nije optimalan način za prikaz stvarnih distribucija. Taj zadatak obično se rješava izradom histograma.
## Rad s histogramima
@@ -56,7 +56,7 @@ Ovo daje pregled opće distribucije duljine tijela po redu ptica, ali nije optim
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Kao što možete vidjeti, većina od 400+ ptica u ovom skupu podataka spada u raspon ispod 2000 za njihovu maksimalnu tjelesnu masu. Dobijte više uvida u podatke promjenom parametra `bins` na veći broj, poput 30:
@@ -64,7 +64,7 @@ Kao što možete vidjeti, većina od 400+ ptica u ovom skupu podataka spada u ra
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Ovaj grafikon prikazuje distribuciju na malo detaljniji način. Grafikon manje nagnut ulijevo mogao bi se stvoriti osiguravanjem da odaberete samo podatke unutar određenog raspona:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Isprobajte neke druge filtre i točke podataka. Da biste vidjeli punu distribuciju podataka, uklonite filter `['MaxBodyMass']` kako biste prikazali označene distribucije.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Čini se da postoji očekivana korelacija između ova dva elementa duž očekivane osi, s jednom posebno jakom točkom konvergencije:
-
+
Histograme je lako koristiti za numeričke podatke. Što ako trebate vidjeti distribucije prema tekstualnim podacima?
## Istražite skup podataka za distribucije koristeći tekstualne podatke
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Čini se da ne postoji dobra korelacija između minimalnog raspona krila i statusa očuvanosti. Testirajte druge elemente skupa podataka koristeći ovu metodu. Možete isprobati i različite filtre. Nalazite li neku korelaciju?
@@ -135,7 +135,7 @@ Radimo sada s grafovima gustoće!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Možete vidjeti kako grafikon odražava prethodni za podatke o minimalnom rasponu krila; samo je malo glađi. Ako želite ponovno pogledati onaj nazubljeni grafikon MaxBodyMass iz drugog grafikona koji ste izradili, mogli biste ga vrlo dobro izgladiti koristeći ovu metodu:
@@ -143,7 +143,7 @@ Možete vidjeti kako grafikon odražava prethodni za podatke o minimalnom raspon
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Ako želite glatku, ali ne previše glatku liniju, uredite parametar `adjust`:
@@ -151,7 +151,7 @@ Ako želite glatku, ali ne previše glatku liniju, uredite parametar `adjust`:
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Pročitajte o parametrima dostupnim za ovu vrstu grafikona i eksperimentirajte!
@@ -161,7 +161,7 @@ Ova vrsta grafikona nudi vizualizacije koje lijepo objašnjavaju podatke. Na pri
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Izazov
diff --git a/translations/hr/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/hr/3-Data-Visualization/R/11-visualization-proportions/README.md
index 41c8d040..5d6f8cd2 100644
--- a/translations/hr/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/hr/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, tortni grafikon koji prikazuje proporcije ovih podataka prema ove dvije klase gljiva. Vrlo je važno dobiti redoslijed oznaka točno, posebno ovdje, pa svakako provjerite redoslijed kojim je niz oznaka izgrađen!
-
+
## Prstenovi!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Ovaj kod koristi dvije biblioteke - ggplot2 i webr. Koristeći funkciju PieDonut iz webr biblioteke, lako možemo kreirati grafikon u obliku prstena!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Koristeći grafikon u obliku vafla, jasno možete vidjeti proporcije boja klobuka u ovom datasetu gljiva. Zanimljivo je da postoji mnogo gljiva sa zelenim klobukom!
-
+
U ovoj lekciji naučili ste tri načina za vizualizaciju proporcija. Prvo, trebate grupirati svoje podatke u kategorije, a zatim odlučiti koji je najbolji način za prikaz podataka - torta, prsten ili vafl. Svi su ukusni i pružaju korisniku trenutni pregled dataset-a.
diff --git a/translations/hr/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/hr/3-Data-Visualization/R/12-visualization-relationships/README.md
index c9908ddd..9925d03e 100644
--- a/translations/hr/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/hr/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Sada prikažite iste podatke s paletom boja meda kako biste pokazali kako se cijena razvija tijekom godina. To možete učiniti dodavanjem parametra 'scale_color_gradientn' za prikaz promjena iz godine u godinu:
@@ -61,7 +61,7 @@ Sada prikažite iste podatke s paletom boja meda kako biste pokazali kako se cij
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
S ovom promjenom palete boja možete vidjeti očigledan snažan napredak tijekom godina u smislu cijene meda po funti. Doista, ako pogledate uzorak podataka za provjeru (odaberite određenu državu, na primjer Arizonu), možete vidjeti obrazac povećanja cijene iz godine u godinu, s nekoliko iznimaka:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Možete vidjeti kako se veličina točaka postupno povećava.
-
+
Je li ovo jednostavan slučaj ponude i potražnje? Zbog faktora poput klimatskih promjena i kolapsa kolonija, je li dostupno manje meda za kupnju iz godine u godinu, pa cijena raste?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Odgovor: Da, s nekim iznimkama oko 2003. godine:
-
+
Pitanje: Pa, možemo li 2003. također vidjeti skok u zalihama meda? Što ako pogledate ukupnu proizvodnju iz godine u godinu?
@@ -115,7 +115,7 @@ Pitanje: Pa, možemo li 2003. također vidjeti skok u zalihama meda? Što ako po
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Odgovor: Ne baš. Ako pogledate ukupnu proizvodnju, čini se da je zapravo porasla te godine, iako općenito količina proizvedenog meda opada tijekom tih godina.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
U ovoj vizualizaciji možete usporediti prinos po koloniji i broj kolonija iz godine u godinu, usporedno s wrap postavljenim na 3 za stupce:
-
+
Za ovaj skup podataka, ništa posebno ne ističe se u vezi s brojem kolonija i njihovim prinosom, iz godine u godinu i iz države u državu. Postoji li drugačiji način za pronalaženje korelacije između ove dvije varijable?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Iako ništa ne iskače oko 2003. godine, ovo nam omogućuje da završimo ovu lekciju na malo sretnijoj noti: iako ukupno broj kolonija opada, broj kolonija se stabilizira čak i ako njihov prinos po koloniji opada.
diff --git a/translations/hr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/hr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index e092a750..01c7f8cd 100644
--- a/translations/hr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/hr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ U prethodnim lekcijama eksperimentirali ste s izradom raznih zanimljivih vizuali
Čak i ako podatkovni znanstvenik pažljivo odabere pravi grafikon za prave podatke, postoji mnogo načina na koje se podaci mogu prikazati kako bi se dokazala određena točka, često na štetu samih podataka. Postoji mnogo primjera obmanjujućih grafikona i infografika!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kako grafikoni lažu")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Kako grafikoni lažu")
> 🎥 Kliknite na sliku iznad za konferencijsko predavanje o obmanjujućim grafikonima
Ovaj grafikon obrće X os kako bi prikazao suprotnost istini, temeljenoj na datumu:
-
+
[Ovaj grafikon](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) još je obmanjujući jer oko privlači desna strana, sugerirajući da su slučajevi COVID-a opali tijekom vremena u raznim okruzima. Međutim, ako pažljivo pogledate datume, otkrit ćete da su preuređeni kako bi stvorili obmanjujući trend pada.
-
+
Ovaj zloglasni primjer koristi boju I obrnutu Y os kako bi obmanuo: umjesto zaključka da su smrtni slučajevi od vatrenog oružja porasli nakon donošenja zakona koji pogoduje oružju, oko je zavarano da misli suprotno:
-
+
Ovaj neobičan grafikon pokazuje kako se proporcije mogu manipulirati, na smiješan način:
-
+
Uspoređivanje neusporedivog još je jedan sumnjiv trik. Postoji [sjajna web stranica](https://tylervigen.com/spurious-correlations) posvećena 'lažnim korelacijama' koja prikazuje 'činjenice' koje povezuju, primjerice, stopu razvoda u Maineu i potrošnju margarina. Reddit grupa također prikuplja [ružne primjere](https://www.reddit.com/r/dataisugly/top/?t=all) korištenja podataka.
@@ -100,13 +100,13 @@ Označite svoje osi, osigurajte legendu ako je potrebno i ponudite alate za bolj
Ako su vaši podaci tekstualni i opširni na X osi, možete zakrenuti tekst radi bolje čitljivosti. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) nudi 3D grafičke prikaze, ako vaši podaci to podržavaju. Sofisticirane vizualizacije podataka mogu se izraditi pomoću njega.
-
+
## Animacija i 3D prikaz grafikona
Neke od najboljih vizualizacija podataka danas su animirane. Shirley Wu ima nevjerojatne primjere izrađene pomoću D3, poput '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', gdje svaki cvijet predstavlja vizualizaciju filma. Drugi primjer za Guardian je 'bussed out', interaktivno iskustvo koje kombinira vizualizacije s Greensockom i D3 te formatom članka za prikaz kako NYC rješava problem beskućnika premještanjem ljudi izvan grada.
-
+
> "Bussed Out: Kako Amerika premješta svoje beskućnike" iz [Guardiana](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Vizualizacije autorice Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Iako ova lekcija nije dovoljno detaljna da vas nauči ovim moćnim bibliotekama
Dovršit ćete web aplikaciju koja će prikazati animirani prikaz ove društvene mreže. Koristi biblioteku koja je izrađena za stvaranje [vizualizacije mreže](https://github.com/emiliorizzo/vue-d3-network) koristeći Vue.js i D3. Kada aplikacija radi, možete povlačiti čvorove po ekranu kako biste premještali podatke.
-
+
## Projekt: Izradite grafikon za prikaz mreže koristeći D3.js
diff --git a/translations/hr/3-Data-Visualization/README.md b/translations/hr/3-Data-Visualization/README.md
index e733e66d..93e4914e 100644
--- a/translations/hr/3-Data-Visualization/README.md
+++ b/translations/hr/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Vizualizacije
-
+
> Fotografija od Jenna Lee na Unsplash
Vizualizacija podataka jedna je od najvažnijih zadaća data scientista. Slike vrijede više od 1000 riječi, a vizualizacija vam može pomoći da identificirate razne zanimljive dijelove vaših podataka, poput vrhunaca, odstupanja, grupiranja, tendencija i još mnogo toga, što vam može pomoći da razumijete priču koju vaši podaci žele ispričati.
diff --git a/translations/hr/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/hr/4-Data-Science-Lifecycle/14-Introduction/README.md
index cc569269..4189ec4f 100644
--- a/translations/hr/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/hr/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Do sada ste vjerojatno shvatili da je podatkovna znanost proces. Taj proces mož
Ova lekcija fokusira se na 3 dijela životnog ciklusa: prikupljanje, obrada i održavanje.
-
+
> Fotografija od [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Prikupljanje
@@ -101,7 +101,7 @@ Istražite [Team Data Science Process lifecycle](https://docs.microsoft.com/en-u
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Slika od [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Slika od [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Kviz nakon lekcije](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/hr/4-Data-Science-Lifecycle/README.md b/translations/hr/4-Data-Science-Lifecycle/README.md
index ab5b54b8..e0b8fcbe 100644
--- a/translations/hr/4-Data-Science-Lifecycle/README.md
+++ b/translations/hr/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Životni ciklus podatkovne znanosti
-
+
> Fotografija od Headway na Unsplash
U ovim lekcijama istražit ćete neke aspekte životnog ciklusa podatkovne znanosti, uključujući analizu i komunikaciju vezanu uz podatke.
diff --git a/translations/hr/5-Data-Science-In-Cloud/README.md b/translations/hr/5-Data-Science-In-Cloud/README.md
index 428540e0..20cafdc6 100644
--- a/translations/hr/5-Data-Science-In-Cloud/README.md
+++ b/translations/hr/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science u oblaku
-
+
> Fotografija od [Jelleke Vanooteghem](https://unsplash.com/@ilumire) s [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Kada je riječ o primjeni data sciencea na velike količine podataka, oblak može biti revolucionaran. U sljedeće tri lekcije vidjet ćemo što je oblak i zašto može biti vrlo koristan. Također ćemo istražiti skup podataka o zatajenju srca i izgraditi model koji pomaže u procjeni vjerojatnosti da osoba ima zatajenje srca. Iskoristit ćemo snagu oblaka za treniranje, implementaciju i korištenje modela na dva različita načina. Jedan način koristi samo korisničko sučelje u stilu "Low code/No code", dok drugi način koristi Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Teme
diff --git a/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index cb7b7e68..96d2b1f5 100644
--- a/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Zahvaljujući demokratizaciji AI-a, programerima je sada lakše dizajnirati i in
* [Data Science u zdravstvu](https://data-flair.training/blogs/data-science-in-healthcare/) - ističe primjene poput medicinskog snimanja (npr. MRI, X-Ray, CT-Scan), genomike (sekvenciranje DNA), razvoja lijekova (procjena rizika, predviđanje uspjeha), prediktivne analitike (skrb za pacijente i logistika opskrbe), praćenja i prevencije bolesti itd.
- Izvor slike: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Izvor slike: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Slika prikazuje druge domene i primjere primjene tehnika data sciencea. Želite istražiti druge primjene? Pogledajte odjeljak [Pregled i samostalno učenje](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) u nastavku.
diff --git a/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index de91a5a1..4198b9a1 100644
--- a/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/hr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Sučelje Explorer (prikazano na slici ispod) omogućuje vam odabir skupa podatak
2. Istražite [Katalog](https://planetarycomputer.microsoft.com/catalog) skupova podataka - saznajte svrhu svakog od njih.
3. Koristite Explorer - odaberite skup podataka koji vas zanima, odaberite relevantan upit i opciju prikaza.
-
+
`Vaš zadatak:`
Sada proučite vizualizaciju koja je prikazana u pregledniku i odgovorite na sljedeće:
diff --git a/translations/hr/CONTRIBUTING.md b/translations/hr/CONTRIBUTING.md
index 2484fc04..7c72f426 100644
--- a/translations/hr/CONTRIBUTING.md
+++ b/translations/hr/CONTRIBUTING.md
@@ -312,7 +312,7 @@ Uključite u opis PR-a:
import pandas as pd
```
````
-- Dodajte alt tekst slikama: ``
+- Dodajte alt tekst slikama: ``
- Održavajte razumnu duljinu linija (oko 80-100 znakova)
### Python
diff --git a/translations/hr/README.md b/translations/hr/README.md
index 34c740e6..4a7bd2e1 100644
--- a/translations/hr/README.md
+++ b/translations/hr/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates u Microsoftu s veseljem nude 10-tjedni, 20-lekcijski kurik
**🙏 Posebno hvala 🙏 našim autorima, recenzentima i suradnicima iz programa [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** posebno Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science za početnike - _Sketchnote od [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates u Microsoftu s veseljem nude 10-tjedni, 20-lekcijski kurik
Na Discordu imamo seriju "Learn with AI" u tijeku, saznajte više i pridružite nam se na [Learn with AI Series](https://aka.ms/learnwithai/discord) od 18. do 30. rujna 2025. Dobit ćete savjete i trikove za korištenje GitHub Copilot-a za Data Science.
-
+
# Jeste li student?
@@ -132,7 +132,7 @@ Svaki primjer sadrži detaljne komentare koji objašnjavaju svaki korak, što ga
## Lekcije
-||
+||
|:---:|
| Znanost o podacima za početnike: Plan - _Sketchnota autora [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/hr/sketchnotes/README.md b/translations/hr/sketchnotes/README.md
index c16630f6..e876e4ad 100644
--- a/translations/hr/sketchnotes/README.md
+++ b/translations/hr/sketchnotes/README.md
@@ -13,7 +13,7 @@ Pronađite sve sketchnoteove ovdje!
Nitya Narasimhan, umjetnica
-
+
---
diff --git a/translations/hu/1-Introduction/01-defining-data-science/README.md b/translations/hu/1-Introduction/01-defining-data-science/README.md
index 61522d1b..7bd5f722 100644
--- a/translations/hu/1-Introduction/01-defining-data-science/README.md
+++ b/translations/hu/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Előadás előtti kvíz](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -145,7 +145,7 @@ Ha még bonyolultabbá szeretnénk tenni az elemzést, ábrázolhatjuk az egyes
Ebben a kihívásban megpróbálunk a Data Science területéhez kapcsolódó fogalmakat azonosítani szövegek elemzésével. Egy Wikipedia-cikket fogunk használni a Data Science témájában, letöltjük és feldolgozzuk a szöveget, majd készítünk egy szófelhőt, amely így néz ki:
-
+
Látogass el a [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') fájlhoz, hogy átnézd a kódot. A kódot futtathatod is, és valós időben láthatod, hogyan hajtja végre az adattranszformációkat.
diff --git a/translations/hu/1-Introduction/04-stats-and-probability/README.md b/translations/hu/1-Introduction/04-stats-and-probability/README.md
index 80ba1e3a..0ea21822 100644
--- a/translations/hu/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/hu/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
A statisztika és a valószínűségelmélet a matematika két szorosan összefüggő területe, amelyek rendkívül fontosak az adatelemzés szempontjából. Bár lehetséges adatokkal dolgozni mély matematikai ismeretek nélkül, mégis hasznos, ha legalább az alapfogalmakkal tisztában vagyunk. Itt egy rövid bevezetőt nyújtunk, amely segít az indulásban.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Előadás előtti kvíz](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Folytonos változók esetén nehezebb leírni a valószínűségi eloszlást, ha
Csak arról beszélhetünk, hogy egy változó egy adott értéktartományba esik, például P(t1≤X2). Ebben az esetben a valószínűségi eloszlást egy **sűrűségfüggvény** p(x) írja le, amelyre igaz, hogy
- találhatók.
diff --git a/translations/hu/1-Introduction/README.md b/translations/hu/1-Introduction/README.md
index 128b16b8..3b29f56a 100644
--- a/translations/hu/1-Introduction/README.md
+++ b/translations/hu/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Bevezetés az adattudományba
-
+
> Fotó: Stephen Dawson az Unsplash oldalán
Ezekben a leckékben felfedezheted, hogyan definiálják az adattudományt, és megismerheted azokat az etikai szempontokat, amelyeket egy adattudósnak figyelembe kell vennie. Emellett megtudhatod, hogyan definiálják az adatokat, és betekintést nyerhetsz a statisztika és valószínűség világába, amelyek az adattudomány alapvető tudományterületei.
diff --git a/translations/hu/2-Working-With-Data/07-python/README.md b/translations/hu/2-Working-With-Data/07-python/README.md
index 5a7dc8f8..fb1bbf3b 100644
--- a/translations/hu/2-Working-With-Data/07-python/README.md
+++ b/translations/hu/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Python használata - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Bár az adatbázisok hatékony módot kínálnak az adatok tárolására és lekérdezésére lekérdezési nyelvek segítségével, az adatok feldolgozásának legflexibilisebb módja az, ha saját programot írunk az adatok manipulálására. Sok esetben egy adatbázis-lekérdezés hatékonyabb megoldás lehet. Azonban, ha összetettebb adatfeldolgozásra van szükség, azt nem lehet könnyen SQL segítségével megvalósítani.
Az adatfeldolgozást bármely programozási nyelven meg lehet valósítani, de vannak olyan nyelvek, amelyek magasabb szintűek az adatokkal való munka szempontjából. Az adatelemzők általában az alábbi nyelvek egyikét részesítik előnyben:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Tegyük fel, hogy minden héten szervezünk egy baráti összejövetelt, és további 10 csomag fagylaltot viszünk a bulira. Létrehozhatunk egy másik sorozatot, amelyet hetek szerint indexelünk, hogy ezt bemutassuk:
```python
@@ -84,7 +84,7 @@ Amikor összeadjuk a két sorozatot, megkapjuk a teljes számot:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Megjegyzés**: Nem használjuk az egyszerű `total_items+additional_items` szintaxist. Ha ezt tennénk, sok `NaN` (*Not a Number*) értéket kapnánk az eredményül kapott sorozatban. Ennek oka, hogy az `additional_items` sorozatban hiányzó értékek vannak néhány indexpontnál, és ha `NaN`-t adunk hozzá bármihez, az eredmény `NaN` lesz. Ezért meg kell adnunk a `fill_value` paramétert az összeadás során.
@@ -93,7 +93,7 @@ Az idősorokkal különböző időintervallumokkal is **újramintázhatjuk** a s
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Az első probléma, amire összpontosítunk, a COVID-19 járvány terjedésének
Mivel meg szeretnénk mutatni, hogyan kell az adatokkal dolgozni, arra kérünk, hogy nyisd meg a [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) fájlt, és olvasd el elejétől a végéig. A cellákat is végrehajthatod, és néhány kihívást is megoldhatsz, amelyeket a végén hagytunk neked.
-
+
> Ha nem tudod, hogyan kell kódot futtatni Jupyter Notebookban, nézd meg [ezt a cikket](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ A dataset elemzésének teljes példája a [Text Analytics for Health](https://d
Nyisd meg a [`notebook-papers.ipynb`](notebook-papers.ipynb) fájlt, és olvasd el elejétől a végéig. A cellákat is végrehajthatod, és néhány kihívást is megoldhatsz, amelyeket a végén hagytunk neked.
-
+
## Képadatok feldolgozása
diff --git a/translations/hu/2-Working-With-Data/README.md b/translations/hu/2-Working-With-Data/README.md
index b2bb2cf5..3861cef8 100644
--- a/translations/hu/2-Working-With-Data/README.md
+++ b/translations/hu/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Adatokkal való munka
-
+
> Fotó: Alexander Sinn az Unsplash oldalán
Ezekben a leckékben megtanulhatod, hogyan lehet az adatokat kezelni, manipulálni és alkalmazásokban felhasználni. Megismerheted a relációs és nem relációs adatbázisokat, valamint azt, hogyan tárolhatók bennük az adatok. Elsajátíthatod az alapokat a Python használatához az adatok kezelésében, és felfedezheted a számos módot, ahogyan a Python segítségével adatokat kezelhetsz és bányászhatsz.
diff --git a/translations/hu/3-Data-Visualization/12-visualization-relationships/README.md b/translations/hu/3-Data-Visualization/12-visualization-relationships/README.md
index 0a1bbca9..3a034088 100644
--- a/translations/hu/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/hu/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Készíts egy alap szórásdiagramot, amely bemutatja a méz fontonkénti ára
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Most mutasd meg ugyanazt az adatot méz színvilággal, hogy bemutasd, hogyan változik az ár az évek során. Ezt úgy teheted meg, hogy hozzáadsz egy 'hue' paramétert, amely az évről évre történő változást mutatja:
@@ -60,7 +60,7 @@ Most mutasd meg ugyanazt az adatot méz színvilággal, hogy bemutasd, hogyan v
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Ezzel a színvilág változtatással egyértelműen látható az évek során a méz fontonkénti árának erős növekedése. Valóban, ha az adatok egy mintáját megvizsgálod (például Arizona államot), láthatod az árak évről évre történő növekedésének mintázatát, néhány kivétellel:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Láthatod, hogy a pontok mérete fokozatosan növekszik.
-
+
Ez egyszerűen a kereslet és kínálat esete? Az olyan tényezők, mint az éghajlatváltozás és a méhcsalád összeomlása miatt kevesebb méz áll rendelkezésre évről évre, és ezért nő az ára?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Válasz: Igen, néhány kivétellel 2003 körül:
-
+
✅ Mivel a Seaborn egyetlen vonal köré aggregálja az adatokat, "az x értékeknél lévő többszörös méréseket az átlag és az átlag körüli 95%-os konfidencia intervallum megjelenítésével ábrázolja". [Forrás](https://seaborn.pydata.org/tutorial/relational.html). Ez az időigényes viselkedés kikapcsolható a `ci=None` hozzáadásával.
@@ -114,7 +114,7 @@ Kérdés: Nos, 2003-ban láthatunk-e egy ugrást a mézkínálatban? Mi történ
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Válasz: Nem igazán. Ha megnézzük a teljes termelést, úgy tűnik, hogy az adott évben valójában növekedett, bár általánosságban a méztermelés csökkenő tendenciát mutat ezekben az években.
@@ -139,7 +139,7 @@ sns.relplot(
```
Ebben a vizualizációban összehasonlíthatod a családonkénti hozamot és a méhcsaládok számát évről évre, egymás mellett, 3 oszlopos elrendezéssel:
-
+
Ebben az adatbázisban semmi különös nem tűnik ki a méhcsaládok számával és hozamával kapcsolatban évről évre és államonként. Van-e más módja annak, hogy korrelációt találjunk e két változó között?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Bár semmi különös nem tűnik ki 2003 körül, ez lehetőséget ad arra, hogy egy kicsit pozitívabb hangvétellel zárjuk a leckét: bár a méhcsaládok száma általánosságban csökken, a méhcsaládok száma stabilizálódik, még ha a családonkénti hozam csökken is.
diff --git a/translations/hu/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/hu/3-Data-Visualization/R/09-visualization-quantities/README.md
index b1ed7a02..757cc2dc 100644
--- a/translations/hu/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/hu/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Itt telepítjük a `ggplot2` csomagot, majd importáljuk a munkaterületre a `library("ggplot2")` paranccsal. Bármilyen diagramot a ggplotban a `ggplot()` függvénnyel készítünk, és megadjuk az adatállományt, az x és y változókat attribútumként. Ebben az esetben a `geom_line()` függvényt használjuk, mivel vonaldiagramot szeretnénk ábrázolni.
-
+
Mit veszel észre azonnal? Úgy tűnik, van legalább egy kiugró érték - ez elég nagy szárnyfesztáv! Egy 2000+ centiméteres szárnyfesztáv több mint 20 métert jelent - vajon Pterodactylusok kószálnak Minnesotában? Vizsgáljuk meg.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
A szögek megadását a `theme`-ben végezzük, az x és y tengely címkéit pedig a `xlab()` és `ylab()` segítségével adjuk meg. A `ggtitle()` nevet ad a diagramnak/grafikonnak.
-
+
Még a címkék 45 fokos elforgatásával is túl sok van ahhoz, hogy olvasható legyen. Próbáljunk ki egy másik stratégiát: csak a kiugró értékeket címkézzük meg, és helyezzük el a címkéket a diagramon belül. Használhatunk szórásdiagramot, hogy több helyet biztosítsunk a címkézéshez:
@@ -100,7 +100,7 @@ Mi történik itt? A `geom_point()` függvényt használjuk szóráspontok ábr
Mit fedezel fel?
-
+
## Szűrd az adataidat
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Létrehoztunk egy új adatkeretet `birds_filtered` néven, majd szórásdiagramot ábrázoltunk. A kiugró értékek kiszűrésével az adataid most összefüggőbbek és érthetőbbek.
-
+
Most, hogy legalább a szárnyfesztáv szempontjából tisztább adatállományunk van, fedezzünk fel többet ezekről a madarakról.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
A következő kódrészletben telepítjük a [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) és [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) csomagokat, hogy segítsenek az adatok manipulálásában és csoportosításában, majd egy halmozott oszlopdiagramot ábrázolunk. Először csoportosítjuk az adatokat a madár `Category` szerint, majd összesítjük a `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` oszlopokat. Ezután a `ggplot2` csomag segítségével ábrázoljuk az oszlopdiagramot, megadva a különböző kategóriák színeit és címkéit.
-
+
Ez az oszlopdiagram azonban olvashatatlan, mert túl sok nem csoportosított adat van. Ki kell választanunk csak azokat az adatokat, amelyeket ábrázolni szeretnénk, így nézzük meg a madarak hosszát kategóriájuk alapján.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Először megszámoljuk az egyedi értékeket a `Category` oszlopban, majd egy új adatkeretbe `birds_count` néven rendezzük őket. Ez a rendezett adat ugyanazon szinten van faktorizálva, hogy rendezett módon ábrázoljuk. A `ggplot2` segítségével ezután oszlopdiagramot ábrázolunk. A `coord_flip()` vízszintes oszlopokat ábrázol.
-
+
Ez az oszlopdiagram jó képet ad arról, hogy hány madár van az egyes kategóriákban. Egy pillantás alatt látható, hogy ebben a régióban a legtöbb madár a Kacsák/Ludak/Vízimadarak kategóriába tartozik. Minnesota a "10,000 tó földje", így ez nem meglepő!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Csoportosítjuk a `birds_filtered` adatokat `Category` szerint, majd oszlopdiagramot ábrázolunk.
-
+
Semmi meglepő: a kolibriknek van a legkisebb MaxLength értéke a pelikánokhoz vagy ludakhoz képest. Jó, ha az adatok logikusak!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Kihívás
diff --git a/translations/hu/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/hu/3-Data-Visualization/R/10-visualization-distributions/README.md
index 33bd5ebe..c8bcf498 100644
--- a/translations/hu/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/hu/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Ez egy áttekintést ad a madarak testhosszának eloszlásáról rendenként, de nem a legoptimálisabb módja az igazi eloszlások megjelenítésének. Ezt a feladatot általában hisztogramokkal oldják meg.
@@ -57,7 +57,7 @@ A `ggplot2` kiváló eszközöket kínál az adatok eloszlásának vizualizálá
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Ahogy látható, a több mint 400 madár többsége ebben az adathalmazban 2000 alatti MaxTestTömeg tartományba esik. Mélyebb betekintést nyerhetsz az adatokba, ha a `bins` paramétert magasabb számra, például 30-ra állítod:
@@ -65,7 +65,7 @@ Ahogy látható, a több mint 400 madár többsége ebben az adathalmazban 2000
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Ez a diagram kicsit részletesebb módon mutatja az eloszlást. Egy kevésbé balra torzított diagramot hozhatsz létre, ha csak egy adott tartományon belüli adatokat választasz ki:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Próbálj ki más szűrőket és adatpontokat. Az adatok teljes eloszlásának megtekintéséhez távolítsd el a `['MaxBodyMass']` szűrőt, hogy címkézett eloszlásokat mutass.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Úgy tűnik, hogy van egy várható korreláció a két elem között egy előre látható tengely mentén, egy különösen erős konvergencia ponttal:
-
+
A hisztogramok alapértelmezés szerint jól működnek numerikus adatokkal. Mi van akkor, ha szöveges adatok szerint szeretnéd látni az eloszlásokat?
## Az adathalmaz eloszlásának vizsgálata szöveges adatok alapján
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Úgy tűnik, hogy nincs jó korreláció a minimális szárnyfesztáv és a természetvédelmi státusz között. Tesztelj más elemeket az adathalmazból ezzel a módszerrel. Próbálj ki különböző szűrőket is. Találsz bármilyen korrelációt?
@@ -136,7 +136,7 @@ Most dolgozzunk sűrűségdiagramokkal!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Láthatod, hogy a diagram visszatükrözi a korábbi Minimális Szárnyfesztáv adatokat; csak egy kicsit simább. Ha szeretnéd újraalkotni a második diagramon látott MaxTestTömeg "szaggatott" vonalat, nagyon jól kisimíthatod ezt a módszert használva:
@@ -144,7 +144,7 @@ Láthatod, hogy a diagram visszatükrözi a korábbi Minimális Szárnyfesztáv
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Ha sima, de nem túl sima vonalat szeretnél, szerkeszd az `adjust` paramétert:
@@ -152,7 +152,7 @@ Ha sima, de nem túl sima vonalat szeretnél, szerkeszd az `adjust` paramétert:
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Olvass utána az elérhető paramétereknek ehhez a diagramtípushoz, és kísérletezz!
@@ -162,7 +162,7 @@ Ez a diagramtípus gyönyörűen magyarázó vizualizációkat kínál. Példáu
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Kihívás
diff --git a/translations/hu/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/hu/3-Data-Visualization/R/11-visualization-proportions/README.md
index 9223f9cb..74b3c2aa 100644
--- a/translations/hu/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/hu/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -95,7 +95,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voilá, egy torta diagram, amely bemutatja az adatok arányait a gombák két osztálya szerint. Nagyon fontos, hogy a címkék sorrendje helyes legyen, különösen itt, ezért ellenőrizd a címke tömb létrehozásának sorrendjét!
-
+
## Fánkok!
@@ -130,7 +130,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Ez a kód két könyvtárat használ - ggplot2 és webr. A webr könyvtár PieDonut függvényével könnyen készíthetünk fánk diagramot!
@@ -167,7 +167,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
A waffle diagram segítségével egyértelműen láthatod a gombakalap színek arányait ebben az adatállományban. Érdekes módon sok zöld kalapú gomba van!
-
+
Ebben a leckében három módot tanultál meg az arányok vizualizálására. Először csoportosítanod kell az adatokat kategóriákba, majd eldönteni, hogy melyik a legjobb módja az adatok megjelenítésének - torta, fánk vagy waffle. Mindegyik ínycsiklandó, és azonnali pillanatképet nyújt az adatállományról.
diff --git a/translations/hu/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/hu/3-Data-Visualization/R/12-visualization-relationships/README.md
index 3fcc33b2..15c64bec 100644
--- a/translations/hu/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/hu/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Most mutasd meg ugyanazt az adatot méz színsémával, hogy bemutasd, hogyan változik az ár az évek során. Ezt úgy teheted meg, hogy hozzáadsz egy 'scale_color_gradientn' paramétert, amely megmutatja az évről évre történő változást:
@@ -61,7 +61,7 @@ Most mutasd meg ugyanazt az adatot méz színsémával, hogy bemutasd, hogyan v
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Ezzel a színséma változtatással egyértelműen látható az évek során a méz fontonkénti árának erős növekedése. Valóban, ha az adatbázis egy mintáját megvizsgálod (például Arizona államot), láthatod az árak évről évre történő növekedésének mintázatát, néhány kivétellel:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Láthatod, hogy a pontok mérete fokozatosan növekszik.
-
+
Ez egyszerűen a kereslet és kínálat esete? Az olyan tényezők, mint az éghajlatváltozás és a kolóniák összeomlása miatt kevesebb méz áll rendelkezésre évről évre, és ezért nő az ára?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Válasz: Igen, néhány kivétellel 2003 körül:
-
+
Kérdés: Nos, 2003-ban láthatunk egy kiugrást a mézkészletben is? Mi történik, ha megvizsgáljuk a teljes termelést évről évre?
@@ -115,7 +115,7 @@ Kérdés: Nos, 2003-ban láthatunk egy kiugrást a mézkészletben is? Mi tört
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Válasz: Nem igazán. Ha megnézzük a teljes termelést, úgy tűnik, hogy az valójában növekedett abban az évben, bár általánosságban a méztermelés csökkenő tendenciát mutat ezekben az években.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Ebben a vizualizációban összehasonlíthatod a kolóniánkénti hozamot és a kolóniák számát évről évre, egymás mellett, 3 oszlopra állítva a wrap-et:
-
+
Ebben az adatbázisban semmi különös nem tűnik ki a kolóniák számával és hozamával kapcsolatban évről évre és államonként. Van más módja annak, hogy összefüggést találjunk e két változó között?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Bár semmi különös nem tűnik ki 2003 körül, ez lehetőséget ad arra, hogy egy kicsit vidámabb hangon zárjuk ezt a leckét: bár a kolóniák száma általánosságban csökken, a kolóniák száma stabilizálódik, még akkor is, ha a kolóniánkénti hozam csökken.
diff --git a/translations/hu/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/hu/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 8ff9e50e..fb810eac 100644
--- a/translations/hu/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/hu/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ A korábbi leckékben különféle érdekes adatvizualizációkat készítettél
Még ha az adatelemző gondosan választja is ki a megfelelő diagramot az adatokhoz, számos módon lehet az adatokat úgy megjeleníteni, hogy azok egy bizonyos állítást támasszanak alá, gyakran az adatok hitelességének rovására. Számos példát találhatunk megtévesztő diagramokra és infografikákra!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Hogyan hazudnak a diagramok")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Hogyan hazudnak a diagramok")
> 🎥 Kattints a fenti képre egy konferenciaelőadásért a megtévesztő diagramokról
Ez a diagram megfordítja az X tengelyt, hogy az igazság ellentétét mutassa, az időpontok alapján:
-
+
[Ez a diagram](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) még megtévesztőbb, mivel a szem a jobb oldalra fókuszál, és azt a következtetést vonja le, hogy az idő múlásával a COVID-esetek csökkentek a különböző megyékben. Valójában, ha alaposan megnézed a dátumokat, észreveszed, hogy azokat átrendezték, hogy megtévesztő csökkenő trendet mutassanak.
-
+
Ez a hírhedt példa színeket ÉS egy megfordított Y tengelyt használ a megtévesztéshez: ahelyett, hogy azt a következtetést vonnánk le, hogy a fegyveres halálesetek megugrottak a fegyverbarát törvények elfogadása után, a szemünket megtévesztik, hogy az ellenkezőjét higgyük:
-
+
Ez a furcsa diagram azt mutatja, hogyan lehet az arányokat manipulálni, komikus hatást keltve:
-
+
Az összehasonlíthatatlan dolgok összehasonlítása egy másik árnyas trükk. Van egy [csodálatos weboldal](https://tylervigen.com/spurious-correlations), amely "hamis korrelációkat" mutat be, például a Maine-i válási arány és a margarin fogyasztása közötti "tényeket". Egy Reddit csoport is gyűjti az [adatok csúnya felhasználásait](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Címkézd fel a tengelyeket, adj meg egy jelmagyarázatot, ha szükséges, és b
Ha az adataid szövegesek és hosszúak az X tengelyen, döntsd meg a szöveget az olvashatóság érdekében. A [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) 3D ábrázolást kínál, ha az adataid támogatják. Kifinomult adatvizualizációk készíthetők vele.
-
+
## Animáció és 3D diagramok megjelenítése
Napjaink legjobb adatvizualizációi közül néhány animált. Shirley Wu lenyűgöző példákat készített D3-mal, például a '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'-t, ahol minden virág egy filmet ábrázol. Egy másik példa a Guardian számára készült 'bussed out', egy interaktív élmény, amely vizualizációkat kombinál Greensockkal és D3-mal, valamint egy görgethető cikkformátummal, hogy bemutassa, hogyan kezeli New York City a hajléktalanproblémát az emberek városon kívülre szállításával.
-
+
> "Bussed Out: Hogyan mozgatja Amerika a hajléktalanjait" a [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study) cikkéből. Vizualizációk: Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Bár ez a lecke nem elég mély ahhoz, hogy megtanítsa ezeket az erőteljes viz
Egy webalkalmazást fogsz elkészíteni, amely animált nézetet jelenít meg erről a társadalmi hálózatról. Egy könyvtárat használ, amelyet egy [hálózat vizualizálására](https://github.com/emiliorizzo/vue-d3-network) hoztak létre Vue.js és D3 segítségével. Amikor az alkalmazás fut, az adatokat a képernyőn húzogatva átrendezheted.
-
+
## Projekt: Hálózatot ábrázoló diagram készítése D3.js segítségével
diff --git a/translations/hu/3-Data-Visualization/README.md b/translations/hu/3-Data-Visualization/README.md
index fb99e120..fea8bdb0 100644
--- a/translations/hu/3-Data-Visualization/README.md
+++ b/translations/hu/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Vizualizációk
-
+
> Fotó: Jenna Lee az Unsplash oldalán
diff --git a/translations/hu/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/hu/4-Data-Science-Lifecycle/14-Introduction/README.md
index ca007372..ff37f98b 100644
--- a/translations/hu/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/hu/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Ezen a ponton valószínűleg már rájöttél, hogy az adattudomány egy folyam
Ez a lecke az életciklus három részére összpontosít: adatgyűjtés, feldolgozás és karbantartás.
-
+
> Fotó: [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Adatgyűjtés
@@ -101,7 +101,7 @@ Fedezd fel a [Team Data Science Process életciklust](https://docs.microsoft.com
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Kép: [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Kép: [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Előadás utáni kvíz](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/hu/4-Data-Science-Lifecycle/README.md b/translations/hu/4-Data-Science-Lifecycle/README.md
index 7469cd4e..96c6d0cf 100644
--- a/translations/hu/4-Data-Science-Lifecycle/README.md
+++ b/translations/hu/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Az Adattudomány Életciklusa
-
+
> Fotó: Headway az Unsplash oldalán
Ezekben a leckékben az Adattudomány életciklusának néhány aspektusát fogod megismerni, beleértve az adatok elemzését és a kommunikációt.
diff --git a/translations/hu/5-Data-Science-In-Cloud/README.md b/translations/hu/5-Data-Science-In-Cloud/README.md
index faba6dd0..32bd32d7 100644
--- a/translations/hu/5-Data-Science-In-Cloud/README.md
+++ b/translations/hu/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Adattudomány a felhőben
-
+
> Fotó: [Jelleke Vanooteghem](https://unsplash.com/@ilumire) az [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape) oldaláról
Amikor nagy adathalmazokkal végzünk adattudományi munkát, a felhő igazi fordulópont lehet. A következő három leckében megnézzük, mi is az a felhő, és miért lehet rendkívül hasznos. Emellett megvizsgálunk egy szívelégtelenséggel kapcsolatos adathalmazt, és készítünk egy modellt, amely segít felmérni valakinek a szívelégtelenség valószínűségét. A felhő erejét fogjuk használni a modell betanítására, telepítésére és használatára két különböző módon. Az egyik módszer kizárólag a felhasználói felületet használja egy Low code/No code megközelítésben, a másik pedig az Azure Machine Learning Software Developer Kit (Azure ML SDK) segítségével történik.
-
+
### Témakörök
diff --git a/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 8bf9e527..9f2d984d 100644
--- a/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Az AI demokratizálásának köszönhetően a fejlesztők számára egyre könny
* [Adattudomány az egészségügyben](https://data-flair.training/blogs/data-science-in-healthcare/) - olyan alkalmazásokat emel ki, mint orvosi képalkotás (pl. MRI, röntgen, CT-vizsgálat), genomika (DNS szekvenálás), gyógyszerfejlesztés (kockázatértékelés, siker előrejelzés), prediktív analitika (betegellátás és ellátási logisztika), betegségek nyomon követése és megelőzése stb.
- Kép forrása: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Kép forrása: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
A fenti ábra további területeket és példákat mutat be az adattudományi technikák alkalmazására. Szeretnél további alkalmazásokat felfedezni? Nézd meg az [Áttekintés és önálló tanulás](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) szekciót alább.
diff --git a/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 65b73d9b..ab171e01 100644
--- a/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/hu/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Az Explorer felület (az alábbi képernyőképen látható) lehetővé teszi, h
2. Fedezd fel az adatállományok [katalógusát](https://planetarycomputer.microsoft.com/catalog) – ismerd meg mindegyik célját.
3. Használd az Explorert – válassz egy érdekes adatállományt, válassz egy releváns lekérdezést és megjelenítési opciót.
-
+
`Feladatod:`
Tanulmányozd a böngészőben megjelenített vizualizációt, és válaszolj az alábbiakra:
diff --git a/translations/hu/CONTRIBUTING.md b/translations/hu/CONTRIBUTING.md
index ce6210f1..61950fcd 100644
--- a/translations/hu/CONTRIBUTING.md
+++ b/translations/hu/CONTRIBUTING.md
@@ -315,7 +315,7 @@ A PR leírásában szerepeljen:
```
````
-- Adj alternatív szöveget a képekhez: ``
+- Adj alternatív szöveget a képekhez: ``
- Tartsd a sorhosszokat ésszerű határok között (kb. 80-100 karakter)
### Python
diff --git a/translations/hu/README.md b/translations/hu/README.md
index 3cfcfeb5..9945f385 100644
--- a/translations/hu/README.md
+++ b/translations/hu/README.md
@@ -33,7 +33,7 @@ A Microsoft Azure Cloud Advocates csapata örömmel kínál egy 10 hetes, 20 lec
**🙏 Külön köszönet 🙏 a [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) szerzőknek, lektoroknak és tartalomközreműködőknek,** különösen Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Adattudomány kezdőknek - _Sketchnote készítette [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ A Microsoft Azure Cloud Advocates csapata örömmel kínál egy 10 hetes, 20 lec
Folyamatban van egy Discord-on futó Learn with AI sorozatunk, további információkért és csatlakozásért látogass el a [Learn with AI Series](https://aka.ms/learnwithai/discord) oldalra 2025. szeptember 18. és 30. között. Tippeket és trükköket kapsz a GitHub Copilot adattudományban való használatához.
-
+
# Diák vagy?
@@ -132,7 +132,7 @@ Minden példa részletes kommentárokat tartalmaz, amelyek minden lépést elmag
## Leckék
-||
+||
|:---:|
| Adattudomány kezdőknek: Útvonal - _Sketchnote készítette [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/hu/sketchnotes/README.md b/translations/hu/sketchnotes/README.md
index 5168ad32..2782fb19 100644
--- a/translations/hu/sketchnotes/README.md
+++ b/translations/hu/sketchnotes/README.md
@@ -13,7 +13,7 @@ Találd meg az összes sketchnote-ot itt!
Nitya Narasimhan, művész
-
+
---
diff --git a/translations/id/1-Introduction/01-defining-data-science/README.md b/translations/id/1-Introduction/01-defining-data-science/README.md
index d5731f1c..b0879d99 100644
--- a/translations/id/1-Introduction/01-defining-data-science/README.md
+++ b/translations/id/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Kuis sebelum kuliah](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Jika kita ingin lebih rumit lagi, kita dapat memplot waktu yang dihabiskan untuk
Dalam tantangan ini, kita akan mencoba menemukan konsep-konsep yang relevan dengan bidang Data Science dengan melihat teks. Kita akan mengambil artikel Wikipedia tentang Data Science, mengunduh dan memproses teksnya, lalu membuat word cloud seperti ini:
-
+
Kunjungi [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') untuk membaca kode. Anda juga dapat menjalankan kode tersebut, dan melihat bagaimana kode tersebut melakukan semua transformasi data secara real-time.
diff --git a/translations/id/1-Introduction/04-stats-and-probability/README.md b/translations/id/1-Introduction/04-stats-and-probability/README.md
index 63f34b26..c3777b76 100644
--- a/translations/id/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/id/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
Teori Statistik dan Probabilitas adalah dua bidang Matematika yang sangat terkait dan sangat relevan dengan Ilmu Data. Meskipun memungkinkan untuk bekerja dengan data tanpa pengetahuan mendalam tentang matematika, tetap lebih baik untuk memahami setidaknya beberapa konsep dasar. Di sini, kami akan memberikan pengantar singkat yang akan membantu Anda memulai.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Kuis Pra-Kuliah](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ Lebih sulit untuk menggambarkan distribusi probabilitas variabel kontinu, dengan
Kita hanya dapat berbicara tentang probabilitas variabel jatuh dalam interval nilai tertentu, misalnya P(t1≤X2). Dalam kasus ini, distribusi probabilitas digambarkan oleh **fungsi kepadatan probabilitas** p(x), sehingga
-.
diff --git a/translations/id/1-Introduction/README.md b/translations/id/1-Introduction/README.md
index 08534541..186b361b 100644
--- a/translations/id/1-Introduction/README.md
+++ b/translations/id/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Pengantar Ilmu Data
-
+
> Foto oleh Stephen Dawson di Unsplash
Dalam pelajaran ini, Anda akan mempelajari bagaimana Ilmu Data didefinisikan dan memahami pertimbangan etika yang harus diperhatikan oleh seorang ilmuwan data. Anda juga akan belajar bagaimana data didefinisikan serta sedikit tentang statistik dan probabilitas, yang merupakan bidang akademik inti dari Ilmu Data.
diff --git a/translations/id/2-Working-With-Data/07-python/README.md b/translations/id/2-Working-With-Data/07-python/README.md
index dec82bf4..570add9c 100644
--- a/translations/id/2-Working-With-Data/07-python/README.md
+++ b/translations/id/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Bekerja dengan Python - _Sketchnote oleh [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Meskipun basis data menawarkan cara yang sangat efisien untuk menyimpan data dan melakukan kueri menggunakan bahasa kueri, cara paling fleksibel untuk memproses data adalah dengan menulis program Anda sendiri untuk memanipulasi data. Dalam banyak kasus, melakukan kueri basis data akan lebih efektif. Namun, dalam beberapa kasus di mana pemrosesan data yang lebih kompleks diperlukan, hal tersebut tidak dapat dilakukan dengan mudah menggunakan SQL.
Pemrosesan data dapat diprogram dalam bahasa pemrograman apa pun, tetapi ada beberapa bahasa yang lebih tinggi tingkatannya dalam hal bekerja dengan data. Para ilmuwan data biasanya lebih memilih salah satu dari bahasa berikut:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Sekarang misalkan setiap minggu kita mengadakan pesta untuk teman-teman, dan kita mengambil tambahan 10 bungkus es krim untuk pesta. Kita dapat membuat series lain, diindeks berdasarkan minggu, untuk menunjukkan hal itu:
```python
@@ -84,7 +84,7 @@ Ketika kita menambahkan dua series bersama-sama, kita mendapatkan total jumlah:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Catatan** bahwa kita tidak menggunakan sintaks sederhana `total_items+additional_items`. Jika kita melakukannya, kita akan mendapatkan banyak nilai `NaN` (*Not a Number*) dalam series hasil. Ini karena ada nilai yang hilang untuk beberapa titik index dalam series `additional_items`, dan menambahkan `NaN` ke apa pun menghasilkan `NaN`. Oleh karena itu, kita perlu menentukan parameter `fill_value` selama penjumlahan.
@@ -93,7 +93,7 @@ Dengan time series, kita juga dapat **mengubah sampel ulang** series dengan inte
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Masalah pertama yang akan kita fokuskan adalah pemodelan penyebaran epidemi COVI
Karena kita ingin menunjukkan cara menangani data, kami mengundang Anda untuk membuka [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) dan membacanya dari atas ke bawah. Anda juga dapat mengeksekusi sel, dan melakukan beberapa tantangan yang telah kami tinggalkan untuk Anda di akhir.
-
+
> Jika Anda tidak tahu cara menjalankan kode di Jupyter Notebook, lihat [artikel ini](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Contoh lengkap analisis dataset ini menggunakan layanan kognitif [Text Analytics
Buka [`notebook-papers.ipynb`](notebook-papers.ipynb) dan bacalah dari atas ke bawah. Anda juga dapat mengeksekusi sel, dan melakukan beberapa tantangan yang telah kami tinggalkan untuk Anda di akhir.
-
+
## Pemrosesan Data Gambar
diff --git a/translations/id/2-Working-With-Data/README.md b/translations/id/2-Working-With-Data/README.md
index 984c6a3a..83554fb0 100644
--- a/translations/id/2-Working-With-Data/README.md
+++ b/translations/id/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Bekerja dengan Data
-
+
> Foto oleh Alexander Sinn di Unsplash
Dalam pelajaran ini, Anda akan mempelajari beberapa cara untuk mengelola, memanipulasi, dan menggunakan data dalam aplikasi. Anda akan mempelajari tentang basis data relasional dan non-relasional serta bagaimana data dapat disimpan di dalamnya. Anda akan mempelajari dasar-dasar bekerja dengan Python untuk mengelola data, dan Anda akan menemukan berbagai cara untuk bekerja dengan Python dalam mengelola dan menambang data.
diff --git a/translations/id/3-Data-Visualization/12-visualization-relationships/README.md b/translations/id/3-Data-Visualization/12-visualization-relationships/README.md
index d9027f42..fbe02c5a 100644
--- a/translations/id/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/id/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Buat scatterplot dasar untuk menunjukkan hubungan antara harga per pon madu dan
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Sekarang, tampilkan data yang sama dengan skema warna madu untuk menunjukkan bagaimana harga berkembang dari tahun ke tahun. Anda dapat melakukannya dengan menambahkan parameter 'hue' untuk menunjukkan perubahan dari tahun ke tahun:
@@ -60,7 +60,7 @@ Sekarang, tampilkan data yang sama dengan skema warna madu untuk menunjukkan bag
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Dengan perubahan skema warna ini, Anda dapat melihat bahwa ada perkembangan yang jelas selama bertahun-tahun dalam hal harga madu per pon. Memang, jika Anda melihat sampel data untuk memverifikasi (pilih negara bagian tertentu, misalnya Arizona), Anda dapat melihat pola kenaikan harga dari tahun ke tahun, dengan beberapa pengecualian:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Anda dapat melihat ukuran titik yang secara bertahap meningkat.
-
+
Apakah ini kasus sederhana dari hukum permintaan dan penawaran? Karena faktor seperti perubahan iklim dan keruntuhan koloni, apakah madu yang tersedia untuk dibeli semakin sedikit dari tahun ke tahun, sehingga harga meningkat?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Jawaban: Ya, dengan beberapa pengecualian sekitar tahun 2003:
-
+
✅ Karena Seaborn mengagregasi data di sekitar satu garis, ia menampilkan "pengukuran ganda pada setiap nilai x dengan memplot rata-rata dan interval kepercayaan 95% di sekitar rata-rata". [Sumber](https://seaborn.pydata.org/tutorial/relational.html). Perilaku yang memakan waktu ini dapat dinonaktifkan dengan menambahkan `ci=None`.
@@ -114,7 +114,7 @@ Pertanyaan: Nah, pada tahun 2003 apakah kita juga melihat lonjakan pasokan madu?
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Jawaban: Tidak juga. Jika Anda melihat total produksi, sebenarnya tampaknya meningkat pada tahun tersebut, meskipun secara umum jumlah madu yang diproduksi menurun selama tahun-tahun ini.
@@ -139,7 +139,7 @@ sns.relplot(
```
Dalam visualisasi ini, Anda dapat membandingkan hasil per koloni dan jumlah koloni dari tahun ke tahun, berdampingan dengan pengaturan wrap pada 3 untuk kolom:
-
+
Untuk dataset ini, tidak ada yang secara khusus menonjol terkait jumlah koloni dan hasilnya, dari tahun ke tahun dan negara bagian ke negara bagian. Apakah ada cara lain untuk menemukan korelasi antara kedua variabel ini?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Meskipun tidak ada yang mencolok di sekitar tahun 2003, ini memungkinkan kita mengakhiri pelajaran ini dengan catatan yang sedikit lebih bahagia: meskipun jumlah koloni secara keseluruhan menurun, jumlah koloni mulai stabil meskipun hasil per koloni menurun.
diff --git a/translations/id/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/id/3-Data-Visualization/R/09-visualization-quantities/README.md
index b223863c..eee480f7 100644
--- a/translations/id/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/id/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Di sini, Anda menginstal paket `ggplot2` dan kemudian mengimpornya ke dalam workspace menggunakan perintah `library("ggplot2")`. Untuk memplot grafik apa pun di ggplot, fungsi `ggplot()` digunakan dan Anda menentukan dataset, variabel x dan y sebagai atribut. Dalam kasus ini, kita menggunakan fungsi `geom_line()` karena kita ingin memplot grafik garis.
-
+
Apa yang Anda perhatikan segera? Tampaknya ada setidaknya satu outlier - itu lebar sayap yang luar biasa! Lebar sayap lebih dari 2000+ sentimeter sama dengan lebih dari 20 meter - apakah ada Pterodactyl yang berkeliaran di Minnesota? Mari kita selidiki.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Kami menentukan sudut dalam `theme` dan menentukan label sumbu x dan y dalam `xlab()` dan `ylab()` masing-masing. `ggtitle()` memberikan nama pada grafik/plot.
-
+
Bahkan dengan rotasi label yang diatur ke 45 derajat, masih terlalu banyak untuk dibaca. Mari coba strategi yang berbeda: hanya beri label pada outlier dan atur label di dalam grafik. Anda dapat menggunakan grafik scatter untuk memberikan lebih banyak ruang untuk pelabelan:
@@ -100,7 +100,7 @@ Apa yang terjadi di sini? Anda menggunakan fungsi `geom_point()` untuk memplot t
Apa yang Anda temukan?
-
+
## Memfilter data Anda
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Kami membuat dataframe baru `birds_filtered` dan kemudian memplot grafik scatter. Dengan memfilter outlier, data Anda sekarang lebih kohesif dan dapat dipahami.
-
+
Sekarang kita memiliki dataset yang lebih bersih setidaknya dalam hal lebar sayap, mari kita temukan lebih banyak tentang burung-burung ini.
@@ -160,7 +160,7 @@ birds_filtered %>% group_by(Category) %>%
```
Dalam cuplikan berikut, kami menginstal paket [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) dan [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) untuk membantu memanipulasi dan mengelompokkan data guna memplot grafik batang bertumpuk. Pertama, Anda mengelompokkan data berdasarkan `Category` burung dan kemudian merangkum kolom `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Kemudian, plot grafik batang menggunakan paket `ggplot2` dan tentukan warna untuk kategori yang berbeda serta labelnya.
-
+
Namun, grafik batang ini tidak dapat dibaca karena terlalu banyak data yang tidak dikelompokkan. Anda perlu memilih hanya data yang ingin Anda plot, jadi mari kita lihat panjang burung berdasarkan kategorinya.
@@ -175,7 +175,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Anda pertama-tama menghitung nilai unik dalam kolom `Category` dan kemudian mengurutkannya ke dalam dataframe baru `birds_count`. Data yang diurutkan ini kemudian difaktorkan pada level yang sama sehingga dapat diplot dengan cara yang diurutkan. Menggunakan `ggplot2` Anda kemudian memplot data dalam grafik batang. `coord_flip()` memplot batang horizontal.
-
+
Grafik batang ini menunjukkan pandangan yang baik tentang jumlah burung dalam setiap kategori. Sekilas, Anda melihat bahwa jumlah burung terbesar di wilayah ini berada dalam kategori Bebek/Angsa/BurungAir. Minnesota adalah 'tanah 10.000 danau' jadi ini tidak mengejutkan!
@@ -198,7 +198,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Kami mengelompokkan data `birds_filtered` berdasarkan `Category` dan kemudian memplot grafik batang.
-
+
Tidak ada yang mengejutkan di sini: burung kolibri memiliki MaxLength paling kecil dibandingkan dengan Pelikan atau Angsa. Bagus ketika data masuk akal secara logis!
@@ -210,7 +210,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Tantangan
diff --git a/translations/id/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/id/3-Data-Visualization/R/10-visualization-distributions/README.md
index aa7676ed..38bbdb3f 100644
--- a/translations/id/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/id/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Ini memberikan gambaran umum tentang distribusi panjang tubuh per Ordo burung, tetapi ini bukan cara terbaik untuk menampilkan distribusi yang sebenarnya. Tugas ini biasanya dilakukan dengan membuat Histogram.
## Bekerja dengan histogram
@@ -56,7 +56,7 @@ Ini memberikan gambaran umum tentang distribusi panjang tubuh per Ordo burung, t
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Seperti yang Anda lihat, sebagian besar dari 400+ burung dalam dataset ini berada dalam rentang di bawah 2000 untuk Max Body Mass mereka. Dapatkan lebih banyak wawasan tentang data dengan mengubah parameter `bins` ke angka yang lebih tinggi, seperti 30:
@@ -64,7 +64,7 @@ Seperti yang Anda lihat, sebagian besar dari 400+ burung dalam dataset ini berad
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Grafik ini menunjukkan distribusi dengan cara yang sedikit lebih rinci. Grafik yang kurang condong ke kiri dapat dibuat dengan memastikan bahwa Anda hanya memilih data dalam rentang tertentu:
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Coba beberapa filter dan titik data lainnya. Untuk melihat distribusi penuh data, hapus filter `['MaxBodyMass']` untuk menampilkan distribusi yang diberi label.
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Tampaknya ada korelasi yang diharapkan antara kedua elemen ini sepanjang sumbu yang diharapkan, dengan satu titik konvergensi yang sangat kuat:
-
+
Histogram bekerja dengan baik secara default untuk data numerik. Bagaimana jika Anda perlu melihat distribusi berdasarkan data teks?
## Jelajahi dataset untuk distribusi menggunakan data teks
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Tampaknya tidak ada korelasi yang baik antara rentang sayap minimum dan status konservasi. Uji elemen lain dari dataset menggunakan metode ini. Anda juga dapat mencoba filter yang berbeda. Apakah Anda menemukan korelasi?
@@ -135,7 +135,7 @@ Mari kita bekerja dengan plot kepadatan sekarang!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Anda dapat melihat bagaimana plot ini mencerminkan grafik sebelumnya untuk data Rentang Sayap Minimum; hanya saja sedikit lebih halus. Jika Anda ingin melihat garis MaxBodyMass yang bergerigi pada grafik kedua yang Anda buat, Anda dapat menghaluskannya dengan sangat baik dengan membuat ulang menggunakan metode ini:
@@ -143,7 +143,7 @@ Anda dapat melihat bagaimana plot ini mencerminkan grafik sebelumnya untuk data
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Jika Anda menginginkan garis yang halus, tetapi tidak terlalu halus, edit parameter `adjust`:
@@ -151,7 +151,7 @@ Jika Anda menginginkan garis yang halus, tetapi tidak terlalu halus, edit parame
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Baca tentang parameter yang tersedia untuk jenis plot ini dan bereksperimenlah!
@@ -161,7 +161,7 @@ Jenis grafik ini menawarkan visualisasi yang sangat informatif. Dengan beberapa
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Tantangan
diff --git a/translations/id/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/id/3-Data-Visualization/R/11-visualization-proportions/README.md
index 57e5576e..8429a1da 100644
--- a/translations/id/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/id/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voila, diagram lingkaran yang menunjukkan proporsi data ini berdasarkan dua kelas jamur. Sangat penting untuk mendapatkan urutan label yang benar, terutama di sini, jadi pastikan untuk memverifikasi urutan pembuatan array label!
-
+
## Donat!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Kode ini menggunakan dua pustaka - ggplot2 dan webr. Dengan menggunakan fungsi PieDonut dari pustaka webr, kita dapat membuat diagram donat dengan mudah!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Dengan menggunakan diagram waffle, Anda dapat dengan jelas melihat proporsi warna tutup dalam dataset jamur ini. Menariknya, ada banyak jamur dengan tutup hijau!
-
+
Dalam pelajaran ini, Anda mempelajari tiga cara untuk memvisualisasikan proporsi. Pertama, Anda perlu mengelompokkan data Anda ke dalam kategori dan kemudian memutuskan cara terbaik untuk menampilkan data - lingkaran, donat, atau waffle. Semuanya menarik dan memberikan pengguna gambaran instan tentang dataset.
diff --git a/translations/id/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/id/3-Data-Visualization/R/12-visualization-relationships/README.md
index faf52065..453baf71 100644
--- a/translations/id/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/id/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Sekarang, tunjukkan data yang sama dengan skema warna madu untuk menunjukkan bagaimana harga berkembang dari tahun ke tahun. Anda dapat melakukannya dengan menambahkan parameter 'scale_color_gradientn' untuk menunjukkan perubahan dari tahun ke tahun:
@@ -61,7 +61,7 @@ Sekarang, tunjukkan data yang sama dengan skema warna madu untuk menunjukkan bag
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Dengan perubahan skema warna ini, Anda dapat melihat bahwa ada perkembangan yang jelas selama bertahun-tahun dalam hal harga madu per pon. Memang, jika Anda melihat sampel data untuk memverifikasi (pilih negara bagian tertentu, misalnya Arizona), Anda dapat melihat pola kenaikan harga dari tahun ke tahun, dengan beberapa pengecualian:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Anda dapat melihat ukuran titik yang secara bertahap meningkat.
-
+
Apakah ini kasus sederhana dari hukum penawaran dan permintaan? Karena faktor seperti perubahan iklim dan keruntuhan koloni, apakah madu yang tersedia untuk dibeli semakin sedikit dari tahun ke tahun, sehingga harga meningkat?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Jawaban: Ya, dengan beberapa pengecualian sekitar tahun 2003:
-
+
Pertanyaan: Nah, pada tahun 2003 apakah kita juga melihat lonjakan pasokan madu? Bagaimana jika Anda melihat total produksi dari tahun ke tahun?
@@ -115,7 +115,7 @@ Pertanyaan: Nah, pada tahun 2003 apakah kita juga melihat lonjakan pasokan madu?
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Jawaban: Tidak benar-benar. Jika Anda melihat total produksi, sebenarnya tampaknya meningkat pada tahun tersebut, meskipun secara umum jumlah madu yang diproduksi menurun selama tahun-tahun ini.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
Dalam visualisasi ini, Anda dapat membandingkan hasil per koloni dan jumlah koloni dari tahun ke tahun, berdampingan dengan pengaturan wrap pada 3 untuk kolom:
-
+
Untuk dataset ini, tidak ada yang secara khusus menonjol terkait jumlah koloni dan hasilnya, dari tahun ke tahun dan negara bagian ke negara bagian. Apakah ada cara lain untuk menemukan korelasi antara kedua variabel ini?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Meskipun tidak ada yang mencolok di sekitar tahun 2003, ini memungkinkan kita mengakhiri pelajaran ini dengan catatan yang sedikit lebih bahagia: meskipun jumlah koloni secara keseluruhan menurun, jumlah koloni mulai stabil meskipun hasil per koloni menurun.
diff --git a/translations/id/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/id/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index e9da5f97..704bd165 100644
--- a/translations/id/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/id/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Dalam pelajaran sebelumnya, Anda telah mencoba membuat berbagai visualisasi data
Meskipun seorang ilmuwan data berhati-hati dalam memilih grafik yang tepat untuk data yang tepat, ada banyak cara data dapat ditampilkan untuk membuktikan suatu poin, sering kali dengan mengorbankan integritas data itu sendiri. Ada banyak contoh grafik dan infografis yang menyesatkan!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Klik gambar di atas untuk melihat pembicaraan konferensi tentang grafik yang menyesatkan
Grafik ini membalik sumbu X untuk menunjukkan kebalikan dari kebenaran, berdasarkan tanggal:
-
+
[Grafik ini](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) bahkan lebih menyesatkan, karena mata tertarik ke kanan untuk menyimpulkan bahwa, seiring waktu, kasus COVID telah menurun di berbagai wilayah. Faktanya, jika Anda melihat lebih dekat pada tanggalnya, Anda akan menemukan bahwa tanggal-tanggal tersebut telah diatur ulang untuk memberikan tren penurunan yang menyesatkan.
-
+
Contoh terkenal ini menggunakan warna DAN sumbu Y yang dibalik untuk menyesatkan: alih-alih menyimpulkan bahwa kematian akibat senjata meningkat setelah pengesahan undang-undang yang mendukung senjata, mata justru tertipu untuk berpikir bahwa kebalikannya adalah benar:
-
+
Grafik aneh ini menunjukkan bagaimana proporsi dapat dimanipulasi, dengan efek yang menggelikan:
-
+
Membandingkan hal-hal yang tidak sebanding adalah trik licik lainnya. Ada [situs web yang luar biasa](https://tylervigen.com/spurious-correlations) tentang 'korelasi palsu' yang menampilkan 'fakta' yang menghubungkan hal-hal seperti tingkat perceraian di Maine dan konsumsi margarin. Grup Reddit juga mengumpulkan [penggunaan data yang buruk](https://www.reddit.com/r/dataisugly/top/?t=all).
@@ -100,13 +100,13 @@ Label sumbu Anda, sediakan legenda jika diperlukan, dan tawarkan tooltip untuk p
Jika data Anda berupa teks yang panjang pada sumbu X, Anda dapat memiringkan teks untuk meningkatkan keterbacaan. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) menawarkan pemetaan 3D, jika data Anda mendukungnya. Visualisasi data yang canggih dapat dihasilkan menggunakan ini.
-
+
## Animasi dan tampilan grafik 3D
Beberapa visualisasi data terbaik saat ini bersifat animasi. Shirley Wu memiliki karya luar biasa yang dibuat dengan D3, seperti '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', di mana setiap bunga adalah visualisasi dari sebuah film. Contoh lain untuk Guardian adalah 'bussed out', sebuah pengalaman interaktif yang menggabungkan visualisasi dengan Greensock dan D3 serta format artikel scrollytelling untuk menunjukkan bagaimana NYC menangani masalah tunawisma dengan mengirim orang keluar dari kota.
-
+
> "Bussed Out: How America Moves its Homeless" dari [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualisasi oleh Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Meskipun pelajaran ini tidak cukup mendalam untuk mengajarkan pustaka visualisas
Anda akan menyelesaikan aplikasi web yang akan menampilkan tampilan animasi dari jaringan sosial ini. Aplikasi ini menggunakan pustaka yang dibuat untuk membuat [visual jaringan](https://github.com/emiliorizzo/vue-d3-network) menggunakan Vue.js dan D3. Saat aplikasi berjalan, Anda dapat menarik node di layar untuk mengacak data.
-
+
## Proyek: Buat grafik untuk menunjukkan jaringan menggunakan D3.js
diff --git a/translations/id/3-Data-Visualization/README.md b/translations/id/3-Data-Visualization/README.md
index 53e82594..14cef6b0 100644
--- a/translations/id/3-Data-Visualization/README.md
+++ b/translations/id/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualisasi
-
+
> Foto oleh Jenna Lee di Unsplash
Memvisualisasikan data adalah salah satu tugas terpenting seorang data scientist. Gambar bernilai 1000 kata, dan sebuah visualisasi dapat membantu Anda mengidentifikasi berbagai aspek menarik dari data Anda seperti lonjakan, pencilan, pengelompokan, kecenderungan, dan lainnya, yang dapat membantu Anda memahami cerita yang ingin disampaikan oleh data Anda.
diff --git a/translations/id/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/id/4-Data-Science-Lifecycle/14-Introduction/README.md
index ab4835e4..9fc4abf8 100644
--- a/translations/id/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/id/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ Pada titik ini, Anda mungkin telah menyadari bahwa data science adalah sebuah pr
Pelajaran ini berfokus pada 3 bagian dari siklus hidup: pengumpulan, pemrosesan, dan pemeliharaan.
-
+
> Foto oleh [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Pengumpulan
@@ -101,7 +101,7 @@ Jelajahi [Siklus Hidup Proses Data Science Tim](https://docs.microsoft.com/en-us
|Proses Data Science Tim (TDSP)|Proses standar industri untuk data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Gambar oleh [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Gambar oleh [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Kuis Pasca-Pelajaran](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/id/4-Data-Science-Lifecycle/README.md b/translations/id/4-Data-Science-Lifecycle/README.md
index 7c01bd0d..0c3ca685 100644
--- a/translations/id/4-Data-Science-Lifecycle/README.md
+++ b/translations/id/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Siklus Data Science
-
+
> Foto oleh Headway di Unsplash
Dalam pelajaran ini, Anda akan menjelajahi beberapa aspek dari siklus Data Science, termasuk analisis dan komunikasi seputar data.
diff --git a/translations/id/5-Data-Science-In-Cloud/README.md b/translations/id/5-Data-Science-In-Cloud/README.md
index d5856a2b..d804c875 100644
--- a/translations/id/5-Data-Science-In-Cloud/README.md
+++ b/translations/id/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science di Cloud
-
+
> Foto oleh [Jelleke Vanooteghem](https://unsplash.com/@ilumire) dari [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Ketika berbicara tentang data science dengan data besar, cloud bisa menjadi pengubah permainan. Dalam tiga pelajaran berikutnya, kita akan melihat apa itu cloud dan mengapa ini bisa sangat membantu. Kita juga akan mengeksplorasi dataset gagal jantung dan membangun model untuk membantu menilai kemungkinan seseorang mengalami gagal jantung. Kita akan menggunakan kekuatan cloud untuk melatih, menerapkan, dan menggunakan model dengan dua cara berbeda. Satu cara menggunakan antarmuka pengguna dalam pendekatan Low code/No code, dan cara lainnya menggunakan Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Topik
diff --git a/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index c686e397..c2fb8704 100644
--- a/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Berkat demokratisasi AI, pengembang kini lebih mudah merancang dan mengintegrasi
* [Ilmu Data di Kesehatan](https://data-flair.training/blogs/data-science-in-healthcare/) - menyoroti aplikasi seperti pencitraan medis (misalnya, MRI, X-Ray, CT-Scan), genomik (sekuensing DNA), pengembangan obat (penilaian risiko, prediksi keberhasilan), analitik prediktif (perawatan pasien & logistik pasokan), pelacakan & pencegahan penyakit, dll.
- Kredit Gambar: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Kredit Gambar: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Gambar tersebut menunjukkan domain lain dan contoh penerapan teknik ilmu data. Ingin mengeksplorasi aplikasi lainnya? Lihat bagian [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) di bawah ini.
diff --git a/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index e5a5a843..cdae53c5 100644
--- a/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/id/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Antarmuka Explorer (ditampilkan dalam tangkapan layar di bawah) memungkinkan And
2. Jelajahi [Katalog dataset](https://planetarycomputer.microsoft.com/catalog) - pelajari tujuan masing-masing.
3. Gunakan Explorer - pilih dataset yang menarik, pilih kueri dan opsi rendering yang relevan.
-
+
`Tugas Anda:`
Sekarang pelajari visualisasi yang ditampilkan di browser dan jawab pertanyaan berikut:
diff --git a/translations/id/CONTRIBUTING.md b/translations/id/CONTRIBUTING.md
index 9be44205..5becf7d8 100644
--- a/translations/id/CONTRIBUTING.md
+++ b/translations/id/CONTRIBUTING.md
@@ -315,7 +315,7 @@ Sertakan dalam deskripsi PR Anda:
```
````
-- Tambahkan teks alternatif ke gambar: ``
+- Tambahkan teks alternatif ke gambar: ``
- Pertahankan panjang baris yang wajar (sekitar 80-100 karakter)
### Python
diff --git a/translations/id/README.md b/translations/id/README.md
index 74303ae0..9ba70cbd 100644
--- a/translations/id/README.md
+++ b/translations/id/README.md
@@ -33,7 +33,7 @@ Azure Cloud Advocates di Microsoft dengan senang hati menawarkan kurikulum 10-mi
**🙏 Terima kasih khusus 🙏 kepada penulis, pengulas dan kontributor konten [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** terutama Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science untuk Pemula - _Sketchnote oleh [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure Cloud Advocates di Microsoft dengan senang hati menawarkan kurikulum 10-mi
Kami mengadakan rangkaian Discord "Learn with AI", pelajari lebih lanjut dan bergabung dengan kami di [Learn with AI Series](https://aka.ms/learnwithai/discord) dari 18 - 30 September, 2025. Anda akan mendapatkan tips dan trik menggunakan GitHub Copilot untuk Data Science.
-
+
# Apakah Anda seorang pelajar?
@@ -132,7 +132,7 @@ Setiap contoh menyertakan komentar terperinci yang menjelaskan setiap langkah, m
## Pelajaran
-||
+||
|:---:|
| Data Science Untuk Pemula: Peta Jalan - _Sketchnote oleh [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/id/sketchnotes/README.md b/translations/id/sketchnotes/README.md
index 074e9ba1..32950255 100644
--- a/translations/id/sketchnotes/README.md
+++ b/translations/id/sketchnotes/README.md
@@ -13,7 +13,7 @@ Temukan semua sketchnote di sini!
Nitya Narasimhan, seniman
-
+
---
diff --git a/translations/it/1-Introduction/01-defining-data-science/README.md b/translations/it/1-Introduction/01-defining-data-science/README.md
index a06b7077..54cff481 100644
--- a/translations/it/1-Introduction/01-defining-data-science/README.md
+++ b/translations/it/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz pre-lezione](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ Se vogliamo complicare ulteriormente le cose, possiamo tracciare il tempo impieg
In questa sfida, cercheremo di individuare concetti rilevanti per il campo della Data Science analizzando dei testi. Prenderemo un articolo di Wikipedia sulla Data Science, scaricheremo e processeremo il testo, e poi costruiremo una nuvola di parole come questa:
-
+
Visita [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') per leggere il codice. Puoi anche eseguire il codice e vedere come effettua tutte le trasformazioni dei dati in tempo reale.
diff --git a/translations/it/1-Introduction/04-stats-and-probability/README.md b/translations/it/1-Introduction/04-stats-and-probability/README.md
index ab5a9b3b..2f061931 100644
--- a/translations/it/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/it/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
La Statistica e la Teoria della Probabilità sono due aree della Matematica strettamente correlate e molto rilevanti per la Data Science. È possibile lavorare con i dati senza una conoscenza approfondita della matematica, ma è comunque meglio conoscere almeno alcuni concetti di base. Qui presenteremo una breve introduzione che ti aiuterà a iniziare.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [Quiz Pre-lezione](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ La distribuzione discreta più nota è la **distribuzione uniforme**, in cui c'
Possiamo solo parlare della probabilità che una variabile cada in un determinato intervallo di valori, ad esempio P(t1≤X2). In questo caso, la distribuzione di probabilità è descritta da una **funzione di densità di probabilità** p(x), tale che
-.
diff --git a/translations/it/1-Introduction/README.md b/translations/it/1-Introduction/README.md
index 76f52d22..16b01c0f 100644
--- a/translations/it/1-Introduction/README.md
+++ b/translations/it/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Introduzione alla Scienza dei Dati
-
+
> Foto di Stephen Dawson su Unsplash
In queste lezioni, scoprirai come viene definita la Scienza dei Dati e imparerai le considerazioni etiche che un data scientist deve tenere a mente. Inoltre, apprenderai come vengono definiti i dati e acquisirai alcune nozioni di statistica e probabilità, i domini accademici fondamentali della Scienza dei Dati.
diff --git a/translations/it/2-Working-With-Data/07-python/README.md b/translations/it/2-Working-With-Data/07-python/README.md
index 766b37e3..61b7f00a 100644
--- a/translations/it/2-Working-With-Data/07-python/README.md
+++ b/translations/it/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Lavorare con Python - _Sketchnote di [@nitya](https://twitter.com/nitya)_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
Sebbene i database offrano modi molto efficienti per memorizzare i dati e interrogarli utilizzando linguaggi di query, il modo più flessibile per elaborare i dati è scrivere un proprio programma per manipolarli. In molti casi, eseguire una query su un database sarebbe un metodo più efficace. Tuttavia, in alcuni casi in cui è necessaria un'elaborazione dei dati più complessa, non è facilmente realizzabile utilizzando SQL.
L'elaborazione dei dati può essere programmata in qualsiasi linguaggio di programmazione, ma ci sono alcuni linguaggi che sono più adatti per lavorare con i dati. Gli scienziati dei dati di solito preferiscono uno dei seguenti linguaggi:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
Ora supponiamo che ogni settimana organizziamo una festa per gli amici e prendiamo 10 confezioni di gelato in più per la festa. Possiamo creare un'altra serie, indicizzata per settimana, per dimostrarlo:
```python
@@ -84,7 +84,7 @@ Quando sommiamo due serie, otteniamo il numero totale:
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **Nota** che non stiamo usando la sintassi semplice `total_items+additional_items`. Se lo facessimo, otterremmo molti valori `NaN` (*Not a Number*) nella serie risultante. Questo perché ci sono valori mancanti per alcuni punti dell'indice nella serie `additional_items`, e sommare `NaN` a qualsiasi cosa risulta in `NaN`. Pertanto, dobbiamo specificare il parametro `fill_value` durante l'addizione.
@@ -93,7 +93,7 @@ Con le serie temporali, possiamo anche **ricampionare** la serie con intervalli
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ Il primo problema su cui ci concentreremo è la modellazione della diffusione ep
Poiché vogliamo dimostrare come gestire i dati, ti invitiamo ad aprire [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) e leggerlo dall'inizio alla fine. Puoi anche eseguire le celle e affrontare alcune sfide che abbiamo lasciato per te alla fine.
-
+
> Se non sai come eseguire il codice in Jupyter Notebook, dai un'occhiata a [questo articolo](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@@ -241,7 +241,7 @@ Un esempio completo di analisi di questo dataset utilizzando il servizio cogniti
Apri [`notebook-papers.ipynb`](notebook-papers.ipynb) e leggilo dall'inizio alla fine. Puoi anche eseguire le celle e affrontare alcune sfide che abbiamo lasciato per te alla fine.
-
+
## Elaborazione di Dati Immagine
diff --git a/translations/it/2-Working-With-Data/README.md b/translations/it/2-Working-With-Data/README.md
index 359e8d99..0e57ad2b 100644
--- a/translations/it/2-Working-With-Data/README.md
+++ b/translations/it/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Lavorare con i Dati
-
+
> Foto di Alexander Sinn su Unsplash
In queste lezioni, imparerai alcuni dei modi in cui i dati possono essere gestiti, manipolati e utilizzati nelle applicazioni. Scoprirai i database relazionali e non relazionali e come i dati possono essere archiviati al loro interno. Imparerai le basi per lavorare con Python nella gestione dei dati e scoprirai alcune delle numerose modalità con cui puoi utilizzare Python per gestire e analizzare i dati.
diff --git a/translations/it/3-Data-Visualization/12-visualization-relationships/README.md b/translations/it/3-Data-Visualization/12-visualization-relationships/README.md
index 3796548a..afd9bf84 100644
--- a/translations/it/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/it/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ Crea uno scatterplot di base per mostrare la relazione tra il prezzo per libbra
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
Ora, mostra gli stessi dati con una palette di colori che richiami il miele per evidenziare come il prezzo si evolve nel corso degli anni. Puoi farlo aggiungendo un parametro 'hue' per mostrare il cambiamento anno dopo anno:
@@ -60,7 +60,7 @@ Ora, mostra gli stessi dati con una palette di colori che richiami il miele per
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
Con questo cambiamento di colori, puoi vedere chiaramente una forte progressione nel corso degli anni in termini di prezzo del miele per libbra. Infatti, se guardi un campione di dati per verificare (scegli uno stato, ad esempio l'Arizona), puoi osservare un pattern di aumento dei prezzi anno dopo anno, con poche eccezioni:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
Puoi vedere la dimensione dei punti aumentare gradualmente.
-
+
È un semplice caso di domanda e offerta? A causa di fattori come il cambiamento climatico e il collasso delle colonie, c'è meno miele disponibile per l'acquisto anno dopo anno, e quindi il prezzo aumenta?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
Risposta: Sì, con alcune eccezioni intorno all'anno 2003:
-
+
✅ Poiché Seaborn aggrega i dati attorno a una linea, visualizza "le misurazioni multiple per ogni valore x tracciando la media e l'intervallo di confidenza al 95% attorno alla media". [Fonte](https://seaborn.pydata.org/tutorial/relational.html). Questo comportamento dispendioso in termini di tempo può essere disabilitato aggiungendo `ci=None`.
@@ -114,7 +114,7 @@ Domanda: Bene, nel 2003 possiamo anche vedere un picco nella fornitura di miele?
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
Risposta: Non proprio. Se guardi la produzione totale, sembra effettivamente essere aumentata in quell'anno particolare, anche se generalmente parlando la quantità di miele prodotta è in calo durante questi anni.
@@ -139,7 +139,7 @@ sns.relplot(
```
In questa visualizzazione, puoi confrontare la resa per colonia e il numero di colonie anno dopo anno, fianco a fianco con un wrap impostato a 3 per le colonne:
-
+
Per questo dataset, nulla si distingue particolarmente riguardo al numero di colonie e alla loro resa, anno dopo anno e stato per stato. C'è un modo diverso per cercare di trovare una correlazione tra queste due variabili?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
Sebbene nulla salti all'occhio intorno all'anno 2003, ci permette di concludere questa lezione con una nota un po' più positiva: mentre il numero di colonie è generalmente in calo, il numero di colonie si sta stabilizzando anche se la loro resa per colonia è in diminuzione.
diff --git a/translations/it/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/it/3-Data-Visualization/R/09-visualization-quantities/README.md
index 6d9e6a8d..a3bffc4e 100644
--- a/translations/it/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/it/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -66,7 +66,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Qui, installi il pacchetto `ggplot2` e lo importi nello spazio di lavoro utilizzando il comando `library("ggplot2")`. Per tracciare un grafico in ggplot, si utilizza la funzione `ggplot()` specificando il dataset e le variabili x e y come attributi. In questo caso, utilizziamo la funzione `geom_line()` poiché vogliamo creare un grafico a linee.
-
+
Cosa noti immediatamente? Sembra esserci almeno un valore anomalo: che apertura alare! Un'apertura alare di oltre 2000 centimetri equivale a più di 20 metri: ci sono Pterodattili che volano in Minnesota? Indaghiamo.
@@ -84,7 +84,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
Specifichiamo l'angolo nel `theme` e indichiamo le etichette degli assi x e y con `xlab()` e `ylab()` rispettivamente. La funzione `ggtitle()` assegna un titolo al grafico.
-
+
Anche con la rotazione delle etichette impostata a 45 gradi, ce ne sono troppe per essere leggibili. Proviamo una strategia diversa: etichettiamo solo i valori anomali e posizioniamo le etichette all'interno del grafico. Puoi utilizzare un grafico a dispersione per avere più spazio per le etichette:
@@ -100,7 +100,7 @@ Cosa succede qui? Hai utilizzato la funzione `geom_point()` per tracciare punti
Cosa scopri?
-
+
## Filtrare i dati
@@ -119,7 +119,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
Abbiamo creato un nuovo dataframe `birds_filtered` e poi tracciato un grafico a dispersione. Filtrando i valori anomali, i tuoi dati ora sono più coerenti e comprensibili.
-
+
Ora che abbiamo un dataset più pulito almeno in termini di apertura alare, scopriamo di più su questi uccelli.
@@ -161,7 +161,7 @@ birds_filtered %>% group_by(Category) %>%
```
Nel seguente snippet, installiamo i pacchetti [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) e [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) per aiutare a manipolare e raggruppare i dati al fine di tracciare un grafico a barre impilate. Prima, raggruppi i dati per la `Categoria` degli uccelli e poi riassumi le colonne `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Poi, tracci il grafico a barre utilizzando il pacchetto `ggplot2` specificando i colori per le diverse categorie e le etichette.
-
+
Questo grafico a barre, tuttavia, è illeggibile perché ci sono troppi dati non raggruppati. Devi selezionare solo i dati che vuoi tracciare, quindi osserviamo la lunghezza degli uccelli in base alla loro categoria.
@@ -176,7 +176,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
Prima conti i valori unici nella colonna `Categoria` e poi li ordini in un nuovo dataframe `birds_count`. Questi dati ordinati vengono poi fattorizzati allo stesso livello in modo che vengano tracciati in ordine. Utilizzando `ggplot2`, tracci i dati in un grafico a barre. La funzione `coord_flip()` traccia barre orizzontali.
-
+
Questo grafico a barre mostra una buona panoramica del numero di uccelli in ogni categoria. A colpo d'occhio, vedi che il maggior numero di uccelli in questa regione appartiene alla categoria Anatre/Oche/UccelliAcquatici. Il Minnesota è la "terra dei 10.000 laghi", quindi non è sorprendente!
@@ -199,7 +199,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
Raggruppiamo i dati `birds_filtered` per `Categoria` e poi tracciamo un grafico a barre.
-
+
Nulla di sorprendente qui: i colibrì hanno la lunghezza massima più bassa rispetto ai Pellicani o alle Oche. È positivo quando i dati hanno senso logico!
@@ -211,7 +211,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 Sfida
diff --git a/translations/it/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/it/3-Data-Visualization/R/10-visualization-distributions/README.md
index d5cca221..5b40c8ae 100644
--- a/translations/it/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/it/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
Questo fornisce una panoramica della distribuzione generale della lunghezza corporea per Ordine di uccelli, ma non è il modo ottimale per mostrare le vere distribuzioni. Questo compito è solitamente gestito creando un Istogramma.
@@ -57,7 +57,7 @@ Questo fornisce una panoramica della distribuzione generale della lunghezza corp
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
Come puoi vedere, la maggior parte dei 400+ uccelli in questo dataset rientra nella fascia sotto i 2000 per la loro Massa Corporea Massima. Ottieni maggiori informazioni sui dati modificando il parametro `bins` a un numero più alto, ad esempio 30:
@@ -65,7 +65,7 @@ Come puoi vedere, la maggior parte dei 400+ uccelli in questo dataset rientra ne
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
Questo grafico mostra la distribuzione in modo un po' più dettagliato. Un grafico meno sbilanciato a sinistra potrebbe essere creato assicurandoti di selezionare solo i dati entro un determinato intervallo:
@@ -77,7 +77,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ Prova altri filtri e punti dati. Per vedere la distribuzione completa dei dati, rimuovi il filtro `['MaxBodyMass']` per mostrare distribuzioni etichettate.
@@ -91,7 +91,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
Sembra esserci una correlazione prevista tra questi due elementi lungo un asse previsto, con un punto particolarmente forte di convergenza:
-
+
Gli istogrammi funzionano bene di default per i dati numerici. E se avessi bisogno di vedere le distribuzioni in base ai dati testuali?
## Esplora il dataset per distribuzioni utilizzando dati testuali
@@ -122,7 +122,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
Non sembra esserci una buona correlazione tra apertura alare minima e stato di conservazione. Testa altri elementi del dataset utilizzando questo metodo. Puoi provare diversi filtri. Trovi qualche correlazione?
@@ -136,7 +136,7 @@ Lavoriamo ora con i grafici di densità!
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
Puoi vedere come il grafico rispecchia quello precedente per i dati di Apertura Alare Minima; è solo un po' più fluido. Se volessi rivedere quella linea frastagliata della MaxMassaCorporea nel secondo grafico che hai costruito, potresti renderla molto più fluida ricreandola utilizzando questo metodo:
@@ -144,7 +144,7 @@ Puoi vedere come il grafico rispecchia quello precedente per i dati di Apertura
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
Se volessi una linea fluida, ma non troppo fluida, modifica il parametro `adjust`:
@@ -152,7 +152,7 @@ Se volessi una linea fluida, ma non troppo fluida, modifica il parametro `adjust
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ Leggi i parametri disponibili per questo tipo di grafico e sperimenta!
@@ -162,7 +162,7 @@ Questo tipo di grafico offre visualizzazioni esplicative molto belle. Con poche
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 Sfida
diff --git a/translations/it/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/it/3-Data-Visualization/R/11-visualization-proportions/README.md
index 4bc391c9..36d69350 100644
--- a/translations/it/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/it/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -97,7 +97,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
Voilà, un grafico a torta che mostra le proporzioni di questi dati secondo le due classi di funghi. È molto importante ottenere l'ordine corretto delle etichette, soprattutto qui, quindi assicurati di verificare l'ordine con cui viene costruito l'array delle etichette!
-
+
## Ciambelle!
@@ -132,7 +132,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
Questo codice utilizza due librerie: ggplot2 e webr. Utilizzando la funzione PieDonut della libreria webr, possiamo creare facilmente un grafico a ciambella!
@@ -169,7 +169,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
Utilizzando un grafico a waffle, puoi vedere chiaramente le proporzioni dei colori del cappello in questo dataset sui funghi. Interessante notare che ci sono molti funghi con cappelli verdi!
-
+
In questa lezione, hai imparato tre modi per visualizzare le proporzioni. Prima, devi raggruppare i tuoi dati in categorie e poi decidere qual è il modo migliore per visualizzarli - torta, ciambella o waffle. Tutti sono deliziosi e gratificano l'utente con un'istantanea del dataset.
diff --git a/translations/it/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/it/3-Data-Visualization/R/12-visualization-relationships/README.md
index 66fb73a0..7604c7df 100644
--- a/translations/it/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/it/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
Ora, mostra gli stessi dati con una scala di colori che richiami il miele per evidenziare come il prezzo si evolve nel corso degli anni. Puoi farlo aggiungendo un parametro 'scale_color_gradientn' per mostrare il cambiamento anno dopo anno:
@@ -61,7 +61,7 @@ Ora, mostra gli stessi dati con una scala di colori che richiami il miele per ev
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
Con questo cambiamento di schema di colori, puoi vedere chiaramente una forte progressione nel corso degli anni in termini di prezzo del miele per libbra. Infatti, se guardi un sottoinsieme di dati per verificare (scegli uno stato, ad esempio l'Arizona), puoi osservare un pattern di aumento dei prezzi anno dopo anno, con poche eccezioni:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
Puoi vedere la dimensione dei punti aumentare gradualmente.
-
+
È un semplice caso di domanda e offerta? A causa di fattori come il cambiamento climatico e il collasso delle colonie, c'è meno miele disponibile per l'acquisto anno dopo anno, e quindi il prezzo aumenta?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
Risposta: Sì, con alcune eccezioni intorno all'anno 2003:
-
+
Domanda: Bene, nel 2003 possiamo anche vedere un picco nella fornitura di miele? E se guardassimo la produzione totale anno dopo anno?
@@ -115,7 +115,7 @@ Domanda: Bene, nel 2003 possiamo anche vedere un picco nella fornitura di miele?
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
Risposta: Non proprio. Se guardi la produzione totale, sembra effettivamente essere aumentata in quell'anno particolare, anche se generalmente la quantità di miele prodotta è in calo durante questi anni.
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
In questa visualizzazione, puoi confrontare la resa per colonia e il numero di colonie anno dopo anno, fianco a fianco con un wrap impostato a 3 per le colonne:
-
+
Per questo dataset, nulla di particolarmente evidente emerge riguardo al numero di colonie e alla loro resa, anno dopo anno e stato per stato. C'è un modo diverso per cercare una correlazione tra queste due variabili?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
Sebbene nulla salti all'occhio intorno all'anno 2003, questo ci permette di concludere la lezione con una nota un po' più positiva: mentre il numero di colonie è generalmente in calo, sembra stabilizzarsi anche se la loro resa per colonia diminuisce.
diff --git a/translations/it/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/it/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 6e7b7e10..dd5ddcb8 100644
--- a/translations/it/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/it/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ Nelle lezioni precedenti, hai sperimentato la creazione di vari tipi di visualiz
Anche se un data scientist sceglie con attenzione il grafico giusto per i dati, ci sono molti modi in cui i dati possono essere visualizzati per dimostrare un punto, spesso a scapito della veridicità dei dati stessi. Esistono molti esempi di grafici e infografiche ingannevoli!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Clicca sull'immagine sopra per una conferenza sui grafici ingannevoli
Questo grafico inverte l'asse X per mostrare l'opposto della verità, basandosi sulla data:
-
+
[Questo grafico](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) è ancora più ingannevole, poiché l'occhio è attirato verso destra per concludere che, nel tempo, i casi di COVID siano diminuiti nelle varie contee. In realtà, se si osservano attentamente le date, si scopre che sono state riorganizzate per creare questa falsa tendenza al ribasso.
-
+
Questo esempio noto utilizza il colore E un asse Y invertito per ingannare: invece di concludere che le morti per armi da fuoco siano aumentate dopo l'approvazione di una legislazione favorevole alle armi, l'occhio è ingannato a pensare che sia vero il contrario:
-
+
Questo grafico strano mostra come le proporzioni possano essere manipolate, con effetti esilaranti:
-
+
Confrontare l'incomparabile è un altro trucco discutibile. Esiste un [sito web meraviglioso](https://tylervigen.com/spurious-correlations) dedicato alle 'correlazioni spurie' che mostra 'fatti' correlando cose come il tasso di divorzi nel Maine e il consumo di margarina. Un gruppo su Reddit raccoglie anche [usi discutibili](https://www.reddit.com/r/dataisugly/top/?t=all) dei dati.
@@ -100,13 +100,13 @@ Etichetta gli assi, fornisci una legenda se necessario e offri tooltip per una m
Se i tuoi dati sono testuali e verbosi sull'asse X, puoi angolare il testo per migliorarne la leggibilità. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) offre la possibilità di creare grafici in 3D, se i tuoi dati lo supportano. Con esso è possibile produrre visualizzazioni sofisticate.
-
+
## Animazione e visualizzazione di grafici in 3D
Alcune delle migliori visualizzazioni dei dati oggi sono animate. Shirley Wu ha creato visualizzazioni straordinarie con D3, come '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', dove ogni fiore rappresenta una visualizzazione di un film. Un altro esempio per il Guardian è 'bussed out', un'esperienza interattiva che combina visualizzazioni con Greensock e D3, oltre a un formato di articolo scrollytelling per mostrare come NYC gestisce il problema dei senzatetto bussando le persone fuori dalla città.
-
+
> "Bussed Out: How America Moves its Homeless" dal [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualizzazioni di Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ Sebbene questa lezione non sia sufficiente per approfondire l'insegnamento di qu
Completerai un'app web che visualizzerà una vista animata di questa rete sociale. Utilizza una libreria progettata per creare una [visualizzazione di una rete](https://github.com/emiliorizzo/vue-d3-network) utilizzando Vue.js e D3. Quando l'app è in esecuzione, puoi spostare i nodi sullo schermo per riorganizzare i dati.
-
+
## Progetto: Creare un grafico per mostrare una rete usando D3.js
diff --git a/translations/it/3-Data-Visualization/README.md b/translations/it/3-Data-Visualization/README.md
index 4e76f4de..e88c1d29 100644
--- a/translations/it/3-Data-Visualization/README.md
+++ b/translations/it/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Visualizzazioni
-
+
> Foto di Jenna Lee su Unsplash
Visualizzare i dati è uno dei compiti più importanti per un data scientist. Un'immagine vale più di mille parole, e una visualizzazione può aiutarti a identificare tutti i tipi di aspetti interessanti nei tuoi dati, come picchi, valori anomali, raggruppamenti, tendenze e molto altro, che possono aiutarti a comprendere la storia che i tuoi dati stanno cercando di raccontare.
diff --git a/translations/it/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/it/4-Data-Science-Lifecycle/14-Introduction/README.md
index b92f4139..b8f817ef 100644
--- a/translations/it/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/it/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ A questo punto probabilmente hai capito che la data science è un processo. Ques
Questa lezione si concentra su 3 parti del ciclo di vita: acquisizione, elaborazione e manutenzione.
-
+
> Foto di [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Acquisizione
@@ -101,7 +101,7 @@ Esplora il [Team Data Science Process lifecycle](https://docs.microsoft.com/en-u
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| Immagine di [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Immagine di [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz Post-Lezione](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/it/4-Data-Science-Lifecycle/README.md b/translations/it/4-Data-Science-Lifecycle/README.md
index dd3178ae..3ae81bdd 100644
--- a/translations/it/4-Data-Science-Lifecycle/README.md
+++ b/translations/it/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Il ciclo di vita della Data Science
-
+
> Foto di Headway su Unsplash
In queste lezioni, esplorerai alcuni aspetti del ciclo di vita della Data Science, inclusa l'analisi e la comunicazione dei dati.
diff --git a/translations/it/5-Data-Science-In-Cloud/README.md b/translations/it/5-Data-Science-In-Cloud/README.md
index c03d5541..47928a95 100644
--- a/translations/it/5-Data-Science-In-Cloud/README.md
+++ b/translations/it/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# Data Science nel Cloud
-
+
> Foto di [Jelleke Vanooteghem](https://unsplash.com/@ilumire) da [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Quando si tratta di fare data science con big data, il cloud può essere una svolta. Nelle prossime tre lezioni, vedremo cos'è il cloud e perché può essere molto utile. Esploreremo anche un dataset relativo all'insufficienza cardiaca e costruiremo un modello per aiutare a valutare la probabilità che qualcuno abbia un'insufficienza cardiaca. Utilizzeremo la potenza del cloud per addestrare, distribuire e utilizzare un modello in due modi diversi. Un modo utilizzando solo l'interfaccia utente in modalità Low code/No code, l'altro modo utilizzando l'Azure Machine Learning Software Developer Kit (Azure ML SDK).
-
+
### Argomenti
diff --git a/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index d34a75c4..2735ad03 100644
--- a/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ Grazie alla democratizzazione dell'AI, gli sviluppatori trovano sempre più faci
* [Data Science nella Sanità](https://data-flair.training/blogs/data-science-in-healthcare/) - evidenzia applicazioni come imaging medico (ad esempio, MRI, raggi X, TAC), genomica (sequenziamento del DNA), sviluppo di farmaci (valutazione del rischio, previsione del successo), analisi predittiva (cura dei pazienti e logistica delle forniture), monitoraggio e prevenzione delle malattie ecc.
- Crediti Immagine: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ Crediti Immagine: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
La figura mostra altri domini ed esempi per l'applicazione delle tecniche di data science. Vuoi esplorare altre applicazioni? Dai un'occhiata alla sezione [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) qui sotto.
diff --git a/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 015a3da2..829f1ff4 100644
--- a/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/it/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ L'interfaccia Explorer (mostrata nello screenshot qui sotto) ti consente di sele
2. Esplorare il [Catalogo](https://planetarycomputer.microsoft.com/catalog) dei dataset - imparare lo scopo di ciascuno.
3. Utilizzare l'Explorer - scegliere un dataset di interesse, selezionare una query e un'opzione di rendering pertinenti.
-
+
`Il tuo compito:`
Ora studia la visualizzazione che viene generata nel browser e rispondi alle seguenti domande:
diff --git a/translations/it/CONTRIBUTING.md b/translations/it/CONTRIBUTING.md
index b5edbdaa..0f04c464 100644
--- a/translations/it/CONTRIBUTING.md
+++ b/translations/it/CONTRIBUTING.md
@@ -316,7 +316,7 @@ Includi nella descrizione della PR:
```
````
-- Aggiungi testo alternativo alle immagini: ``
+- Aggiungi testo alternativo alle immagini: ``
- Mantieni lunghezze di riga ragionevoli (circa 80-100 caratteri)
### Python
diff --git a/translations/it/README.md b/translations/it/README.md
index f92ab6ca..1a725bd2 100644
--- a/translations/it/README.md
+++ b/translations/it/README.md
@@ -33,7 +33,7 @@ I Cloud Advocates per il Cloud di Azure di Microsoft sono lieti di offrire un cu
**🙏 Ringraziamenti speciali 🙏 ai nostri autori, revisori e contributori di contenuti del programma [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/),** in particolare Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| Data Science per Principianti - _Sketchnote di [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ I Cloud Advocates per il Cloud di Azure di Microsoft sono lieti di offrire un cu
Stiamo conducendo una serie su Discord intitolata "Impara con l'IA", scopri di più e unisciti a noi su [Serie Impara con l'IA](https://aka.ms/learnwithai/discord) dal 18 - 30 settembre 2025. Riceverai suggerimenti e trucchi per usare GitHub Copilot per la Data Science.
-
+
# Sei uno studente?
@@ -132,7 +132,7 @@ Ogni esempio include commenti dettagliati che spiegano ogni passaggio, rendendol
## Lezioni
-||
+||
|:---:|
| Data Science per Principianti: Roadmap - _Sketchnote di [@nitya](https://twitter.com/nitya)_ |
diff --git a/translations/it/sketchnotes/README.md b/translations/it/sketchnotes/README.md
index b9f8f68c..92b42423 100644
--- a/translations/it/sketchnotes/README.md
+++ b/translations/it/sketchnotes/README.md
@@ -13,7 +13,7 @@ Trova tutte le sketchnote qui!
Nitya Narasimhan, artista
-
+
---
diff --git a/translations/ja/1-Introduction/01-defining-data-science/README.md b/translations/ja/1-Introduction/01-defining-data-science/README.md
index 818ad7c6..e44b9042 100644
--- a/translations/ja/1-Introduction/01-defining-data-science/README.md
+++ b/translations/ja/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [講義前のクイズ](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
このチャレンジでは、テキストを調べることでデータサイエンス分野に関連する概念を見つけることを試みます。データサイエンスに関するWikipediaの記事を取得し、テキストを処理した後、以下のようなワードクラウドを作成します:
-
+
コードを読むには[`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore')を訪問してください。また、コードを実行して、リアルタイムでデータ変換がどのように行われるか確認することもできます。
diff --git a/translations/ja/1-Introduction/04-stats-and-probability/README.md b/translations/ja/1-Introduction/04-stats-and-probability/README.md
index 551eb476..07793be6 100644
--- a/translations/ja/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/ja/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
統計学と確率論は、データサイエンスにおいて非常に関連性の高い数学の分野です。数学の深い知識がなくてもデータを扱うことは可能ですが、基本的な概念を少しでも知っておく方が良いでしょう。ここでは、始めるための簡単な紹介を行います。
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [講義前のクイズ](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -39,7 +39,7 @@ CO_OP_TRANSLATOR_METADATA:
変数が特定の値の範囲に収まる確率についてのみ話すことができます。例えば、P(t1≤X2)です。この場合、確率分布は**確率密度関数**p(x)によって記述されます。
-に記載されています。
diff --git a/translations/ja/1-Introduction/README.md b/translations/ja/1-Introduction/README.md
index eadb5519..d26c2721 100644
--- a/translations/ja/1-Introduction/README.md
+++ b/translations/ja/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# データサイエンス入門
-
+
> 写真提供:Stephen Dawson(Unsplash)
このレッスンでは、データサイエンスの定義について学び、データサイエンティストが考慮すべき倫理的な問題について理解します。また、データの定義や、データサイエンスの主要な学問分野である統計学と確率論について少し学びます。
diff --git a/translations/ja/2-Working-With-Data/07-python/README.md b/translations/ja/2-Working-With-Data/07-python/README.md
index 7eb5c980..71a6ea80 100644
--- a/translations/ja/2-Working-With-Data/07-python/README.md
+++ b/translations/ja/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| Pythonでの操作 - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
データベースはデータを効率的に保存し、クエリ言語を使用して検索する方法を提供しますが、データ処理の最も柔軟な方法は、自分自身でプログラムを書いてデータを操作することです。多くの場合、データベースクエリを使用する方が効果的です。しかし、より複雑なデータ処理が必要な場合、SQLでは簡単に実現できないことがあります。
データ処理はどのプログラミング言語でもプログラム可能ですが、データ操作に特化した高レベルな言語があります。データサイエンティストは通常、以下の言語のいずれかを好みます:
@@ -73,7 +73,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
次に、毎週友人のためにパーティーを開催し、パーティー用にアイスクリームを10パック追加で購入するとします。これを示すために、週ごとにインデックス付けされた別のSeriesを作成できます:
```python
@@ -84,7 +84,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **注意**: 単純な構文 `total_items+additional_items` を使用していないことに注意してください。この場合、結果のSeriesに多くの`NaN`(*Not a Number*)値が含まれることになります。これは、`additional_items` Seriesのインデックスポイントの一部に欠損値があり、`NaN`を加算すると結果が`NaN`になるためです。そのため、加算時に`fill_value`パラメータを指定する必要があります。
@@ -93,7 +93,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### DataFrame
@@ -219,7 +219,7 @@ df = pd.read_csv('file.csv')
データの扱い方を示すために、[`notebook-covidspread.ipynb`](notebook-covidspread.ipynb)を開き、上から下まで読んでみてください。また、セルを実行したり、最後に残しておいたチャレンジに取り組むこともできます。
-
+
> Jupyter Notebookでコードを実行する方法がわからない場合は、[この記事](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)を参照してください。
@@ -241,7 +241,7 @@ df = pd.read_csv('file.csv')
[`notebook-papers.ipynb`](notebook-papers.ipynb)を開き、上から下まで読んでみてください。また、セルを実行したり、最後に残しておいたチャレンジに取り組むこともできます。
-
+
## 画像データの処理
diff --git a/translations/ja/2-Working-With-Data/README.md b/translations/ja/2-Working-With-Data/README.md
index 14dd1dcc..7cf40c8e 100644
--- a/translations/ja/2-Working-With-Data/README.md
+++ b/translations/ja/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# データの活用
-
+
> 写真提供: Alexander Sinn on Unsplash
このレッスンでは、データを管理、操作、そしてアプリケーションで活用する方法について学びます。リレーショナルデータベースと非リレーショナルデータベースについて学び、それらにデータを保存する方法を理解します。また、Pythonを使ったデータ管理の基本を学び、Pythonを活用してデータを管理・分析するさまざまな方法を発見します。
diff --git a/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md b/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md
index 9fc109de..52900b10 100644
--- a/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md
+++ b/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ honey.head()
```python
sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```
-
+
次に、ハチミツの価格が年々どのように変化しているかを示すために、ハチミツの色合いを使用して同じデータを表示します。これを行うには、`hue`パラメータを追加して、年ごとの変化を示します:
@@ -60,7 +60,7 @@ sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
```python
sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
```
-
+
このカラースキームの変更により、1ポンドあたりのハチミツ価格が年々明らかに上昇していることがわかります。実際、データのサンプルセットを確認すると(例えばアリゾナ州を選ぶ)、例外はあるものの、年々価格が上昇しているパターンが見られます:
@@ -89,7 +89,7 @@ sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspec
```
点のサイズが徐々に大きくなっているのがわかります。
-
+
これは単純な需要と供給の問題でしょうか?気候変動やコロニー崩壊などの要因により、年々購入可能なハチミツが減少し、その結果価格が上昇しているのでしょうか?
@@ -104,7 +104,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
```
答え: はい、2003年頃を除いて明確に上昇しています:
-
+
✅ Seabornはデフォルトで「各x値での複数の測定値を平均値とその周りの95%信頼区間をプロットすることで表示」します。[出典](https://seaborn.pydata.org/tutorial/relational.html)。この時間のかかる動作は、`ci=None`を追加することで無効にできます。
@@ -114,7 +114,7 @@ sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
sns.relplot(x="year", y="totalprod", kind="line", data=honey);
```
-
+
答え: 実際にはそうではありません。総生産量を見ると、特定の年に増加しているように見えますが、一般的にはこれらの年に生産量が減少していることがわかります。
@@ -139,7 +139,7 @@ sns.relplot(
```
この可視化では、コロニーあたりの収量とコロニー数を年ごとに比較し、列を3つに設定してラップします:
-
+
このデータセットでは、州ごとの年ごとのコロニー数や収量に関して特に目立つものはありません。これら2つの変数間の相関を見つける別の方法はあるでしょうか?
@@ -162,7 +162,7 @@ sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();
```
-
+
2003年頃に目立つものはありませんが、全体的にコロニー数が減少している一方で、コロニー数が安定していることがわかります。コロニーあたりの収量は減少しているものの、少し明るいニュースでこのレッスンを終えることができます。
diff --git a/translations/ja/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/ja/3-Data-Visualization/R/09-visualization-quantities/README.md
index 186f3963..f509cb48 100644
--- a/translations/ja/3-Data-Visualization/R/09-visualization-quantities/README.md
+++ b/translations/ja/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -67,7 +67,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
ここでは、`ggplot2`パッケージをインストールし、`library("ggplot2")`コマンドを使用してワークスペースにインポートします。`ggplot`でプロットを作成するには、`ggplot()`関数を使用し、データセット、x軸とy軸の変数を属性として指定します。この場合、折れ線グラフをプロットするために`geom_line()`関数を使用します。
-
+
何がすぐに目に留まりますか?少なくとも1つの外れ値があるようです。これはかなりの翼幅ですね!2000センチメートル以上の翼幅は20メートル以上に相当します。ミネソタ州にプテラノドンがいるのでしょうか?調査してみましょう。
@@ -85,7 +85,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
```
`theme`で角度を指定し、`xlab()`と`ylab()`でx軸とy軸のラベルを指定します。`ggtitle()`でグラフ/プロットに名前を付けます。
-
+
ラベルの回転を45度に設定しても、読み取るには多すぎます。別の戦略を試してみましょう。外れ値のみをラベル付けし、チャート内にラベルを設定します。散布図を使用してラベル付けのスペースを確保します。
@@ -101,7 +101,7 @@ ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
何がわかりますか?
-
+
## データをフィルタリングする
@@ -120,7 +120,7 @@ ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
```
新しいデータフレーム`birds_filtered`を作成し、散布図をプロットしました。外れ値を除外することで、データがより一貫性があり理解しやすくなりました。
-
+
翼幅に関して少なくともクリーンなデータセットが得られたので、これらの鳥についてさらに発見してみましょう。
@@ -163,7 +163,7 @@ birds_filtered %>% group_by(Category) %>%
```
以下のスニペットでは、データを操作してグループ化し、積み上げ棒グラフをプロットするために[dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8)と[lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0)パッケージをインストールします。まず、鳥の`Category`でデータをグループ化し、`MinLength`、`MaxLength`、`MinBodyMass`、`MaxBodyMass`、`MinWingspan`、`MaxWingspan`列を要約します。その後、`ggplot2`パッケージを使用して棒グラフをプロットし、異なるカテゴリの色とラベルを指定します。
-
+
この棒グラフは、グループ化されていないデータが多すぎるため、読み取りにくいです。プロットしたいデータのみを選択する必要があります。鳥のカテゴリに基づいて長さを調べてみましょう。
@@ -178,7 +178,7 @@ ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
```
まず、`Category`列のユニークな値をカウントし、それを新しいデータフレーム`birds_count`にソートします。このソートされたデータを同じレベルでファクタリングし、ソートされた方法でプロットされるようにします。その後、`ggplot2`を使用して棒グラフをプロットします。`coord_flip()`を使用して水平棒をプロットします。
-
+
この棒グラフは、各カテゴリの鳥の数をよく示しています。一目で、この地域で最も多い鳥がカモ/ガン/水鳥カテゴリに属していることがわかります。ミネソタ州は「1万の湖の地」として知られているので、これは驚くべきことではありません!
@@ -201,7 +201,7 @@ ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_fl
```
`birds_filtered`データを`Category`でグループ化し、棒グラフをプロットします。
-
+
ここには驚くことはありません。ハチドリの最大長さはペリカンやガンと比較して最も短いです。データが論理的に意味をなすのは良いことです!
@@ -213,7 +213,7 @@ ggplot(data=birds_grouped, aes(x=Category)) +
geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
coord_flip()
```
-
+
## 🚀 チャレンジ
diff --git a/translations/ja/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/ja/3-Data-Visualization/R/10-visualization-distributions/README.md
index b0e58ff9..d06736cd 100644
--- a/translations/ja/3-Data-Visualization/R/10-visualization-distributions/README.md
+++ b/translations/ja/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -45,7 +45,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
geom_point() +
ggtitle("Max Length per order") + coord_flip()
```
-
+
これにより、鳥の目ごとの体長の一般的な分布が概観できますが、真の分布を表示する最適な方法ではありません。このタスクは通常、ヒストグラムを作成することで行われます。
## ヒストグラムの操作
@@ -56,7 +56,7 @@ ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
geom_histogram(bins=10)+ylab('Frequency')
```
-
+
ご覧のように、このデータセットに含まれる400以上の鳥のほとんどは、最大体重が2000未満の範囲に収まっています。`bins`パラメータを30などのより高い数値に変更して、データについてさらに洞察を得てみましょう。
@@ -64,7 +64,7 @@ ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
```
-
+
このチャートは、より細かい粒度で分布を示しています。左に偏りすぎないチャートを作成するには、特定の範囲内のデータのみを選択するようにします。
@@ -76,7 +76,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_histogram(bins=30)+ylab('Frequency')
```
-
+
✅ 他のフィルタやデータポイントを試してみてください。データの完全な分布を確認するには、`['MaxBodyMass']`フィルタを削除してラベル付き分布を表示してください。
@@ -90,7 +90,7 @@ ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
```
これら2つの要素間には予想される軸に沿った相関があり、特に強い収束点が1つあります。
-
+
ヒストグラムは数値データに対してデフォルトでうまく機能します。テキストデータに基づいて分布を確認する必要がある場合はどうしますか?
## テキストデータを使用したデータセットの分布を探索する
@@ -121,7 +121,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
```
-
+
最小翼幅と保全状況の間に良い相関関係は見られないようです。この方法を使用してデータセットの他の要素をテストしてください。異なるフィルタを試すこともできます。何か相関関係が見つかりますか?
@@ -135,7 +135,7 @@ ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
geom_density()
```
-
+
このプロットは、最小翼幅データに関する以前のプロットを反映していますが、少し滑らかになっています。2番目に作成したギザギザの`MaxBodyMass`ラインを再現することで、この方法を使用して非常に滑らかにすることができます。
@@ -143,7 +143,7 @@ ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density()
```
-
+
滑らかすぎない線を作成したい場合は、`adjust`パラメータを編集してください。
@@ -151,7 +151,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
geom_density(adjust = 1/5)
```
-
+
✅ このタイプのプロットで利用可能なパラメータについて調べて、実験してみてください!
@@ -161,7 +161,7 @@ ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```
-
+
## 🚀 チャレンジ
diff --git a/translations/ja/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/ja/3-Data-Visualization/R/11-visualization-proportions/README.md
index 313e75c9..dffa111d 100644
--- a/translations/ja/3-Data-Visualization/R/11-visualization-proportions/README.md
+++ b/translations/ja/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -92,7 +92,7 @@ pie(grouped$count,grouped$class, main="Edible?")
```
完成!この円グラフは、キノコのデータを毒性/食用の2つのクラスに基づいて比率を示しています。ラベルの順序が特に重要なので、ラベル配列の順序を必ず確認してください!
-
+
## ドーナツグラフ!
@@ -126,7 +126,7 @@ library(webr)
PieDonut(habitat, aes(habitat, count=count))
```
-
+
このコードでは、ggplot2とwebrの2つのライブラリを使用しています。webrライブラリのPieDonut関数を使用すると、簡単にドーナツグラフを作成できます!
@@ -164,7 +164,7 @@ waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual
ワッフルチャートを使用すると、このキノコのデータセットの傘の色の比率がはっきりとわかります。興味深いことに、緑色の傘を持つキノコがたくさんあります!
-
+
このレッスンでは、比率を可視化する3つの方法を学びました。まず、データをカテゴリにグループ化し、次にデータを表示する最適な方法を決定します - 円グラフ、ドーナツグラフ、またはワッフルチャート。どれも魅力的で、データセットのスナップショットを瞬時に提供します。
diff --git a/translations/ja/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/ja/3-Data-Visualization/R/12-visualization-relationships/README.md
index 89798df3..61f5efc5 100644
--- a/translations/ja/3-Data-Visualization/R/12-visualization-relationships/README.md
+++ b/translations/ja/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -51,7 +51,7 @@ library(ggplot2)
ggplot(honey, aes(x = priceperlb, y = state)) +
geom_point(colour = "blue")
```
-
+
次に、ハチミツの色合いを使用して、価格が年々どのように変化しているかを示します。これを行うには、'scale_color_gradientn'パラメータを追加して、年ごとの変化を表示します:
@@ -61,7 +61,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
```
-
+
このカラースキームの変更により、ハチミツの1ポンドあたりの価格が年々明らかに進行していることがわかります。実際、データのサンプルセットを確認すると(例えばアリゾナ州を選択)、年々価格が上昇するパターンがいくつかの例外を除いて見られます:
@@ -92,7 +92,7 @@ ggplot(honey, aes(x = priceperlb, y = state)) +
```
点のサイズが徐々に大きくなっているのがわかります。
-
+
これは単純な需要と供給の問題でしょうか?気候変動やコロニー崩壊などの要因により、年々購入可能なハチミツが減少し、その結果価格が上昇しているのでしょうか?
@@ -107,7 +107,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
```
答え: はい、ただし2003年付近にはいくつかの例外があります:
-
+
質問: では、2003年にはハチミツ供給の急増も見られるのでしょうか?年々の総生産量を見てみるとどうでしょう?
@@ -115,7 +115,7 @@ qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab
qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
```
-
+
答え: 実際にはそうではありません。総生産量を見ると、特定の年には増加しているように見えますが、一般的にはこの期間中のハチミツ生産量は減少しているようです。
@@ -135,7 +135,7 @@ ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
```
この可視化では、コロニーあたりの収量とコロニー数を年々比較し、列を3に設定して並べて表示します:
-
+
このデータセットでは、州ごとのコロニー数とその収量に関して、年々特に際立ったものは見られません。これら2つの変数間の相関関係を見つける別の方法はあるでしょうか?
@@ -152,7 +152,7 @@ plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
axis(side = 4, at = pretty(range(y2)))
mtext("colony yield", side = 4, line = 3)
```
-
+
2003年付近で目立つものはありませんが、全体的にコロニー数が減少している一方で、コロニー数が安定していることがわかります。コロニーあたりの収量は減少しているものの、少し明るいニュースでこのレッスンを締めくくることができます。
diff --git a/translations/ja/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/ja/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
index 1d18adf6..1960c196 100644
--- a/translations/ja/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
+++ b/translations/ja/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -47,25 +47,25 @@ CO_OP_TRANSLATOR_METADATA:
データサイエンティストが適切なチャートを選んだとしても、データを誤解を招く形で表示する方法はたくさんあります。これにより、データそのものを損なうことがあります。誤解を招くチャートやインフォグラフィックの例は数多く存在します!
-[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
+[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 上の画像をクリックすると、誤解を招くチャートについてのカンファレンストークを見ることができます
このチャートはX軸を逆転させ、日付に基づいて真実の反対を示しています:
-
+
[このチャート](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg)はさらに誤解を招きます。目は右側に引き寄せられ、時間の経過とともにCOVIDの症例が減少していると結論付けます。しかし、日付をよく見ると、誤解を招く下降傾向を示すために日付が並べ替えられていることがわかります。
-
+
この悪名高い例では、色と反転したY軸を使用して誤解を招きます。銃に優しい法律の施行後に銃による死亡が急増したのではなく、目は逆の結論を導くように欺かれます:
-
+
この奇妙なチャートは、比率を操作することで笑える効果を生み出しています:
-
+
比較できないものを比較するのも、もう一つの不正な手法です。[素晴らしいウェブサイト](https://tylervigen.com/spurious-correlations)では、「スプリアスな相関関係」を示す「事実」を集めています。例えば、メイン州の離婚率とマーガリンの消費量などです。Redditのグループでは、データの[醜い使い方](https://www.reddit.com/r/dataisugly/top/?t=all)を収集しています。
@@ -100,13 +100,13 @@ CO_OP_TRANSLATOR_METADATA:
データがX軸でテキストとして長い場合は、テキストを角度をつけて表示することで読みやすさを向上させることができます。[plot3D](https://cran.r-project.org/web/packages/plot3D/index.html)は、データが対応している場合に3Dプロットを提供します。洗練されたデータビジュアライゼーションを作成することができます。
-
+
## アニメーションと3Dチャート表示
今日の最高のデータビジュアライゼーションの中には、アニメーション化されたものがあります。Shirley WuはD3を使った素晴らしい例を持っています。例えば、'[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'では、各花が映画のビジュアライゼーションを表しています。別の例として、Guardianの「bussed out」は、NYCがホームレス問題に対処する方法を示すスクロール型の記事形式で、GreensockとD3を組み合わせたインタラクティブな体験を提供しています。
-
+
> 「Bussed Out: How America Moves its Homeless」 - [Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study)。ビジュアライゼーション:Nadieh Bremer & Shirley Wu
@@ -116,7 +116,7 @@ CO_OP_TRANSLATOR_METADATA:
このソーシャルネットワークのアニメーション表示を行うウェブアプリを完成させます。このアプリは、Vue.jsとD3を使用して[ネットワークのビジュアル](https://github.com/emiliorizzo/vue-d3-network)を作成するために構築されたライブラリを使用します。アプリが実行されると、画面上でノードを引っ張ってデータをシャッフルすることができます。
-
+
## プロジェクト: D3.jsを使ってネットワークを表示するチャートを作成する
diff --git a/translations/ja/3-Data-Visualization/README.md b/translations/ja/3-Data-Visualization/README.md
index 3c291850..dc85a519 100644
--- a/translations/ja/3-Data-Visualization/README.md
+++ b/translations/ja/3-Data-Visualization/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ビジュアライゼーション
-
+
> 写真提供: Jenna Lee on Unsplash
データの可視化は、データサイエンティストにとって最も重要なタスクの1つです。画像は1000語に値すると言われるように、ビジュアライゼーションはデータの中に潜む興味深い部分、例えばスパイク、外れ値、グループ化、傾向などを特定し、データが語ろうとしているストーリーを理解する助けとなります。
diff --git a/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md
index fb834045..722c04b7 100644
--- a/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md
+++ b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA:
このレッスンでは、ライフサイクルの3つの部分、つまりデータの収集、処理、保守に焦点を当てます。
-
+
> 写真提供:[Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## データの収集
@@ -98,7 +98,7 @@ CO_OP_TRANSLATOR_METADATA:
|Team Data Science Process (TDSP)|データマイニングの業界標準プロセス (CRISP-DM)|
|--|--|
-| |  |
+| |  |
| 画像提供:[Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | 画像提供:[Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [講義後クイズ](https://ff-quizzes.netlify.app/en/ds/quiz/27)
diff --git a/translations/ja/4-Data-Science-Lifecycle/README.md b/translations/ja/4-Data-Science-Lifecycle/README.md
index c24fb433..64d85c8a 100644
--- a/translations/ja/4-Data-Science-Lifecycle/README.md
+++ b/translations/ja/4-Data-Science-Lifecycle/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# データサイエンスライフサイクル
-
+
> 写真提供:Headway、Unsplash
このレッスンでは、データサイエンスのライフサイクルのいくつかの側面、特にデータの分析やコミュニケーションについて学びます。
diff --git a/translations/ja/5-Data-Science-In-Cloud/README.md b/translations/ja/5-Data-Science-In-Cloud/README.md
index 2c5551c2..c789e8e6 100644
--- a/translations/ja/5-Data-Science-In-Cloud/README.md
+++ b/translations/ja/5-Data-Science-In-Cloud/README.md
@@ -9,13 +9,13 @@ CO_OP_TRANSLATOR_METADATA:
-->
# クラウドでのデータサイエンス
-
+
> 写真提供:[Jelleke Vanooteghem](https://unsplash.com/@ilumire)([Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape))
ビッグデータを使ったデータサイエンスを行う際、クラウドは大きな変化をもたらす可能性があります。次の3つのレッスンでは、クラウドとは何か、そしてそれがなぜ非常に役立つのかを見ていきます。また、心不全のデータセットを調査し、心不全の可能性を評価するモデルを構築します。クラウドの力を活用して、モデルをトレーニング、デプロイ、そして2つの異なる方法で利用します。一つは、ユーザーインターフェースを使用してLow code/No code形式で行う方法、もう一つはAzure Machine Learning Software Developer Kit (Azure ML SDK)を使用する方法です。
-
+
### トピック
diff --git a/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
index 2b12e994..880ecb6b 100644
--- a/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
+++ b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -41,7 +41,7 @@ AIの民主化のおかげで、開発者はAI駆動の意思決定やデータ
* [医療におけるデータサイエンス](https://data-flair.training/blogs/data-science-in-healthcare/) - 医療画像(例: MRI、X線、CTスキャン)、ゲノミクス(DNAシーケンシング)、薬剤開発(リスク評価、成功予測)、予測分析(患者ケア&供給物流)、疾病追跡&予防などの応用を強調しています。
- 画像提供: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
+ 画像提供: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
この図は、データサイエンス技術を応用する他の分野と例を示しています。他の応用を探りたいですか?以下の [レビュー&自己学習](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) セクションをチェックしてください。
diff --git a/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
index 4890bfc9..02946cef 100644
--- a/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
+++ b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -22,7 +22,7 @@ Explorerインターフェース(以下のスクリーンショット参照)
2. データセットの [Catalog](https://planetarycomputer.microsoft.com/catalog) を調べる - 各データセットの目的を学ぶ。
3. Explorerを使用する - 興味のあるデータセットを選び、関連するクエリとレンダリングオプションを選択する。
-
+
`あなたの課題:`
ブラウザに表示された視覚化を調べ、以下の質問に答えてください:
diff --git a/translations/ja/CONTRIBUTING.md b/translations/ja/CONTRIBUTING.md
index 130080c9..dfa6ffb2 100644
--- a/translations/ja/CONTRIBUTING.md
+++ b/translations/ja/CONTRIBUTING.md
@@ -311,7 +311,7 @@ PR説明には以下を含めてください:
import pandas as pd
```
````
-- 画像に代替テキストを追加:``
+- 画像に代替テキストを追加:``
- 行の長さを適度に保つ(約80〜100文字)
### Python
diff --git a/translations/ja/README.md b/translations/ja/README.md
index 8045b232..b57cc8e8 100644
--- a/translations/ja/README.md
+++ b/translations/ja/README.md
@@ -33,7 +33,7 @@ Azure のクラウドアドボケートである Microsoft のチームは、デ
**🙏 特別な感謝 🙏 を [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) の著者、レビュアー、コンテンツ寄稿者の皆様へ、** とくに Aaryan Arora, [Aditya Garg](https://github.com/AdityaGarg00), [Alondra Sanchez](https://www.linkedin.com/in/alondra-sanchez-molina/), [Ankita Singh](https://www.linkedin.com/in/ankitasingh007), [Anupam Mishra](https://www.linkedin.com/in/anupam--mishra/), [Arpita Das](https://www.linkedin.com/in/arpitadas01/), ChhailBihari Dubey, [Dibri Nsofor](https://www.linkedin.com/in/dibrinsofor), [Dishita Bhasin](https://www.linkedin.com/in/dishita-bhasin-7065281bb), [Majd Safi](https://www.linkedin.com/in/majd-s/), [Max Blum](https://www.linkedin.com/in/max-blum-6036a1186/), [Miguel Correa](https://www.linkedin.com/in/miguelmque/), [Mohamma Iftekher (Iftu) Ebne Jalal](https://twitter.com/iftu119), [Nawrin Tabassum](https://www.linkedin.com/in/nawrin-tabassum), [Raymond Wangsa Putra](https://www.linkedin.com/in/raymond-wp/), [Rohit Yadav](https://www.linkedin.com/in/rty2423), Samridhi Sharma, [Sanya Sinha](https://www.linkedin.com/mwlite/in/sanya-sinha-13aab1200),
[Sheena Narula](https://www.linkedin.com/in/sheena-narua-n/), [Tauqeer Ahmad](https://www.linkedin.com/in/tauqeerahmad5201/), Yogendrasingh Pawar , [Vidushi Gupta](https://www.linkedin.com/in/vidushi-gupta07/), [Jasleen Sondhi](https://www.linkedin.com/in/jasleen-sondhi/)
-||
+||
|:---:|
| 初心者のためのデータサイエンス - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
@@ -52,7 +52,7 @@ Azure のクラウドアドボケートである Microsoft のチームは、デ
現在、Discordで「Learn with AI」シリーズを開催しています。詳細と参加は [Learn with AI Series](https://aka.ms/learnwithai/discord) をご覧ください(開催期間:2025年9月18日〜30日)。GitHub Copilot をデータサイエンスで使うためのヒントやコツが得られます。
-
+
# 学生ですか?
@@ -132,7 +132,7 @@ Azure のクラウドアドボケートである Microsoft のチームは、デ
## レッスン
-||
+||
|:---:|
| データサイエンス入門:ロードマップ - _スケッチノート(作成: [@nitya](https://twitter.com/nitya))_ |
diff --git a/translations/ja/sketchnotes/README.md b/translations/ja/sketchnotes/README.md
index 9b592e8b..2fc59772 100644
--- a/translations/ja/sketchnotes/README.md
+++ b/translations/ja/sketchnotes/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
アーティスト: Nitya Narasimhan
-
+
**免責事項**:
この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/kn/1-Introduction/01-defining-data-science/README.md b/translations/kn/1-Introduction/01-defining-data-science/README.md
index 03e8b982..0d85d201 100644
--- a/translations/kn/1-Introduction/01-defining-data-science/README.md
+++ b/translations/kn/1-Introduction/01-defining-data-science/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
---
-[](https://youtu.be/beZ7Mb_oz9I)
+[](https://youtu.be/beZ7Mb_oz9I)
## [ಪೂರ್ವ-ಲೇಕ್ಚರ್ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@@ -153,7 +153,7 @@ CO_OP_TRANSLATOR_METADATA:
ಈ ಸವಾಲಿನಲ್ಲಿ, ನಾವು ಪಠ್ಯಗಳನ್ನು ನೋಡಿ ಡೇಟಾ ಸೈನ್ಸ್ ಕ್ಷೇತ್ರಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ತತ್ವಗಳನ್ನು ಹುಡುಕಲು ಪ್ರಯತ್ನಿಸುವೆವು. ನಾವು ಡೇಟಾ ಸೈನ್ಸ್ ಕುರಿತು ವಿಕಿಪೀಡಿಯ ಲೇಖನವನ್ನು ತೆಗೆದು, ಪಠ್ಯವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ, ನಂತರ ಈ ರೀತಿಯ ಪದ ಮೋಡವನ್ನು ನಿರ್ಮಿಸುವೆವು:
-
+
ಕೋಡ್ ಓದಲು [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') ಗೆ ಭೇಟಿ ನೀಡಿ. ನೀವು ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸಬಹುದು ಮತ್ತು ಅದು ಎಲ್ಲಾ ಡೇಟಾ ಪರಿವರ್ತನೆಗಳನ್ನು ನೈಜ ಸಮಯದಲ್ಲಿ ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನೋಡಬಹುದು.
diff --git a/translations/kn/1-Introduction/04-stats-and-probability/README.md b/translations/kn/1-Introduction/04-stats-and-probability/README.md
index 7fd23b51..d01f0db5 100644
--- a/translations/kn/1-Introduction/04-stats-and-probability/README.md
+++ b/translations/kn/1-Introduction/04-stats-and-probability/README.md
@@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA:
ಅಂಕಿಅಂಶಗಳು ಮತ್ತು ಸಂಭವನೀಯತೆ ಸಿದ್ಧಾಂತಗಳು ಗಣಿತದ ಎರಡು ಅತ್ಯಂತ ಸಂಬಂಧಿತ ಕ್ಷೇತ್ರಗಳು, ಮತ್ತು ಡೇಟಾ ಸೈನ್ಸ್ಗೆ ಬಹಳ ಪ್ರಾಸಂಗಿಕವಾಗಿವೆ. ಗಣಿತದ ಆಳವಾದ ಜ್ಞಾನವಿಲ್ಲದೆ ಡೇಟಾ ಜೊತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದು ಸಾಧ್ಯವಿದ್ದರೂ, ಕನಿಷ್ಠ ಕೆಲವು ಮೂಲಭೂತ ತತ್ವಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಉತ್ತಮ. ಇಲ್ಲಿ ನಾವು ಪ್ರಾರಂಭಿಸಲು ಸಹಾಯ ಮಾಡುವ ಸಂಕ್ಷಿಪ್ತ ಪರಿಚಯವನ್ನು ನೀಡುತ್ತೇವೆ.
-[](https://youtu.be/Z5Zy85g4Yjw)
+[](https://youtu.be/Z5Zy85g4Yjw)
## [ಪೂರ್ವ-ವ್ಯಾಖ್ಯಾನ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@@ -40,7 +40,7 @@ CO_OP_TRANSLATOR_METADATA:
ನಾವು ಮಾತ್ರ ಒಂದು ಮೌಲ್ಯ ಶ್ರೇಣಿಯಲ್ಲಿ ಬರುವ ಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ ಮಾತನಾಡಬಹುದು, ಉದಾ. P(t1≤X<t2). ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಸಂಭವನೀಯತೆ ವಿತರಣೆಯನ್ನು **ಸಂಭವನೀಯತೆ ಸಾಂದ್ರತೆ ಕಾರ್ಯ** p(x) ಮೂಲಕ ವಿವರಿಸಲಾಗುತ್ತದೆ, ಹಾಗಾಗಿ
-![P(t_1\le X
+
ಇಲ್ಲಿ ನಾವು **ಅಂತರ-ಚತುರ್ಥಾಂಶ ವ್ಯಾಪ್ತಿ** IQR=Q3-Q1 ಅನ್ನು ಲೆಕ್ಕಿಸುತ್ತೇವೆ, ಮತ್ತು **ಔಟ್ಲೈಯರ್ಗಳು** - [Q1-1.5*IQR, Q3+1.5*IQR] ಗಡಿಗಳ ಹೊರಗಿನ ಮೌಲ್ಯಗಳು.
@@ -83,11 +83,11 @@ CO_OP_TRANSLATOR_METADATA:
ಇದು ನಮ್ಮ ಡೇಟಾದ ಸರಾಸರಿ, ಮಧ್ಯಮ ಮತ್ತು ಚತುರ್ಥಾಂಶಗಳನ್ನು ತೋರಿಸುವ ಬಾಕ್ಸ್ ಪ್ಲಾಟ್:
-
+
ನಮ್ಮ ಡೇಟಾ ವಿಭಿನ್ನ ಆಟಗಾರರ **ಪಾತ್ರಗಳು** ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವುದರಿಂದ, ನಾವು ಪಾತ್ರದ ಪ್ರಕಾರ ಬಾಕ್ಸ್ ಪ್ಲಾಟ್ ಮಾಡಬಹುದು - ಇದು ಪಾತ್ರಗಳ ನಡುವೆ ಪರಿಮಾಣ ಮೌಲ್ಯಗಳು ಹೇಗೆ ಭಿನ್ನವಾಗಿವೆ ಎಂಬುದರ ಕಲ್ಪನೆ ನೀಡುತ್ತದೆ. ಈ ಬಾರಿ ನಾವು ಎತ್ತರವನ್ನು ಪರಿಗಣಿಸುವೆವು:
-
+
ಈ ಚಿತ್ರಣವು ಸೂಚಿಸುತ್ತದೆ, ಸರಾಸರಿಯಾಗಿ, ಮೊದಲ ಬ್ಯಾಟ್ಸ್ಮನ್ಗಳ ಎತ್ತರ ಎರಡನೇ ಬ್ಯಾಟ್ಸ್ಮನ್ಗಳ ಎತ್ತರಕ್ಕಿಂತ ಹೆಚ್ಚು. ಈ ಪಾಠದ ನಂತರ ನಾವು ಈ ಊಹೆಯನ್ನು ಅಧಿಕೃತವಾಗಿ ಪರೀಕ್ಷಿಸುವುದು ಹೇಗೆ ಮತ್ತು ನಮ್ಮ ಡೇಟಾ ಅಂಕಿಅಂಶವಾಗಿ ಮಹತ್ವಪೂರ್ಣವಾಗಿದೆ ಎಂದು ತೋರಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಕಲಿಯುತ್ತೇವೆ.
@@ -95,7 +95,7 @@ CO_OP_TRANSLATOR_METADATA:
ನಮ್ಮ ಡೇಟಾದ ವಿತರಣೆಯನ್ನು ನೋಡಲು, ನಾವು **ಹಿಸ್ಟೋಗ್ರಾಮ್** ಎಂಬ ಗ್ರಾಫ್ ಅನ್ನು ರಚಿಸಬಹುದು. X-ಅಕ್ಷದಲ್ಲಿ ವಿವಿಧ ತೂಕ ಶ್ರೇಣಿಗಳು (ಅಥವಾ **ಬಿನ್ಗಳು**) ಇರುತ್ತವೆ, ಮತ್ತು ಲಂಬ ಅಕ್ಷವು ನಮ್ಮ ಯಾದೃಚ್ಛಿಕ ಚರ ಮಾದರಿ ನೀಡಲಾದ ಶ್ರೇಣಿಯಲ್ಲಿ ಎಷ್ಟು ಬಾರಿ ಬಿದ್ದಿದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
-
+
ಈ ಹಿಸ್ಟೋಗ್ರಾಮ್ನಿಂದ ನೀವು ನೋಡಬಹುದು ಎಲ್ಲಾ ಮೌಲ್ಯಗಳು ನಿರ್ದಿಷ್ಟ ಸರಾಸರಿ ತೂಕದ ಸುತ್ತಲೂ ಕೇಂದ್ರೀಕೃತವಾಗಿವೆ, ಮತ್ತು ಆ ತೂಕದಿಂದ ದೂರ ಹೋಗುವಂತೆ, ಆ ಮೌಲ್ಯದ ತೂಕಗಳ ಸಂಖ್ಯೆ ಕಡಿಮೆಯಾಗುತ್ತದೆ. ಅಂದರೆ, ಬೇಸ್ಬಾಲ್ ಆಟಗಾರರ ತೂಕವು ಸರಾಸರಿ ತೂಕದಿಂದ ಬಹಳ ವಿಭಿನ್ನವಾಗಿರುವುದು ಬಹಳ ಅಸಾಧ್ಯ. ತೂಕಗಳ ವ್ಯತ್ಯಾಸವು ತೂಕಗಳು ಸರಾಸರಿ ತೂಕದಿಂದ ಎಷ್ಟು ಭಿನ್ನವಾಗಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.
@@ -112,7 +112,7 @@ samples = np.random.normal(mean,std,1000)
ನಾವು ರಚಿಸಿದ ಮಾದರಿಗಳ ಹಿಸ್ಟೋಗ್ರಾಮ್ ಅನ್ನು ರಚಿಸಿದರೆ, ಮೇಲಿನ ಚಿತ್ರಣಕ್ಕೆ ಬಹಳ ಸಮೀಪವಾದ ಚಿತ್ರಣವನ್ನು ನೋಡಬಹುದು. ಮತ್ತು ಮಾದರಿಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಬಿನ್ಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹೆಚ್ಚಿಸಿದರೆ, ನಾವು ಆದರ್ಶದ ಹತ್ತಿರದ ಸಾಮಾನ್ಯ ವಿತರಣೆಯ ಚಿತ್ರಣವನ್ನು ರಚಿಸಬಹುದು:
-
+
*ಸರಾಸರಿ=0 ಮತ್ತು ಮಾನಕ ವಿಚಲನ=1 ಇರುವ ಸಾಮಾನ್ಯ ವಿತರಣೆ*
@@ -231,7 +231,7 @@ array([[1. , 0.52959196],
ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ, 0.53 ಮೌಲ್ಯವು ತೋರಿಸುತ್ತದೆ ತೂಕ ಮತ್ತು ಎತ್ತರದ ನಡುವೆ ಕೆಲವು ಸಹಸಂಬಂಧವಿದೆ. ನಾವು ಒಂದು ಮೌಲ್ಯವನ್ನು ಇನ್ನೊಂದರ ವಿರುದ್ಧ ಸ್ಕ್ಯಾಟರ್ ಪ್ಲಾಟ್ ಮಾಡಬಹುದು ಸಂಬಂಧವನ್ನು ದೃಶ್ಯವಾಗಿ ನೋಡಲು:
-
+
> ಸಹಸಂಬಂಧ ಮತ್ತು ಸಹವ್ಯತ್ಯಾಸದ ಇನ್ನಷ್ಟು ಉದಾಹರಣೆಗಳನ್ನು [ಸಹಾಯಕ ನೋಟ್ಬುಕ್](notebook.ipynb) ನಲ್ಲಿ ಕಾಣಬಹುದು.
diff --git a/translations/kn/1-Introduction/README.md b/translations/kn/1-Introduction/README.md
index 9a315879..640a2cf9 100644
--- a/translations/kn/1-Introduction/README.md
+++ b/translations/kn/1-Introduction/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ಡೇಟಾ ಸೈನ್ಸ್ ಪರಿಚಯ
-
+
> ಫೋಟೋ ಸ್ಟೀಫನ್ ಡಾಸನ್ ಅವರಿಂದ ಅನ್ಸ್ಪ್ಲ್ಯಾಶ್ ನಲ್ಲಿ
ಈ ಪಾಠಗಳಲ್ಲಿ, ನೀವು ಡೇಟಾ ಸೈನ್ಸ್ ಅನ್ನು ಹೇಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ ಮತ್ತು ಡೇಟಾ ವಿಜ್ಞಾನಿಯೊಬ್ಬರು ಪರಿಗಣಿಸಬೇಕಾದ ನೈತಿಕ ವಿಚಾರಗಳನ್ನು ತಿಳಿಯುತ್ತೀರಿ. ನೀವು ಡೇಟಾ ಅನ್ನು ಹೇಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ತಿಳಿಯುತ್ತೀರಿ ಮತ್ತು ಡೇಟಾ ಸೈನ್ಸ್ನ ಮೂಲ ಶೈಕ್ಷಣಿಕ ಕ್ಷೇತ್ರಗಳಾದ ಅಂಕಿಅಂಶ ಮತ್ತು ಸಾಧ್ಯತೆಗಳ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ತಿಳಿಯುತ್ತೀರಿ.
diff --git a/translations/kn/2-Working-With-Data/06-non-relational/README.md b/translations/kn/2-Working-With-Data/06-non-relational/README.md
index 5fa36206..a7bcfc9f 100644
--- a/translations/kn/2-Working-With-Data/06-non-relational/README.md
+++ b/translations/kn/2-Working-With-Data/06-non-relational/README.md
@@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA:
ಸ್ಪ್ರೆಡ್ಶೀಟ್ಗಳು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ಅನ್ವೇಷಿಸಲು ಜನಪ್ರಿಯ ವಿಧಾನವಾಗಿವೆ ಏಕೆಂದರೆ ಅದನ್ನು ಸೆಟ್ಅಪ್ ಮಾಡುವುದು ಮತ್ತು ಪ್ರಾರಂಭಿಸುವುದು ಕಡಿಮೆ ಕೆಲಸವನ್ನು ಅಗತ್ಯವಿರುತ್ತದೆ. ಈ ಪಾಠದಲ್ಲಿ ನೀವು ಸ್ಪ್ರೆಡ್ಶೀಟ್ನ ಮೂಲಭೂತ ಘಟಕಗಳನ್ನು, ಜೊತೆಗೆ ಸೂತ್ರಗಳು ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ಕಲಿಯುತ್ತೀರಿ. ಉದಾಹರಣೆಗಳು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಎಕ್ಸೆಲ್ನೊಂದಿಗೆ ಚಿತ್ರಿತವಾಗಿವೆ, ಆದರೆ ಬಹುತೇಕ ಭಾಗಗಳು ಮತ್ತು ವಿಷಯಗಳು ಇತರ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಸಾಫ್ಟ್ವೇರ್ಗಳೊಂದಿಗೆ ಹೋಲಿಕೆಯ ಹೆಸರಿನೊಂದಿಗೆ ಮತ್ತು ಹಂತಗಳೊಂದಿಗೆ ಇರುತ್ತವೆ.
-
+
ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಒಂದು ಫೈಲ್ ಆಗಿದ್ದು, ಕಂಪ್ಯೂಟರ್, ಸಾಧನ ಅಥವಾ ಕ್ಲೌಡ್ ಆಧಾರಿತ ಫೈಲ್ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ. ಸಾಫ್ಟ್ವೇರ್ ಸ್ವತಃ ಬ್ರೌಸರ್ ಆಧಾರಿತವಾಗಿರಬಹುದು ಅಥವಾ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ಸ್ಥಾಪಿಸಬೇಕಾದ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿರಬಹುದು ಅಥವಾ ಆ್ಯಪ್ ಆಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು. ಎಕ್ಸೆಲ್ನಲ್ಲಿ ಈ ಫೈಲ್ಗಳನ್ನು **ವರ್ಕ್ಬುಕ್ಗಳು** ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಈ ಪದವನ್ನು ಈ ಪಾಠದ ಉಳಿದ ಭಾಗದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
@@ -33,11 +33,11 @@ CO_OP_TRANSLATOR_METADATA:
"InventoryExample" ಎಂಬ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಫೈಲ್ ಒಂದು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾದ ಇನ್ವೆಂಟರಿಯಲ್ಲಿನ ಐಟಂಗಳ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಆಗಿದ್ದು, ಮೂರು ವರ್ಕ್ಶೀಟ್ಗಳನ್ನು ಹೊಂದಿದೆ, ಟ್ಯಾಬ್ಗಳು "Inventory List", "Inventory Pick List" ಮತ್ತು "Bin Lookup" ಎಂದು ಲೇಬಲ್ ಮಾಡಲ್ಪಟ್ಟಿವೆ. Inventory List ವರ್ಕ್ಶೀಟ್ನ ಸಾಲು 4 ಹೆಡರ್ ಆಗಿದ್ದು, ಹೆಡರ್ ಕಾಲಮ್ನ ಪ್ರತಿಯೊಂದು ಸೆಲ್ನ ಮೌಲ್ಯವನ್ನು ವಿವರಿಸುತ್ತದೆ.
-
+
ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಒಂದು ಸೆಲ್ ಇತರ ಸೆಲ್ಗಳ ಮೌಲ್ಯಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ ತನ್ನ ಮೌಲ್ಯವನ್ನು ಉತ್ಪಾದಿಸಲು. Inventory List ಸ್ಪ್ರೆಡ್ಶೀಟ್ ತನ್ನ ಇನ್ವೆಂಟರಿಯಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಐಟಂನ ವೆಚ್ಚವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತದೆ, ಆದರೆ ನಾವು ಇನ್ವೆಂಟರಿಯಲ್ಲಿನ ಎಲ್ಲವನ್ನೂ ಮೌಲ್ಯವನ್ನು ತಿಳಿಯಬೇಕಾದರೆ? [**ಸೂತ್ರಗಳು**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) ಸೆಲ್ ಡೇಟಾದ ಮೇಲೆ ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ ಮತ್ತು ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ಇನ್ವೆಂಟರಿಯ ವೆಚ್ಚವನ್ನು ಲೆಕ್ಕಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಈ ಸ್ಪ್ರೆಡ್ಶೀಟ್ Inventory Value ಕಾಲಮ್ನಲ್ಲಿ ಸೂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರತಿಯೊಂದು ಐಟಂನ ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಿಸುತ್ತದೆ, ಅದು QTY ಹೆಡರ್ ಅಡಿಯಲ್ಲಿ ಇರುವ ಪ್ರಮಾಣ ಮತ್ತು COST ಹೆಡರ್ ಅಡಿಯಲ್ಲಿ ಇರುವ ವೆಚ್ಚಗಳನ್ನು ಗುಣಿಸುವ ಮೂಲಕ ಲೆಕ್ಕಿಸಲಾಗುತ್ತದೆ. ಸೆಲ್ ಮೇಲೆ ಡಬಲ್ ಕ್ಲಿಕ್ ಮಾಡುವುದು ಅಥವಾ ಹೈಲೈಟ್ ಮಾಡುವುದು ಸೂತ್ರವನ್ನು ತೋರಿಸುತ್ತದೆ. ನೀವು ಗಮನಿಸುವಿರಿ ಸೂತ್ರಗಳು ಸಮಾನ ಚಿಹ್ನೆಯಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ, ನಂತರ ಲೆಕ್ಕಾಚಾರ ಅಥವಾ ಕಾರ್ಯಾಚರಣೆ ಬರುತ್ತದೆ.
-
+
ನಾವು ಇನ್ನೊಂದು ಸೂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು Inventory Value ನ ಎಲ್ಲಾ ಮೌಲ್ಯಗಳನ್ನು ಸೇರಿಸಿ ಒಟ್ಟು ಮೌಲ್ಯವನ್ನು ಪಡೆಯಬಹುದು. ಇದನ್ನು ಪ್ರತಿ ಸೆಲ್ ಸೇರಿಸುವ ಮೂಲಕ ಲೆಕ್ಕಿಸಬಹುದು, ಆದರೆ ಅದು ಕಷ್ಟಕರ ಕೆಲಸವಾಗಬಹುದು. ಎಕ್ಸೆಲ್ [**ಕಾರ್ಯಗಳು**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89) ಹೊಂದಿದೆ, ಅಥವಾ ಪೂರ್ವನಿರ್ಧರಿತ ಸೂತ್ರಗಳು, ಸೆಲ್ ಮೌಲ್ಯಗಳ ಮೇಲೆ ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಿರ್ವಹಿಸಲು. ಕಾರ್ಯಗಳಿಗೆ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳು ಅಗತ್ಯವಿರುತ್ತವೆ, ಅವು ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅಗತ್ಯವಿರುವ ಮೌಲ್ಯಗಳು. ಕಾರ್ಯಗಳಿಗೆ ಒಂದುಕ್ಕಿಂತ ಹೆಚ್ಚು ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳು ಬೇಕಾದಾಗ, ಅವುಗಳನ್ನು ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಬೇಕು ಇಲ್ಲದಿದ್ದರೆ ಕಾರ್ಯ ಸರಿಯಾದ ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಿಸದು. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ SUM ಕಾರ್ಯವನ್ನು ಬಳಸಲಾಗಿದೆ, ಮತ್ತು Inventory Value ನ ಮೌಲ್ಯಗಳನ್ನು ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ಬಳಸಿಕೊಂಡು ಸಾಲು 3, ಕಾಲಮ್ B (B3 ಎಂದು ಕೂಡ ಕರೆಯಲಾಗುತ್ತದೆ) ಅಡಿಯಲ್ಲಿ ಒಟ್ಟು ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಿಸುತ್ತದೆ.
@@ -45,17 +45,17 @@ CO_OP_TRANSLATOR_METADATA:
ನೋಎಸ್ಕ್ಯೂಎಲ್ ಅಸಂಬಂಧಿತ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ವಿವಿಧ ವಿಧಾನಗಳಿಗೆ ಒಂದು ಛತ್ರಪಟ ಪದವಾಗಿದೆ ಮತ್ತು ಇದನ್ನು "ನಾನ್-ಎಸ್ಕ್ಯೂಎಲ್", "ನಾನ್-ರಿಲೇಶನಲ್" ಅಥವಾ "ನಾಟ್ ಓನ್ಲಿ ಎಸ್ಕ್ಯೂಎಲ್" ಎಂದು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು. ಈ ರೀತಿಯ ಡೇಟಾಬೇಸ್ ವ್ಯವಸ್ಥೆಗಳನ್ನು 4 ವಿಧಗಳಲ್ಲಿ ವರ್ಗೀಕರಿಸಬಹುದು.
-
+
> ಮೂಲ [ಮಿಚಾಲ್ ಬಿಯಾಲೆಕಿ ಬ್ಲಾಗ್](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/)
[ಕೀ-ಮೌಲ್ಯ](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) ಡೇಟಾಬೇಸ್ಗಳು ವಿಶಿಷ್ಟ ಕೀಲಿಗಳನ್ನು ಜೋಡಿಸುತ್ತವೆ, ಅವು ಮೌಲ್ಯಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ವಿಶಿಷ್ಟ ಗುರುತಿಸುವಿಕೆ. ಈ ಜೋಡಿಗಳು [ಹ್ಯಾಶ್ ಟೇಬಲ್](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) ಬಳಸಿ ಸೂಕ್ತ ಹ್ಯಾಶಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಯೊಂದಿಗೆ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತವೆ.
-
+
> ಮೂಲ [ಮೈಕ್ರೋಸಾಫ್ಟ್](https://docs.microsoft.com/en-us/azure/cosmos-db/graph/graph-introduction#graph-database-by-example)
[ಗ್ರಾಫ್](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) ಡೇಟಾಬೇಸ್ಗಳು ಡೇಟಾದಲ್ಲಿನ ಸಂಬಂಧಗಳನ್ನು ವರ್ಣಿಸುತ್ತವೆ ಮತ್ತು ನೋಡ್ಗಳು ಮತ್ತು ಎಡ್ಜ್ಗಳ ಸಂಗ್ರಹವಾಗಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತವೆ. ನೋಡ್ ಒಂದು ಘಟಕವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ, ಅದು ನಿಜಜೀವನದಲ್ಲಿ ಇರುವ ಏನಾದರೂ, ಉದಾಹರಣೆಗೆ ವಿದ್ಯಾರ್ಥಿ ಅಥವಾ ಬ್ಯಾಂಕ್ ಸ್ಟೇಟ್ಮೆಂಟ್. ಎಡ್ಜ್ಗಳು ಎರಡು ಘಟಕಗಳ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತವೆ. ಪ್ರತಿಯೊಂದು ನೋಡ್ ಮತ್ತು ಎಡ್ಜ್ಗಳಿಗೆ ಗುಣಲಕ್ಷಣಗಳಿವೆ, ಅವು ಪ್ರತಿ ನೋಡ್ ಮತ್ತು ಎಡ್ಜ್ ಬಗ್ಗೆ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತವೆ.
-
+
[ಕಾಲಮ್ನರ್](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) ಡೇಟಾ ಸ್ಟೋರ್ಗಳು ಡೇಟಾವನ್ನು ಕಾಲಮ್ಗಳು ಮತ್ತು ಸಾಲುಗಳಾಗಿ ಸಂಘಟಿಸುತ್ತವೆ relational data structure ಹಾಗೆ, ಆದರೆ ಪ್ರತಿಯೊಂದು ಕಾಲಮ್ ಅನ್ನು ಕಾಲಮ್ ಕುಟುಂಬ ಎಂದು ಕರೆಯುವ ಗುಂಪುಗಳಾಗಿ ವಿಭಜಿಸಲಾಗುತ್ತದೆ, ಅಲ್ಲಿ ಒಂದು ಕಾಲಮ್ ಅಡಿಯಲ್ಲಿ ಇರುವ ಎಲ್ಲಾ ಡೇಟಾ ಸಂಬಂಧಿತವಾಗಿದ್ದು, ಒಂದು ಘಟಕದಲ್ಲಿ ಪಡೆಯಬಹುದು ಮತ್ತು ಬದಲಾಯಿಸಬಹುದು.
@@ -88,11 +88,11 @@ CO_OP_TRANSLATOR_METADATA:
ಎಮ್ಯುಲೇಟರ್ ಬ್ರೌಸರ್ ವಿಂಡೋವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಎಕ್ಸ್ಪ್ಲೋರರ್ ವೀಕ್ಷಣೆ ನಿಮಗೆ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಅನ್ವೇಷಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.
-
+
ನೀವು ಅನುಸರಿಸುತ್ತಿದ್ದರೆ, "Start with Sample" ಕ್ಲಿಕ್ ಮಾಡಿ SampleDB ಎಂಬ ಮಾದರಿ ಡೇಟಾಬೇಸ್ ರಚಿಸಿ. Sample DB ಅನ್ನು ವಿಸ್ತರಿಸಿದರೆ, `Persons` ಎಂಬ ಕಂಟೈನರ್ ಕಂಡುಬರುತ್ತದೆ, ಕಂಟೈನರ್ ಐಟಂಗಳ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿದೆ, ಅವು ಡಾಕ್ಯುಮೆಂಟ್ಗಳು. ನೀವು `Items` ಅಡಿಯಲ್ಲಿ ನಾಲ್ಕು ವೈಯಕ್ತಿಕ ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಅನ್ವೇಷಿಸಬಹುದು.
-
+
#### ಕೋಸ್ಮೋಸ್ ಡಿಬಿ ಎಮ್ಯುಲೇಟರ್ನೊಂದಿಗೆ ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾ ಪ್ರಶ್ನಿಸುವುದು
@@ -102,7 +102,7 @@ CO_OP_TRANSLATOR_METADATA:
`SELECT * FROM c where c.age < 40`
- 
+ 
ಪ್ರಶ್ನೆ ಎರಡು ಡಾಕ್ಯುಮೆಂಟ್ಗಳನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಪ್ರತಿ ಡಾಕ್ಯುಮೆಂಟ್ನ ವಯಸ್ಸು ಮೌಲ್ಯ 40 ಕ್ಕಿಂತ ಕಡಿಮೆ ಇದೆ.
diff --git a/translations/kn/2-Working-With-Data/07-python/README.md b/translations/kn/2-Working-With-Data/07-python/README.md
index 19009ace..08211e30 100644
--- a/translations/kn/2-Working-With-Data/07-python/README.md
+++ b/translations/kn/2-Working-With-Data/07-python/README.md
@@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA:
| :-------------------------------------------------------------------------------------------------------: |
| ಪೈಥಾನ್ ಜೊತೆ ಕೆಲಸ ಮಾಡುವುದು - _[@nitya](https://twitter.com/nitya) ಅವರ ಸ್ಕೆಚ್ ನೋಟ್_ |
-[](https://youtu.be/dZjWOGbsN4Y)
+[](https://youtu.be/dZjWOGbsN4Y)
ಡೇಟಾಬೇಸ್ಗಳು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ಕ್ವೇರಿ ಭಾಷೆಗಳನ್ನು ಬಳಸಿ ಅವುಗಳನ್ನು ಪ್ರಶ್ನಿಸಲು ಅತ್ಯಂತ ಪರಿಣಾಮಕಾರಿಯಾದ ಮಾರ್ಗಗಳನ್ನು ನೀಡುತ್ತವೆ, ಆದರೆ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಅತ್ಯಂತ ಲವಚಿಕ ಮಾರ್ಗವೆಂದರೆ ನಿಮ್ಮದೇ ಪ್ರೋಗ್ರಾಂ ಬರೆಯುವುದು. ಬಹುಶಃ ಬಹಳ ಸಂದರ್ಭಗಳಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಕ್ವೇರಿ ಮಾಡುವುದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ. ಆದರೆ ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಿಕೆ ಅಗತ್ಯವಿದ್ದಾಗ, ಅದನ್ನು SQL ಬಳಸಿ ಸುಲಭವಾಗಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
ಡೇಟಾ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಿಕೆ ಯಾವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಲ್ಲಿ ಮಾಡಬಹುದು, ಆದರೆ ಡೇಟಾ ಜೊತೆ ಕೆಲಸ ಮಾಡಲು ಕೆಲವು ಭಾಷೆಗಳು ಹೆಚ್ಚಿನ ಮಟ್ಟದಲ್ಲಿವೆ. ಡೇಟಾ ವಿಜ್ಞಾನಿಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಭಾಷೆಗಳಲ್ಲೊಂದು ಆಯ್ಕೆಮಾಡುತ್ತಾರೆ:
@@ -75,7 +75,7 @@ print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
```
-
+
ಈಗ ಪ್ರತೀ ವಾರ ನಾವು ಸ್ನೇಹಿತರಿಗಾಗಿ ಪಾರ್ಟಿ ಆಯೋಜಿಸುತ್ತೇವೆ ಮತ್ತು ಪಾರ್ಟಿಗಾಗಿ ಹೆಚ್ಚುವರಿ 10 ಪ್ಯಾಕೆಟ್ ಐಸ್-ಕ್ರೀಮ್ ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ ಎಂದು ಊಹಿಸೋಣ. ಅದನ್ನು ತೋರಿಸಲು ವಾರದ ಸೂಚ್ಯಂಕದೊಂದಿಗೆ ಮತ್ತೊಂದು ಸರಣಿಯನ್ನು ರಚಿಸಬಹುದು:
```python
@@ -86,7 +86,7 @@ additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
```
-
+
> **ಗಮನಿಸಿ** ನಾವು ಸರಳ `total_items+additional_items` ಸಿಂಟ್ಯಾಕ್ಸ್ ಬಳಸುತ್ತಿಲ್ಲ. ಅದನ್ನು ಮಾಡಿದರೆ, ಫಲಿತಾಂಶ ಸರಣಿಯಲ್ಲಿ ಬಹಳಷ್ಟು `NaN` (*ಸಂಖ್ಯೆ ಅಲ್ಲ*) ಮೌಲ್ಯಗಳು ಬರುತ್ತಿದ್ದವು. ಇದಕ್ಕೆ ಕಾರಣವೆಂದರೆ `additional_items` ಸರಣಿಯಲ್ಲಿ ಕೆಲವು ಸೂಚ್ಯಂಕ ಬಿಂದುಗಳಿಗೆ ಮೌಲ್ಯಗಳು ಇಲ್ಲದಿರುವುದು, ಮತ್ತು `NaN` ಅನ್ನು ಯಾವುದಕ್ಕೂ ಸೇರಿಸಿದರೆ `NaN` ಆಗುತ್ತದೆ. ಆದ್ದರಿಂದ ಸೇರಿಸುವಾಗ `fill_value` ಪರಿಮಾಣವನ್ನು ಸೂಚಿಸಬೇಕಾಗುತ್ತದೆ.
@@ -95,7 +95,7 @@ total_items.plot()
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
```
-
+
### ಡೇಟಾಫ್ರೇಮ್
@@ -222,7 +222,7 @@ df = pd.read_csv('file.csv')
ನಾವು ಡೇಟಾ ಹೇಗೆ ನಿರ್ವಹಿಸಬೇಕೆಂದು ತೋರಿಸಲು ಬಯಸುವ ಕಾರಣದಿಂದ, ನೀವು [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) ಅನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಮೇಲಿನಿಂದ ಕೆಳಗೆ ಓದಿ. ನೀವು ಸೆಲ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಮತ್ತು ನಾವು ಕೊನೆಯಲ್ಲಿ ನಿಮಗಾಗಿ ಬಿಟ್ಟಿರುವ ಕೆಲವು ಚಾಲೆಂಜ್ಗಳನ್ನು ಮಾಡಬಹುದು.
-
+
> ನೀವು Jupyter Notebook ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ಚಾಲನೆ ಮಾಡುವುದು ಎಂದು ತಿಳಿಯದಿದ್ದರೆ, [ಈ ಲೇಖನವನ್ನು](https://soshnikov.com/education/how-to-execute-notebooks-from-github/) ನೋಡಿ.
@@ -244,7 +244,7 @@ df = pd.read_csv('file.csv')
[`notebook-papers.ipynb`](notebook-papers.ipynb) ಅನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಮೇಲಿನಿಂದ ಕೆಳಗೆ ಓದಿ. ನೀವು ಸೆಲ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ನಾವು ಬಿಟ್ಟಿರುವ ಕೆಲವು ಚಾಲೆಂಜ್ಗಳನ್ನು ಮಾಡಬಹುದು.
-
+
## ಚಿತ್ರ ಡೇಟಾ ಪ್ರಕ್ರಿಯೆ
diff --git a/translations/kn/2-Working-With-Data/README.md b/translations/kn/2-Working-With-Data/README.md
index 94adbe74..78b9cdfb 100644
--- a/translations/kn/2-Working-With-Data/README.md
+++ b/translations/kn/2-Working-With-Data/README.md
@@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA:
-->
# ಡೇಟಾ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವುದು
-
+
> ಫೋಟೋ ಅಲೆಕ್ಸಾಂಡರ್ ಸಿನ್ ಅವರಿಂದ ಅನ್ಸ್ಪ್ಲ್ಯಾಶ್ ನಲ್ಲಿ
ಈ ಪಾಠಗಳಲ್ಲಿ, ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವ, ತಿದ್ದುಪಡಿ ಮಾಡುವ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಬಳಸುವ ಕೆಲವು ವಿಧಾನಗಳನ್ನು ನೀವು ಕಲಿಯುತ್ತೀರಿ. ಸಂಬಂಧಿತ ಮತ್ತು ಅಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್ಗಳ ಬಗ್ಗೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಹೇಗೆ ಸಂಗ್ರಹಿಸಬಹುದು ಎಂಬುದನ್ನು ನೀವು ತಿಳಿದುಕೊಳ್ಳುತ್ತೀರಿ. ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಲು ಪೈಥಾನ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವ ಮೂಲಭೂತಗಳನ್ನು ನೀವು ಕಲಿಯುತ್ತೀರಿ ಮತ್ತು ಪೈಥಾನ್ನೊಂದಿಗೆ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವ ಮತ್ತು ಗಣನೆ ಮಾಡುವ ಅನೇಕ ವಿಧಾನಗಳನ್ನು ನೀವು ಕಂಡುಹಿಡಿಯುತ್ತೀರಿ.
diff --git a/translations/kn/3-Data-Visualization/09-visualization-quantities/README.md b/translations/kn/3-Data-Visualization/09-visualization-quantities/README.md
index b6d9a75b..f9dab517 100644
--- a/translations/kn/3-Data-Visualization/09-visualization-quantities/README.md
+++ b/translations/kn/3-Data-Visualization/09-visualization-quantities/README.md
@@ -61,7 +61,7 @@ birds.head()
wingspan = birds['MaxWingspan']
wingspan.plot()
```
-
+
ನೀವು ತಕ್ಷಣವೇ ಏನು ಗಮನಿಸುತ್ತೀರಿ? ಕನಿಷ್ಠ ಒಂದು ಹೊರಗಿನ ಮೌಲ್ಯವಿದೆ ಎಂದು ತೋರುತ್ತದೆ - ಅದು ತುಂಬಾ ದೊಡ್ಡ ರೆಕ್ಕೆ ವ್ಯಾಪ್ತಿಯಾಗಿದೆ! 2300 ಸೆಂ.ಮೀ ರೆಕ್ಕೆ ವ್ಯಾಪ್ತಿ ಎಂದರೆ 23 ಮೀಟರ್ - ಮಿನೆಸೋಟಾದಲ್ಲಿ ಪ್ಟೆರೋಡ್ಯಾಕ್ಟೈಲ್ಸ್ ಓಡಾಡುತ್ತಿವೆಯೇ? ಪರಿಶೀಲಿಸೋಣ.
@@ -81,7 +81,7 @@ plt.plot(x, y)
plt.show()
```
-
+
ಲೇಬಲ್ಗಳ ತಿರುಗುವಿಕೆ 45 ಡಿಗ್ರಿಗಳಾಗಿದ್ದರೂ, ಓದಲು ತುಂಬಾ ಹೆಚ್ಚು ಇದೆ. ಬೇರೆ ತಂತ್ರವನ್ನು ಪ್ರಯತ್ನಿಸೋಣ: ಹೊರಗಿನ ಮೌಲ್ಯಗಳಿಗೆ ಮಾತ್ರ ಲೇಬಲ್ಗಳನ್ನು ನೀಡಿ ಮತ್ತು ಲೇಬಲ್ಗಳನ್ನು ಚಾರ್ಟ್ ಒಳಗೆ ಸೆಟ್ ಮಾಡಿ. ಲೇಬಲಿಂಗ್ಗೆ ಹೆಚ್ಚು ಜಾಗ ನೀಡಲು ಸ್ಕ್ಯಾಟರ್ ಚಾರ್ಟ್ ಬಳಸಬಹುದು:
@@ -103,7 +103,7 @@ plt.show()
ನೀವು ಏನು ಕಂಡುಹಿಡಿದಿರಿ?
-
+
## ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ
ಬಾಲ್ಡ್ ಈಗಲ್ ಮತ್ತು ಪ್ರೇರೀ ಫಾಲ್ಕನ್, ಬಹುಶಃ ತುಂಬಾ ದೊಡ್ಡ ಪಕ್ಷಿಗಳು ಆಗಿದ್ದರೂ, ಗರಿಷ್ಠ ರೆಕ್ಕೆ ವ್ಯಾಪ್ತಿಗೆ ಹೆಚ್ಚುವರಿ `0` ಸೇರಿಸಿರುವುದರಿಂದ ತಪ್ಪಾಗಿ ಲೇಬಲಾದಂತೆ ತೋರುತ್ತದೆ. 25 ಮೀಟರ್ ರೆಕ್ಕೆ ವ್ಯಾಪ್ತಿಯ ಬಾಲ್ಡ್ ಈಗಲ್ ಅನ್ನು ನೀವು ಭೇಟಿಯಾಗುವುದು ಸಾಧ್ಯವಿಲ್ಲ, ಆದರೆ ಹಾಗಿದ್ದರೆ ದಯವಿಟ್ಟು ನಮಗೆ ತಿಳಿಸಿ! ಆ ಎರಡು ಹೊರಗಿನ ಮೌಲ್ಯಗಳನ್ನು ಹೊರತುಪಡಿಸಿ ಹೊಸ ಡೇಟಾಫ್ರೇಮ್ ರಚಿಸೋಣ:
@@ -123,7 +123,7 @@ plt.show()
ಹೊರಗಿನ ಮೌಲ್ಯಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿದ ನಂತರ, ನಿಮ್ಮ ಡೇಟಾ ಈಗ ಹೆಚ್ಚು ಸಮ್ಮಿಲಿತ ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸುಲಭವಾಗಿದೆ.
-
+
ಕನಿಷ್ಠ ರೆಕ್ಕೆ ವ್ಯಾಪ್ತಿಯ ದೃಷ್ಟಿಯಿಂದ ಸ್ವಚ್ಛಗೊಳಿಸಿದ ಡೇಟಾಸೆಟ್ ಇದ್ದು, ಈ ಪಕ್ಷಿಗಳ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳೋಣ.
@@ -149,7 +149,7 @@ birds.plot(x='Category',
title='Birds of Minnesota')
```
-
+
ಆದರೆ ಈ ಬಾರ್ ಚಾರ್ಟ್ ಓದಲು ಅಸಾಧ್ಯವಾಗಿದೆ ಏಕೆಂದರೆ ಅತಿಯಾದ ಗುಂಪುಬದ್ಧವಲ್ಲದ ಡೇಟಾ ಇದೆ. ನೀವು ಪ್ಲಾಟ್ ಮಾಡಲು ಬಯಸುವ ಡೇಟಾವನ್ನು ಮಾತ್ರ ಆಯ್ಕೆ ಮಾಡಬೇಕು, ಆದ್ದರಿಂದ ಪಕ್ಷಿಗಳ ಉದ್ದವನ್ನು ಅವುಗಳ ವರ್ಗದ ಆಧಾರದ ಮೇಲೆ ನೋಡೋಣ.
@@ -164,7 +164,7 @@ category_count = birds.value_counts(birds['Category'].values, sort=True)
plt.rcParams['figure.figsize'] = [6, 12]
category_count.plot.barh()
```
-
+
ಈ ಬಾರ್ ಚಾರ್ಟ್ ಪ್ರತಿ ವರ್ಗದಲ್ಲಿನ ಪಕ್ಷಿಗಳ ಸಂಖ್ಯೆಯ ಉತ್ತಮ ದೃಶ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ. ಕ್ಷಣದಲ್ಲಿಯೇ ನೀವು ಈ ಪ್ರದೇಶದಲ್ಲಿ ಅತಿ ಹೆಚ್ಚು ಪಕ್ಷಿಗಳು ಬಾತುಗಳು/ಗೀಸೆಗಳು/ನೀರಾಜೀವಿಗಳು ವರ್ಗದಲ್ಲಿವೆ ಎಂದು ನೋಡಬಹುದು. ಮಿನೆಸೋಟಾ '10,000 ಸರೋವರಗಳ ಭೂಮಿ' ಆಗಿರುವುದರಿಂದ ಇದು ಆಶ್ಚರ್ಯಕರವಲ್ಲ!
@@ -180,7 +180,7 @@ plt.barh(y=birds['Category'], width=maxlength)
plt.rcParams['figure.figsize'] = [6, 12]
plt.show()
```
-
+
ಇಲ್ಲಿ ಏನೂ ಆಶ್ಚರ್ಯಕರವಿಲ್ಲ: ಹುಮ್ಮಿಂಗ್ಬರ್ಡ್ಗಳು ಪೆಲಿಕಾನ್ಸ್ ಅಥವಾ ಗೀಸೆಗಳಿಗಿಂತ ಕಡಿಮೆ ಗರಿಷ್ಠ ಉದ್ದ ಹೊಂದಿವೆ. ಡೇಟಾ ತಾರ್ಕಿಕವಾಗಿದ್ದರೆ ಚೆನ್ನಾಗಿದೆ!
@@ -198,7 +198,7 @@ plt.show()
```
ಈ ಪ್ಲಾಟ್ನಲ್ಲಿ, ನೀವು ಪಕ್ಷಿ ವರ್ಗದ ಪ್ರತಿ ಕನಿಷ್ಠ ಉದ್ದ ಮತ್ತು ಗರಿಷ್ಠ ಉದ್ದದ ವ್ಯಾಪ್ತಿಯನ್ನು ನೋಡಬಹುದು. ಈ ಡೇಟಾ ನೀಡಿದಂತೆ, ಪಕ್ಷಿ ದೊಡ್ಡದಾದಂತೆ ಅದರ ಉದ್ದದ ವ್ಯಾಪ್ತಿಯೂ ದೊಡ್ಡದಾಗುತ್ತದೆ ಎಂದು ನೀವು ಸುರಕ್ಷಿತವಾಗಿ ಹೇಳಬಹುದು. ಅದ್ಭುತ!
-
+
## 🚀 ಸವಾಲು
diff --git a/translations/kn/3-Data-Visualization/10-visualization-distributions/README.md b/translations/kn/3-Data-Visualization/10-visualization-distributions/README.md
index 94b0f467..666e70ca 100644
--- a/translations/kn/3-Data-Visualization/10-visualization-distributions/README.md
+++ b/translations/kn/3-Data-Visualization/10-visualization-distributions/README.md
@@ -49,7 +49,7 @@ plt.xlabel('Max Length')
plt.show()
```
-
+
ಇದು ಪಕ್ಷಿ ಕ್ರಮದ ಪ್ರತಿ ದೇಹ ಉದ್ದದ ಸಾಮಾನ್ಯ ವಿತರಣೆಯ ಅವಲೋಕನವನ್ನು ನೀಡುತ್ತದೆ, ಆದರೆ ಇದು ನಿಜವಾದ ವಿತರಣೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ಅತ್ಯುತ್ತಮ ವಿಧಾನವಲ್ಲ. ಆ ಕಾರ್ಯವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಹಿಸ್ಟೋಗ್ರಾಮ್ ರಚಿಸುವ ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.
## ಹಿಸ್ಟೋಗ್ರಾಮ್ಗಳೊಂದಿಗೆ ಕೆಲಸ
@@ -60,7 +60,7 @@ Matplotlib ಡೇಟಾ ವಿತರಣೆಯನ್ನು ದೃಶ್ಯೀಕ
birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
plt.show()
```
-
+
ನೀವು ನೋಡಬಹುದು, ಈ ಡೇಟಾಸೆಟ್ನ 400+ ಪಕ್ಷಿಗಳಲ್ಲಿ ಬಹುತೇಕವು Max Body Mass ಗಾಗಿ 2000 ಕ್ಕಿಂತ ಕಡಿಮೆ ಶ್ರೇಣಿಯಲ್ಲಿ ಬರುತ್ತವೆ. `bins` ಪರಿಮಾಣವನ್ನು 30 ರಂತಹ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಗೆ ಬದಲಾಯಿಸುವ ಮೂಲಕ ಡೇಟಾದ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಒಳನೋಟವನ್ನು ಪಡೆಯಿರಿ:
@@ -68,7 +68,7 @@ plt.show()
birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
plt.show()
```
-
+
ಈ ಚಾರ್ಟ್ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮ ರೀತಿಯಲ್ಲಿ ವಿತರಣೆಯನ್ನು ತೋರಿಸುತ್ತದೆ. ಎಡಕ್ಕೆ ಕಡಿಮೆ ತಿರುವು ಹೊಂದಿರುವ ಚಾರ್ಟ್ ಅನ್ನು ನೀವು ನೀಡಲಾದ ಶ್ರೇಣಿಯೊಳಗಿನ ಡೇಟಾವನ್ನು ಮಾತ್ರ ಆಯ್ಕೆಮಾಡುವ ಮೂಲಕ ರಚಿಸಬಹುದು:
@@ -79,7 +79,7 @@ filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
plt.show()
```
-
+
✅ ಇನ್ನಷ್ಟು ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ಡೇಟಾ ಪಾಯಿಂಟ್ಗಳನ್ನು ಪ್ರಯತ್ನಿಸಿ. ಡೇಟಾದ ಸಂಪೂರ್ಣ ವಿತರಣೆಯನ್ನು ನೋಡಲು, `['MaxBodyMass']` ಫಿಲ್ಟರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ ಲೇಬಲ್ ಮಾಡಲಾದ ವಿತರಣೆಯನ್ನು ತೋರಿಸಿ.
@@ -96,7 +96,7 @@ hist = ax.hist2d(x, y)
```
ಈ ಎರಡು ಅಂಶಗಳ ನಡುವೆ ನಿರೀಕ್ಷಿತ ಅಕ್ಷದ ಮೇಲೆ ನಿರೀಕ್ಷಿತ ಸಂಬಂಧವಿದೆ, ಒಂದು ವಿಶೇಷವಾಗಿ ಬಲವಾದ ಸಂಯೋಜನೆಯ ಬಿಂದುವಿನೊಂದಿಗೆ:
-
+
ಹಿಸ್ಟೋಗ್ರಾಮ್ಗಳು ಸಂಖ್ಯಾತ್ಮಕ ಡೇಟಾಗಾಗಿ ಡೀಫಾಲ್ಟ್ನಲ್ಲಿ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ. ಪಠ್ಯ ಡೇಟಾ ಪ್ರಕಾರ ವಿತರಣೆಯನ್ನು ನೋಡಬೇಕಾದರೆ ಏನು ಮಾಡಬೇಕು?
## ಪಠ್ಯ ಡೇಟಾ ಬಳಸಿ ವಿತರಣೆಯನ್ನು ಅನ್ವೇಷಿಸಿ
@@ -135,7 +135,7 @@ plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
plt.legend();
```
-
+
ಕನಿಷ್ಠ ರೆಕ್ಕೆ ವಿಸ್ತಾರ ಮತ್ತು ಸಂರಕ್ಷಣಾ ಸ್ಥಿತಿಯ ನಡುವೆ ಉತ್ತಮ ಸಂಬಂಧವಿಲ್ಲದಂತೆ ತೋರುತ್ತದೆ. ಈ ವಿಧಾನವನ್ನು ಬಳಸಿ ಡೇಟಾಸೆಟ್ನ ಇತರ ಅಂಶಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ. ನೀವು ಯಾವುದೇ ಸಂಬಂಧವನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೀರಾ?
@@ -153,7 +153,7 @@ import matplotlib.pyplot as plt
sns.kdeplot(filteredBirds['MinWingspan'])
plt.show()
```
-
+
ನೀವು ನೋಡಬಹುದು, ಈ ಪ್ಲಾಟ್ ಕನಿಷ್ಠ ರೆಕ್ಕೆ ವಿಸ್ತಾರದ ಡೇಟಾಗಾಗಿ ಹಿಂದಿನದನ್ನು ಪ್ರತಿಧ್ವನಿಸುತ್ತದೆ; ಅದು ಸ್ವಲ್ಪ ಸೌಮ್ಯವಾಗಿದೆ. Seaborn ನ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಪ್ರಕಾರ, "ಹಿಸ್ಟೋಗ್ರಾಮ್ಗೆ ಹೋಲಿಸಿದರೆ, KDE ಒಂದು ಚಾರ್ಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸಬಹುದು ಅದು ಕಡಿಮೆ ಗೊಂದಲಕಾರಿಯಾಗಿದ್ದು ಮತ್ತು ಹೆಚ್ಚು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ಬಹು ವಿತರಣೆಗಳನ್ನು ಚಿತ್ರಿಸುವಾಗ. ಆದರೆ ಮೂಲ ವಿತರಣೆಯು ಸೀಮಿತ ಅಥವಾ ಸೌಮ್ಯವಲ್ಲದಿದ್ದರೆ ವಕ್ರತೆಯು ಬದಲಾವಣೆಗಳನ್ನು ಪರಿಚಯಿಸುವ ಸಾಧ್ಯತೆ ಇದೆ. ಹಿಸ್ಟೋಗ್ರಾಮ್ ಹೋಲಾಗಿ, ಪ್ರತಿನಿಧಾನದ ಗುಣಮಟ್ಟವು ಉತ್ತಮ ಸ್ಮೂಥಿಂಗ್ ಪರಿಮಾಣಗಳ ಆಯ್ಕೆಯ ಮೇಲೂ ಅವಲಂಬಿತವಾಗಿದೆ." [ಮೂಲ](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) ಎಂದರೆ, ಔಟ್ಲೈಯರ್ಗಳು ಯಾವಾಗಲೂ ನಿಮ್ಮ ಚಾರ್ಟ್ಗಳನ್ನು ಕೆಟ್ಟ ರೀತಿಯಲ್ಲಿ ವರ್ತಿಸುವಂತೆ ಮಾಡುತ್ತವೆ.
@@ -163,7 +163,7 @@ plt.show()
sns.kdeplot(filteredBirds['MaxBodyMass'])
plt.show()
```
-
+
ನೀವು ಸ್ಮೂಥ್ ಆಗಿದ್ದರೂ ಹೆಚ್ಚು ಸ್ಮೂಥ್ ಆಗದ ರೇಖೆಯನ್ನು ಬಯಸಿದರೆ, `bw_adjust` ಪರಿಮಾಣವನ್ನು ಸಂಪಾದಿಸಿ:
@@ -171,7 +171,7 @@ plt.show()
sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
plt.show()
```
-
+
✅ ಈ ರೀತಿಯ ಪ್ಲಾಟ್ಗೆ ಲಭ್ಯವಿರುವ ಪರಿಮಾಣಗಳ ಬಗ್ಗೆ ಓದಿ ಮತ್ತು ಪ್ರಯೋಗ ಮಾಡಿ!
@@ -185,7 +185,7 @@ sns.kdeplot(
)
```
-
+
ನೀವು ಒಂದೇ ಚಾರ್ಟ್ನಲ್ಲಿ ಹಲವಾರು ಚರಗಳ ಸಾಂದ್ರತೆಯನ್ನು ನಕ್ಷೆ ಮಾಡಬಹುದು. ಪಕ್ಷಿಯ MaxLength ಮತ್ತು MinLength ಅನ್ನು ಅದರ ಸಂರಕ್ಷಣಾ ಸ್ಥಿತಿಯೊಂದಿಗೆ ಹೋಲಿಸಿ:
@@ -193,7 +193,7 @@ sns.kdeplot(
sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
```
-
+
ಬಹುಶಃ 'ಅಸುರಕ್ಷಿತ' ಪಕ್ಷಿಗಳ ಗುಂಪಿನ ಉದ್ದಗಳ ಪ್ರಕಾರ ಅರ್ಥಪೂರ್ಣತೆ ಇದೆ ಅಥವಾ ಇಲ್ಲವೆ ಎಂಬುದನ್ನು ಸಂಶೋಧಿಸುವುದು ಲಾಭದಾಯಕವಾಗಬಹುದು.