diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png
new file mode 100644
index 00000000..00118693
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.fr.png differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.hk.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.hk.png
new file mode 100644
index 00000000..eaf5be6c
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.hk.png differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ja.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ja.png
new file mode 100644
index 00000000..37fcf94b
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ja.png differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ko.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ko.png
new file mode 100644
index 00000000..f58ab5f2
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.ko.png differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tw.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tw.png
new file mode 100644
index 00000000..b1c8eb04
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tw.png differ
diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.zh.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.zh.png
new file mode 100644
index 00000000..c1c8f5f8
Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.zh.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png
new file mode 100644
index 00000000..da312c3e
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.fr.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.hk.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.hk.png
new file mode 100644
index 00000000..3681d147
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.hk.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ja.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ja.png
new file mode 100644
index 00000000..7f6bc156
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ja.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ko.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ko.png
new file mode 100644
index 00000000..5d6b85c9
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.ko.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tw.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tw.png
new file mode 100644
index 00000000..f3a21e85
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tw.png differ
diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.zh.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.zh.png
new file mode 100644
index 00000000..4ec1cea4
Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.zh.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png
new file mode 100644
index 00000000..91023406
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.fr.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.hk.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.hk.png
new file mode 100644
index 00000000..75aa9dfa
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.hk.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ja.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ja.png
new file mode 100644
index 00000000..2ddc0bb7
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ja.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ko.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ko.png
new file mode 100644
index 00000000..7f05bcc5
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.ko.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tw.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tw.png
new file mode 100644
index 00000000..3ea024d0
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tw.png differ
diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.zh.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.zh.png
new file mode 100644
index 00000000..b1bd9428
Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.zh.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png
new file mode 100644
index 00000000..99ec6bd9
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.fr.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.hk.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.hk.png
new file mode 100644
index 00000000..fb3208dd
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.hk.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ja.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ja.png
new file mode 100644
index 00000000..b5618faf
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ja.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ko.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ko.png
new file mode 100644
index 00000000..b576e29b
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.ko.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tw.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tw.png
new file mode 100644
index 00000000..fb3208dd
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tw.png differ
diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.zh.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.zh.png
new file mode 100644
index 00000000..33156cc9
Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.zh.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png
new file mode 100644
index 00000000..28f006d7
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.fr.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.hk.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.hk.png
new file mode 100644
index 00000000..0f23bf5f
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.hk.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ja.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ja.png
new file mode 100644
index 00000000..b90e534d
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ja.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ko.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ko.png
new file mode 100644
index 00000000..5f350de7
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.ko.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tw.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tw.png
new file mode 100644
index 00000000..b8f3a0e8
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tw.png differ
diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.zh.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.zh.png
new file mode 100644
index 00000000..5d8333db
Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.zh.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png
new file mode 100644
index 00000000..90f287c7
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.fr.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.hk.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.hk.png
new file mode 100644
index 00000000..17c59b4f
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.hk.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ja.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ja.png
new file mode 100644
index 00000000..d0669700
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ja.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ko.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ko.png
new file mode 100644
index 00000000..ba065ac7
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.ko.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tw.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tw.png
new file mode 100644
index 00000000..5451eeea
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tw.png differ
diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.zh.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.zh.png
new file mode 100644
index 00000000..cd27979b
Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.zh.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png
new file mode 100644
index 00000000..2b700e8e
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.fr.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.hk.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.hk.png
new file mode 100644
index 00000000..678e795b
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.hk.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ja.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ja.png
new file mode 100644
index 00000000..c6026add
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ja.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ko.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ko.png
new file mode 100644
index 00000000..aed08f93
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.ko.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tw.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tw.png
new file mode 100644
index 00000000..780aa968
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tw.png differ
diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.zh.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.zh.png
new file mode 100644
index 00000000..7c887266
Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.zh.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png
new file mode 100644
index 00000000..b1191760
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.fr.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.hk.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.hk.png
new file mode 100644
index 00000000..a3a28e6b
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.hk.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ja.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ja.png
new file mode 100644
index 00000000..342a88c3
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ja.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ko.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ko.png
new file mode 100644
index 00000000..7ccae7bc
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.ko.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tw.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tw.png
new file mode 100644
index 00000000..4a6bcd4a
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tw.png differ
diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.zh.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.zh.png
new file mode 100644
index 00000000..57a67eb8
Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.zh.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png
new file mode 100644
index 00000000..d5706eb4
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.fr.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.hk.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.hk.png
new file mode 100644
index 00000000..a4af77d3
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.hk.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ja.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ja.png
new file mode 100644
index 00000000..0978beba
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ja.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ko.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ko.png
new file mode 100644
index 00000000..66442b77
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.ko.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tw.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tw.png
new file mode 100644
index 00000000..c79cc443
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tw.png differ
diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.zh.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.zh.png
new file mode 100644
index 00000000..e68a58cf
Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.zh.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png
new file mode 100644
index 00000000..86ef25ae
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.fr.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.hk.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.hk.png
new file mode 100644
index 00000000..5452b44f
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.hk.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ja.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ja.png
new file mode 100644
index 00000000..1d263adc
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ja.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ko.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ko.png
new file mode 100644
index 00000000..c22a1466
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.ko.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tw.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tw.png
new file mode 100644
index 00000000..88079496
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tw.png differ
diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.zh.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.zh.png
new file mode 100644
index 00000000..8f500705
Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.zh.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png
new file mode 100644
index 00000000..53b86704
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.fr.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.hk.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.hk.png
new file mode 100644
index 00000000..6b8e8d0f
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.hk.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ja.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ja.png
new file mode 100644
index 00000000..9b61bcbe
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ja.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ko.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ko.png
new file mode 100644
index 00000000..3d255107
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.ko.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tw.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tw.png
new file mode 100644
index 00000000..f5396e3c
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tw.png differ
diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.zh.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.zh.png
new file mode 100644
index 00000000..e0845957
Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.zh.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png
new file mode 100644
index 00000000..07957b72
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.fr.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.hk.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.hk.png
new file mode 100644
index 00000000..b44ac736
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.hk.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ja.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ja.png
new file mode 100644
index 00000000..ae5ef345
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ja.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ko.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ko.png
new file mode 100644
index 00000000..cb154c17
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.ko.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tw.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tw.png
new file mode 100644
index 00000000..3f280d7d
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tw.png differ
diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.zh.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.zh.png
new file mode 100644
index 00000000..3729efa9
Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.zh.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png
new file mode 100644
index 00000000..fd526b0d
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.fr.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.hk.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.hk.png
new file mode 100644
index 00000000..9a0509c7
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.hk.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ja.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ja.png
new file mode 100644
index 00000000..348e942f
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ja.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ko.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ko.png
new file mode 100644
index 00000000..19011d76
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.ko.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tw.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tw.png
new file mode 100644
index 00000000..cbbe8bb5
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tw.png differ
diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.zh.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.zh.png
new file mode 100644
index 00000000..397423b3
Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.zh.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png
new file mode 100644
index 00000000..4a765062
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.fr.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.hk.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.hk.png
new file mode 100644
index 00000000..b12c0e1b
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.hk.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ja.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ja.png
new file mode 100644
index 00000000..0d897638
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ja.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ko.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ko.png
new file mode 100644
index 00000000..cab1e839
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.ko.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tw.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tw.png
new file mode 100644
index 00000000..a03e5776
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tw.png differ
diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.zh.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.zh.png
new file mode 100644
index 00000000..88e49614
Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.zh.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png
new file mode 100644
index 00000000..707acf09
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.fr.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.hk.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.hk.png
new file mode 100644
index 00000000..d689ae16
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.hk.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ja.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ja.png
new file mode 100644
index 00000000..432db8b0
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ja.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ko.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ko.png
new file mode 100644
index 00000000..1f40b5c7
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.ko.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tw.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tw.png
new file mode 100644
index 00000000..61cce424
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tw.png differ
diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.zh.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.zh.png
new file mode 100644
index 00000000..1e766d35
Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.zh.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png
new file mode 100644
index 00000000..da6ea7a3
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.fr.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.hk.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.hk.png
new file mode 100644
index 00000000..feae13df
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.hk.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ja.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ja.png
new file mode 100644
index 00000000..a2e9fae6
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ja.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ko.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ko.png
new file mode 100644
index 00000000..08bcc6fc
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.ko.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tw.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tw.png
new file mode 100644
index 00000000..366d487a
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tw.png differ
diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.zh.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.zh.png
new file mode 100644
index 00000000..f4ea1169
Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.zh.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png
new file mode 100644
index 00000000..fcec53ed
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.fr.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.hk.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.hk.png
new file mode 100644
index 00000000..6168eec4
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.hk.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ja.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ja.png
new file mode 100644
index 00000000..2a1f6857
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ja.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ko.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ko.png
new file mode 100644
index 00000000..a9236f33
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.ko.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tw.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tw.png
new file mode 100644
index 00000000..fbb3ebb0
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tw.png differ
diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.zh.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.zh.png
new file mode 100644
index 00000000..fac21906
Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.zh.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png
new file mode 100644
index 00000000..9271ab0f
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.fr.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.hk.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.hk.png
new file mode 100644
index 00000000..a53fa822
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.hk.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ja.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ja.png
new file mode 100644
index 00000000..c2d48e38
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ja.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ko.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ko.png
new file mode 100644
index 00000000..832e682f
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.ko.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tw.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tw.png
new file mode 100644
index 00000000..9722936a
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tw.png differ
diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.zh.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.zh.png
new file mode 100644
index 00000000..b798b39f
Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.zh.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png
new file mode 100644
index 00000000..69f90a42
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.fr.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.hk.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.hk.png
new file mode 100644
index 00000000..252c7f0c
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.hk.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ja.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ja.png
new file mode 100644
index 00000000..4fab141d
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ja.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ko.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ko.png
new file mode 100644
index 00000000..9b481b2a
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.ko.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tw.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tw.png
new file mode 100644
index 00000000..9cad7f40
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tw.png differ
diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.zh.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.zh.png
new file mode 100644
index 00000000..55062198
Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.zh.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png
new file mode 100644
index 00000000..a4680b2a
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.fr.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.hk.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.hk.png
new file mode 100644
index 00000000..b43704bb
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.hk.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ja.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ja.png
new file mode 100644
index 00000000..944fe932
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ja.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ko.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ko.png
new file mode 100644
index 00000000..70378452
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.ko.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tw.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tw.png
new file mode 100644
index 00000000..c41d8b92
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tw.png differ
diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.zh.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.zh.png
new file mode 100644
index 00000000..e18d9c79
Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.zh.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png
new file mode 100644
index 00000000..40d169e8
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.fr.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.hk.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.hk.png
new file mode 100644
index 00000000..bc2c1637
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.hk.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ja.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ja.png
new file mode 100644
index 00000000..96c136f9
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ja.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ko.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ko.png
new file mode 100644
index 00000000..6aafae6d
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.ko.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tw.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tw.png
new file mode 100644
index 00000000..080519a2
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tw.png differ
diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.zh.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.zh.png
new file mode 100644
index 00000000..f63fb03e
Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.zh.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png
new file mode 100644
index 00000000..563a804c
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.fr.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.hk.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.hk.png
new file mode 100644
index 00000000..dd456adb
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.hk.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ja.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ja.png
new file mode 100644
index 00000000..176b7f30
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ja.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ko.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ko.png
new file mode 100644
index 00000000..181046b7
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.ko.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tw.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tw.png
new file mode 100644
index 00000000..21d647cf
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tw.png differ
diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.zh.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.zh.png
new file mode 100644
index 00000000..1a43ad71
Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.zh.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png
new file mode 100644
index 00000000..eab0a589
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.fr.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.hk.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.hk.png
new file mode 100644
index 00000000..9ab6913a
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.hk.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ja.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ja.png
new file mode 100644
index 00000000..79c970a1
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ja.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ko.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ko.png
new file mode 100644
index 00000000..0e4e39e6
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.ko.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tw.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tw.png
new file mode 100644
index 00000000..aee9a0d0
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tw.png differ
diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.zh.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.zh.png
new file mode 100644
index 00000000..77c9ffa4
Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.zh.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png
new file mode 100644
index 00000000..24f39074
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.fr.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.hk.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.hk.png
new file mode 100644
index 00000000..062e2e89
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.hk.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ja.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ja.png
new file mode 100644
index 00000000..f2ec3e60
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ja.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ko.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ko.png
new file mode 100644
index 00000000..429f244d
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.ko.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tw.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tw.png
new file mode 100644
index 00000000..59fab1b2
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tw.png differ
diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.zh.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.zh.png
new file mode 100644
index 00000000..0e9f40d0
Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.zh.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png
new file mode 100644
index 00000000..fe71e770
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.fr.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.hk.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.hk.png
new file mode 100644
index 00000000..4caf3939
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.hk.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ja.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ja.png
new file mode 100644
index 00000000..3b9b43c5
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ja.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ko.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ko.png
new file mode 100644
index 00000000..f06b8721
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.ko.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tw.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tw.png
new file mode 100644
index 00000000..0285287a
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tw.png differ
diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.zh.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.zh.png
new file mode 100644
index 00000000..2463986d
Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.zh.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png
new file mode 100644
index 00000000..968ce52e
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.fr.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.hk.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.hk.png
new file mode 100644
index 00000000..cd1d7a8e
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.hk.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ja.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ja.png
new file mode 100644
index 00000000..38f89bbe
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ja.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ko.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ko.png
new file mode 100644
index 00000000..3cb5c524
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.ko.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tw.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tw.png
new file mode 100644
index 00000000..cd1d7a8e
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tw.png differ
diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.zh.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.zh.png
new file mode 100644
index 00000000..38f89bbe
Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.zh.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png
new file mode 100644
index 00000000..19b2d90c
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.fr.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.hk.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.hk.png
new file mode 100644
index 00000000..0a9f1a62
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.hk.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ja.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ja.png
new file mode 100644
index 00000000..e991ed7c
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ja.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ko.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ko.png
new file mode 100644
index 00000000..5ca87863
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.ko.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tw.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tw.png
new file mode 100644
index 00000000..0a9f1a62
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tw.png differ
diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.zh.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.zh.png
new file mode 100644
index 00000000..0a9f1a62
Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.zh.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png
new file mode 100644
index 00000000..022638b2
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.fr.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.hk.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.hk.png
new file mode 100644
index 00000000..76bc709d
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.hk.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ja.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ja.png
new file mode 100644
index 00000000..57d6e17e
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ja.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ko.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ko.png
new file mode 100644
index 00000000..e7350962
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.ko.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tw.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tw.png
new file mode 100644
index 00000000..76bc709d
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tw.png differ
diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.zh.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.zh.png
new file mode 100644
index 00000000..3c1fd042
Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.zh.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png
new file mode 100644
index 00000000..c83f6e28
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.fr.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.hk.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.hk.png
new file mode 100644
index 00000000..455f84ae
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.hk.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ja.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ja.png
new file mode 100644
index 00000000..4c23d5c2
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ja.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ko.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ko.png
new file mode 100644
index 00000000..55d3e88e
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.ko.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tw.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tw.png
new file mode 100644
index 00000000..455f84ae
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tw.png differ
diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.zh.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.zh.png
new file mode 100644
index 00000000..c857ad29
Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.zh.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png
new file mode 100644
index 00000000..28bcfd8d
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.fr.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.hk.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.hk.png
new file mode 100644
index 00000000..455f84ae
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.hk.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ja.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ja.png
new file mode 100644
index 00000000..4c23d5c2
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ja.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ko.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ko.png
new file mode 100644
index 00000000..55d3e88e
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.ko.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tw.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tw.png
new file mode 100644
index 00000000..455f84ae
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tw.png differ
diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.zh.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.zh.png
new file mode 100644
index 00000000..37567e5a
Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.zh.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png
new file mode 100644
index 00000000..4b65a73f
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.fr.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.hk.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.hk.png
new file mode 100644
index 00000000..1aee8158
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.hk.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ja.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ja.png
new file mode 100644
index 00000000..e0f20d12
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ja.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ko.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ko.png
new file mode 100644
index 00000000..778bb270
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.ko.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tw.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tw.png
new file mode 100644
index 00000000..1aee8158
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tw.png differ
diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.zh.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.zh.png
new file mode 100644
index 00000000..24db6ecb
Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.zh.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png
new file mode 100644
index 00000000..91b58394
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.fr.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.hk.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.hk.png
new file mode 100644
index 00000000..861d92eb
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.hk.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ja.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ja.png
new file mode 100644
index 00000000..2be4261e
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ja.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ko.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ko.png
new file mode 100644
index 00000000..fdd59905
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.ko.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tw.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tw.png
new file mode 100644
index 00000000..b9120baa
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tw.png differ
diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.zh.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.zh.png
new file mode 100644
index 00000000..5d197647
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.zh.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png
new file mode 100644
index 00000000..6cdc18a9
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.fr.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.hk.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.hk.png
new file mode 100644
index 00000000..14e9f1cc
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.hk.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ja.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ja.png
new file mode 100644
index 00000000..418e06f1
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ja.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ko.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ko.png
new file mode 100644
index 00000000..e40aa1c3
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.ko.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tw.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tw.png
new file mode 100644
index 00000000..14e9f1cc
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tw.png differ
diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.zh.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.zh.png
new file mode 100644
index 00000000..bc4c0695
Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.zh.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png
new file mode 100644
index 00000000..936e3f12
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.fr.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.hk.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.hk.png
new file mode 100644
index 00000000..38ed9405
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.hk.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ja.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ja.png
new file mode 100644
index 00000000..99b38622
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ja.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ko.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ko.png
new file mode 100644
index 00000000..06854554
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.ko.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tw.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tw.png
new file mode 100644
index 00000000..38ed9405
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tw.png differ
diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.zh.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.zh.png
new file mode 100644
index 00000000..0a289353
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.zh.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png
new file mode 100644
index 00000000..4ae71bf0
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.fr.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.hk.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.hk.png
new file mode 100644
index 00000000..cf5e4c7a
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.hk.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ja.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ja.png
new file mode 100644
index 00000000..d11f7921
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ja.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ko.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ko.png
new file mode 100644
index 00000000..2e3d9939
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.ko.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tw.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tw.png
new file mode 100644
index 00000000..cf5e4c7a
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tw.png differ
diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.zh.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.zh.png
new file mode 100644
index 00000000..c1fd9a95
Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.zh.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png
new file mode 100644
index 00000000..dd60fa18
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.fr.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.hk.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.hk.png
new file mode 100644
index 00000000..45031390
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.hk.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ja.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ja.png
new file mode 100644
index 00000000..2fc774c4
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ja.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ko.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ko.png
new file mode 100644
index 00000000..e8a04893
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.ko.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tw.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tw.png
new file mode 100644
index 00000000..c674e54f
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tw.png differ
diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.zh.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.zh.png
new file mode 100644
index 00000000..b7e38da5
Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.zh.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png
new file mode 100644
index 00000000..7efd83e6
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.fr.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.hk.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.hk.png
new file mode 100644
index 00000000..c9b41c53
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.hk.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ja.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ja.png
new file mode 100644
index 00000000..8f85e863
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ja.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ko.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ko.png
new file mode 100644
index 00000000..aeb47bf6
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.ko.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tw.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tw.png
new file mode 100644
index 00000000..09bb989c
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tw.png differ
diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.zh.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.zh.png
new file mode 100644
index 00000000..1f6876a8
Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.zh.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png
new file mode 100644
index 00000000..e0774017
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.fr.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.hk.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.hk.png
new file mode 100644
index 00000000..fbafcf5a
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.hk.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ja.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ja.png
new file mode 100644
index 00000000..7151e4ad
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ja.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ko.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ko.png
new file mode 100644
index 00000000..aec60122
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.ko.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tw.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tw.png
new file mode 100644
index 00000000..f04d945b
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tw.png differ
diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.zh.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.zh.png
new file mode 100644
index 00000000..5ab54267
Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.zh.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png
new file mode 100644
index 00000000..6a9e03cf
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.fr.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.hk.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.hk.png
new file mode 100644
index 00000000..39f13a46
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.hk.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ja.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ja.png
new file mode 100644
index 00000000..14608c72
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ja.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ko.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ko.png
new file mode 100644
index 00000000..7a3f9c01
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.ko.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tw.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tw.png
new file mode 100644
index 00000000..0ce783b0
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tw.png differ
diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.zh.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.zh.png
new file mode 100644
index 00000000..55dbfcef
Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.zh.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png
new file mode 100644
index 00000000..0c357099
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.fr.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.hk.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.hk.png
new file mode 100644
index 00000000..0f23ef91
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.hk.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ja.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ja.png
new file mode 100644
index 00000000..3087f619
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ja.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ko.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ko.png
new file mode 100644
index 00000000..e7766bbd
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.ko.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tw.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tw.png
new file mode 100644
index 00000000..e4f80b81
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tw.png differ
diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.zh.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.zh.png
new file mode 100644
index 00000000..28eaf319
Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.zh.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png
new file mode 100644
index 00000000..0c357099
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.fr.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.hk.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.hk.png
new file mode 100644
index 00000000..0f23ef91
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.hk.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ja.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ja.png
new file mode 100644
index 00000000..5f58c8c3
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ja.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ko.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ko.png
new file mode 100644
index 00000000..e03b2745
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.ko.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tw.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tw.png
new file mode 100644
index 00000000..b439c1cb
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tw.png differ
diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.zh.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.zh.png
new file mode 100644
index 00000000..28eaf319
Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.zh.png differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg
new file mode 100644
index 00000000..a5cb324c
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.fr.jpg differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.hk.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.hk.jpg
new file mode 100644
index 00000000..7cca8681
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.hk.jpg differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ja.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ja.jpg
new file mode 100644
index 00000000..f8bedd88
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ja.jpg differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ko.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ko.jpg
new file mode 100644
index 00000000..724bf2f9
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.ko.jpg differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tw.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tw.jpg
new file mode 100644
index 00000000..b1e3e738
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tw.jpg differ
diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.zh.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.zh.jpg
new file mode 100644
index 00000000..66c06fb3
Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.zh.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg
new file mode 100644
index 00000000..fec2bf6c
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.fr.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.hk.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.hk.jpg
new file mode 100644
index 00000000..b1ad4031
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.hk.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ja.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ja.jpg
new file mode 100644
index 00000000..5a2e4bda
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ja.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ko.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ko.jpg
new file mode 100644
index 00000000..16c02a9a
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.ko.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tw.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tw.jpg
new file mode 100644
index 00000000..d138eb9a
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tw.jpg differ
diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.zh.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.zh.jpg
new file mode 100644
index 00000000..66c06fb3
Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.zh.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg
new file mode 100644
index 00000000..ccd50860
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.fr.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.hk.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.hk.jpg
new file mode 100644
index 00000000..944e0321
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.hk.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ja.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ja.jpg
new file mode 100644
index 00000000..6a9394aa
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ja.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ko.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ko.jpg
new file mode 100644
index 00000000..7fa68547
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.ko.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tw.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tw.jpg
new file mode 100644
index 00000000..4fe72658
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tw.jpg differ
diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.zh.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.zh.jpg
new file mode 100644
index 00000000..06eaf354
Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.zh.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg
new file mode 100644
index 00000000..b575cf37
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.fr.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.hk.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.hk.jpg
new file mode 100644
index 00000000..8402c122
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.hk.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ja.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ja.jpg
new file mode 100644
index 00000000..5518be68
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ja.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ko.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ko.jpg
new file mode 100644
index 00000000..3f11b145
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.ko.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tw.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tw.jpg
new file mode 100644
index 00000000..ae274526
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tw.jpg differ
diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.zh.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.zh.jpg
new file mode 100644
index 00000000..8424da49
Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.zh.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg
new file mode 100644
index 00000000..2fc2ad7d
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.fr.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.hk.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.hk.jpg
new file mode 100644
index 00000000..9e0a3771
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.hk.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ja.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ja.jpg
new file mode 100644
index 00000000..a2b51f5a
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ja.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ko.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ko.jpg
new file mode 100644
index 00000000..3ab85402
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.ko.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tw.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tw.jpg
new file mode 100644
index 00000000..386931bb
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tw.jpg differ
diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.zh.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.zh.jpg
new file mode 100644
index 00000000..4b38995c
Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.zh.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg
new file mode 100644
index 00000000..e934fe35
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.fr.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.hk.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.hk.jpg
new file mode 100644
index 00000000..21f5d555
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.hk.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ja.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ja.jpg
new file mode 100644
index 00000000..5b0b7986
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ja.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ko.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ko.jpg
new file mode 100644
index 00000000..3ab85402
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.ko.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tw.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tw.jpg
new file mode 100644
index 00000000..69524e08
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tw.jpg differ
diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.zh.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.zh.jpg
new file mode 100644
index 00000000..4b38995c
Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.zh.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.fr.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.hk.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.hk.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.hk.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ja.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ja.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ja.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ko.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ko.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.ko.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tw.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tw.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tw.jpg differ
diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.zh.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.zh.jpg
new file mode 100644
index 00000000..032326e9
Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.zh.jpg differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png
new file mode 100644
index 00000000..a9301b6e
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.fr.png differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.hk.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.hk.png
new file mode 100644
index 00000000..f54419c8
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.hk.png differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ja.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ja.png
new file mode 100644
index 00000000..075e87ab
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ja.png differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ko.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ko.png
new file mode 100644
index 00000000..d9a842b9
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.ko.png differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tw.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tw.png
new file mode 100644
index 00000000..f515b152
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tw.png differ
diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.zh.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.zh.png
new file mode 100644
index 00000000..f456d0b9
Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.zh.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png
new file mode 100644
index 00000000..52d7e830
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.fr.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.hk.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.hk.png
new file mode 100644
index 00000000..35fb0292
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.hk.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ja.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ja.png
new file mode 100644
index 00000000..57f3d308
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ja.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ko.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ko.png
new file mode 100644
index 00000000..9fe4130e
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.ko.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tw.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tw.png
new file mode 100644
index 00000000..35fb0292
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tw.png differ
diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.zh.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.zh.png
new file mode 100644
index 00000000..57f3d308
Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.zh.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png
new file mode 100644
index 00000000..0870f68f
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.fr.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.hk.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.hk.png
new file mode 100644
index 00000000..120e855f
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.hk.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ja.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ja.png
new file mode 100644
index 00000000..7f41f734
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ja.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ko.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ko.png
new file mode 100644
index 00000000..20eff951
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.ko.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tw.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tw.png
new file mode 100644
index 00000000..225bdd90
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tw.png differ
diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.zh.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.zh.png
new file mode 100644
index 00000000..539121c7
Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.zh.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png
new file mode 100644
index 00000000..85f26a22
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.fr.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.hk.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.hk.png
new file mode 100644
index 00000000..ac4d7866
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.hk.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ja.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ja.png
new file mode 100644
index 00000000..8b340fdf
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ja.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ko.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ko.png
new file mode 100644
index 00000000..8647abce
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.ko.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tw.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tw.png
new file mode 100644
index 00000000..200926ed
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tw.png differ
diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.zh.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.zh.png
new file mode 100644
index 00000000..b73d12f9
Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.zh.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png
new file mode 100644
index 00000000..1c896ff1
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.fr.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.hk.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.hk.png
new file mode 100644
index 00000000..2783d9f8
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.hk.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ja.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ja.png
new file mode 100644
index 00000000..1f155dc7
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ja.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ko.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ko.png
new file mode 100644
index 00000000..df48bfd0
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.ko.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tw.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tw.png
new file mode 100644
index 00000000..dd70ef59
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tw.png differ
diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.zh.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.zh.png
new file mode 100644
index 00000000..adb52934
Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.zh.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png
new file mode 100644
index 00000000..1c896ff1
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.fr.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.hk.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.hk.png
new file mode 100644
index 00000000..721ee0ff
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.hk.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ja.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ja.png
new file mode 100644
index 00000000..a015960b
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ja.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ko.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ko.png
new file mode 100644
index 00000000..df48bfd0
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.ko.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tw.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tw.png
new file mode 100644
index 00000000..77162610
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tw.png differ
diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.zh.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.zh.png
new file mode 100644
index 00000000..f0240be4
Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.zh.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png
new file mode 100644
index 00000000..7a159cf7
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.fr.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.hk.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.hk.png
new file mode 100644
index 00000000..a9bee75e
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.hk.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ja.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ja.png
new file mode 100644
index 00000000..cecf3324
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ja.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ko.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ko.png
new file mode 100644
index 00000000..1263ca49
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.ko.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tw.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tw.png
new file mode 100644
index 00000000..c8ce0fc8
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tw.png differ
diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.zh.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.zh.png
new file mode 100644
index 00000000..ad805249
Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.zh.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.fr.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.hk.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.hk.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.hk.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ja.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ja.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ja.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ko.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ko.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.ko.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tw.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tw.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tw.png differ
diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.zh.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.zh.png
new file mode 100644
index 00000000..6132710f
Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.zh.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png
new file mode 100644
index 00000000..839059b4
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.fr.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.hk.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.hk.png
new file mode 100644
index 00000000..af497eed
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.hk.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ja.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ja.png
new file mode 100644
index 00000000..a460d263
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ja.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ko.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ko.png
new file mode 100644
index 00000000..dd99ce9c
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.ko.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tw.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tw.png
new file mode 100644
index 00000000..d6a74e2a
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tw.png differ
diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.zh.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.zh.png
new file mode 100644
index 00000000..6615fc2a
Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.zh.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png
new file mode 100644
index 00000000..7c62a9e9
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.fr.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.hk.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.hk.png
new file mode 100644
index 00000000..1ef03e8a
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.hk.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ja.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ja.png
new file mode 100644
index 00000000..8e834b1f
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ja.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ko.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ko.png
new file mode 100644
index 00000000..6b2f7cd3
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.ko.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tw.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tw.png
new file mode 100644
index 00000000..17a3c0e5
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tw.png differ
diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.zh.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.zh.png
new file mode 100644
index 00000000..c185af21
Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.zh.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.fr.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.hk.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.hk.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.hk.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ja.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ja.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ja.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ko.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ko.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.ko.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tw.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tw.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tw.png differ
diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.zh.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.zh.png
new file mode 100644
index 00000000..bea2b83a
Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.zh.png differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.fr.jpg differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.hk.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.hk.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.hk.jpg differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ja.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ja.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ja.jpg differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ko.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ko.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.ko.jpg differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tw.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tw.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tw.jpg differ
diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.zh.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.zh.jpg
new file mode 100644
index 00000000..30a2ba6e
Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.zh.jpg differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png
new file mode 100644
index 00000000..edd3c293
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.fr.png differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.hk.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.hk.png
new file mode 100644
index 00000000..fed0cc49
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.hk.png differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ja.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ja.png
new file mode 100644
index 00000000..f767123a
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ja.png differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ko.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ko.png
new file mode 100644
index 00000000..44846685
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.ko.png differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tw.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tw.png
new file mode 100644
index 00000000..ee706b82
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tw.png differ
diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.zh.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.zh.png
new file mode 100644
index 00000000..0c092ebf
Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.zh.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png
new file mode 100644
index 00000000..6902b5d4
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.fr.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.hk.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.hk.png
new file mode 100644
index 00000000..239c5d7b
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.hk.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ja.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ja.png
new file mode 100644
index 00000000..63118d0e
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ja.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ko.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ko.png
new file mode 100644
index 00000000..69ce8e6f
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.ko.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tw.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tw.png
new file mode 100644
index 00000000..7830ab32
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tw.png differ
diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.zh.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.zh.png
new file mode 100644
index 00000000..008e97f0
Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.zh.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png
new file mode 100644
index 00000000..d35daeb2
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.fr.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.hk.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.hk.png
new file mode 100644
index 00000000..f8be8659
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.hk.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ja.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ja.png
new file mode 100644
index 00000000..0425d270
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ja.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ko.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ko.png
new file mode 100644
index 00000000..535d17b7
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.ko.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tw.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tw.png
new file mode 100644
index 00000000..d5493890
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tw.png differ
diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.zh.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.zh.png
new file mode 100644
index 00000000..e8126487
Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.zh.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png
new file mode 100644
index 00000000..12b5a708
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.fr.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.hk.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.hk.png
new file mode 100644
index 00000000..11b5137e
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.hk.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ja.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ja.png
new file mode 100644
index 00000000..c8991d2d
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ja.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ko.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ko.png
new file mode 100644
index 00000000..bda87488
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.ko.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tw.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tw.png
new file mode 100644
index 00000000..53c64445
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tw.png differ
diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.zh.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.zh.png
new file mode 100644
index 00000000..6c7b6c4c
Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.zh.png differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.fr.jpg differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.hk.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.hk.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.hk.jpg differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ja.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ja.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ja.jpg differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ko.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ko.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.ko.jpg differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tw.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tw.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tw.jpg differ
diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.zh.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.zh.jpg
new file mode 100644
index 00000000..cf2cdf11
Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.zh.jpg differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png
new file mode 100644
index 00000000..6495b2cc
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.fr.png differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.hk.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.hk.png
new file mode 100644
index 00000000..2ae75342
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.hk.png differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ja.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ja.png
new file mode 100644
index 00000000..06637eec
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ja.png differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ko.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ko.png
new file mode 100644
index 00000000..f299a691
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.ko.png differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tw.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tw.png
new file mode 100644
index 00000000..0ff27460
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tw.png differ
diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.zh.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.zh.png
new file mode 100644
index 00000000..7f3e5c0f
Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.zh.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png
new file mode 100644
index 00000000..5b1712c6
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.fr.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.hk.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.hk.png
new file mode 100644
index 00000000..f22212c9
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.hk.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ja.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ja.png
new file mode 100644
index 00000000..5f6f8580
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ja.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ko.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ko.png
new file mode 100644
index 00000000..631e29cd
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.ko.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tw.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tw.png
new file mode 100644
index 00000000..117c8f36
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tw.png differ
diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.zh.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.zh.png
new file mode 100644
index 00000000..1b57492e
Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.zh.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png
new file mode 100644
index 00000000..79724176
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.fr.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.hk.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.hk.png
new file mode 100644
index 00000000..9c98255e
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.hk.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ja.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ja.png
new file mode 100644
index 00000000..e098eb15
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ja.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ko.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ko.png
new file mode 100644
index 00000000..facd81d4
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.ko.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tw.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tw.png
new file mode 100644
index 00000000..a3ebdbe2
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tw.png differ
diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.zh.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.zh.png
new file mode 100644
index 00000000..5b8d45d0
Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.zh.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png
new file mode 100644
index 00000000..94f68db6
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.fr.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.hk.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.hk.png
new file mode 100644
index 00000000..10a4493b
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.hk.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ja.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ja.png
new file mode 100644
index 00000000..7a196d27
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ja.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ko.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ko.png
new file mode 100644
index 00000000..5f57d5f3
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.ko.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tw.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tw.png
new file mode 100644
index 00000000..ecd4a921
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tw.png differ
diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.zh.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.zh.png
new file mode 100644
index 00000000..feeaba1c
Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.zh.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png
new file mode 100644
index 00000000..aeb534ca
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.fr.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.hk.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.hk.png
new file mode 100644
index 00000000..5c971baa
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.hk.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ja.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ja.png
new file mode 100644
index 00000000..46ced799
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ja.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ko.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ko.png
new file mode 100644
index 00000000..674cfd0d
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.ko.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tw.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tw.png
new file mode 100644
index 00000000..338b5dde
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tw.png differ
diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.zh.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.zh.png
new file mode 100644
index 00000000..38cb70b3
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.zh.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png
new file mode 100644
index 00000000..e24da1be
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.fr.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.hk.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.hk.png
new file mode 100644
index 00000000..6d487cee
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.hk.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ja.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ja.png
new file mode 100644
index 00000000..6fdc24d4
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ja.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ko.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ko.png
new file mode 100644
index 00000000..ceeffa41
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.ko.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tw.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tw.png
new file mode 100644
index 00000000..41fd5f17
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tw.png differ
diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.zh.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.zh.png
new file mode 100644
index 00000000..ef675a83
Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.zh.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png
new file mode 100644
index 00000000..ca982942
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.fr.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.hk.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.hk.png
new file mode 100644
index 00000000..af81a5e6
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.hk.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ja.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ja.png
new file mode 100644
index 00000000..66266787
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ja.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ko.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ko.png
new file mode 100644
index 00000000..9f80ae99
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.ko.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tw.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tw.png
new file mode 100644
index 00000000..af81a5e6
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tw.png differ
diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.zh.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.zh.png
new file mode 100644
index 00000000..36ed2bc2
Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.zh.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png
new file mode 100644
index 00000000..d9680921
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.fr.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.hk.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.hk.png
new file mode 100644
index 00000000..32b7b09e
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.hk.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ja.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ja.png
new file mode 100644
index 00000000..ab4b2f2e
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ja.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ko.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ko.png
new file mode 100644
index 00000000..cd7f3185
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.ko.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tw.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tw.png
new file mode 100644
index 00000000..d86f2043
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tw.png differ
diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.zh.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.zh.png
new file mode 100644
index 00000000..759c6f3a
Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.zh.png differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg
new file mode 100644
index 00000000..1d9e3628
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.fr.jpg differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.hk.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.hk.jpg
new file mode 100644
index 00000000..d060d6d3
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.hk.jpg differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ja.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ja.jpg
new file mode 100644
index 00000000..d060d6d3
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ja.jpg differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ko.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ko.jpg
new file mode 100644
index 00000000..d060d6d3
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.ko.jpg differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tw.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tw.jpg
new file mode 100644
index 00000000..d060d6d3
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tw.jpg differ
diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.zh.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.zh.jpg
new file mode 100644
index 00000000..d060d6d3
Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.zh.jpg differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png
new file mode 100644
index 00000000..112325f9
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.fr.png differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.hk.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.hk.png
new file mode 100644
index 00000000..bc88c2d0
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.hk.png differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ja.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ja.png
new file mode 100644
index 00000000..8df8b673
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ja.png differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ko.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ko.png
new file mode 100644
index 00000000..dbe91903
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.ko.png differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tw.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tw.png
new file mode 100644
index 00000000..858c08e7
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tw.png differ
diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.zh.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.zh.png
new file mode 100644
index 00000000..e8cddfd5
Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.zh.png differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg
new file mode 100644
index 00000000..04950fd0
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.fr.jpg differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.hk.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.hk.jpg
new file mode 100644
index 00000000..ebec61ff
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.hk.jpg differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ja.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ja.jpg
new file mode 100644
index 00000000..46a7247a
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ja.jpg differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ko.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ko.jpg
new file mode 100644
index 00000000..ad669eb6
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.ko.jpg differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tw.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tw.jpg
new file mode 100644
index 00000000..a8719b65
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tw.jpg differ
diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.zh.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.zh.jpg
new file mode 100644
index 00000000..b61693f2
Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.zh.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg
new file mode 100644
index 00000000..efdca0c1
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.fr.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.hk.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.hk.jpg
new file mode 100644
index 00000000..cadd8517
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.hk.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ja.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ja.jpg
new file mode 100644
index 00000000..de0fe315
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ja.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ko.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ko.jpg
new file mode 100644
index 00000000..2725d4fd
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.ko.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tw.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tw.jpg
new file mode 100644
index 00000000..20632f12
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tw.jpg differ
diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.zh.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.zh.jpg
new file mode 100644
index 00000000..69569d5d
Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.zh.jpg differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png
new file mode 100644
index 00000000..f79b8934
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.fr.png differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.hk.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.hk.png
new file mode 100644
index 00000000..9648eb7a
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.hk.png differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ja.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ja.png
new file mode 100644
index 00000000..7932ee76
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ja.png differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ko.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ko.png
new file mode 100644
index 00000000..a98a81b8
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.ko.png differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tw.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tw.png
new file mode 100644
index 00000000..c8ed89fd
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tw.png differ
diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.zh.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.zh.png
new file mode 100644
index 00000000..e67d5d4b
Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.zh.png differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg
new file mode 100644
index 00000000..147d3c89
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.fr.jpg differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.hk.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.hk.jpg
new file mode 100644
index 00000000..543374a4
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.hk.jpg differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ja.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ja.jpg
new file mode 100644
index 00000000..c42310fd
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ja.jpg differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ko.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ko.jpg
new file mode 100644
index 00000000..a04f9e87
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.ko.jpg differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tw.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tw.jpg
new file mode 100644
index 00000000..543374a4
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tw.jpg differ
diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.zh.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.zh.jpg
new file mode 100644
index 00000000..53acfec3
Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.zh.jpg differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png
new file mode 100644
index 00000000..408631dd
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.fr.png differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.hk.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.hk.png
new file mode 100644
index 00000000..c6aa490e
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.hk.png differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ja.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ja.png
new file mode 100644
index 00000000..537dedbb
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ja.png differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ko.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ko.png
new file mode 100644
index 00000000..aa910760
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.ko.png differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tw.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tw.png
new file mode 100644
index 00000000..e8e22559
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tw.png differ
diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.zh.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.zh.png
new file mode 100644
index 00000000..e3cf00db
Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.zh.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png
new file mode 100644
index 00000000..290e3b19
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.fr.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.hk.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.hk.png
new file mode 100644
index 00000000..b8f9a3f7
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.hk.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ja.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ja.png
new file mode 100644
index 00000000..cfdd5385
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ja.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ko.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ko.png
new file mode 100644
index 00000000..fe3d8084
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.ko.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tw.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tw.png
new file mode 100644
index 00000000..133b28ff
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tw.png differ
diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.zh.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.zh.png
new file mode 100644
index 00000000..16083327
Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.zh.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png
new file mode 100644
index 00000000..aedd58ec
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.fr.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.hk.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.hk.png
new file mode 100644
index 00000000..c18c4f57
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.hk.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ja.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ja.png
new file mode 100644
index 00000000..84073d8f
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ja.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ko.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ko.png
new file mode 100644
index 00000000..b7df5efa
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.ko.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tw.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tw.png
new file mode 100644
index 00000000..d5aae5d2
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tw.png differ
diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.zh.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.zh.png
new file mode 100644
index 00000000..03a9d314
Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.zh.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png
new file mode 100644
index 00000000..5345f108
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.fr.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.hk.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.hk.png
new file mode 100644
index 00000000..36ad7727
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.hk.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ja.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ja.png
new file mode 100644
index 00000000..2d7c470b
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ja.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ko.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ko.png
new file mode 100644
index 00000000..8b3010ea
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.ko.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tw.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tw.png
new file mode 100644
index 00000000..1a35381f
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tw.png differ
diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.zh.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.zh.png
new file mode 100644
index 00000000..36ad7727
Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.zh.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png
new file mode 100644
index 00000000..3c58d71d
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.fr.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.hk.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.hk.png
new file mode 100644
index 00000000..bd7bd0b7
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.hk.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ja.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ja.png
new file mode 100644
index 00000000..1a17b7a3
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ja.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ko.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ko.png
new file mode 100644
index 00000000..3082f54d
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.ko.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tw.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tw.png
new file mode 100644
index 00000000..bd7bd0b7
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tw.png differ
diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.zh.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.zh.png
new file mode 100644
index 00000000..bd7bd0b7
Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.zh.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png
new file mode 100644
index 00000000..80eb1333
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.fr.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.hk.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.hk.png
new file mode 100644
index 00000000..2b1ba903
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.hk.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ja.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ja.png
new file mode 100644
index 00000000..b92fd26a
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ja.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ko.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ko.png
new file mode 100644
index 00000000..50091f6a
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.ko.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tw.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tw.png
new file mode 100644
index 00000000..2b1ba903
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tw.png differ
diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.zh.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.zh.png
new file mode 100644
index 00000000..d4e73043
Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.zh.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png
new file mode 100644
index 00000000..ce6d40bb
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.fr.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.hk.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.hk.png
new file mode 100644
index 00000000..9dd0adb1
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.hk.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ja.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ja.png
new file mode 100644
index 00000000..7d13a479
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ja.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ko.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ko.png
new file mode 100644
index 00000000..eacf6462
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.ko.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tw.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tw.png
new file mode 100644
index 00000000..9dd0adb1
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tw.png differ
diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.zh.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.zh.png
new file mode 100644
index 00000000..7d13a479
Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.zh.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png
new file mode 100644
index 00000000..9031201c
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.fr.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.hk.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.hk.png
new file mode 100644
index 00000000..cafa5991
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.hk.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ja.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ja.png
new file mode 100644
index 00000000..91ce2584
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ja.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ko.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ko.png
new file mode 100644
index 00000000..f6f3b816
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.ko.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tw.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tw.png
new file mode 100644
index 00000000..edf16ac6
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tw.png differ
diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.zh.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.zh.png
new file mode 100644
index 00000000..dda5de01
Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.zh.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png
new file mode 100644
index 00000000..427ef6fe
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.fr.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.hk.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.hk.png
new file mode 100644
index 00000000..11f7f5cf
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.hk.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ja.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ja.png
new file mode 100644
index 00000000..6534f5c8
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ja.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ko.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ko.png
new file mode 100644
index 00000000..80e63878
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.ko.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tw.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tw.png
new file mode 100644
index 00000000..043998c4
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tw.png differ
diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.zh.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.zh.png
new file mode 100644
index 00000000..20f85d93
Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.zh.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png
new file mode 100644
index 00000000..49bade81
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.fr.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.hk.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.hk.png
new file mode 100644
index 00000000..2a8f6bed
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.hk.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ja.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ja.png
new file mode 100644
index 00000000..e7dce7aa
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ja.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ko.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ko.png
new file mode 100644
index 00000000..79d8e3d9
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.ko.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tw.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tw.png
new file mode 100644
index 00000000..d58166b8
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tw.png differ
diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.zh.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.zh.png
new file mode 100644
index 00000000..fd4f7347
Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.zh.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png
new file mode 100644
index 00000000..f7bb8733
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.fr.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.hk.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.hk.png
new file mode 100644
index 00000000..a6af4f5b
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.hk.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ja.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ja.png
new file mode 100644
index 00000000..3ffa9e9f
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ja.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ko.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ko.png
new file mode 100644
index 00000000..05a5b123
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.ko.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tw.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tw.png
new file mode 100644
index 00000000..e52633c7
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tw.png differ
diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.zh.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.zh.png
new file mode 100644
index 00000000..38901b4e
Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.zh.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png
new file mode 100644
index 00000000..f3a408ef
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.fr.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.hk.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.hk.png
new file mode 100644
index 00000000..39a3106a
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.hk.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ja.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ja.png
new file mode 100644
index 00000000..6e2a1d10
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ja.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ko.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ko.png
new file mode 100644
index 00000000..644b88d5
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.ko.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tw.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tw.png
new file mode 100644
index 00000000..afead018
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tw.png differ
diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.zh.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.zh.png
new file mode 100644
index 00000000..2687c9a0
Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.zh.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.fr.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.hk.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.hk.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.hk.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ja.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ja.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ja.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ko.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ko.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.ko.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tw.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tw.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tw.png differ
diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.zh.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.zh.png
new file mode 100644
index 00000000..ccc99767
Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.zh.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png
new file mode 100644
index 00000000..456ce032
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.fr.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.hk.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.hk.png
new file mode 100644
index 00000000..060c3a10
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.hk.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ja.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ja.png
new file mode 100644
index 00000000..2a58c88f
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ja.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ko.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ko.png
new file mode 100644
index 00000000..cfe247b7
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.ko.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tw.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tw.png
new file mode 100644
index 00000000..995fd6b9
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tw.png differ
diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.zh.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.zh.png
new file mode 100644
index 00000000..ffbb8c44
Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.zh.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.fr.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.hk.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.hk.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.hk.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ja.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ja.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ja.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ko.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ko.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.ko.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tw.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tw.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tw.png differ
diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.zh.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.zh.png
new file mode 100644
index 00000000..f2d0f317
Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.zh.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png
new file mode 100644
index 00000000..4b782c37
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.fr.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.hk.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.hk.png
new file mode 100644
index 00000000..7d84a1e0
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.hk.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ja.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ja.png
new file mode 100644
index 00000000..d4c71e07
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ja.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ko.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ko.png
new file mode 100644
index 00000000..fe6238ab
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.ko.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tw.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tw.png
new file mode 100644
index 00000000..7d84a1e0
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tw.png differ
diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.zh.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.zh.png
new file mode 100644
index 00000000..06f56ea8
Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.zh.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.fr.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.hk.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.hk.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.hk.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ja.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ja.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ja.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ko.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ko.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.ko.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tw.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tw.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tw.png differ
diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.zh.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.zh.png
new file mode 100644
index 00000000..e48b0151
Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.zh.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png
new file mode 100644
index 00000000..cc1eba8f
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.fr.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.hk.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.hk.png
new file mode 100644
index 00000000..40adc2dc
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.hk.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ja.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ja.png
new file mode 100644
index 00000000..7c6d2e16
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ja.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ko.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ko.png
new file mode 100644
index 00000000..204736fb
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.ko.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tw.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tw.png
new file mode 100644
index 00000000..40adc2dc
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tw.png differ
diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.zh.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.zh.png
new file mode 100644
index 00000000..7007fe5c
Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.zh.png 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
new file mode 100644
index 00000000..d2e18463
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.fr.png differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.hk.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.hk.png
new file mode 100644
index 00000000..76fd630e
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.hk.png differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ja.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ja.png
new file mode 100644
index 00000000..c59b0153
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ja.png differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ko.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ko.png
new file mode 100644
index 00000000..a61b5aeb
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.ko.png differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tw.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tw.png
new file mode 100644
index 00000000..61c82550
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tw.png differ
diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.zh.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.zh.png
new file mode 100644
index 00000000..15adaea4
Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.zh.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png
new file mode 100644
index 00000000..f4b851a8
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.fr.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.hk.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.hk.png
new file mode 100644
index 00000000..f0acd476
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.hk.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ja.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ja.png
new file mode 100644
index 00000000..0d094913
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ja.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ko.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ko.png
new file mode 100644
index 00000000..91c9a35c
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.ko.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tw.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tw.png
new file mode 100644
index 00000000..ec2fe758
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tw.png differ
diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.zh.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.zh.png
new file mode 100644
index 00000000..bb3ffec3
Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.zh.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png
new file mode 100644
index 00000000..bcfec65b
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.fr.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.hk.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.hk.png
new file mode 100644
index 00000000..dee56712
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.hk.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ja.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ja.png
new file mode 100644
index 00000000..9c107cd1
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ja.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ko.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ko.png
new file mode 100644
index 00000000..4621d831
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.ko.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tw.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tw.png
new file mode 100644
index 00000000..b861e925
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tw.png differ
diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.zh.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.zh.png
new file mode 100644
index 00000000..734ad499
Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.zh.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png
new file mode 100644
index 00000000..75f6256d
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.fr.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.hk.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.hk.png
new file mode 100644
index 00000000..72f74192
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.hk.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ja.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ja.png
new file mode 100644
index 00000000..b5e8131f
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ja.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ko.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ko.png
new file mode 100644
index 00000000..430cf994
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.ko.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tw.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tw.png
new file mode 100644
index 00000000..15e0053b
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tw.png differ
diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.zh.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.zh.png
new file mode 100644
index 00000000..1d3e4423
Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.zh.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png
new file mode 100644
index 00000000..e109b4c9
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.fr.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.hk.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.hk.png
new file mode 100644
index 00000000..06e552f3
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.hk.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ja.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ja.png
new file mode 100644
index 00000000..d00233ae
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ja.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ko.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ko.png
new file mode 100644
index 00000000..06e552f3
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.ko.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tw.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tw.png
new file mode 100644
index 00000000..06e552f3
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tw.png differ
diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.zh.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.zh.png
new file mode 100644
index 00000000..06e552f3
Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.zh.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png
new file mode 100644
index 00000000..5c782d20
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.fr.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.hk.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.hk.png
new file mode 100644
index 00000000..16c90210
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.hk.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ja.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ja.png
new file mode 100644
index 00000000..76e6e506
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ja.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ko.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ko.png
new file mode 100644
index 00000000..4e8e8c11
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.ko.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tw.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tw.png
new file mode 100644
index 00000000..16c90210
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tw.png differ
diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.zh.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.zh.png
new file mode 100644
index 00000000..fa649d36
Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.zh.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png
new file mode 100644
index 00000000..eda025f6
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.fr.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.hk.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.hk.png
new file mode 100644
index 00000000..0b9166c1
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.hk.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ja.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ja.png
new file mode 100644
index 00000000..ab5ff3bd
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ja.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ko.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ko.png
new file mode 100644
index 00000000..3d8fc5cc
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.ko.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tw.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tw.png
new file mode 100644
index 00000000..15e6d451
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tw.png differ
diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.zh.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.zh.png
new file mode 100644
index 00000000..66191ad1
Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.zh.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png
new file mode 100644
index 00000000..fade35ca
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.fr.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.hk.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.hk.png
new file mode 100644
index 00000000..f029147c
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.hk.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ja.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ja.png
new file mode 100644
index 00000000..4c8ca941
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ja.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ko.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ko.png
new file mode 100644
index 00000000..3ac09712
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.ko.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tw.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tw.png
new file mode 100644
index 00000000..ee40717c
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tw.png differ
diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.zh.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.zh.png
new file mode 100644
index 00000000..eaa20e34
Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.zh.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png
new file mode 100644
index 00000000..3c237683
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.fr.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.hk.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.hk.png
new file mode 100644
index 00000000..64059948
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.hk.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ja.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ja.png
new file mode 100644
index 00000000..88e0ce56
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ja.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ko.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ko.png
new file mode 100644
index 00000000..38d65fcc
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.ko.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tw.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tw.png
new file mode 100644
index 00000000..d1ec7eca
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tw.png differ
diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.zh.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.zh.png
new file mode 100644
index 00000000..da72fdce
Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.zh.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png
new file mode 100644
index 00000000..322025b5
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.fr.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.hk.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.hk.png
new file mode 100644
index 00000000..a83c23d3
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.hk.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ja.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ja.png
new file mode 100644
index 00000000..7c071d23
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ja.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ko.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ko.png
new file mode 100644
index 00000000..e828e7b3
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.ko.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tw.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tw.png
new file mode 100644
index 00000000..b6f763ef
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tw.png differ
diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.zh.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.zh.png
new file mode 100644
index 00000000..852a72d5
Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.zh.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png
new file mode 100644
index 00000000..95963b83
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.fr.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.hk.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.hk.png
new file mode 100644
index 00000000..6ad0f04d
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.hk.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ja.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ja.png
new file mode 100644
index 00000000..4e3489b7
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ja.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ko.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ko.png
new file mode 100644
index 00000000..cd62b990
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.ko.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tw.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tw.png
new file mode 100644
index 00000000..58bc4c77
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tw.png differ
diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.zh.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.zh.png
new file mode 100644
index 00000000..b2df6642
Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.zh.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.fr.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.hk.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.hk.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.hk.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ja.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ja.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ja.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ko.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ko.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.ko.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tw.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tw.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tw.png differ
diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.zh.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.zh.png
new file mode 100644
index 00000000..26e0ae43
Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.zh.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png
new file mode 100644
index 00000000..73e6f587
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.fr.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.hk.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.hk.png
new file mode 100644
index 00000000..e3386085
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.hk.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ja.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ja.png
new file mode 100644
index 00000000..92aceff8
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ja.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ko.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ko.png
new file mode 100644
index 00000000..b06cc4c7
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.ko.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tw.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tw.png
new file mode 100644
index 00000000..e3386085
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tw.png differ
diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.zh.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.zh.png
new file mode 100644
index 00000000..37a23a6b
Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.zh.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png
new file mode 100644
index 00000000..ac2007db
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.fr.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.hk.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.hk.png
new file mode 100644
index 00000000..0fa4cc90
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.hk.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ja.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ja.png
new file mode 100644
index 00000000..948c83b6
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ja.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ko.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ko.png
new file mode 100644
index 00000000..300f8565
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.ko.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tw.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tw.png
new file mode 100644
index 00000000..94f781c3
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tw.png differ
diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.zh.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.zh.png
new file mode 100644
index 00000000..ee6f3775
Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.zh.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png
new file mode 100644
index 00000000..9bfd8617
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.fr.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.hk.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.hk.png
new file mode 100644
index 00000000..1ab114b3
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.hk.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ja.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ja.png
new file mode 100644
index 00000000..2517a1b0
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ja.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ko.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ko.png
new file mode 100644
index 00000000..7ab128ae
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.ko.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tw.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tw.png
new file mode 100644
index 00000000..3da52ea8
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tw.png differ
diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.zh.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.zh.png
new file mode 100644
index 00000000..99cb56d5
Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.zh.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png
new file mode 100644
index 00000000..a4a86c50
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.fr.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.hk.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.hk.png
new file mode 100644
index 00000000..56f5f819
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.hk.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ja.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ja.png
new file mode 100644
index 00000000..fdee1fe5
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ja.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ko.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ko.png
new file mode 100644
index 00000000..77b59d74
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.ko.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tw.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tw.png
new file mode 100644
index 00000000..56f5f819
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tw.png differ
diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.zh.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.zh.png
new file mode 100644
index 00000000..a5d4a3ee
Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.zh.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png
new file mode 100644
index 00000000..d93fc22b
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.fr.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.hk.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.hk.png
new file mode 100644
index 00000000..74975d7e
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.hk.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ja.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ja.png
new file mode 100644
index 00000000..7cbf220c
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ja.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ko.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ko.png
new file mode 100644
index 00000000..6cade81c
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.ko.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tw.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tw.png
new file mode 100644
index 00000000..2554b59d
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tw.png differ
diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.zh.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.zh.png
new file mode 100644
index 00000000..b5545af4
Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.zh.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png
new file mode 100644
index 00000000..5a586d18
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.fr.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.hk.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.hk.png
new file mode 100644
index 00000000..4365fce3
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.hk.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ja.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ja.png
new file mode 100644
index 00000000..dab0e404
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ja.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ko.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ko.png
new file mode 100644
index 00000000..127c9743
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.ko.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tw.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tw.png
new file mode 100644
index 00000000..cc5bd200
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tw.png differ
diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.zh.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.zh.png
new file mode 100644
index 00000000..90f6695b
Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.zh.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png
new file mode 100644
index 00000000..371cf420
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.fr.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.hk.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.hk.png
new file mode 100644
index 00000000..e967fe98
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.hk.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ja.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ja.png
new file mode 100644
index 00000000..9973ca43
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ja.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ko.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ko.png
new file mode 100644
index 00000000..b58431b4
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.ko.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tw.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tw.png
new file mode 100644
index 00000000..e967fe98
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tw.png differ
diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.zh.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.zh.png
new file mode 100644
index 00000000..b58431b4
Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.zh.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png
new file mode 100644
index 00000000..2b3a87a2
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.fr.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.hk.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.hk.png
new file mode 100644
index 00000000..d692c8f6
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.hk.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ja.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ja.png
new file mode 100644
index 00000000..1ba16a73
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ja.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ko.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ko.png
new file mode 100644
index 00000000..ebcbb579
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.ko.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tw.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tw.png
new file mode 100644
index 00000000..b4f75dbe
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tw.png differ
diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.zh.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.zh.png
new file mode 100644
index 00000000..5c76e9b5
Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.zh.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png
new file mode 100644
index 00000000..a7dd72c3
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.fr.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.hk.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.hk.png
new file mode 100644
index 00000000..d212f8bb
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.hk.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ja.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ja.png
new file mode 100644
index 00000000..94b15f79
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ja.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ko.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ko.png
new file mode 100644
index 00000000..5545cb0b
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.ko.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tw.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tw.png
new file mode 100644
index 00000000..cfb82fea
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tw.png differ
diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.zh.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.zh.png
new file mode 100644
index 00000000..fb3caaa8
Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.zh.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png
new file mode 100644
index 00000000..3731ab08
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.fr.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.hk.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.hk.png
new file mode 100644
index 00000000..755a997b
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.hk.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ja.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ja.png
new file mode 100644
index 00000000..bb5b0129
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ja.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ko.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ko.png
new file mode 100644
index 00000000..7d35b42d
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.ko.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tw.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tw.png
new file mode 100644
index 00000000..8363c3d9
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tw.png differ
diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.zh.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.zh.png
new file mode 100644
index 00000000..7fe9e7e8
Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.zh.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png
new file mode 100644
index 00000000..209dc536
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.fr.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.hk.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.hk.png
new file mode 100644
index 00000000..7185d60c
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.hk.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ja.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ja.png
new file mode 100644
index 00000000..029bf96e
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ja.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ko.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ko.png
new file mode 100644
index 00000000..5e6a972e
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.ko.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tw.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tw.png
new file mode 100644
index 00000000..7185d60c
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tw.png differ
diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.zh.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.zh.png
new file mode 100644
index 00000000..60f2c209
Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.zh.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png
new file mode 100644
index 00000000..1131752d
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.fr.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.hk.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.hk.png
new file mode 100644
index 00000000..ba1b8340
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.hk.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ja.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ja.png
new file mode 100644
index 00000000..26d06926
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ja.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ko.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ko.png
new file mode 100644
index 00000000..95f2cfdc
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.ko.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tw.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tw.png
new file mode 100644
index 00000000..b7d98627
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tw.png differ
diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.zh.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.zh.png
new file mode 100644
index 00000000..f94fe8cf
Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.zh.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png
new file mode 100644
index 00000000..d037fc3a
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.fr.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.hk.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.hk.png
new file mode 100644
index 00000000..1470a708
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.hk.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ja.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ja.png
new file mode 100644
index 00000000..c661c2b3
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ja.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ko.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ko.png
new file mode 100644
index 00000000..59074699
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.ko.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tw.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tw.png
new file mode 100644
index 00000000..1470a708
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tw.png differ
diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.zh.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.zh.png
new file mode 100644
index 00000000..bb2c1536
Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.zh.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png
new file mode 100644
index 00000000..ccd602ff
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.fr.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.hk.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.hk.png
new file mode 100644
index 00000000..2486d883
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.hk.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ja.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ja.png
new file mode 100644
index 00000000..b78cb4a9
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ja.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ko.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ko.png
new file mode 100644
index 00000000..c3fd4981
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.ko.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tw.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tw.png
new file mode 100644
index 00000000..fc3f9079
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tw.png differ
diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.zh.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.zh.png
new file mode 100644
index 00000000..683af072
Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.zh.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png
new file mode 100644
index 00000000..ccd602ff
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.fr.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.hk.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.hk.png
new file mode 100644
index 00000000..478c6d18
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.hk.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ja.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ja.png
new file mode 100644
index 00000000..3cf7632d
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ja.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ko.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ko.png
new file mode 100644
index 00000000..c3fd4981
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.ko.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tw.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tw.png
new file mode 100644
index 00000000..01019351
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tw.png differ
diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.zh.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.zh.png
new file mode 100644
index 00000000..683af072
Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.zh.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png
new file mode 100644
index 00000000..848da812
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.fr.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.hk.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.hk.png
new file mode 100644
index 00000000..b6db1a8d
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.hk.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ja.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ja.png
new file mode 100644
index 00000000..a4b36008
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ja.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ko.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ko.png
new file mode 100644
index 00000000..091d8349
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.ko.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tw.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tw.png
new file mode 100644
index 00000000..cc30b7e0
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tw.png differ
diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.zh.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.zh.png
new file mode 100644
index 00000000..d6cbffbc
Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.zh.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png
new file mode 100644
index 00000000..e55356e5
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.fr.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.hk.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.hk.png
new file mode 100644
index 00000000..a7e78dbf
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.hk.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ja.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ja.png
new file mode 100644
index 00000000..a0d4b8c6
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ja.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ko.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ko.png
new file mode 100644
index 00000000..69cf841b
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.ko.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tw.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tw.png
new file mode 100644
index 00000000..a7e78dbf
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tw.png differ
diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.zh.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.zh.png
new file mode 100644
index 00000000..5dcb8bff
Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.zh.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png
new file mode 100644
index 00000000..0aebc5b7
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.fr.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.hk.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.hk.png
new file mode 100644
index 00000000..8ab92954
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.hk.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ja.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ja.png
new file mode 100644
index 00000000..79e2d80c
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ja.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ko.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ko.png
new file mode 100644
index 00000000..66d432e6
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.ko.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tw.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tw.png
new file mode 100644
index 00000000..686d8375
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tw.png differ
diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.zh.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.zh.png
new file mode 100644
index 00000000..7b44b3f8
Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.zh.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png
new file mode 100644
index 00000000..99356908
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.fr.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.hk.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.hk.png
new file mode 100644
index 00000000..ff1fe827
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.hk.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ja.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ja.png
new file mode 100644
index 00000000..0ada11f6
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ja.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ko.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ko.png
new file mode 100644
index 00000000..2c6c06a6
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.ko.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tw.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tw.png
new file mode 100644
index 00000000..ff1fe827
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tw.png differ
diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.zh.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.zh.png
new file mode 100644
index 00000000..72ae48ea
Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.zh.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png
new file mode 100644
index 00000000..deaca8a5
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.fr.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.hk.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.hk.png
new file mode 100644
index 00000000..ed14449d
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.hk.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ja.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ja.png
new file mode 100644
index 00000000..1ecc19e3
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ja.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ko.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ko.png
new file mode 100644
index 00000000..a3bff719
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.ko.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tw.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tw.png
new file mode 100644
index 00000000..a7603c57
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tw.png differ
diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.zh.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.zh.png
new file mode 100644
index 00000000..de94f697
Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.zh.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png
new file mode 100644
index 00000000..74e41fb6
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.fr.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.hk.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.hk.png
new file mode 100644
index 00000000..3603af4e
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.hk.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ja.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ja.png
new file mode 100644
index 00000000..28e9bd24
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ja.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ko.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ko.png
new file mode 100644
index 00000000..691dfb46
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.ko.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tw.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tw.png
new file mode 100644
index 00000000..3603af4e
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tw.png differ
diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.zh.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.zh.png
new file mode 100644
index 00000000..521bb805
Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.zh.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png
new file mode 100644
index 00000000..eaa3be8d
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.fr.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.hk.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.hk.png
new file mode 100644
index 00000000..dc4a1384
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.hk.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ja.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ja.png
new file mode 100644
index 00000000..df2de977
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ja.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ko.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ko.png
new file mode 100644
index 00000000..b3ed18a7
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.ko.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tw.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tw.png
new file mode 100644
index 00000000..dc4a1384
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tw.png differ
diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.zh.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.zh.png
new file mode 100644
index 00000000..0ba47743
Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.zh.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.fr.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.hk.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.hk.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.hk.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ja.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ja.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ja.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ko.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ko.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.ko.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tw.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tw.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tw.png differ
diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.zh.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.zh.png
new file mode 100644
index 00000000..0c37ab05
Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.zh.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.fr.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.hk.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.hk.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.hk.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ja.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ja.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ja.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ko.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ko.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.ko.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tw.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tw.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tw.png differ
diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.zh.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.zh.png
new file mode 100644
index 00000000..72f5a3e4
Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.zh.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png
new file mode 100644
index 00000000..cbcfe19f
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.fr.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.hk.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.hk.png
new file mode 100644
index 00000000..229fc27e
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.hk.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ja.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ja.png
new file mode 100644
index 00000000..54e61d4c
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ja.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ko.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ko.png
new file mode 100644
index 00000000..d655e08b
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.ko.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tw.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tw.png
new file mode 100644
index 00000000..ae6f4d1e
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tw.png differ
diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.zh.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.zh.png
new file mode 100644
index 00000000..ce3f835e
Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.zh.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png
new file mode 100644
index 00000000..6da7428f
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.fr.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.hk.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.hk.png
new file mode 100644
index 00000000..a4abd941
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.hk.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ja.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ja.png
new file mode 100644
index 00000000..6adc5348
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ja.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ko.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ko.png
new file mode 100644
index 00000000..3e7f8077
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.ko.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tw.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tw.png
new file mode 100644
index 00000000..33cf09ba
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tw.png differ
diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.zh.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.zh.png
new file mode 100644
index 00000000..651c3ddf
Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.zh.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png
new file mode 100644
index 00000000..7796e784
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.fr.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.hk.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.hk.png
new file mode 100644
index 00000000..13b72e41
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.hk.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ja.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ja.png
new file mode 100644
index 00000000..5d9edb54
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ja.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ko.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ko.png
new file mode 100644
index 00000000..7eef86d0
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.ko.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tw.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tw.png
new file mode 100644
index 00000000..13b72e41
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tw.png differ
diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.zh.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.zh.png
new file mode 100644
index 00000000..9b087a12
Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.zh.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png
new file mode 100644
index 00000000..84afbdb6
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.fr.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.hk.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.hk.png
new file mode 100644
index 00000000..96df1a8e
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.hk.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ja.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ja.png
new file mode 100644
index 00000000..2869000f
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ja.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ko.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ko.png
new file mode 100644
index 00000000..c2968f59
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.ko.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tw.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tw.png
new file mode 100644
index 00000000..bca767b9
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tw.png differ
diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.zh.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.zh.png
new file mode 100644
index 00000000..868078d5
Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.zh.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png
new file mode 100644
index 00000000..6ee9941e
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.fr.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.hk.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.hk.png
new file mode 100644
index 00000000..85d8713d
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.hk.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ja.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ja.png
new file mode 100644
index 00000000..9a269eea
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ja.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ko.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ko.png
new file mode 100644
index 00000000..a6b9cd73
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.ko.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tw.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tw.png
new file mode 100644
index 00000000..0fbe0948
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tw.png differ
diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.zh.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.zh.png
new file mode 100644
index 00000000..038a08b3
Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.zh.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png
new file mode 100644
index 00000000..8eaf91ae
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.fr.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.hk.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.hk.png
new file mode 100644
index 00000000..eb978c42
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.hk.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ja.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ja.png
new file mode 100644
index 00000000..2b86a47d
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ja.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ko.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ko.png
new file mode 100644
index 00000000..5baed4ab
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.ko.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tw.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tw.png
new file mode 100644
index 00000000..1276edb5
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tw.png differ
diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.zh.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.zh.png
new file mode 100644
index 00000000..eb978c42
Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.zh.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png
new file mode 100644
index 00000000..f6f41ba5
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.fr.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.hk.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.hk.png
new file mode 100644
index 00000000..8b89d586
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.hk.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ja.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ja.png
new file mode 100644
index 00000000..cd094f09
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ja.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ko.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ko.png
new file mode 100644
index 00000000..53e222ce
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.ko.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tw.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tw.png
new file mode 100644
index 00000000..8b89d586
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tw.png differ
diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.zh.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.zh.png
new file mode 100644
index 00000000..8b89d586
Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.zh.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png
new file mode 100644
index 00000000..c67abaf3
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.fr.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.hk.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.hk.png
new file mode 100644
index 00000000..112ea05a
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.hk.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ja.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ja.png
new file mode 100644
index 00000000..268b5777
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ja.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ko.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ko.png
new file mode 100644
index 00000000..c6ad5134
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.ko.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tw.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tw.png
new file mode 100644
index 00000000..112ea05a
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tw.png differ
diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.zh.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.zh.png
new file mode 100644
index 00000000..112ea05a
Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.zh.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png
new file mode 100644
index 00000000..69a31562
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.fr.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.hk.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.hk.png
new file mode 100644
index 00000000..24b5bc5a
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.hk.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ja.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ja.png
new file mode 100644
index 00000000..8a25cc1b
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ja.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ko.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ko.png
new file mode 100644
index 00000000..e1022662
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.ko.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tw.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tw.png
new file mode 100644
index 00000000..24b5bc5a
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tw.png differ
diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.zh.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.zh.png
new file mode 100644
index 00000000..24b5bc5a
Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.zh.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png
new file mode 100644
index 00000000..2776b1be
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.fr.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.hk.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.hk.png
new file mode 100644
index 00000000..8a73d16f
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.hk.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ja.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ja.png
new file mode 100644
index 00000000..a68bdbc5
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ja.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ko.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ko.png
new file mode 100644
index 00000000..cc9fffa6
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.ko.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tw.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tw.png
new file mode 100644
index 00000000..7d9521e5
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tw.png differ
diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.zh.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.zh.png
new file mode 100644
index 00000000..3cacb8d8
Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.zh.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png
new file mode 100644
index 00000000..276636a0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.fr.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.hk.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.hk.png
new file mode 100644
index 00000000..5d0270d0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.hk.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ja.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ja.png
new file mode 100644
index 00000000..5d0270d0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ja.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ko.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ko.png
new file mode 100644
index 00000000..5d0270d0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.ko.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tw.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tw.png
new file mode 100644
index 00000000..5d0270d0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tw.png differ
diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.zh.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.zh.png
new file mode 100644
index 00000000..5d0270d0
Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.zh.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png
new file mode 100644
index 00000000..108dc0c2
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.fr.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.hk.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.hk.png
new file mode 100644
index 00000000..5fd1b138
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.hk.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ja.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ja.png
new file mode 100644
index 00000000..c540bac6
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ja.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ko.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ko.png
new file mode 100644
index 00000000..7bf412d1
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.ko.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tw.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tw.png
new file mode 100644
index 00000000..e92cc04e
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tw.png differ
diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.zh.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.zh.png
new file mode 100644
index 00000000..cdfad37a
Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.zh.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png
new file mode 100644
index 00000000..200640c0
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.fr.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.hk.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.hk.png
new file mode 100644
index 00000000..f34a190b
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.hk.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ja.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ja.png
new file mode 100644
index 00000000..cad97177
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ja.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ko.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ko.png
new file mode 100644
index 00000000..7bf412d1
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.ko.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tw.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tw.png
new file mode 100644
index 00000000..73e434e4
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tw.png differ
diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.zh.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.zh.png
new file mode 100644
index 00000000..d8811ec3
Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.zh.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png
new file mode 100644
index 00000000..e4eae7e3
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.fr.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.hk.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.hk.png
new file mode 100644
index 00000000..19b39d91
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.hk.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ja.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ja.png
new file mode 100644
index 00000000..6602a9f8
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ja.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ko.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ko.png
new file mode 100644
index 00000000..82d64b8d
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.ko.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tw.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tw.png
new file mode 100644
index 00000000..19b39d91
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tw.png differ
diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.zh.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.zh.png
new file mode 100644
index 00000000..1ddbd24b
Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.zh.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.fr.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.hk.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.hk.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.hk.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ja.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ja.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ja.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ko.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ko.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.ko.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tw.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tw.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tw.png differ
diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.zh.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.zh.png
new file mode 100644
index 00000000..e7ecbae7
Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.zh.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png
new file mode 100644
index 00000000..ae8ec06a
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.fr.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.hk.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.hk.png
new file mode 100644
index 00000000..9a3c0f83
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.hk.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ja.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ja.png
new file mode 100644
index 00000000..f81960ac
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ja.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ko.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ko.png
new file mode 100644
index 00000000..3375e1f4
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.ko.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tw.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tw.png
new file mode 100644
index 00000000..157b4017
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tw.png differ
diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.zh.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.zh.png
new file mode 100644
index 00000000..d3b9baa0
Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.zh.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png
new file mode 100644
index 00000000..0dfe8167
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.fr.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.hk.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.hk.png
new file mode 100644
index 00000000..d31ae567
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.hk.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ja.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ja.png
new file mode 100644
index 00000000..88b57321
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ja.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ko.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ko.png
new file mode 100644
index 00000000..a26523e3
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.ko.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tw.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tw.png
new file mode 100644
index 00000000..c144f6cf
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tw.png differ
diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.zh.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.zh.png
new file mode 100644
index 00000000..228dc3d4
Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.zh.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png
new file mode 100644
index 00000000..9985f4ad
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.fr.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.hk.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.hk.png
new file mode 100644
index 00000000..0d815968
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.hk.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ja.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ja.png
new file mode 100644
index 00000000..c4e5776f
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ja.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ko.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ko.png
new file mode 100644
index 00000000..8342842a
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.ko.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tw.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tw.png
new file mode 100644
index 00000000..af174ba3
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tw.png differ
diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.zh.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.zh.png
new file mode 100644
index 00000000..f2f3d706
Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.zh.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png
new file mode 100644
index 00000000..cdc89fb9
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.fr.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.hk.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.hk.png
new file mode 100644
index 00000000..ef40c5d5
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.hk.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ja.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ja.png
new file mode 100644
index 00000000..0897a3c4
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ja.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ko.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ko.png
new file mode 100644
index 00000000..1d9f49be
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.ko.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tw.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tw.png
new file mode 100644
index 00000000..963e95f4
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tw.png differ
diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.zh.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.zh.png
new file mode 100644
index 00000000..a9c9b3d3
Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.zh.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png
new file mode 100644
index 00000000..d16f8586
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.fr.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.hk.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.hk.png
new file mode 100644
index 00000000..1c6a9add
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.hk.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ja.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ja.png
new file mode 100644
index 00000000..5d14bcf4
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ja.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ko.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ko.png
new file mode 100644
index 00000000..6cb098b3
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.ko.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tw.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tw.png
new file mode 100644
index 00000000..bfab585f
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tw.png differ
diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.zh.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.zh.png
new file mode 100644
index 00000000..7fc25614
Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.zh.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png
new file mode 100644
index 00000000..380ad975
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.fr.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.hk.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.hk.png
new file mode 100644
index 00000000..c9a7e65e
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.hk.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ja.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ja.png
new file mode 100644
index 00000000..854c3eda
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ja.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ko.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ko.png
new file mode 100644
index 00000000..0a5c0bbe
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.ko.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tw.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tw.png
new file mode 100644
index 00000000..3a900b84
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tw.png differ
diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.zh.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.zh.png
new file mode 100644
index 00000000..099bdfde
Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.zh.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png
new file mode 100644
index 00000000..b6e2a23f
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.fr.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.hk.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.hk.png
new file mode 100644
index 00000000..b79e4816
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.hk.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ja.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ja.png
new file mode 100644
index 00000000..c992a672
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ja.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ko.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ko.png
new file mode 100644
index 00000000..405cfb4d
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.ko.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tw.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tw.png
new file mode 100644
index 00000000..b79e4816
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tw.png differ
diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.zh.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.zh.png
new file mode 100644
index 00000000..82444407
Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.zh.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.fr.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.hk.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.hk.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.hk.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ja.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ja.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ja.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ko.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ko.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.ko.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tw.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tw.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tw.png differ
diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.zh.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.zh.png
new file mode 100644
index 00000000..420674b6
Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.zh.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png
new file mode 100644
index 00000000..9ac8723a
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.fr.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.hk.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.hk.png
new file mode 100644
index 00000000..0c37ec86
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.hk.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ja.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ja.png
new file mode 100644
index 00000000..f7d05db3
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ja.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ko.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ko.png
new file mode 100644
index 00000000..0ec9f5fa
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.ko.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tw.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tw.png
new file mode 100644
index 00000000..77373583
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tw.png differ
diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.zh.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.zh.png
new file mode 100644
index 00000000..902edc21
Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.zh.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png
new file mode 100644
index 00000000..046b7073
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.fr.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.hk.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.hk.png
new file mode 100644
index 00000000..f83bfe66
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.hk.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ja.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ja.png
new file mode 100644
index 00000000..7c79e7a0
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ja.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ko.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ko.png
new file mode 100644
index 00000000..af61a985
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.ko.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tw.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tw.png
new file mode 100644
index 00000000..c7c6717a
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tw.png differ
diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.zh.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.zh.png
new file mode 100644
index 00000000..d3fc0ed2
Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.zh.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png
new file mode 100644
index 00000000..457b8669
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.fr.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.hk.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.hk.png
new file mode 100644
index 00000000..7402927d
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.hk.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ja.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ja.png
new file mode 100644
index 00000000..72d199bd
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ja.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ko.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ko.png
new file mode 100644
index 00000000..ad72f4d4
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.ko.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tw.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tw.png
new file mode 100644
index 00000000..ccc0b42b
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tw.png differ
diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.zh.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.zh.png
new file mode 100644
index 00000000..297faab8
Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.zh.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.fr.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.hk.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.hk.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.hk.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ja.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ja.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ja.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ko.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ko.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.ko.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tw.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tw.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tw.png differ
diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.zh.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.zh.png
new file mode 100644
index 00000000..462346a6
Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.zh.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png
new file mode 100644
index 00000000..54bcf067
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.fr.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.hk.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.hk.png
new file mode 100644
index 00000000..1e5eedfa
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.hk.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ja.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ja.png
new file mode 100644
index 00000000..8f7998c1
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ja.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ko.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ko.png
new file mode 100644
index 00000000..7b9a6bf5
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.ko.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tw.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tw.png
new file mode 100644
index 00000000..55b4c3cf
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tw.png differ
diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.zh.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.zh.png
new file mode 100644
index 00000000..c6a8900e
Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.zh.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png
new file mode 100644
index 00000000..f34da329
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.fr.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.hk.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.hk.png
new file mode 100644
index 00000000..5be197da
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.hk.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ja.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ja.png
new file mode 100644
index 00000000..613500e9
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ja.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ko.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ko.png
new file mode 100644
index 00000000..72dd6c4f
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.ko.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tw.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tw.png
new file mode 100644
index 00000000..5be197da
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tw.png differ
diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.zh.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.zh.png
new file mode 100644
index 00000000..3d2129bd
Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.zh.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png
new file mode 100644
index 00000000..9dfe2abe
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.fr.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.hk.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.hk.png
new file mode 100644
index 00000000..73c4bf1e
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.hk.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ja.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ja.png
new file mode 100644
index 00000000..0cec8213
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ja.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ko.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ko.png
new file mode 100644
index 00000000..f970d8c6
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.ko.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tw.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tw.png
new file mode 100644
index 00000000..73c4bf1e
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tw.png differ
diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.zh.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.zh.png
new file mode 100644
index 00000000..0d78f057
Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.zh.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png
new file mode 100644
index 00000000..81afe705
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.fr.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.hk.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.hk.png
new file mode 100644
index 00000000..d708d0e7
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.hk.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ja.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ja.png
new file mode 100644
index 00000000..b2000af5
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ja.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ko.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ko.png
new file mode 100644
index 00000000..63d435d6
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.ko.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tw.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tw.png
new file mode 100644
index 00000000..d708d0e7
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tw.png differ
diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.zh.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.zh.png
new file mode 100644
index 00000000..a0da11c6
Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.zh.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png
new file mode 100644
index 00000000..7b96dee9
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.fr.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.hk.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.hk.png
new file mode 100644
index 00000000..3399810a
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.hk.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ja.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ja.png
new file mode 100644
index 00000000..6827224a
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ja.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ko.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ko.png
new file mode 100644
index 00000000..01243202
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.ko.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tw.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tw.png
new file mode 100644
index 00000000..63695fc4
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tw.png differ
diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.zh.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.zh.png
new file mode 100644
index 00000000..32e331dc
Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.zh.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png
new file mode 100644
index 00000000..b99936b1
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.fr.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.hk.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.hk.png
new file mode 100644
index 00000000..24154854
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.hk.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ja.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ja.png
new file mode 100644
index 00000000..11b0315f
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ja.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ko.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ko.png
new file mode 100644
index 00000000..01243202
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.ko.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tw.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tw.png
new file mode 100644
index 00000000..d8240632
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tw.png differ
diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.zh.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.zh.png
new file mode 100644
index 00000000..f7a712db
Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.zh.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png
new file mode 100644
index 00000000..618c84ea
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.fr.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.hk.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.hk.png
new file mode 100644
index 00000000..1951c140
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.hk.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ja.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ja.png
new file mode 100644
index 00000000..2c312eb6
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ja.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ko.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ko.png
new file mode 100644
index 00000000..918f0863
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.ko.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tw.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tw.png
new file mode 100644
index 00000000..1bba7f65
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tw.png differ
diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.zh.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.zh.png
new file mode 100644
index 00000000..cd73e026
Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.zh.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png
new file mode 100644
index 00000000..7b51bb3f
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.fr.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.hk.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.hk.png
new file mode 100644
index 00000000..a39cda5c
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.hk.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ja.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ja.png
new file mode 100644
index 00000000..46b2aa47
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ja.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ko.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ko.png
new file mode 100644
index 00000000..7b622b59
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.ko.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tw.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tw.png
new file mode 100644
index 00000000..91baa7f9
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tw.png differ
diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.zh.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.zh.png
new file mode 100644
index 00000000..326d13aa
Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.zh.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png
new file mode 100644
index 00000000..02cc8abd
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.fr.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.hk.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.hk.png
new file mode 100644
index 00000000..c51681dd
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.hk.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ja.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ja.png
new file mode 100644
index 00000000..641f4e70
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ja.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ko.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ko.png
new file mode 100644
index 00000000..1128f04d
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.ko.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tw.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tw.png
new file mode 100644
index 00000000..e15e4758
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tw.png differ
diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.zh.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.zh.png
new file mode 100644
index 00000000..096f9199
Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.zh.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png
new file mode 100644
index 00000000..181db0ba
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.fr.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.hk.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.hk.png
new file mode 100644
index 00000000..bbed28c2
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.hk.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ja.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ja.png
new file mode 100644
index 00000000..bfcfdada
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ja.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ko.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ko.png
new file mode 100644
index 00000000..ecc57771
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.ko.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tw.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tw.png
new file mode 100644
index 00000000..990e7dca
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tw.png differ
diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.zh.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.zh.png
new file mode 100644
index 00000000..3342b892
Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.zh.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png
new file mode 100644
index 00000000..b0b4d7f7
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.fr.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.hk.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.hk.png
new file mode 100644
index 00000000..025220d6
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.hk.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ja.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ja.png
new file mode 100644
index 00000000..01ab9ed8
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ja.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ko.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ko.png
new file mode 100644
index 00000000..cfc99d67
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.ko.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tw.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tw.png
new file mode 100644
index 00000000..025220d6
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tw.png differ
diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.zh.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.zh.png
new file mode 100644
index 00000000..04ae0e88
Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.zh.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png
new file mode 100644
index 00000000..59f57f5b
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.fr.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.hk.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.hk.png
new file mode 100644
index 00000000..ef7d8955
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.hk.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ja.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ja.png
new file mode 100644
index 00000000..2b0ee0e7
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ja.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ko.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ko.png
new file mode 100644
index 00000000..4f2d2e8e
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.ko.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tw.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tw.png
new file mode 100644
index 00000000..69dc7552
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tw.png differ
diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.zh.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.zh.png
new file mode 100644
index 00000000..26f813ff
Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.zh.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png
new file mode 100644
index 00000000..5b6ec622
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.fr.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.hk.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.hk.png
new file mode 100644
index 00000000..d582e4c1
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.hk.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ja.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ja.png
new file mode 100644
index 00000000..72904a89
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ja.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ko.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ko.png
new file mode 100644
index 00000000..2f3782f0
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.ko.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tw.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tw.png
new file mode 100644
index 00000000..0a993ca7
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tw.png differ
diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.zh.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.zh.png
new file mode 100644
index 00000000..d582e4c1
Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.zh.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png
new file mode 100644
index 00000000..a37f403b
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.fr.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.hk.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.hk.png
new file mode 100644
index 00000000..a1867275
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.hk.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ja.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ja.png
new file mode 100644
index 00000000..1759875d
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ja.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ko.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ko.png
new file mode 100644
index 00000000..07abc8c5
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.ko.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tw.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tw.png
new file mode 100644
index 00000000..a1867275
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tw.png differ
diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.zh.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.zh.png
new file mode 100644
index 00000000..363840f8
Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.zh.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png
new file mode 100644
index 00000000..2639c025
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.fr.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.hk.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.hk.png
new file mode 100644
index 00000000..01694537
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.hk.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ja.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ja.png
new file mode 100644
index 00000000..d79cff0b
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ja.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ko.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ko.png
new file mode 100644
index 00000000..d2c3c5c5
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.ko.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tw.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tw.png
new file mode 100644
index 00000000..e00e27e4
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tw.png differ
diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.zh.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.zh.png
new file mode 100644
index 00000000..39822647
Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.zh.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png
new file mode 100644
index 00000000..df3acc57
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.fr.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.hk.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.hk.png
new file mode 100644
index 00000000..dd819825
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.hk.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ja.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ja.png
new file mode 100644
index 00000000..25fa689e
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ja.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ko.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ko.png
new file mode 100644
index 00000000..1abccc9a
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.ko.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tw.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tw.png
new file mode 100644
index 00000000..a25d3b83
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tw.png differ
diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.zh.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.zh.png
new file mode 100644
index 00000000..b201b84c
Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.zh.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png
new file mode 100644
index 00000000..2112c3e8
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.fr.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.hk.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.hk.png
new file mode 100644
index 00000000..7d928f39
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.hk.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ja.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ja.png
new file mode 100644
index 00000000..7d78750d
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ja.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ko.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ko.png
new file mode 100644
index 00000000..80a00b84
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.ko.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tw.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tw.png
new file mode 100644
index 00000000..f782088b
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tw.png differ
diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.zh.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.zh.png
new file mode 100644
index 00000000..0b4283a1
Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.zh.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png
new file mode 100644
index 00000000..8af36496
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.fr.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.hk.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.hk.png
new file mode 100644
index 00000000..66bd88c0
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.hk.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ja.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ja.png
new file mode 100644
index 00000000..ce1ab3e7
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ja.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ko.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ko.png
new file mode 100644
index 00000000..4d6d658f
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.ko.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tw.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tw.png
new file mode 100644
index 00000000..bbf9d2e2
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tw.png differ
diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.zh.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.zh.png
new file mode 100644
index 00000000..33907f93
Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.zh.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png
new file mode 100644
index 00000000..32009ac8
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.fr.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.hk.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.hk.png
new file mode 100644
index 00000000..61133d40
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.hk.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ja.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ja.png
new file mode 100644
index 00000000..9063b269
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ja.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ko.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ko.png
new file mode 100644
index 00000000..a4d7d7c2
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.ko.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tw.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tw.png
new file mode 100644
index 00000000..a49d2e33
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tw.png differ
diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.zh.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.zh.png
new file mode 100644
index 00000000..ae860c12
Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.zh.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png
new file mode 100644
index 00000000..044a780c
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.fr.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.hk.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.hk.png
new file mode 100644
index 00000000..8b1e463c
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.hk.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ja.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ja.png
new file mode 100644
index 00000000..f07784d4
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ja.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ko.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ko.png
new file mode 100644
index 00000000..39d2ca34
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.ko.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tw.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tw.png
new file mode 100644
index 00000000..7a141d18
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tw.png differ
diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.zh.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.zh.png
new file mode 100644
index 00000000..045807af
Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.zh.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png
new file mode 100644
index 00000000..6fb44a77
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.fr.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.hk.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.hk.png
new file mode 100644
index 00000000..6949f6d1
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.hk.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ja.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ja.png
new file mode 100644
index 00000000..556272c8
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ja.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ko.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ko.png
new file mode 100644
index 00000000..b43c5c6b
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.ko.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tw.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tw.png
new file mode 100644
index 00000000..7cd1973a
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tw.png differ
diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.zh.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.zh.png
new file mode 100644
index 00000000..7a9d5fc8
Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.zh.png differ
diff --git a/translations/fr/1-Introduction/01-defining-data-science/README.md b/translations/fr/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..06e74682
--- /dev/null
+++ b/translations/fr/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,78 @@
+
+## Types de données
+
+Comme nous l'avons déjà mentionné, les données sont partout. Il suffit de les capturer de la bonne manière ! Il est utile de distinguer entre les données **structurées** et **non structurées**. Les premières sont généralement représentées sous une forme bien organisée, souvent sous forme de tableau ou de plusieurs tableaux, tandis que les secondes ne sont qu'une collection de fichiers. Parfois, on peut également parler de données **semi-structurées**, qui possèdent une certaine structure pouvant varier considérablement.
+
+| Structurées | Semi-structurées | Non structurées |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------- |
+| Liste de personnes avec leurs numéros de téléphone | Pages Wikipédia avec des liens | Texte de l'Encyclopédie Britannica |
+| Température dans toutes les pièces d'un bâtiment chaque minute pendant 20 ans | Collection d'articles scientifiques au format JSON avec auteurs, date de publication et résumé | Partage de fichiers avec des documents d'entreprise |
+| Données sur l'âge et le sexe de toutes les personnes entrant dans le bâtiment | Pages Internet | Flux vidéo brut d'une caméra de surveillance |
+
+## Où trouver des données
+
+Il existe de nombreuses sources possibles de données, et il serait impossible de toutes les énumérer ! Cependant, mentionnons quelques endroits typiques où vous pouvez obtenir des données :
+
+* **Structurées**
+ - **Internet des objets** (IoT), y compris les données provenant de différents capteurs, tels que les capteurs de température ou de pression, fournit de nombreuses données utiles. Par exemple, si un bâtiment de bureaux est équipé de capteurs IoT, nous pouvons contrôler automatiquement le chauffage et l'éclairage afin de minimiser les coûts.
+ - **Enquêtes** que nous demandons aux utilisateurs de remplir après un achat ou après avoir visité un site web.
+ - **Analyse du comportement** peut, par exemple, nous aider à comprendre jusqu'où un utilisateur explore un site et quelle est la raison typique de son départ.
+* **Non structurées**
+ - **Textes** peuvent être une source riche d'informations, comme un score global de **sentiment**, ou l'extraction de mots-clés et de significations sémantiques.
+ - **Images** ou **vidéos**. Une vidéo d'une caméra de surveillance peut être utilisée pour estimer le trafic sur la route et informer les gens des éventuels embouteillages.
+ - Les **journaux** des serveurs web peuvent être utilisés pour comprendre quelles pages de notre site sont les plus souvent visitées et pendant combien de temps.
+* **Semi-structurées**
+ - Les graphes des **réseaux sociaux** peuvent être d'excellentes sources de données sur les personnalités des utilisateurs et leur potentiel à diffuser des informations.
+ - Lorsque nous avons une série de photographies d'une fête, nous pouvons essayer d'extraire des données sur la **dynamique de groupe** en construisant un graphe des personnes prenant des photos ensemble.
+
+En connaissant les différentes sources possibles de données, vous pouvez réfléchir à divers scénarios où les techniques de science des données peuvent être appliquées pour mieux comprendre la situation et améliorer les processus commerciaux.
+
+## Ce que vous pouvez faire avec les données
+
+En science des données, nous nous concentrons sur les étapes suivantes du parcours des données :
+
+Bien sûr, selon les données réelles, certaines étapes peuvent être absentes (par exemple, lorsque nous avons déjà les données dans une base de données ou lorsque nous n'avons pas besoin d'entraîner un modèle), ou certaines étapes peuvent être répétées plusieurs fois (comme le traitement des données).
+
+## Numérisation et transformation numérique
+
+Au cours de la dernière décennie, de nombreuses entreprises ont commencé à comprendre l'importance des données dans la prise de décisions commerciales. Pour appliquer les principes de la science des données à la gestion d'une entreprise, il faut d'abord collecter des données, c'est-à-dire traduire les processus commerciaux en forme numérique. Cela s'appelle la **numérisation**. L'application des techniques de science des données à ces données pour orienter les décisions peut entraîner des augmentations significatives de la productivité (ou même un pivot commercial), appelée **transformation numérique**.
+
+Prenons un exemple. Supposons que nous avons un cours de science des données (comme celui-ci) que nous proposons en ligne aux étudiants, et que nous souhaitons utiliser la science des données pour l'améliorer. Comment pouvons-nous le faire ?
+
+Nous pouvons commencer par nous demander "Que peut-on numériser ?" La manière la plus simple serait de mesurer le temps qu'il faut à chaque étudiant pour terminer chaque module, et d'évaluer les connaissances acquises en proposant un test à choix multiples à la fin de chaque module. En calculant la moyenne du temps nécessaire pour terminer chaque module parmi tous les étudiants, nous pouvons identifier les modules qui posent le plus de difficultés et travailler à les simplifier.
+> Vous pourriez soutenir que cette approche n'est pas idéale, car les modules peuvent avoir des longueurs différentes. Il serait probablement plus juste de diviser le temps par la longueur du module (en nombre de caractères) et de comparer ces valeurs à la place.
+Lorsque nous commençons à analyser les résultats des tests à choix multiples, nous pouvons essayer de déterminer quels concepts posent des difficultés de compréhension aux étudiants, et utiliser ces informations pour améliorer le contenu. Pour ce faire, il est nécessaire de concevoir les tests de manière à ce que chaque question corresponde à un concept ou une portion de connaissances spécifique.
+
+Si nous souhaitons aller encore plus loin, nous pouvons tracer le temps nécessaire pour chaque module en fonction de la catégorie d'âge des étudiants. Nous pourrions découvrir que, pour certaines catégories d'âge, il faut un temps excessivement long pour terminer le module, ou que les étudiants abandonnent avant de le terminer. Cela peut nous aider à fournir des recommandations d'âge pour le module et à minimiser l'insatisfaction liée à des attentes erronées.
+
+## 🚀 Défi
+
+Dans ce défi, nous allons essayer de trouver des concepts pertinents dans le domaine de la science des données en analysant des textes. Nous prendrons un article Wikipédia sur la science des données, 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.
+
+> Si vous ne savez pas comment exécuter du code dans un Jupyter Notebook, consultez [cet article](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
+
+## [Quiz post-conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## Exercices
+
+* **Tâche 1** : Modifiez le code ci-dessus pour découvrir des concepts liés aux domaines du **Big Data** et de l'**apprentissage automatique**.
+* **Tâche 2** : [Réfléchissez à des scénarios de science des données](assignment.md)
+
+## Crédits
+
+Cette leçon a été rédigée avec ♥️ par [Dmitry Soshnikov](http://soshnikov.com)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction professionnelle humaine. 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/fr/1-Introduction/01-defining-data-science/assignment.md b/translations/fr/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..c992726f
--- /dev/null
+++ b/translations/fr/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# Devoir : Scénarios en Science des Données
+
+Dans ce premier devoir, nous vous demandons de réfléchir à un processus ou un problème réel dans différents domaines, et comment vous pourriez l'améliorer en utilisant le processus de la Science des Données. Pensez aux points suivants :
+
+1. Quelles données pouvez-vous collecter ?
+1. Comment les collecteriez-vous ?
+1. Comment stockeriez-vous les données ? Quelle serait probablement la taille des données ?
+1. Quels aperçus pourriez-vous tirer de ces données ? Quelles décisions pourrions-nous prendre sur la base de ces données ?
+
+Essayez de réfléchir à 3 problèmes/processus différents et décrivez chacun des points ci-dessus pour chaque domaine.
+
+Voici quelques domaines et problèmes pour vous aider à démarrer votre réflexion :
+
+1. Comment pouvez-vous utiliser les données pour améliorer le processus éducatif des enfants à l'école ?
+1. Comment pouvez-vous utiliser les données pour contrôler la vaccination pendant une pandémie ?
+1. Comment pouvez-vous utiliser les données pour vous assurer d'être productif au travail ?
+
+## Instructions
+
+Remplissez le tableau suivant (remplacez les domaines suggérés par vos propres idées si nécessaire) :
+
+| Domaine | Problème | Quelles données collecter | Comment stocker les données | Quels aperçus/décisions pouvons-nous prendre |
+|---------|----------|---------------------------|-----------------------------|---------------------------------------------|
+| Éducation | | | | |
+| Vaccination | | | | |
+| Productivité | | | | |
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+A été capable d'identifier des sources de données raisonnables, des moyens de stockage des données et des décisions/aperçus possibles pour tous les domaines | Certains aspects de la solution ne sont pas détaillés, le stockage des données n'est pas discuté, au moins 2 domaines sont décrits | Seules certaines parties de la solution sont décrites, un seul domaine est considéré.
+
+**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 ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/fr/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..f9d86351
--- /dev/null
+++ b/translations/fr/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# Devoir : Scénarios en Science des Données
+
+Dans ce premier devoir, nous vous demandons de réfléchir à un processus ou un problème réel dans différents domaines, et comment vous pourriez l'améliorer en utilisant le processus de la Science des Données. Pensez aux points suivants :
+
+1. Quelles données pouvez-vous collecter ?
+1. Comment les collecteriez-vous ?
+1. Comment stockeriez-vous ces données ? Quelle serait leur taille approximative ?
+1. Quels enseignements pourriez-vous tirer de ces données ? Quelles décisions pourrions-nous prendre sur la base de ces données ?
+
+Essayez de réfléchir à 3 problèmes/processus différents et décrivez chacun des points ci-dessus pour chaque domaine.
+
+Voici quelques domaines et problèmes pour vous aider à démarrer votre réflexion :
+
+1. Comment pouvez-vous utiliser les données pour améliorer le processus éducatif des enfants à l'école ?
+1. Comment pouvez-vous utiliser les données pour contrôler la vaccination pendant une pandémie ?
+1. Comment pouvez-vous utiliser les données pour vous assurer d'être productif au travail ?
+
+## Instructions
+
+Remplissez le tableau suivant (remplacez les domaines suggérés par vos propres idées si nécessaire) :
+
+| Domaine | Problème | Quelles données collecter | Comment stocker les données | Quels enseignements/décisions pouvons-nous tirer |
+|---------|----------|---------------------------|-----------------------------|-----------------------------------------------|
+| Éducation | À l'université, nous avons généralement une faible participation aux cours, et nous avons l'hypothèse que les étudiants qui assistent aux cours réussissent mieux en moyenne aux examens. Nous voulons stimuler la participation et tester cette hypothèse. | Nous pouvons suivre la participation grâce à des photos prises par la caméra de sécurité en classe, ou en suivant les adresses bluetooth/wifi des téléphones mobiles des étudiants en classe. Les données des examens sont déjà disponibles dans la base de données de l'université. | Si nous utilisons les images des caméras de sécurité, nous devons stocker quelques (5-10) photographies pendant le cours (données non structurées), puis utiliser l'IA pour identifier les visages des étudiants (convertir les données en format structuré). | Nous pouvons calculer les données de participation moyenne pour chaque étudiant et voir s'il existe une corrélation avec les notes des examens. Nous parlerons davantage de corrélation dans la section [probabilité et statistiques](../../04-stats-and-probability/README.md). Pour stimuler la participation des étudiants, nous pouvons publier le classement hebdomadaire de participation sur le portail de l'école et tirer au sort des prix parmi ceux ayant la meilleure participation. |
+| Vaccination | | | | |
+| Productivité | | | | |
+
+> *Nous fournissons une réponse comme exemple, afin que vous puissiez avoir une idée de ce qui est attendu dans ce devoir.*
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+La personne a su identifier des sources de données raisonnables, des moyens de stockage des données et des décisions/enseignements possibles pour tous les domaines | Certains aspects de la solution ne sont pas détaillés, le stockage des données n'est pas discuté, au moins 2 domaines sont décrits | Seules certaines parties de la solution sont décrites, un seul domaine est considéré.
+
+**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/fr/1-Introduction/02-ethics/README.md b/translations/fr/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..7ca6c725
--- /dev/null
+++ b/translations/fr/1-Introduction/02-ethics/README.md
@@ -0,0 +1,263 @@
+
+# Introduction à l'éthique des données
+
+| ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| Éthique des sciences des données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+Nous sommes tous des citoyens des données vivant dans un monde axé sur les données.
+
+Les tendances du marché indiquent que d'ici 2022, 1 grande organisation sur 3 achètera et vendra ses données via des [places de marché et des échanges](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/) en ligne. En tant que **développeurs d'applications**, il sera plus facile et moins coûteux d'intégrer des informations basées sur les données et des automatisations pilotées par des algorithmes dans les expériences utilisateur quotidiennes. Mais à mesure que l'IA devient omniprésente, nous devrons également comprendre les dommages potentiels causés par la [militarisation](https://www.youtube.com/watch?v=TQHs8SA1qpk) de ces algorithmes à grande échelle.
+
+Les tendances montrent également que nous créerons et consommerons plus de [180 zettaoctets](https://www.statista.com/statistics/871513/worldwide-data-created/) de données d'ici 2025. En tant que **scientifiques des données**, cela nous donne un accès sans précédent à des données personnelles. Cela signifie que nous pouvons construire des profils comportementaux des utilisateurs et influencer la prise de décision de manière à créer une [illusion de libre arbitre](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice), tout en orientant potentiellement les utilisateurs vers des résultats que nous préférons. Cela soulève également des questions plus larges sur la confidentialité des données et la protection des utilisateurs.
+
+L'éthique des données est désormais un _garde-fou nécessaire_ pour la science et l'ingénierie des données, nous aidant à minimiser les dommages potentiels et les conséquences involontaires de nos actions basées sur les données. Le [cycle de battage médiatique de Gartner pour l'IA](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/) identifie des tendances pertinentes en matière d'éthique numérique, d'IA responsable et de gouvernance de l'IA comme des moteurs clés des mégatendances plus larges autour de la _démocratisation_ et de l'_industrialisation_ de l'IA.
+
+
+
+Dans cette leçon, nous explorerons le domaine fascinant de l'éthique des données - des concepts et défis fondamentaux aux études de cas et aux concepts appliqués de l'IA comme la gouvernance - qui aident à établir une culture éthique dans les équipes et organisations travaillant avec les données et l'IA.
+
+## [Quiz pré-lecture](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## Définitions de base
+
+Commençons par comprendre la terminologie de base.
+
+Le mot "éthique" vient du [mot grec "ethikos"](https://en.wikipedia.org/wiki/Ethics) (et de sa racine "ethos") signifiant _caractère ou nature morale_.
+
+**L'éthique** concerne les valeurs partagées et les principes moraux qui régissent notre comportement en société. L'éthique ne repose pas sur des lois, mais sur des normes largement acceptées de ce qui est "bien ou mal". Cependant, les considérations éthiques peuvent influencer les initiatives de gouvernance d'entreprise et les réglementations gouvernementales qui créent davantage d'incitations à la conformité.
+
+**L'éthique des données** est une [nouvelle branche de l'éthique](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1) qui "étudie et évalue les problèmes moraux liés aux _données, algorithmes et pratiques correspondantes_". Ici, **"données"** se concentre sur les actions liées à la génération, l'enregistrement, la curation, le traitement, la diffusion, le partage et l'utilisation, **"algorithmes"** se concentre sur l'IA, les agents, l'apprentissage automatique et les robots, et **"pratiques"** se concentre sur des sujets comme l'innovation responsable, la programmation, le piratage et les codes d'éthique.
+
+**L'éthique appliquée** est [l'application pratique des considérations morales](https://en.wikipedia.org/wiki/Applied_ethics). C'est le processus d'examen actif des questions éthiques dans le contexte des _actions, produits et processus du monde réel_, et de prise de mesures correctives pour s'assurer qu'ils restent alignés avec nos valeurs éthiques définies.
+
+**La culture éthique** consiste à [_opérationnaliser_ l'éthique appliquée](https://hbr.org/2019/05/how-to-design-an-ethical-organization) pour s'assurer que nos principes et pratiques éthiques sont adoptés de manière cohérente et évolutive dans toute l'organisation. Les cultures éthiques réussies définissent des principes éthiques à l'échelle de l'organisation, offrent des incitations significatives à la conformité et renforcent les normes éthiques en encourageant et en amplifiant les comportements souhaités à tous les niveaux de l'organisation.
+
+## Concepts éthiques
+
+Dans cette section, nous discuterons des concepts tels que les **valeurs partagées** (principes) et les **défis éthiques** (problèmes) pour l'éthique des données - et explorerons des **études de cas** qui vous aident à comprendre ces concepts dans des contextes réels.
+
+### 1. Principes éthiques
+
+Toute stratégie d'éthique des données commence par la définition de _principes éthiques_ - les "valeurs partagées" qui décrivent les comportements acceptables et guident les actions conformes dans nos projets de données et d'IA. Vous pouvez les définir au niveau individuel ou de l'équipe. Cependant, la plupart des grandes organisations les décrivent dans une déclaration de mission ou un cadre d'IA éthique défini au niveau de l'entreprise et appliqué de manière cohérente à toutes les équipes.
+
+**Exemple :** La déclaration de mission [IA responsable](https://www.microsoft.com/en-us/ai/responsible-ai) de Microsoft se lit comme suit : _"Nous nous engageons à faire progresser l'IA guidée par des principes éthiques qui placent les personnes au premier plan"_ - identifiant 6 principes éthiques dans le cadre ci-dessous :
+
+
+
+Explorons brièvement ces principes. _Transparence_ et _responsabilité_ sont des valeurs fondamentales sur lesquelles les autres principes se construisent - commençons donc par là :
+
+* [**Responsabilité**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) rend les praticiens _responsables_ de leurs opérations de données et d'IA, et de leur conformité à ces principes éthiques.
+* [**Transparence**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) garantit que les actions liées aux données et à l'IA sont _compréhensibles_ (interprétables) pour les utilisateurs, en expliquant le quoi et le pourquoi des décisions.
+* [**Équité**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) - se concentre sur le fait de s'assurer que l'IA traite _toutes les personnes_ équitablement, en abordant les biais socio-techniques systémiques ou implicites dans les données et les systèmes.
+* [**Fiabilité et sécurité**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - garantit que l'IA se comporte de manière _cohérente_ avec les valeurs définies, en minimisant les dommages potentiels ou les conséquences involontaires.
+* [**Confidentialité et sécurité**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - concerne la compréhension de la traçabilité des données et la fourniture de _protection de la confidentialité des données_ aux utilisateurs.
+* [**Inclusivité**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - consiste à concevoir des solutions d'IA avec intention, en les adaptant pour répondre à un _large éventail de besoins et de capacités humains_.
+
+> 🚨 Réfléchissez à ce que pourrait être votre déclaration de mission en matière d'éthique des données. Explorez les cadres d'IA éthique d'autres organisations - voici des exemples de [IBM](https://www.ibm.com/cloud/learn/ai-ethics), [Google](https://ai.google/principles), et [Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/). Quelles valeurs partagées ont-ils en commun ? Comment ces principes se rapportent-ils au produit ou à l'industrie de l'IA dans lesquels ils opèrent ?
+
+### 2. Défis éthiques
+
+Une fois que nous avons défini des principes éthiques, l'étape suivante consiste à évaluer nos actions en matière de données et d'IA pour voir si elles s'alignent sur ces valeurs partagées. Réfléchissez à vos actions dans deux catégories : _collecte de données_ et _conception d'algorithmes_.
+
+Avec la collecte de données, les actions impliqueront probablement des **données personnelles** ou des informations personnellement identifiables (PII) pour des individus identifiables. Cela inclut [divers éléments de données non personnelles](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en) qui, _collectivement_, identifient un individu. Les défis éthiques peuvent concerner la _confidentialité des données_, la _propriété des données_ et des sujets connexes tels que le _consentement éclairé_ et les _droits de propriété intellectuelle_ des utilisateurs.
+
+Avec la conception d'algorithmes, les actions impliqueront la collecte et la curation de **jeux de données**, puis leur utilisation pour entraîner et déployer des **modèles de données** qui prédisent des résultats ou automatisent des décisions dans des contextes réels. Les défis éthiques peuvent découler de _biais dans les jeux de données_, de problèmes de _qualité des données_, d'_injustice_ et de _mauvaise représentation_ dans les algorithmes - y compris certains problèmes systémiques.
+
+Dans les deux cas, les défis éthiques mettent en évidence les domaines où nos actions peuvent entrer en conflit avec nos valeurs partagées. Pour détecter, atténuer, minimiser ou éliminer ces préoccupations, nous devons poser des questions morales "oui/non" liées à nos actions, puis prendre des mesures correctives si nécessaire. Examinons quelques défis éthiques et les questions morales qu'ils soulèvent :
+
+#### 2.1 Propriété des données
+
+La collecte de données implique souvent des données personnelles pouvant identifier les sujets des données. La [propriété des données](https://permission.io/blog/data-ownership) concerne le _contrôle_ et les [_droits des utilisateurs_](https://permission.io/blog/data-ownership) liés à la création, au traitement et à la diffusion des données.
+
+Les questions morales à poser sont :
+* Qui possède les données ? (utilisateur ou organisation)
+* Quels droits les sujets des données ont-ils ? (ex : accès, effacement, portabilité)
+* Quels droits les organisations ont-elles ? (ex : rectifier des avis malveillants d'utilisateurs)
+
+#### 2.2 Consentement éclairé
+
+Le [consentement éclairé](https://legaldictionary.net/informed-consent/) définit l'acte pour les utilisateurs d'accepter une action (comme la collecte de données) avec une _compréhension complète_ des faits pertinents, y compris l'objectif, les risques potentiels et les alternatives.
+
+Questions à explorer ici :
+* L'utilisateur (sujet des données) a-t-il donné son autorisation pour la capture et l'utilisation des données ?
+* L'utilisateur a-t-il compris l'objectif pour lequel ces données ont été capturées ?
+* L'utilisateur a-t-il compris les risques potentiels liés à sa participation ?
+
+#### 2.3 Propriété intellectuelle
+
+La [propriété intellectuelle](https://en.wikipedia.org/wiki/Intellectual_property) fait référence aux créations intangibles résultant de l'initiative humaine, qui peuvent _avoir une valeur économique_ pour les individus ou les entreprises.
+
+Questions à explorer ici :
+* Les données collectées avaient-elles une valeur économique pour un utilisateur ou une entreprise ?
+* L'**utilisateur** a-t-il une propriété intellectuelle ici ?
+* L'**organisation** a-t-elle une propriété intellectuelle ici ?
+* Si ces droits existent, comment les protégeons-nous ?
+
+#### 2.4 Confidentialité des données
+
+La [confidentialité des données](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/) ou confidentialité des informations fait référence à la préservation de la vie privée des utilisateurs et à la protection de leur identité en ce qui concerne les informations personnellement identifiables.
+
+Questions à explorer ici :
+* Les données (personnelles) des utilisateurs sont-elles sécurisées contre les piratages et les fuites ?
+* Les données des utilisateurs sont-elles accessibles uniquement aux utilisateurs et contextes autorisés ?
+* L'anonymat des utilisateurs est-il préservé lorsque les données sont partagées ou diffusées ?
+* Un utilisateur peut-il être désidentifié à partir de jeux de données anonymisés ?
+
+#### 2.5 Droit à l'oubli
+
+Le [droit à l'oubli](https://en.wikipedia.org/wiki/Right_to_be_forgotten) ou [droit à l'effacement](https://www.gdpreu.org/right-to-be-forgotten/) offre une protection supplémentaire des données personnelles aux utilisateurs. En particulier, il donne aux utilisateurs le droit de demander la suppression ou le retrait de données personnelles des recherches Internet et d'autres emplacements, _dans des circonstances spécifiques_ - leur permettant un nouveau départ en ligne sans que leurs actions passées ne soient retenues contre eux.
+
+Questions à explorer ici :
+* Le système permet-il aux sujets des données de demander l'effacement ?
+* Le retrait du consentement de l'utilisateur devrait-il déclencher un effacement automatique ?
+* Les données ont-elles été collectées sans consentement ou par des moyens illégaux ?
+* Sommes-nous conformes aux réglementations gouvernementales en matière de confidentialité des données ?
+
+#### 2.6 Biais dans les jeux de données
+
+Le biais dans les jeux de données ou [biais de collecte](http://researcharticles.com/index.php/bias-in-data-collection-in-research/) concerne la sélection d'un sous-ensemble _non représentatif_ de données pour le développement d'algorithmes, créant une potentielle injustice dans les résultats pour divers groupes. Les types de biais incluent le biais de sélection ou d'échantillonnage, le biais de volontariat et le biais d'instrument.
+
+Questions à explorer ici :
+* Avons-nous recruté un ensemble représentatif de sujets de données ?
+* Avons-nous testé notre jeu de données collecté ou organisé pour divers biais ?
+* Pouvons-nous atténuer ou supprimer les biais découverts ?
+
+#### 2.7 Qualité des données
+
+La [qualité des données](https://lakefs.io/data-quality-testing/) examine la validité du jeu de données organisé utilisé pour développer nos algorithmes, en vérifiant si les caractéristiques et les enregistrements répondent aux exigences pour le niveau de précision et de cohérence nécessaire à notre objectif d'IA.
+
+Questions à explorer ici :
+* Avons-nous capturé des _caractéristiques_ valides pour notre cas d'utilisation ?
+* Les données ont-elles été capturées de manière _cohérente_ à partir de diverses sources de données ?
+* Le jeu de données est-il _complet_ pour diverses conditions ou scénarios ?
+* Les informations capturées sont-elles _précises_ et reflètent-elles la réalité ?
+
+#### 2.8 Équité des algorithmes
+[Algorithm Fairness](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f) vérifie si la conception de l'algorithme discrimine systématiquement certains sous-groupes de sujets de données, entraînant des [préjudices potentiels](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml) dans l'_allocation_ (où des ressources sont refusées ou retenues pour ce groupe) et la _qualité du service_ (où l'IA est moins précise pour certains sous-groupes par rapport à d'autres).
+
+Questions à explorer ici :
+ * Avons-nous évalué la précision du modèle pour des sous-groupes et des conditions diversifiés ?
+ * Avons-nous examiné le système pour identifier des préjudices potentiels (par exemple, des stéréotypes) ?
+ * Pouvons-nous réviser les données ou réentraîner les modèles pour atténuer les préjudices identifiés ?
+
+Explorez des ressources comme les [checklists sur l'équité de l'IA](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA) pour en savoir plus.
+
+#### 2.9 Fausse représentation
+
+La [fausse représentation des données](https://www.sciencedirect.com/topics/computer-science/misrepresentation) consiste à se demander si nous communiquons des informations issues de données honnêtement rapportées de manière trompeuse pour soutenir un récit souhaité.
+
+Questions à explorer ici :
+ * Rapportons-nous des données incomplètes ou inexactes ?
+ * Visualisons-nous les données d'une manière qui induit des conclusions trompeuses ?
+ * Utilisons-nous des techniques statistiques sélectives pour manipuler les résultats ?
+ * Existe-t-il des explications alternatives qui pourraient offrir une conclusion différente ?
+
+#### 2.10 Libre choix
+L'[illusion du libre choix](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice) se produit lorsque les "architectures de choix" des systèmes utilisent des algorithmes de prise de décision pour inciter les gens à adopter un résultat préféré tout en leur donnant l'impression d'avoir des options et du contrôle. Ces [modèles trompeurs](https://www.darkpatterns.org/) peuvent causer des préjudices sociaux et économiques aux utilisateurs. Étant donné que les décisions des utilisateurs influencent les profils de comportement, ces actions peuvent potentiellement orienter les choix futurs et amplifier ou prolonger l'impact de ces préjudices.
+
+Questions à explorer ici :
+ * L'utilisateur a-t-il compris les implications de son choix ?
+ * L'utilisateur était-il conscient des choix (alternatifs) et des avantages et inconvénients de chacun ?
+ * L'utilisateur peut-il revenir sur un choix automatisé ou influencé ultérieurement ?
+
+### 3. Études de cas
+
+Pour mettre ces défis éthiques en contexte réel, il est utile d'examiner des études de cas qui mettent en lumière les préjudices et conséquences potentiels pour les individus et la société lorsque ces violations éthiques sont ignorées.
+
+Voici quelques exemples :
+
+| Défi éthique | Étude de cas |
+|--- |--- |
+| **Consentement éclairé** | 1972 - [Étude sur la syphilis de Tuskegee](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - Les hommes afro-américains qui ont participé à l'étude ont été promis des soins médicaux gratuits _mais trompés_ par des chercheurs qui n'ont pas informé les sujets de leur diagnostic ou de la disponibilité d'un traitement. De nombreux sujets sont décédés et leurs partenaires ou enfants ont été affectés ; l'étude a duré 40 ans. |
+| **Confidentialité des données** | 2007 - Le [concours de données Netflix](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/) a fourni aux chercheurs _10M de classements de films anonymisés de 50K clients_ pour améliorer les algorithmes de recommandation. Cependant, les chercheurs ont pu corréler les données anonymisées avec des données personnellement identifiables dans des _ensembles de données externes_ (par exemple, des commentaires IMDb), "désanonymisant" ainsi certains abonnés Netflix.|
+| **Biais de collecte** | 2013 - La ville de Boston a [développé Street Bump](https://www.boston.gov/transportation/street-bump), une application permettant aux citoyens de signaler les nids-de-poule, offrant à la ville de meilleures données sur les routes pour identifier et résoudre les problèmes. Cependant, [les personnes des groupes à faible revenu avaient moins accès aux voitures et aux téléphones](https://hbr.org/2013/04/the-hidden-biases-in-big-data), rendant leurs problèmes de routes invisibles dans cette application. Les développeurs ont travaillé avec des universitaires pour résoudre les problèmes d'_accès équitable et de fractures numériques_ pour plus d'équité. |
+| **Équité algorithmique** | 2018 - L'étude MIT [Gender Shades](http://gendershades.org/overview.html) a évalué la précision des produits d'IA de classification de genre, révélant des écarts de précision pour les femmes et les personnes de couleur. Une [carte Apple de 2019](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/) semblait offrir moins de crédit aux femmes qu'aux hommes. Les deux cas ont illustré des problèmes de biais algorithmique entraînant des préjudices socio-économiques.|
+| **Fausse représentation des données** | 2020 - Le [Département de la santé publique de Géorgie a publié des graphiques COVID-19](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening) qui semblaient induire les citoyens en erreur sur les tendances des cas confirmés avec un ordre non chronologique sur l'axe des x. Cela illustre la fausse représentation par des astuces de visualisation. |
+| **Illusion du libre choix** | 2020 - L'application éducative [ABCmouse a payé 10M$ pour régler une plainte de la FTC](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/) où les parents étaient piégés dans des abonnements qu'ils ne pouvaient pas annuler. Cela illustre des modèles trompeurs dans les architectures de choix, où les utilisateurs étaient incités à faire des choix potentiellement nuisibles. |
+| **Confidentialité des données et droits des utilisateurs** | 2021 - La [violation de données Facebook](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users) a exposé les données de 530M d'utilisateurs, entraînant un règlement de 5B$ avec la FTC. Cependant, Facebook a refusé de notifier les utilisateurs de la violation, violant les droits des utilisateurs en matière de transparence et d'accès aux données. |
+
+Vous voulez explorer plus d'études de cas ? Consultez ces ressources :
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - dilemmes éthiques dans divers secteurs.
+* [Cours sur l'éthique des sciences des données](https://www.coursera.org/learn/data-science-ethics#syllabus) - études de cas emblématiques explorées.
+* [Où les choses ont mal tourné](https://deon.drivendata.org/examples/) - checklist Deon avec des exemples.
+
+> 🚨 Pensez aux études de cas que vous avez vues - avez-vous vécu ou été affecté par un défi éthique similaire dans votre vie ? Pouvez-vous penser à au moins une autre étude de cas qui illustre l'un des défis éthiques discutés dans cette section ?
+
+## Éthique appliquée
+
+Nous avons parlé des concepts éthiques, des défis et des études de cas dans des contextes réels. Mais comment commencer à _appliquer_ des principes et pratiques éthiques dans nos projets ? Et comment _opérationnaliser_ ces pratiques pour une meilleure gouvernance ? Explorons quelques solutions concrètes :
+
+### 1. Codes professionnels
+
+Les codes professionnels offrent une option pour que les organisations "incitent" leurs membres à soutenir leurs principes éthiques et leur mission. Les codes sont des _lignes directrices morales_ pour le comportement professionnel, aidant les employés ou membres à prendre des décisions alignées sur les principes de leur organisation. Ils ne sont efficaces que si les membres les respectent volontairement ; cependant, de nombreuses organisations offrent des récompenses et des sanctions supplémentaires pour motiver la conformité.
+
+Exemples :
+ * [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/) Code d'éthique
+ * [Data Science Association](http://datascienceassn.org/code-of-conduct.html) Code de conduite (créé en 2013)
+ * [ACM Code of Ethics and Professional Conduct](https://www.acm.org/code-of-ethics) (depuis 1993)
+
+> 🚨 Faites-vous partie d'une organisation professionnelle d'ingénierie ou de science des données ? Explorez leur site pour voir s'ils définissent un code d'éthique professionnel. Que dit-il sur leurs principes éthiques ? Comment incitent-ils leurs membres à suivre le code ?
+
+### 2. Checklists éthiques
+
+Alors que les codes professionnels définissent le comportement _éthique requis_ des praticiens, ils [ont des limites connues](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md) en matière d'application, en particulier dans les projets à grande échelle. Au lieu de cela, de nombreux experts en science des données [préconisent des checklists](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md), qui peuvent **connecter les principes aux pratiques** de manière plus déterministe et actionnable.
+
+Les checklists transforment les questions en tâches "oui/non" qui peuvent être opérationnalisées, permettant de les suivre dans le cadre des workflows standard de lancement de produit.
+
+Exemples :
+ * [Deon](https://deon.drivendata.org/) - une checklist éthique générale créée à partir de [recommandations de l'industrie](https://deon.drivendata.org/#checklist-citations) avec un outil en ligne de commande pour une intégration facile.
+ * [Checklist d'audit de confidentialité](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - fournit des conseils généraux sur les pratiques de gestion de l'information du point de vue juridique et social.
+ * [Checklist sur l'équité de l'IA](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - créée par des praticiens de l'IA pour soutenir l'adoption et l'intégration des vérifications d'équité dans les cycles de développement de l'IA.
+ * [22 questions pour l'éthique dans les données et l'IA](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - cadre plus ouvert, structuré pour une exploration initiale des problèmes éthiques dans la conception, la mise en œuvre et les contextes organisationnels.
+
+### 3. Réglementations éthiques
+
+L'éthique consiste à définir des valeurs partagées et à faire ce qui est juste _volontairement_. **La conformité** consiste à _respecter la loi_ là où elle est définie. **La gouvernance** couvre de manière générale toutes les façons dont les organisations opèrent pour appliquer des principes éthiques et se conformer aux lois établies.
+
+Aujourd'hui, la gouvernance prend deux formes au sein des organisations. Premièrement, il s'agit de définir des principes d'**IA éthique** et d'établir des pratiques pour opérationnaliser leur adoption dans tous les projets liés à l'IA de l'organisation. Deuxièmement, il s'agit de se conformer à toutes les **réglementations sur la protection des données** imposées par le gouvernement dans les régions où elle opère.
+
+Exemples de réglementations sur la protection des données et la confidentialité :
+ * `1974`, [US Privacy Act](https://www.justice.gov/opcl/privacy-act-1974) - régule la collecte, l'utilisation et la divulgation des informations personnelles par le _gouvernement fédéral_.
+ * `1996`, [US Health Insurance Portability & Accountability Act (HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - protège les données personnelles de santé.
+ * `1998`, [US Children's Online Privacy Protection Act (COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - protège la confidentialité des données des enfants de moins de 13 ans.
+ * `2018`, [Règlement général sur la protection des données (RGPD)](https://gdpr-info.eu/) - fournit des droits aux utilisateurs, protège les données et la confidentialité.
+ * `2018`, [California Consumer Privacy Act (CCPA)](https://www.oag.ca.gov/privacy/ccpa) donne aux consommateurs plus de _droits_ sur leurs données personnelles.
+ * `2021`, La Chine a adopté la [Loi sur la protection des informations personnelles](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/), créant l'une des réglementations les plus strictes sur la confidentialité des données en ligne dans le monde.
+
+> 🚨 L'Union européenne a défini le RGPD (Règlement général sur la protection des données), qui reste l'une des réglementations les plus influentes sur la confidentialité des données aujourd'hui. Saviez-vous qu'il définit également [8 droits des utilisateurs](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr) pour protéger la confidentialité numérique et les données personnelles des citoyens ? Découvrez quels sont ces droits et pourquoi ils sont importants.
+
+### 4. Culture éthique
+
+Notez qu'il existe un écart intangible entre la _conformité_ (faire juste assez pour respecter "la lettre de la loi") et le traitement des [problèmes systémiques](https://www.coursera.org/learn/data-science-ethics/home/week/4) (comme l'ossification, l'asymétrie de l'information et l'injustice dans la distribution) qui peuvent accélérer la transformation de l'IA en arme.
+
+Ce dernier nécessite [des approches collaboratives pour définir des cultures éthiques](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f) qui construisent des connexions émotionnelles et des valeurs partagées cohérentes _entre les organisations_ de l'industrie. Cela appelle à des [cultures éthiques formalisées](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/) dans les organisations - permettant à _n'importe qui_ de [tirer le cordon Andon](https://en.wikipedia.org/wiki/Andon_(manufacturing)) (pour soulever des préoccupations éthiques tôt dans le processus) et faisant des _évaluations éthiques_ (par exemple, dans le recrutement) un critère central pour la formation des équipes dans les projets d'IA.
+
+---
+## [Quiz post-conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯
+## Révision et auto-apprentissage
+
+Les cours et les livres aident à comprendre les concepts et défis éthiques fondamentaux, tandis que les études de cas et les outils aident à appliquer les pratiques éthiques dans des contextes réels. Voici quelques ressources pour commencer.
+
+* [Machine Learning For Beginners](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - leçon sur l'équité, de Microsoft.
+* [Principes de l'IA responsable](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - parcours d'apprentissage gratuit de Microsoft Learn.
+* [Éthique et science des données](https://resources.oreilly.com/examples/0636920203964) - EBook O'Reilly (M. Loukides, H. Mason et al.)
+* [Éthique de la science des données](https://www.coursera.org/learn/data-science-ethics#syllabus) - cours en ligne de l'Université du Michigan.
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - études de cas de l'Université du Texas.
+
+# Devoir
+
+[Écrire une étude de cas sur l'éthique des données](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/1-Introduction/02-ethics/assignment.md b/translations/fr/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..bb5acc69
--- /dev/null
+++ b/translations/fr/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## Rédiger une étude de cas sur l'éthique des données
+
+## Instructions
+
+Vous avez appris à propos de divers [Défis d'éthique des données](README.md#2-ethics-challenges) et vu des exemples d'[Études de cas](README.md#3-case-studies) illustrant des défis d'éthique des données dans des contextes réels.
+
+Dans cet exercice, vous allez rédiger votre propre étude de cas reflétant un défi d'éthique des données issu de votre propre expérience ou d'un contexte réel pertinent que vous connaissez. Suivez simplement ces étapes :
+
+1. `Choisissez un défi d'éthique des données`. Consultez [les exemples de la leçon](README.md#2-ethics-challenges) ou explorez des exemples en ligne comme [la checklist Deon](https://deon.drivendata.org/examples/) pour trouver de l'inspiration.
+
+2. `Décrivez un exemple réel`. Pensez à une situation dont vous avez entendu parler (actualités, étude de recherche, etc.) ou que vous avez vécue (communauté locale), où ce défi spécifique s'est produit. Réfléchissez aux questions d'éthique des données liées à ce défi - et discutez des dommages potentiels ou des conséquences imprévues qui en découlent. Points bonus : réfléchissez à des solutions ou processus qui pourraient être appliqués ici pour aider à éliminer ou atténuer l'impact négatif de ce défi.
+
+3. `Fournissez une liste de ressources associées`. Partagez une ou plusieurs ressources (liens vers un article, un billet de blog personnel ou une image, un article de recherche en ligne, etc.) pour prouver que cela s'est réellement produit. Points bonus : partagez des ressources qui mettent également en évidence les dommages et conséquences potentiels de l'incident, ou qui soulignent les mesures positives prises pour éviter sa récurrence.
+
+
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Un ou plusieurs défis d'éthique des données sont identifiés.
L'étude de cas décrit clairement un incident réel reflétant ce défi et met en évidence les conséquences ou dommages indésirables qu'il a causés.
Il y a au moins une ressource liée pour prouver que cela s'est produit. | Un défi d'éthique des données est identifié.
Au moins un dommage ou une conséquence pertinente est brièvement discuté.
Cependant, la discussion est limitée ou manque de preuve de l'occurrence réelle. | Un défi d'éthique est identifié.
Cependant, la description ou les ressources ne reflètent pas adéquatement le défi ou ne prouvent pas son occurrence réelle. |
+
+**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/fr/1-Introduction/03-defining-data/README.md b/translations/fr/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..32f287f1
--- /dev/null
+++ b/translations/fr/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,83 @@
+
+# Définir les Données
+
+| ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|Définir les Données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Les données sont des faits, des informations, des observations et des mesures utilisées pour faire des découvertes et soutenir des décisions éclairées. Un point de données est une unité unique de données dans un ensemble de données, qui est une collection de points de données. Les ensembles de données peuvent avoir différents formats et structures, généralement basés sur leur source ou leur origine. Par exemple, les revenus mensuels d'une entreprise pourraient être dans une feuille de calcul, tandis que les données de fréquence cardiaque horaire d'une montre connectée pourraient être au format [JSON](https://stackoverflow.com/a/383699). Il est courant que les data scientists travaillent avec différents types de données au sein d'un ensemble de données.
+
+Cette leçon se concentre sur l'identification et la classification des données en fonction de leurs caractéristiques et de leurs sources.
+
+## [Quiz Pré-Cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+
+## Comment les Données sont Décrites
+
+### Données Brutes
+Les données brutes sont des données provenant de leur source dans leur état initial et qui n'ont pas été analysées ou organisées. Pour comprendre ce qui se passe dans un ensemble de données, elles doivent être organisées dans un format compréhensible par les humains ainsi que par la technologie utilisée pour les analyser davantage. La structure d'un ensemble de données décrit comment il est organisé et peut être classée comme structuré, non structuré ou semi-structuré. Ces types de structure varient en fonction de la source, mais entrent généralement dans ces trois catégories.
+
+### Données Quantitatives
+Les données quantitatives sont des observations numériques dans un ensemble de données et peuvent généralement être analysées, mesurées et utilisées mathématiquement. Quelques exemples de données quantitatives : la population d'un pays, la taille d'une personne ou les revenus trimestriels d'une entreprise. Avec une analyse supplémentaire, les données quantitatives pourraient être utilisées pour découvrir des tendances saisonnières de l'indice de qualité de l'air (AQI) ou estimer la probabilité de trafic aux heures de pointe lors d'une journée de travail typique.
+
+### Données Qualitatives
+Les données qualitatives, également appelées données catégoriques, sont des données qui ne peuvent pas être mesurées objectivement comme les observations des données quantitatives. Ce sont généralement des formats variés de données subjectives qui capturent la qualité de quelque chose, comme un produit ou un processus. Parfois, les données qualitatives sont numériques mais ne sont pas utilisées mathématiquement, comme les numéros de téléphone ou les horodatages. Quelques exemples de données qualitatives : les commentaires vidéo, la marque et le modèle d'une voiture ou la couleur préférée de vos amis proches. Les données qualitatives pourraient être utilisées pour comprendre quels produits les consommateurs préfèrent ou pour identifier des mots-clés populaires dans des CV.
+
+### Données Structurées
+Les données structurées sont organisées en lignes et colonnes, où chaque ligne a le même ensemble de colonnes. Les colonnes représentent une valeur d'un type particulier et sont identifiées par un nom décrivant ce que représente la valeur, tandis que les lignes contiennent les valeurs réelles. Les colonnes ont souvent un ensemble spécifique de règles ou de restrictions sur les valeurs, pour garantir que les valeurs représentent correctement la colonne. Par exemple, imaginez une feuille de calcul de clients où chaque ligne doit avoir un numéro de téléphone et où les numéros de téléphone ne contiennent jamais de caractères alphabétiques. Des règles peuvent être appliquées à la colonne des numéros de téléphone pour s'assurer qu'elle n'est jamais vide et ne contient que des chiffres.
+
+Un avantage des données structurées est qu'elles peuvent être organisées de manière à être reliées à d'autres données structurées. Cependant, comme les données sont conçues pour être organisées d'une manière spécifique, modifier leur structure globale peut demander beaucoup d'efforts. Par exemple, ajouter une colonne d'e-mails à la feuille de calcul des clients qui ne peut pas être vide signifie qu'il faudra trouver comment ajouter ces valeurs aux lignes existantes de l'ensemble de données.
+
+Exemples de données structurées : feuilles de calcul, bases de données relationnelles, numéros de téléphone, relevés bancaires.
+
+### Données Non Structurées
+Les données non structurées ne peuvent généralement pas être catégorisées en lignes ou colonnes et ne suivent pas un format ou un ensemble de règles. Comme les données non structurées ont moins de restrictions sur leur structure, il est plus facile d'ajouter de nouvelles informations par rapport à un ensemble de données structuré. Si un capteur capturant des données sur la pression barométrique toutes les 2 minutes reçoit une mise à jour lui permettant désormais de mesurer et d'enregistrer la température, cela ne nécessite pas de modifier les données existantes si elles sont non structurées. Cependant, cela peut rendre l'analyse ou l'exploration de ce type de données plus longue. Par exemple, un scientifique qui souhaite trouver la température moyenne du mois précédent à partir des données du capteur découvre que le capteur a enregistré un "e" dans certaines de ses données pour indiquer qu'il était en panne au lieu d'un nombre typique, ce qui signifie que les données sont incomplètes.
+
+Exemples de données non structurées : fichiers texte, messages texte, fichiers vidéo.
+
+### Données Semi-Structurées
+Les données semi-structurées ont des caractéristiques qui en font une combinaison de données structurées et non structurées. Elles ne suivent généralement pas un format de lignes et colonnes, mais sont organisées d'une manière considérée comme structurée et peuvent suivre un format fixe ou un ensemble de règles. La structure varie selon les sources, allant d'une hiérarchie bien définie à quelque chose de plus flexible permettant une intégration facile de nouvelles informations. Les métadonnées sont des indicateurs qui aident à décider comment les données sont organisées et stockées et portent divers noms en fonction du type de données. Quelques noms courants pour les métadonnées : balises, éléments, entités et attributs. Par exemple, un message e-mail typique aura un sujet, un corps et un ensemble de destinataires et peut être organisé par expéditeur ou date d'envoi.
+
+Exemples de données semi-structurées : HTML, fichiers CSV, JavaScript Object Notation (JSON).
+
+## Sources de Données
+
+Une source de données est l'emplacement initial où les données ont été générées ou où elles "résident" et varie en fonction de la manière et du moment où elles ont été collectées. Les données générées par leurs utilisateurs sont appelées données primaires, tandis que les données secondaires proviennent d'une source ayant collecté des données pour un usage général. Par exemple, un groupe de scientifiques collectant des observations dans une forêt tropicale serait considéré comme primaire, et s'ils décident de les partager avec d'autres scientifiques, cela serait considéré comme secondaire pour ceux qui les utilisent.
+
+Les bases de données sont une source courante et reposent sur un système de gestion de bases de données pour héberger et maintenir les données, où les utilisateurs utilisent des commandes appelées requêtes pour explorer les données. Les fichiers comme sources de données peuvent être des fichiers audio, image et vidéo ainsi que des feuilles de calcul comme Excel. Les sources Internet sont un emplacement courant pour héberger des données, où des bases de données ainsi que des fichiers peuvent être trouvés. Les interfaces de programmation d'applications, également appelées API, permettent aux programmeurs de créer des moyens de partager des données avec des utilisateurs externes via Internet, tandis que le processus de web scraping extrait des données d'une page web. Les [leçons sur le Travail avec les Données](../../../../../../../../../2-Working-With-Data) se concentrent sur l'utilisation de diverses sources de données.
+
+## Conclusion
+
+Dans cette leçon, nous avons appris :
+
+- Ce que sont les données
+- Comment les données sont décrites
+- Comment les données sont classées et catégorisées
+- Où les données peuvent être trouvées
+
+## 🚀 Défi
+
+Kaggle est une excellente source d'ensembles de données ouverts. Utilisez l'[outil de recherche d'ensembles de données](https://www.kaggle.com/datasets) pour trouver des ensembles de données intéressants et classifiez 3 à 5 ensembles de données selon ces critères :
+
+- Les données sont-elles quantitatives ou qualitatives ?
+- Les données sont-elles structurées, non structurées ou semi-structurées ?
+
+## [Quiz Post-Cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## Révision & Auto-Étude
+
+- Cette unité de Microsoft Learn, intitulée [Classifiez vos Données](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data), propose une explication détaillée des données structurées, semi-structurées et non structurées.
+
+## Devoir
+
+[Classifiez des Ensembles de Données](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/1-Introduction/03-defining-data/assignment.md b/translations/fr/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..8fdf91f7
--- /dev/null
+++ b/translations/fr/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# Classification des ensembles de données
+
+## Instructions
+
+Suivez les consignes de cet exercice pour identifier et classifier les données selon l'un de chacun des types suivants :
+
+**Types de structure** : Structuré, Semi-structuré ou Non structuré
+
+**Types de valeur** : Qualitatif ou Quantitatif
+
+**Types de source** : Primaire ou Secondaire
+
+1. Une entreprise a été acquise et a maintenant une société mère. Les data scientists ont reçu une feuille de calcul contenant les numéros de téléphone des clients de la société mère.
+
+Type de structure :
+
+Type de valeur :
+
+Type de source :
+
+---
+
+2. Une montre connectée collecte les données de fréquence cardiaque de son utilisateur, et les données brutes sont au format JSON.
+
+Type de structure :
+
+Type de valeur :
+
+Type de source :
+
+---
+
+3. Une enquête sur le moral des employés dans un lieu de travail, stockée dans un fichier CSV.
+
+Type de structure :
+
+Type de valeur :
+
+Type de source :
+
+---
+
+4. Des astrophysiciens accèdent à une base de données de galaxies collectées par une sonde spatiale. Les données contiennent le nombre de planètes dans chaque galaxie.
+
+Type de structure :
+
+Type de valeur :
+
+Type de source :
+
+---
+
+5. Une application de finances personnelles utilise des API pour se connecter aux comptes financiers d'un utilisateur afin de calculer son patrimoine net. L'utilisateur peut voir toutes ses transactions sous forme de lignes et colonnes, similaire à une feuille de calcul.
+
+Type de structure :
+
+Type de valeur :
+
+Type de source :
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Identifie correctement tous les types de structure, valeur et source | Identifie correctement 3 types de structure, valeur et source | Identifie correctement 2 types ou moins de structure, valeur et source |
+
+**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 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.
\ No newline at end of file
diff --git a/translations/fr/1-Introduction/04-stats-and-probability/README.md b/translations/fr/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..87196bbd
--- /dev/null
+++ b/translations/fr/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# Une brève introduction aux statistiques et à la probabilité
+
+| ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| Statistiques et Probabilité - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+La théorie des statistiques et des probabilités sont deux domaines des mathématiques étroitement liés et 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)
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## Probabilité et variables aléatoires
+
+La **probabilité** est un nombre compris entre 0 et 1 qui exprime à quel point un **événement** est probable. Elle est définie comme le nombre de résultats positifs (qui mènent à l'événement), divisé par le nombre total de résultats, en supposant que tous les résultats sont également probables. Par exemple, lorsque nous lançons un dé, la probabilité d'obtenir un nombre pair est de 3/6 = 0,5.
+
+Lorsque nous parlons d'événements, nous utilisons des **variables aléatoires**. Par exemple, la variable aléatoire qui représente le nombre obtenu en lançant un dé prendra des valeurs de 1 à 6. L'ensemble des nombres de 1 à 6 est appelé **espace d'échantillonnage**. Nous pouvons parler de la probabilité qu'une variable aléatoire prenne une certaine valeur, par exemple P(X=3)=1/6.
+
+La variable aléatoire dans l'exemple précédent est appelée **discrète**, car elle a un espace d'échantillonnage dénombrable, c'est-à-dire qu'il existe des valeurs distinctes qui peuvent être énumérées. Il existe des cas où l'espace d'échantillonnage est un intervalle de nombres réels, ou l'ensemble complet des nombres réels. Ces variables sont appelées **continues**. Un bon exemple est l'heure d'arrivée d'un bus.
+
+## Distribution de probabilité
+
+Dans le cas des variables aléatoires discrètes, il est facile de décrire la probabilité de chaque événement par une fonction P(X). Pour chaque valeur *s* de l'espace d'échantillonnage *S*, elle donnera un nombre compris entre 0 et 1, de sorte que la somme de toutes les valeurs de P(X=s) pour tous les événements soit égale à 1.
+
+La distribution discrète la plus connue est la **distribution uniforme**, dans laquelle il existe un espace d'échantillonnage de N éléments, avec une probabilité égale de 1/N pour chacun d'eux.
+
+Il est plus difficile de décrire la distribution de probabilité d'une variable continue, avec des valeurs tirées d'un intervalle [a,b], ou de l'ensemble complet des nombres réels ℝ. Prenons l'exemple de l'heure d'arrivée d'un bus. En réalité, pour chaque heure d'arrivée exacte *t*, la probabilité qu'un bus arrive exactement à cette heure est de 0 !
+
+> Maintenant, vous savez que des événements avec une probabilité de 0 se produisent, et très souvent ! Au moins chaque fois qu'un bus arrive !
+
+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
+
+![P(t_1\le X1, x2, ..., xn. Nous pouvons définir la **moyenne** (ou **moyenne arithmétique**) de la séquence de manière traditionnelle comme (x1+x2+xn)/n. En augmentant la taille de l'échantillon (c'est-à-dire en prenant la limite avec n→∞), nous obtiendrons la moyenne (également appelée **espérance**) de la distribution. Nous noterons l'espérance par **E**(x).
+
+> Il peut être démontré que pour toute distribution discrète avec des valeurs {x1, x2, ..., xN} et des probabilités correspondantes p1, p2, ..., pN, l'espérance serait égale à E(X)=x1p1+x2p2+...+xNpN.
+
+Pour identifier à quel point les valeurs sont dispersées, nous pouvons calculer la variance σ2 = ∑(xi - μ)2/n, où μ est la moyenne de la séquence. La valeur σ est appelée **écart-type**, et σ2 est appelée **variance**.
+
+## Mode, médiane et quartiles
+
+Parfois, la moyenne ne représente pas adéquatement la valeur "typique" des données. Par exemple, lorsqu'il y a quelques valeurs extrêmes complètement hors de portée, elles peuvent affecter la moyenne. Une autre bonne indication est la **médiane**, une valeur telle que la moitié des points de données sont inférieurs à celle-ci, et l'autre moitié - supérieurs.
+
+Pour mieux comprendre la distribution des données, il est utile de parler des **quartiles** :
+
+* Le premier quartile, ou Q1, est une valeur telle que 25 % des données sont inférieures à celle-ci.
+* Le troisième quartile, ou Q3, est une valeur telle que 75 % des données sont inférieures à celle-ci.
+
+Graphiquement, nous pouvons représenter la relation entre la médiane et les quartiles dans un diagramme appelé **boîte à moustaches** :
+
+
+
+Ici, nous calculons également l'**étendue interquartile** IQR=Q3-Q1, et les **valeurs aberrantes** - des valeurs qui se situent en dehors des limites [Q1-1.5*IQR, Q3+1.5*IQR].
+
+Pour une distribution finie contenant un petit nombre de valeurs possibles, une bonne valeur "typique" est celle qui apparaît le plus fréquemment, appelée **mode**. Cela s'applique souvent aux données catégoriques, comme les couleurs. Considérons une situation où nous avons deux groupes de personnes - certains qui préfèrent fortement le rouge, et d'autres qui préfèrent le bleu. Si nous codons les couleurs par des nombres, la moyenne pour une couleur préférée serait quelque part dans le spectre orange-vert, ce qui ne reflète pas les préférences réelles d'aucun groupe. Cependant, le mode serait soit l'une des couleurs, soit les deux couleurs, si le nombre de personnes votant pour elles est égal (dans ce cas, nous appelons l'échantillon **multimodal**).
+
+## Données du monde réel
+
+Lorsque nous analysons des données du monde réel, elles ne sont souvent pas des variables aléatoires à proprement parler, dans le sens où nous ne réalisons pas d'expériences avec des résultats inconnus. Par exemple, considérons une équipe de joueurs de baseball, et leurs données corporelles, telles que la taille, le poids et l'âge. Ces nombres ne sont pas exactement aléatoires, mais nous pouvons tout de même appliquer les mêmes concepts mathématiques. Par exemple, une séquence de poids de personnes peut être considérée comme une séquence de valeurs tirées d'une variable aléatoire. Voici la séquence des poids de joueurs de baseball réels de la [Major League Baseball](http://mlb.mlb.com/index.jsp), tirée de [ce jeu de données](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights) (pour votre commodité, seules les 20 premières valeurs sont affichées) :
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **Note** : Pour voir un exemple de travail avec ce jeu de données, consultez le [notebook associé](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb). Il y a également un certain nombre de défis tout au long de cette leçon, et vous pouvez les compléter en ajoutant du code à ce notebook. Si vous ne savez pas comment manipuler les données, ne vous inquiétez pas - nous reviendrons sur le travail avec les données en utilisant Python plus tard. Si vous ne savez pas comment exécuter du code dans un Jupyter Notebook, consultez [cet article](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
+
+Voici le diagramme en boîte montrant la moyenne, la médiane et les quartiles pour nos données :
+
+
+
+Comme nos données contiennent des informations sur différents **rôles** de joueurs, nous pouvons également réaliser un diagramme en boîte par rôle - cela nous permettra de comprendre comment les valeurs des paramètres diffèrent selon les rôles. Cette fois, nous considérerons la taille :
+
+
+
+Ce diagramme suggère qu'en moyenne, la taille des joueurs de première base est supérieure à celle des joueurs de deuxième base. Plus tard dans cette leçon, 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.
+
+> Lorsque nous travaillons avec des données du monde réel, nous supposons que tous les points de données sont des échantillons tirés d'une certaine distribution de probabilité. Cette hypothèse nous permet d'appliquer des techniques d'apprentissage automatique et de construire des modèles prédictifs fonctionnels.
+
+Pour voir quelle est la distribution de nos données, nous pouvons tracer un graphique appelé **histogramme**. L'axe X contiendra un certain nombre d'intervalles de poids différents (appelés **bins**), et l'axe vertical montrera le nombre de fois où notre échantillon de variable aléatoire se trouvait dans un intervalle donné.
+
+
+
+À partir de cet histogramme, vous pouvez voir que toutes les valeurs sont centrées autour d'un certain poids moyen, et plus nous nous éloignons de ce poids, moins il est probable de rencontrer des poids de cette valeur. Autrement dit, il est très improbable que le poids d'un joueur de baseball soit très différent du poids moyen. La variance des poids montre dans quelle mesure les poids sont susceptibles de différer de la moyenne.
+
+> Si nous prenons les poids d'autres personnes, pas de la ligue de baseball, la distribution sera probablement différente. Cependant, la forme de la distribution restera la même, mais la moyenne et la variance changeront. Ainsi, si nous entraînons notre modèle sur des joueurs de baseball, il est probable qu'il donne des résultats erronés lorsqu'il est appliqué à des étudiants d'une université, car la distribution sous-jacente est différente.
+
+## Distribution normale
+
+La distribution des poids que nous avons vue ci-dessus est très typique, et de nombreuses mesures du monde réel suivent le même type de distribution, mais avec des moyennes et des variances différentes. Cette distribution est appelée **distribution normale**, et elle joue un rôle très important en statistiques.
+
+Utiliser une distribution normale est une méthode correcte pour générer des poids aléatoires de joueurs de baseball potentiels. Une fois que nous connaissons le poids moyen `mean` et l'écart-type `std`, nous pouvons générer 1000 échantillons de poids de la manière suivante :
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+Si nous traçons l'histogramme des échantillons générés, nous verrons une image très similaire à celle montrée ci-dessus. Et si nous augmentons le nombre d'échantillons et le nombre de bins, nous pouvons générer une image d'une distribution normale plus proche de l'idéal :
+
+
+
+*Distribution normale avec moyenne=0 et écart-type=1*
+
+## Intervalles de confiance
+
+Lorsque nous parlons des poids des joueurs de baseball, nous supposons qu'il existe une certaine **variable aléatoire W** qui correspond à la distribution de probabilité idéale des poids de tous les joueurs de baseball (appelée **population**). Notre séquence de poids correspond à un sous-ensemble de tous les joueurs de baseball que nous appelons **échantillon**. Une question intéressante est : pouvons-nous connaître les paramètres de la distribution de W, c'est-à-dire la moyenne et la variance de la population ?
+
+La réponse la plus simple serait de calculer la moyenne et la variance de notre échantillon. Cependant, il pourrait arriver que notre échantillon aléatoire ne représente pas fidèlement la population complète. Ainsi, il est logique de parler d'**intervalle de confiance**.
+> **L'intervalle de confiance** est l'estimation de la moyenne réelle de la population à partir de notre échantillon, avec une précision selon une certaine probabilité (ou **niveau de confiance**).
+Supposons que nous avons un échantillon X1, ..., Xn issu de notre distribution. Chaque fois que nous tirons un échantillon de notre distribution, nous obtenons une valeur moyenne différente μ. Ainsi, μ peut être considéré comme une variable aléatoire. Un **intervalle de confiance** avec une confiance p est une paire de valeurs (Lp,Rp), telle que **P**(Lp≤μ≤Rp) = p, c'est-à-dire que la probabilité que la valeur moyenne mesurée tombe dans l'intervalle est égale à p.
+
+Il dépasse le cadre de cette introduction de discuter en détail comment ces intervalles de confiance sont calculés. Vous pouvez trouver plus de détails [sur Wikipédia](https://en.wikipedia.org/wiki/Confidence_interval). En résumé, nous définissons la distribution de la moyenne d'échantillon calculée par rapport à la moyenne réelle de la population, appelée **distribution de Student**.
+
+> **Fait intéressant** : La distribution de Student porte le nom du mathématicien William Sealy Gosset, qui a publié son article sous le pseudonyme "Student". Il travaillait dans la brasserie Guinness et, selon une version, son employeur ne voulait pas que le grand public sache qu'ils utilisaient des tests statistiques pour déterminer la qualité des matières premières.
+
+Si nous voulons estimer la moyenne μ de notre population avec une confiance p, nous devons prendre le *percentile (1-p)/2* d'une distribution de Student A, qui peut être obtenu à partir de tables ou calculé à l'aide de fonctions intégrées dans des logiciels statistiques (par exemple Python, R, etc.). Ensuite, l'intervalle pour μ serait donné par X±A*D/√n, où X est la moyenne obtenue de l'échantillon, D est l'écart-type.
+
+> **Note** : Nous omettons également la discussion d'un concept important des [degrés de liberté](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)), qui est essentiel en relation avec la distribution de Student. Vous pouvez consulter des livres plus complets sur les statistiques pour approfondir ce concept.
+
+Un exemple de calcul d'intervalle de confiance pour les poids et les tailles est donné dans les [notebooks associés](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb).
+
+| p | Moyenne du poids |
+|------|------------------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+Remarquez que plus la probabilité de confiance est élevée, plus l'intervalle de confiance est large.
+
+## Test d'hypothèse
+
+Dans notre ensemble de données sur les joueurs de baseball, il existe différents rôles de joueurs, qui peuvent être résumés ci-dessous (consultez le [notebook associé](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) pour voir comment ce tableau peut être calculé) :
+
+| Rôle | Taille | Poids | Nombre |
+|--------------------|----------|----------|--------|
+| Receveur | 72.723684 | 204.328947 | 76 |
+| Frappeur désigné | 74.222222 | 220.888889 | 18 |
+| Premier but | 74.000000 | 213.109091 | 55 |
+| Champ extérieur | 73.010309 | 199.113402 | 194 |
+| Lanceur de relève | 74.374603 | 203.517460 | 315 |
+| Deuxième but | 71.362069 | 184.344828 | 58 |
+| Arrêt-court | 71.903846 | 182.923077 | 52 |
+| Lanceur partant | 74.719457 | 205.163636 | 221 |
+| Troisième but | 73.044444 | 200.955556 | 45 |
+
+Nous pouvons remarquer que la taille moyenne des premiers buts est supérieure à celle des deuxièmes buts. Ainsi, nous pourrions être tentés de conclure que **les premiers buts sont plus grands que les deuxièmes buts**.
+
+> Cette affirmation est appelée **une hypothèse**, car nous ne savons pas si le fait est réellement vrai ou non.
+
+Cependant, il n'est pas toujours évident de pouvoir tirer cette conclusion. D'après la discussion ci-dessus, nous savons que chaque moyenne a un intervalle de confiance associé, et donc cette différence peut simplement être une erreur statistique. Nous avons besoin d'une méthode plus formelle pour tester notre hypothèse.
+
+Calculons les intervalles de confiance séparément pour les tailles des premiers et des deuxièmes buts :
+
+| Confiance | Premiers buts | Deuxièmes buts |
+|-----------|---------------|----------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+Nous pouvons voir qu'à aucun niveau de confiance les intervalles ne se chevauchent. Cela prouve notre hypothèse selon laquelle les premiers buts sont plus grands que les deuxièmes buts.
+
+Plus formellement, le problème que nous résolvons est de voir si **deux distributions de probabilité sont identiques**, ou du moins ont les mêmes paramètres. Selon la distribution, nous devons utiliser différents tests pour cela. Si nous savons que nos distributions sont normales, nous pouvons appliquer le **[test t de Student](https://en.wikipedia.org/wiki/Student%27s_t-test)**.
+
+Dans le test t de Student, nous calculons ce qu'on appelle la **valeur t**, qui indique la différence entre les moyennes, en tenant compte de la variance. Il est démontré que la valeur t suit la **distribution de Student**, ce qui nous permet d'obtenir la valeur seuil pour un niveau de confiance donné **p** (cela peut être calculé ou consulté dans des tables numériques). Nous comparons ensuite la valeur t à ce seuil pour approuver ou rejeter l'hypothèse.
+
+En Python, nous pouvons utiliser le package **SciPy**, qui inclut la fonction `ttest_ind` (en plus de nombreuses autres fonctions statistiques utiles !). Elle calcule la valeur t pour nous et effectue également la recherche inverse de la valeur p de confiance, afin que nous puissions simplement regarder la confiance pour tirer une conclusion.
+
+Par exemple, notre comparaison entre les tailles des premiers et des deuxièmes buts nous donne les résultats suivants :
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+Dans notre cas, la valeur p est très faible, ce qui signifie qu'il existe des preuves solides soutenant que les premiers buts sont plus grands.
+
+Il existe également différents types d'hypothèses que nous pourrions vouloir tester, par exemple :
+* Prouver qu'un échantillon donné suit une distribution. Dans notre cas, nous avons supposé que les tailles sont distribuées normalement, mais cela nécessite une vérification statistique formelle.
+* Prouver que la valeur moyenne d'un échantillon correspond à une valeur prédéfinie.
+* Comparer les moyennes de plusieurs échantillons (par exemple, quelle est la différence dans les niveaux de bonheur entre différents groupes d'âge).
+
+## Loi des grands nombres et théorème central limite
+
+L'une des raisons pour lesquelles la distribution normale est si importante est le **théorème central limite**. Supposons que nous avons un grand échantillon de N valeurs indépendantes X1, ..., XN, échantillonnées à partir de n'importe quelle distribution avec une moyenne μ et une variance σ2. Ensuite, pour un N suffisamment grand (en d'autres termes, lorsque N→∞), la moyenne ΣiXi serait distribuée normalement, avec une moyenne μ et une variance σ2/N.
+
+> Une autre façon d'interpréter le théorème central limite est de dire que, quelle que soit la distribution, lorsque vous calculez la moyenne d'une somme de valeurs de variables aléatoires, vous obtenez une distribution normale.
+
+D'après le théorème central limite, il s'ensuit également que, lorsque N→∞, la probabilité que la moyenne de l'échantillon soit égale à μ devient 1. Cela est connu sous le nom de **loi des grands nombres**.
+
+## Covariance et corrélation
+
+L'une des choses que fait la science des données est de trouver des relations entre les données. Nous disons que deux séquences **corrèlent** lorsqu'elles présentent un comportement similaire au même moment, c'est-à-dire qu'elles augmentent/diminuent simultanément, ou qu'une séquence augmente lorsque l'autre diminue et vice versa. En d'autres termes, il semble y avoir une relation entre deux séquences.
+
+> La corrélation n'indique pas nécessairement une relation causale entre deux séquences ; parfois, les deux variables peuvent dépendre d'une cause externe, ou cela peut être purement par hasard que les deux séquences corrèlent. Cependant, une corrélation mathématique forte est une bonne indication que deux variables sont d'une certaine manière connectées.
+
+Mathématiquement, le concept principal qui montre la relation entre deux variables aléatoires est la **covariance**, qui est calculée comme suit : Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]. Nous calculons la déviation des deux variables par rapport à leurs valeurs moyennes, puis le produit de ces déviations. Si les deux variables dévient ensemble, le produit sera toujours une valeur positive, ce qui donnera une covariance positive. Si les deux variables dévient de manière désynchronisée (c'est-à-dire qu'une tombe en dessous de la moyenne lorsque l'autre dépasse la moyenne), nous obtiendrons toujours des nombres négatifs, ce qui donnera une covariance négative. Si les déviations ne sont pas dépendantes, elles s'additionneront à peu près à zéro.
+
+La valeur absolue de la covariance ne nous dit pas grand-chose sur l'ampleur de la corrélation, car elle dépend de la magnitude des valeurs réelles. Pour la normaliser, nous pouvons diviser la covariance par l'écart-type des deux variables, pour obtenir la **corrélation**. L'avantage est que la corrélation est toujours dans la plage [-1,1], où 1 indique une forte corrélation positive entre les valeurs, -1 une forte corrélation négative, et 0 aucune corrélation (les variables sont indépendantes).
+
+**Exemple** : Nous pouvons calculer la corrélation entre les poids et les tailles des joueurs de baseball à partir de l'ensemble de données mentionné ci-dessus :
+```python
+print(np.corrcoef(weights,heights))
+```
+En conséquence, nous obtenons une **matrice de corrélation** comme celle-ci :
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> La matrice de corrélation C peut être calculée pour n'importe quel nombre de séquences d'entrée S1, ..., Sn. La valeur de Cij est la corrélation entre Si et Sj, et les éléments diagonaux sont toujours 1 (ce qui est également l'auto-corrélation de Si).
+
+Dans notre cas, la valeur 0.53 indique qu'il existe une certaine corrélation entre le poids et la taille d'une personne. Nous pouvons également réaliser un diagramme de dispersion d'une valeur par rapport à l'autre pour voir la relation visuellement :
+
+
+
+> Plus d'exemples de corrélation et de covariance peuvent être trouvés dans le [notebook associé](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb).
+
+## Conclusion
+
+Dans cette section, nous avons appris :
+
+* les propriétés statistiques de base des données, telles que la moyenne, la variance, le mode et les quartiles
+* les différentes distributions de variables aléatoires, y compris la distribution normale
+* comment trouver la corrélation entre différentes propriétés
+* comment utiliser un appareil mathématique et statistique solide pour prouver certaines hypothèses
+* comment calculer des intervalles de confiance pour une variable aléatoire donnée un échantillon de données
+
+Bien que cette liste ne soit certainement pas exhaustive des sujets qui existent dans la probabilité et les statistiques, elle devrait suffire à vous donner un bon départ dans ce cours.
+
+## 🚀 Défi
+
+Utilisez le code d'exemple dans le notebook pour tester d'autres hypothèses :
+1. Les premiers buts sont plus âgés que les deuxièmes buts
+2. Les premiers buts sont plus grands que les troisièmes buts
+3. Les arrêts-courts sont plus grands que les deuxièmes buts
+
+## [Quiz post-lecture](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## Révision et auto-apprentissage
+
+La probabilité et les statistiques sont un sujet si vaste qu'il mérite son propre cours. Si vous souhaitez approfondir la théorie, vous pouvez continuer à lire certains des livres suivants :
+
+1. [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/) de l'Université de New York propose d'excellentes notes de cours [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf) (disponibles en ligne)
+1. [Peter et Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[code d'exemple en R](https://github.com/andrewgbruce/statistics-for-data-scientists)].
+1. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[code d'exemple en R](https://github.com/PacktPublishing/Statistics-for-Data-Science)]
+
+## Devoir
+
+[Petite étude sur le diabète](assignment.md)
+
+## Crédits
+
+Cette leçon a été rédigée avec ♥️ par [Dmitry Soshnikov](http://soshnikov.com)
+
+**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/fr/1-Introduction/04-stats-and-probability/assignment.md b/translations/fr/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..d84c2220
--- /dev/null
+++ b/translations/fr/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# Petite étude sur le diabète
+
+Dans cet exercice, nous travaillerons avec un petit ensemble de données de patients atteints de diabète, disponible [ici](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html).
+
+| | ÂGE | SEXE | IMC | TA | S1 | S2 | S3 | S4 | S5 | S6 | Y |
+|---|-----|------|-----|----|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1 | 101. | 157 | 93.2 | 38.0 | 4. | 4.8598 | 87 | 151 |
+| 1 | 48 | 1 | 21.6 | 87.0 | 183 | 103.2 | 70. | 3. | 3.8918 | 69 | 75 |
+| 2 | 72 | 2 | 30.5 | 93.0 | 156 | 93.6 | 41.0 | 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... |
+
+## Instructions
+
+* Ouvrez le [notebook de l'exercice](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb) dans un environnement jupyter notebook
+* Complétez toutes les tâches listées dans le notebook, à savoir :
+ * [ ] Calculer les valeurs moyennes et la variance pour toutes les variables
+ * [ ] Tracer des boxplots pour IMC, TA et Y en fonction du sexe
+ * [ ] Quelle est la distribution des variables Âge, Sexe, IMC et Y ?
+ * [ ] Tester la corrélation entre les différentes variables et la progression de la maladie (Y)
+ * [ ] Tester l'hypothèse selon laquelle le degré de progression du diabète est différent entre les hommes et les femmes
+
+## Barème
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Toutes les tâches requises sont complètes, illustrées graphiquement et expliquées | La plupart des tâches sont complètes, mais les explications ou les conclusions des graphiques et/ou des valeurs obtenues manquent | Seules les tâches de base, comme le calcul des moyennes/variances et les graphiques simples, sont complètes, aucune conclusion n'est tirée des données
+
+**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/fr/1-Introduction/README.md b/translations/fr/1-Introduction/README.md
new file mode 100644
index 00000000..1df607c7
--- /dev/null
+++ b/translations/fr/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# 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.
+
+### Sujets
+
+1. [Définir la Science des Données](01-defining-data-science/README.md)
+2. [Éthique en Science des Données](02-ethics/README.md)
+3. [Définir les Données](03-defining-data/README.md)
+4. [Introduction aux Statistiques et à la Probabilité](04-stats-and-probability/README.md)
+
+### Crédits
+
+Ces leçons ont été écrites avec ❤️ par [Nitya Narasimhan](https://twitter.com/nitya) et [Dmitry Soshnikov](https://twitter.com/shwars).
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/05-relational-databases/README.md b/translations/fr/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..0db69805
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# Travailler avec les données : Bases de données relationnelles
+
+| ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| Travailler avec les données : Bases de données relationnelles - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Il y a de fortes chances que vous ayez déjà utilisé un tableur pour stocker des informations. Vous aviez un ensemble de lignes et de colonnes, où les lignes contenaient les informations (ou données), et les colonnes décrivaient ces informations (parfois appelées métadonnées). Une base de données relationnelle repose sur ce principe fondamental de colonnes et de lignes dans des tables, vous permettant de répartir les informations sur plusieurs tables. Cela vous permet de travailler avec des données plus complexes, d'éviter les duplications et d'avoir une flexibilité dans la manière d'explorer les données. Explorons les concepts d'une base de données relationnelle.
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## Tout commence par des tables
+
+Une base de données relationnelle repose sur des tables. Tout comme dans un tableur, une table est une collection de colonnes et de lignes. Les lignes contiennent les données ou informations avec lesquelles nous souhaitons travailler, comme le nom d'une ville ou la quantité de précipitations. Les colonnes décrivent les données qu'elles stockent.
+
+Commençons notre exploration en créant une table pour stocker des informations sur les villes. Nous pourrions commencer par leur nom et leur pays. Vous pourriez stocker cela dans une table comme suit :
+
+| Ville | Pays |
+| --------- | -------------- |
+| Tokyo | Japon |
+| Atlanta | États-Unis |
+| Auckland | Nouvelle-Zélande |
+
+Remarquez que les noms des colonnes **Ville**, **Pays** et **Population** décrivent les données stockées, et chaque ligne contient des informations sur une ville.
+
+## Les limites d'une approche avec une seule table
+
+Il y a de fortes chances que la table ci-dessus vous semble relativement familière. Ajoutons maintenant des données supplémentaires à notre base de données naissante : les précipitations annuelles (en millimètres). Nous nous concentrerons sur les années 2018, 2019 et 2020. Si nous devions les ajouter pour Tokyo, cela pourrait ressembler à ceci :
+
+| Ville | Pays | Année | Quantité |
+| ------ | ------ | ----- | -------- |
+| Tokyo | Japon | 2020 | 1690 |
+| Tokyo | Japon | 2019 | 1874 |
+| Tokyo | Japon | 2018 | 1445 |
+
+Que remarquez-vous dans notre table ? Vous pourriez remarquer que nous dupliquons le nom et le pays de la ville encore et encore. Cela pourrait occuper beaucoup d'espace de stockage, et il est largement inutile d'avoir plusieurs copies. Après tout, Tokyo n'a qu'un seul nom qui nous intéresse.
+
+OK, essayons autre chose. Ajoutons de nouvelles colonnes pour chaque année :
+
+| Ville | Pays | 2018 | 2019 | 2020 |
+| --------- | -------------- | ----- | ----- | ----- |
+| Tokyo | Japon | 1445 | 1874 | 1690 |
+| Atlanta | États-Unis | 1779 | 1111 | 1683 |
+| Auckland | Nouvelle-Zélande | 1386 | 942 | 1176 |
+
+Bien que cela évite la duplication des lignes, cela ajoute d'autres défis. Nous devrions modifier la structure de notre table chaque fois qu'une nouvelle année est ajoutée. De plus, à mesure que nos données augmentent, avoir les années comme colonnes rendra plus difficile la récupération et le calcul des valeurs.
+
+C'est pourquoi nous avons besoin de plusieurs tables et de relations. En divisant nos données, nous pouvons éviter les duplications et avoir plus de flexibilité dans la manière dont nous travaillons avec nos données.
+
+## Les concepts de relations
+
+Revenons à nos données et déterminons comment nous voulons les diviser. Nous savons que nous voulons stocker le nom et le pays de nos villes, donc cela fonctionnera probablement mieux dans une table.
+
+| Ville | Pays |
+| --------- | -------------- |
+| Tokyo | Japon |
+| Atlanta | États-Unis |
+| Auckland | Nouvelle-Zélande |
+
+Mais avant de créer la table suivante, nous devons déterminer comment référencer chaque ville. Nous avons besoin d'une forme d'identifiant, ID ou (en termes techniques de base de données) une clé primaire. Une clé primaire est une valeur utilisée pour identifier une ligne spécifique dans une table. Bien que cela puisse être basé sur une valeur elle-même (nous pourrions utiliser le nom de la ville, par exemple), cela devrait presque toujours être un numéro ou un autre identifiant. Nous ne voulons pas que l'ID change, car cela casserait la relation. Dans la plupart des cas, la clé primaire ou ID sera un numéro généré automatiquement.
+
+> ✅ La clé primaire est fréquemment abrégée en PK
+
+### villes
+
+| ville_id | Ville | Pays |
+| -------- | --------- | -------------- |
+| 1 | Tokyo | Japon |
+| 2 | Atlanta | États-Unis |
+| 3 | Auckland | Nouvelle-Zélande |
+
+> ✅ Vous remarquerez que nous utilisons les termes "id" et "clé primaire" de manière interchangeable pendant cette leçon. Les concepts ici s'appliquent également aux DataFrames, que vous explorerez plus tard. Les DataFrames n'utilisent pas la terminologie de "clé primaire", mais vous remarquerez qu'ils se comportent de manière similaire.
+
+Avec notre table **villes** créée, stockons les précipitations. Plutôt que de dupliquer les informations complètes sur la ville, nous pouvons utiliser l'ID. Nous devrions également nous assurer que la table nouvellement créée a une colonne *id*, car toutes les tables devraient avoir un ID ou une clé primaire.
+
+### précipitations
+
+| precipitation_id | ville_id | Année | Quantité |
+| ---------------- | -------- | ----- | -------- |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+Remarquez la colonne **ville_id** dans la table nouvellement créée **précipitations**. Cette colonne contient des valeurs qui font référence aux IDs dans la table **villes**. En termes techniques de données relationnelles, cela s'appelle une **clé étrangère** ; c'est une clé primaire provenant d'une autre table. Vous pouvez simplement la considérer comme une référence ou un pointeur. **ville_id** 1 fait référence à Tokyo.
+
+> [!NOTE] La clé étrangère est fréquemment abrégée en FK
+
+## Récupérer les données
+
+Avec nos données séparées en deux tables, vous vous demandez peut-être comment les récupérer. Si nous utilisons une base de données relationnelle comme MySQL, SQL Server ou Oracle, nous pouvons utiliser un langage appelé Structured Query Language ou SQL. SQL (parfois prononcé "sequel") est un langage standard utilisé pour récupérer et modifier des données dans une base de données relationnelle.
+
+Pour récupérer des données, vous utilisez la commande `SELECT`. En son cœur, vous **sélectionnez** les colonnes que vous voulez voir **à partir de** la table où elles se trouvent. Si vous vouliez afficher uniquement les noms des villes, vous pourriez utiliser la commande suivante :
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT` est l'endroit où vous listez les colonnes, et `FROM` est l'endroit où vous listez les tables.
+
+> [NOTE] La syntaxe SQL n'est pas sensible à la casse, ce qui signifie que `select` et `SELECT` signifient la même chose. Cependant, selon le type de base de données que vous utilisez, les colonnes et les tables pourraient être sensibles à la casse. Par conséquent, il est préférable de toujours traiter tout en programmation comme si c'était sensible à la casse. Lors de l'écriture de requêtes SQL, la convention courante est de mettre les mots-clés en majuscules.
+
+La requête ci-dessus affichera toutes les villes. Imaginons que nous voulions afficher uniquement les villes en Nouvelle-Zélande. Nous avons besoin d'une forme de filtre. Le mot-clé SQL pour cela est `WHERE`, ou "où quelque chose est vrai".
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## Joindre des données
+
+Jusqu'à présent, nous avons récupéré des données à partir d'une seule table. Maintenant, nous voulons rassembler les données des tables **villes** et **précipitations**. Cela se fait en les *joignant*. Vous allez effectivement créer une liaison entre les deux tables et faire correspondre les valeurs d'une colonne de chaque table.
+
+Dans notre exemple, nous allons faire correspondre la colonne **ville_id** dans **précipitations** avec la colonne **ville_id** dans **villes**. Cela associera la valeur des précipitations à sa ville respective. Le type de jointure que nous effectuerons est ce qu'on appelle une jointure *interne*, ce qui signifie que si des lignes ne correspondent pas à quelque chose dans l'autre table, elles ne seront pas affichées. Dans notre cas, chaque ville a des précipitations, donc tout sera affiché.
+
+Récupérons les précipitations pour 2019 pour toutes nos villes.
+
+Nous allons le faire en étapes. La première étape consiste à joindre les données en indiquant les colonnes pour la liaison - **ville_id** comme mentionné précédemment.
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+Nous avons mis en évidence les deux colonnes que nous voulons, et le fait que nous voulons joindre les tables ensemble par la colonne **ville_id**. Maintenant, nous pouvons ajouter l'instruction `WHERE` pour filtrer uniquement l'année 2019.
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## Résumé
+
+Les bases de données relationnelles sont centrées sur la division des informations entre plusieurs tables, qui sont ensuite rassemblées pour l'affichage et l'analyse. Cela offre une grande flexibilité pour effectuer des calculs et manipuler les données. Vous avez vu les concepts fondamentaux d'une base de données relationnelle et comment effectuer une jointure entre deux tables.
+
+## 🚀 Défi
+
+Il existe de nombreuses bases de données relationnelles disponibles sur Internet. Vous pouvez explorer les données en utilisant les compétences que vous avez apprises ci-dessus.
+
+## Quiz après le cours
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## Révision et auto-apprentissage
+
+Il existe plusieurs ressources disponibles sur [Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum) pour continuer votre exploration des concepts SQL et des bases de données relationnelles :
+
+- [Décrire les concepts des données relationnelles](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [Commencer à interroger avec Transact-SQL](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum) (Transact-SQL est une version de SQL)
+- [Contenu SQL sur Microsoft Learn](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## Devoir
+
+[Titre du devoir](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/05-relational-databases/assignment.md b/translations/fr/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..b7766691
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# Affichage des données des aéroports
+
+On vous a fourni une [base de données](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) construite sur [SQLite](https://sqlite.org/index.html) qui contient des informations sur les aéroports. Le schéma est affiché ci-dessous. Vous utiliserez l'[extension SQLite](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) dans [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) pour afficher des informations sur les aéroports de différentes villes.
+
+## Instructions
+
+Pour commencer cet exercice, vous devrez effectuer quelques étapes. Vous devrez installer certains outils et télécharger la base de données d'exemple.
+
+### Configurez votre système
+
+Vous pouvez utiliser Visual Studio Code et l'extension SQLite pour interagir avec la base de données.
+
+1. Rendez-vous sur [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) et suivez les instructions pour installer Visual Studio Code
+1. Installez l'[extension SQLite](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) comme indiqué sur la page du Marketplace
+
+### Téléchargez et ouvrez la base de données
+
+Ensuite, vous téléchargerez et ouvrirez la base de données.
+
+1. Téléchargez le [fichier de base de données depuis GitHub](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) et enregistrez-le dans un répertoire
+1. Ouvrez Visual Studio Code
+1. Ouvrez la base de données dans l'extension SQLite en sélectionnant **Ctrl-Shift-P** (ou **Cmd-Shift-P** sur un Mac) et en tapant `SQLite: Open database`
+1. Sélectionnez **Choose database from file** et ouvrez le fichier **airports.db** que vous avez téléchargé précédemment
+1. Après avoir ouvert la base de données (vous ne verrez pas de mise à jour à l'écran), créez une nouvelle fenêtre de requête en sélectionnant **Ctrl-Shift-P** (ou **Cmd-Shift-P** sur un Mac) et en tapant `SQLite: New query`
+
+Une fois ouverte, la nouvelle fenêtre de requête peut être utilisée pour exécuter des instructions SQL sur la base de données. Vous pouvez utiliser la commande **Ctrl-Shift-Q** (ou **Cmd-Shift-Q** sur un Mac) pour exécuter des requêtes sur la base de données.
+
+> [!NOTE] Pour plus d'informations sur l'extension SQLite, vous pouvez consulter la [documentation](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+## Schéma de la base de données
+
+Le schéma d'une base de données correspond à la conception et à la structure de ses tables. La base de données **airports** contient deux tables : `cities`, qui contient une liste de villes au Royaume-Uni et en Irlande, et `airports`, qui contient la liste de tous les aéroports. Comme certaines villes peuvent avoir plusieurs aéroports, deux tables ont été créées pour stocker les informations. Dans cet exercice, vous utiliserez des jointures pour afficher des informations sur différentes villes.
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK vers id dans **Cities**) |
+
+## Exercice
+
+Créez des requêtes pour retourner les informations suivantes :
+
+1. tous les noms de villes dans la table `Cities`
+1. toutes les villes en Irlande dans la table `Cities`
+1. tous les noms d'aéroports avec leur ville et leur pays
+1. tous les aéroports à Londres, Royaume-Uni
+
+## Grille d'évaluation
+
+| Exemplaire | Adéquat | À améliorer |
+| ---------- | -------- | ----------------- |
+
+**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 ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/06-non-relational/README.md b/translations/fr/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..5b9ad107
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# Travailler avec les données : Données non relationnelles
+
+| ](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|Travailler avec des données NoSQL - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+Les données ne se limitent pas aux bases de données relationnelles. Cette leçon se concentre sur les données non relationnelles et couvrira les bases des tableurs et du NoSQL.
+
+## Tableurs
+
+Les tableurs sont un moyen populaire de stocker et d'explorer des données, car ils nécessitent peu de configuration pour commencer. Dans cette leçon, vous apprendrez les composants de base d'un tableur, ainsi que les formules et fonctions. Les exemples seront illustrés avec Microsoft Excel, mais la plupart des éléments et sujets auront des noms et étapes similaires dans d'autres logiciels de tableur.
+
+
+
+Un tableur est un fichier accessible dans le système de fichiers d'un ordinateur, d'un appareil ou d'un système de fichiers basé sur le cloud. Le logiciel lui-même peut être basé sur un navigateur ou une application qui doit être installée sur un ordinateur ou téléchargée en tant qu'application. Dans Excel, ces fichiers sont également définis comme des **classeurs**, et cette terminologie sera utilisée pour le reste de cette leçon.
+
+Un classeur contient une ou plusieurs **feuilles de calcul**, où chaque feuille est identifiée par des onglets. Une feuille de calcul est composée de rectangles appelés **cellules**, qui contiennent les données réelles. Une cellule est l'intersection d'une ligne et d'une colonne, où les colonnes sont identifiées par des lettres alphabétiques et les lignes par des chiffres. Certains tableurs contiennent des en-têtes dans les premières lignes pour décrire les données d'une cellule.
+
+Avec ces éléments de base d'un classeur Excel, nous utiliserons un exemple tiré des [modèles Microsoft](https://templates.office.com/) axé sur un inventaire pour explorer d'autres parties d'un tableur.
+
+### Gérer un inventaire
+
+Le fichier de tableur nommé "InventoryExample" est un tableur formaté contenant des articles d'un inventaire, répartis sur trois feuilles de calcul, dont les onglets sont intitulés "Inventory List", "Inventory Pick List" et "Bin Lookup". La ligne 4 de la feuille "Inventory List" est l'en-tête, qui décrit la valeur de chaque cellule dans la colonne d'en-tête.
+
+
+
+Il existe des cas où une cellule dépend des valeurs d'autres cellules pour générer sa propre valeur. Le tableur "Inventory List" suit le coût de chaque article de l'inventaire, mais que faire si nous avons besoin de connaître la valeur totale de l'inventaire ? Les [**formules**](https://support.microsoft.com/fr-fr/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) effectuent des actions sur les données des cellules et sont utilisées pour calculer la valeur de l'inventaire dans cet exemple. Ce tableur utilise une formule dans la colonne "Inventory Value" pour calculer la valeur de chaque article en multipliant la quantité sous l'en-tête QTY par le coût sous l'en-tête COST. Un double-clic ou une sélection d'une cellule permet de voir la formule. Vous remarquerez que les formules commencent par un signe égal, suivi du calcul ou de l'opération.
+
+
+
+Nous pouvons utiliser une autre formule pour additionner toutes les valeurs de la colonne "Inventory Value" afin d'obtenir la valeur totale. Cela pourrait être calculé en additionnant chaque cellule, mais cela peut être une tâche fastidieuse. Excel propose des [**fonctions**](https://support.microsoft.com/fr-fr/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89), ou formules prédéfinies, pour effectuer des calculs sur les valeurs des cellules. Les fonctions nécessitent des arguments, qui sont les valeurs requises pour effectuer ces calculs. Lorsque les fonctions nécessitent plusieurs arguments, ils doivent être listés dans un ordre particulier, sinon la fonction risque de ne pas calculer la valeur correcte. Cet exemple utilise la fonction SUM et les valeurs de la colonne "Inventory Value" comme argument pour générer le total indiqué sous la ligne 3, colonne B (également appelée B3).
+
+## NoSQL
+
+NoSQL est un terme générique pour désigner les différentes façons de stocker des données non relationnelles et peut être interprété comme "non-SQL", "non-relationnel" ou "pas seulement SQL". Ces types de systèmes de bases de données peuvent être classés en 4 catégories.
+
+
+> Source : [Blog de Michał Białecki](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/)
+
+Les bases de données [clé-valeur](https://docs.microsoft.com/fr-fr/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) associent des clés uniques, qui sont des identifiants uniques, à une valeur. Ces paires sont stockées à l'aide d'une [table de hachage](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) avec une fonction de hachage appropriée.
+
+
+> Source : [Microsoft](https://docs.microsoft.com/fr-fr/azure/cosmos-db/graph/graph-introduction#graph-database-by-example)
+
+Les bases de données [graphe](https://docs.microsoft.com/fr-fr/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) décrivent les relations dans les données et sont représentées comme une collection de nœuds et d'arêtes. Un nœud représente une entité, quelque chose qui existe dans le monde réel, comme un étudiant ou un relevé bancaire. Les arêtes représentent la relation entre deux entités. Chaque nœud et chaque arête ont des propriétés qui fournissent des informations supplémentaires.
+
+
+
+Les bases de données [en colonnes](https://docs.microsoft.com/fr-fr/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) organisent les données en colonnes et lignes, comme une structure relationnelle, mais chaque colonne est divisée en groupes appelés familles de colonnes, où toutes les données sous une colonne sont liées et peuvent être récupérées ou modifiées en une seule unité.
+
+### Bases de données documentaires avec Azure Cosmos DB
+
+Les bases de données [documentaires](https://docs.microsoft.com/fr-fr/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) s'appuient sur le concept de base de données clé-valeur et sont constituées d'une série de champs et d'objets. Cette section explore les bases de données documentaires avec l'émulateur Cosmos DB.
+
+Une base de données Cosmos DB correspond à la définition de "Pas seulement SQL", où la base documentaire de Cosmos DB repose sur SQL pour interroger les données. La [leçon précédente](../05-relational-databases/README.md) sur SQL couvre les bases du langage, et nous pourrons appliquer certaines des mêmes requêtes à une base documentaire ici. Nous utiliserons l'émulateur Cosmos DB, qui nous permet de créer et d'explorer une base documentaire localement sur un ordinateur. En savoir plus sur l'émulateur [ici](https://docs.microsoft.com/fr-fr/azure/cosmos-db/local-emulator?tabs=ssl-netstd21).
+
+Un document est une collection de champs et de valeurs d'objets, où les champs décrivent ce que représente la valeur de l'objet. Voici un exemple de document.
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+Les champs d'intérêt dans ce document sont : `firstname`, `id` et `age`. Les autres champs avec des underscores ont été générés par Cosmos DB.
+
+#### Explorer les données avec l'émulateur Cosmos DB
+
+Vous pouvez télécharger et installer l'émulateur [pour Windows ici](https://aka.ms/cosmosdb-emulator). Consultez cette [documentation](https://docs.microsoft.com/fr-fr/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos) pour des options sur son exécution sous macOS et Linux.
+
+L'émulateur lance une fenêtre de navigateur, où la vue Explorer permet d'explorer les documents.
+
+
+
+Si vous suivez, cliquez sur "Start with Sample" pour générer une base de données exemple appelée SampleDB. Si vous développez SampleDB en cliquant sur la flèche, vous trouverez un conteneur appelé `Persons`. Un conteneur contient une collection d'éléments, qui sont les documents dans le conteneur. Vous pouvez explorer les quatre documents individuels sous `Items`.
+
+
+
+#### Interroger les données documentaires avec l'émulateur Cosmos DB
+
+Nous pouvons également interroger les données d'exemple en cliquant sur le bouton "New SQL Query" (deuxième bouton à gauche).
+
+`SELECT * FROM c` retourne tous les documents dans le conteneur. Ajoutons une clause WHERE pour trouver toutes les personnes de moins de 40 ans.
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+La requête retourne deux documents. Remarquez que la valeur `age` pour chaque document est inférieure à 40.
+
+#### JSON et documents
+
+Si vous êtes familier avec le JavaScript Object Notation (JSON), vous remarquerez que les documents ressemblent à du JSON. Il y a un fichier `PersonsData.json` dans ce répertoire avec plus de données que vous pouvez télécharger dans le conteneur `Persons` de l'émulateur via le bouton `Upload Item`.
+
+Dans la plupart des cas, les API qui retournent des données JSON peuvent être directement transférées et stockées dans des bases de données documentaires. Voici un autre document, représentant des tweets du compte Twitter de Microsoft, récupérés via l'API Twitter, puis insérés dans Cosmos DB.
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+Les champs d'intérêt dans ce document sont : `created_at`, `id` et `text`.
+
+## 🚀 Défi
+
+Il y a un fichier `TwitterData.json` que vous pouvez télécharger dans la base de données SampleDB. Il est recommandé de l'ajouter à un conteneur séparé. Cela peut être fait en :
+
+1. Cliquant sur le bouton "New Container" en haut à droite
+1. Sélectionnant la base de données existante (SampleDB) et en créant un ID de conteneur
+1. Définissant la clé de partition sur `/id`
+1. Cliquant sur OK (vous pouvez ignorer le reste des informations dans cette vue, car il s'agit d'un petit ensemble de données exécuté localement sur votre machine)
+1. Ouvrant votre nouveau conteneur et téléchargeant le fichier Twitter Data avec le bouton `Upload Item`
+
+Essayez d'exécuter quelques requêtes SELECT pour trouver les documents contenant "Microsoft" dans le champ `text`. Astuce : essayez d'utiliser le [mot-clé LIKE](https://docs.microsoft.com/fr-fr/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character).
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## Révision et auto-apprentissage
+
+- Il y a des fonctionnalités et des formats supplémentaires ajoutés à ce tableur que cette leçon ne couvre pas. Microsoft propose une [grande bibliothèque de documentation et de vidéos](https://support.microsoft.com/excel) sur Excel si vous souhaitez en apprendre davantage.
+
+- Cette documentation architecturale détaille les caractéristiques des différents types de données non relationnelles : [Données non relationnelles et NoSQL](https://docs.microsoft.com/fr-fr/azure/architecture/data-guide/big-data/non-relational-data).
+
+- Cosmos DB est une base de données non relationnelle basée sur le cloud qui peut également stocker les différents types NoSQL mentionnés dans cette leçon. Apprenez-en plus sur ces types dans ce [module Microsoft Learn sur Cosmos DB](https://docs.microsoft.com/fr-fr/learn/paths/work-with-nosql-data-in-azure-cosmos-db/).
+
+## Devoir
+
+[Soda Profits](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/06-non-relational/assignment.md b/translations/fr/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..4ff4a438
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# Profits de Soda
+
+## Instructions
+
+La feuille de calcul [Coca Cola Co](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx) manque certains calculs. Votre tâche est de :
+
+1. Calculer les bénéfices bruts des années fiscales '15, '16, '17 et '18
+ - Bénéfice brut = Revenus d'exploitation nets - Coût des marchandises vendues
+1. Calculer la moyenne de tous les bénéfices bruts. Essayez de le faire avec une fonction.
+ - Moyenne = Somme des bénéfices bruts divisée par le nombre d'années fiscales (10)
+ - Documentation sur la [fonction AVERAGE](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6)
+1. Il s'agit d'un fichier Excel, mais il devrait être modifiable sur toute plateforme de tableur
+
+[Source des données créditée à Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## Barème
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+
+**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 ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/07-python/README.md b/translations/fr/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..a419ce38
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,288 @@
+
+# Travailler avec les données : Python et la bibliothèque Pandas
+
+|  ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| Travailler avec Python - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+Bien que les bases de données offrent des moyens très efficaces de stocker des données et de les interroger à l'aide de langages de requête, la manière la plus flexible de traiter les données est d'écrire votre propre programme pour les manipuler. Dans de nombreux cas, effectuer une requête de base de données serait une méthode 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 de programmation, 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 :
+
+* **[Python](https://www.python.org/)**, un langage de programmation généraliste, souvent considéré comme l'une des meilleures options pour les débutants en raison de sa simplicité. Python dispose de nombreuses bibliothèques supplémentaires qui peuvent vous aider à résoudre de nombreux problèmes pratiques, comme extraire vos données d'une archive ZIP ou convertir une image en niveaux de gris. En plus de la science des données, Python est également souvent utilisé pour le développement web.
+* **[R](https://www.r-project.org/)** est un outil traditionnel développé pour le traitement statistique des données. Il contient également un vaste dépôt de bibliothèques (CRAN), ce qui en fait un bon choix pour le traitement des données. Cependant, R n'est pas un langage de programmation généraliste et est rarement utilisé en dehors du domaine de la science des données.
+* **[Julia](https://julialang.org/)** est un autre langage développé spécifiquement pour la science des données. Il est conçu pour offrir de meilleures performances que Python, ce qui en fait un excellent outil pour les expérimentations scientifiques.
+
+Dans cette leçon, nous nous concentrerons sur l'utilisation de Python pour un traitement simple des données. Nous supposerons une familiarité de base avec le langage. Si vous souhaitez une introduction plus approfondie à Python, vous pouvez consulter l'une des ressources suivantes :
+
+* [Apprenez Python de manière ludique avec Turtle Graphics et Fractals](https://github.com/shwars/pycourse) - Un cours d'introduction rapide à Python sur GitHub
+* [Faites vos premiers pas avec Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) Parcours d'apprentissage sur [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
+
+Les données peuvent se présenter sous de nombreuses formes. Dans cette leçon, nous examinerons trois formes de données : **données tabulaires**, **texte** et **images**.
+
+Nous nous concentrerons sur quelques exemples de traitement de données, plutôt que de vous donner un aperçu complet de toutes les bibliothèques associées. Cela vous permettra de comprendre les principales possibilités et de savoir où trouver des solutions à vos problèmes lorsque vous en aurez besoin.
+
+> **Conseil le plus utile**. Lorsque vous devez effectuer une opération sur des données que vous ne savez pas comment réaliser, essayez de chercher sur Internet. [Stackoverflow](https://stackoverflow.com/) contient souvent de nombreux exemples de code utiles en Python pour de nombreuses tâches courantes.
+
+## [Quiz avant la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## Données tabulaires et Dataframes
+
+Vous avez déjà rencontré des données tabulaires lorsque nous avons parlé des bases de données relationnelles. Lorsque vous avez beaucoup de données contenues dans plusieurs tables liées, il est logique d'utiliser SQL pour travailler avec elles. Cependant, il existe de nombreux cas où nous avons une table de données et où nous devons obtenir une **compréhension** ou des **insights** sur ces données, comme la distribution, la corrélation entre les valeurs, etc. En science des données, il y a de nombreux cas où nous devons effectuer des transformations sur les données originales, suivies de visualisations. Ces deux étapes peuvent être facilement réalisées avec Python.
+
+Il existe deux bibliothèques très utiles en Python qui peuvent vous aider à travailler avec des données tabulaires :
+* **[Pandas](https://pandas.pydata.org/)** vous permet de manipuler les **Dataframes**, qui sont analogues aux tables relationnelles. Vous pouvez avoir des colonnes nommées et effectuer différentes opérations sur les lignes, les colonnes et les dataframes en général.
+* **[Numpy](https://numpy.org/)** est une bibliothèque pour travailler avec des **tensors**, c'est-à-dire des **tableaux** multidimensionnels. Les tableaux contiennent des valeurs du même type sous-jacent et sont plus simples que les dataframes, mais offrent davantage d'opérations mathématiques et génèrent moins de surcharge.
+
+Il existe également quelques autres bibliothèques que vous devriez connaître :
+* **[Matplotlib](https://matplotlib.org/)** est une bibliothèque utilisée pour la visualisation des données et la création de graphiques
+* **[SciPy](https://www.scipy.org/)** est une bibliothèque contenant des fonctions scientifiques supplémentaires. Nous avons déjà rencontré cette bibliothèque en parlant de probabilité et de statistiques.
+
+Voici un morceau de code que vous utiliseriez typiquement pour importer ces bibliothèques au début de votre programme Python :
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandas repose sur quelques concepts de base.
+
+### Series
+
+Une **Series** est une séquence de valeurs, similaire à une liste ou un tableau numpy. La principale différence est qu'une série possède également un **index**, et lorsque nous opérons sur des séries (par exemple, les additionner), l'index est pris en compte. L'index peut être aussi simple qu'un numéro de ligne entier (c'est l'index utilisé par défaut lors de la création d'une série à partir d'une liste ou d'un tableau), ou il peut avoir une structure complexe, comme un intervalle de dates.
+
+> **Note** : Il y a du code introductif sur Pandas dans le notebook associé [`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb). Nous ne présentons ici que quelques exemples, et vous êtes bien sûr invité à consulter le notebook complet.
+
+Prenons un exemple : nous voulons analyser les ventes de notre stand de glaces. Générons une série de chiffres de ventes (nombre d'articles vendus chaque jour) pour une certaine période :
+
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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 prenons 10 packs de glace supplémentaires pour la fête. Nous pouvons créer une autre série, indexée par semaine, pour le démontrer :
+```python
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+Lorsque nous additionnons deux séries, nous obtenons le nombre total :
+```python
+total_items = items_sold.add(additional_items,fill_value=0)
+total_items.plot()
+```
+
+
+> **Note** que 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.
+
+Avec les séries temporelles, nous pouvons également **reéchantillonner** la série avec différents intervalles de temps. Par exemple, supposons que nous voulons calculer le volume moyen des ventes mensuelles. Nous pouvons utiliser le code suivant :
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### DataFrame
+
+Un DataFrame est essentiellement une collection de séries avec le même index. Nous pouvons combiner plusieurs séries ensemble dans un DataFrame :
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+Cela créera une table horizontale comme celle-ci :
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+Nous pouvons également utiliser des séries comme colonnes et spécifier les noms des colonnes à l'aide d'un dictionnaire :
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+Cela nous donnera une table comme celle-ci :
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**Note** que nous pouvons également obtenir cette disposition de table en transposant la table précédente, par exemple en écrivant
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+Ici `.T` signifie l'opération de transposition du DataFrame, c'est-à-dire changer les lignes et les colonnes, et l'opération `rename` nous permet de renommer les colonnes pour correspondre à l'exemple précédent.
+
+Voici quelques-unes des opérations les plus importantes que nous pouvons effectuer sur les DataFrames :
+
+**Sélection de colonnes**. Nous pouvons sélectionner des colonnes individuelles en écrivant `df['A']` - cette opération retourne une série. Nous pouvons également sélectionner un sous-ensemble de colonnes dans un autre DataFrame en écrivant `df[['B','A']]` - cela retourne un autre DataFrame.
+
+**Filtrage** de certaines lignes selon des critères. Par exemple, pour ne conserver que les lignes où la colonne `A` est supérieure à 5, nous pouvons écrire `df[df['A']>5]`.
+
+> **Note** : La manière dont le filtrage fonctionne est la suivante. L'expression `df['A']<5` retourne une série booléenne, qui indique si l'expression est `True` ou `False` pour chaque élément de la série originale `df['A']`. Lorsqu'une série booléenne est utilisée comme index, elle retourne un sous-ensemble de lignes dans le DataFrame. Ainsi, il n'est pas possible d'utiliser une expression booléenne Python arbitraire, par exemple, écrire `df[df['A']>5 and df['A']<7]` serait incorrect. À la place, vous devez utiliser l'opération spéciale `&` sur les séries booléennes, en écrivant `df[(df['A']>5) & (df['A']<7)]` (*les parenthèses sont importantes ici*).
+
+**Créer de nouvelles colonnes calculables**. Nous pouvons facilement créer de nouvelles colonnes calculables pour notre DataFrame en utilisant une expression intuitive comme celle-ci :
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+Cet exemple calcule la divergence de A par rapport à sa valeur moyenne. Ce qui se passe réellement ici, c'est que nous calculons une série, puis nous assignons cette série au côté gauche, créant une autre colonne. Ainsi, nous ne pouvons pas utiliser d'opérations incompatibles avec les séries, par exemple, le code ci-dessous est incorrect :
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+Cet exemple, bien que syntaxiquement correct, donne un résultat incorrect, car il assigne la longueur de la série `B` à toutes les valeurs de la colonne, et non la longueur des éléments individuels comme nous l'avions prévu.
+
+Si nous devons calculer des expressions complexes comme celle-ci, nous pouvons utiliser la fonction `apply`. Le dernier exemple peut être écrit comme suit :
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+Après les opérations ci-dessus, nous obtiendrons le DataFrame suivant :
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**Sélectionner des lignes en fonction de leur numéro** peut être fait en utilisant la construction `iloc`. Par exemple, pour sélectionner les 5 premières lignes du DataFrame :
+```python
+df.iloc[:5]
+```
+
+**Regroupement** est souvent utilisé pour obtenir un résultat similaire aux *tableaux croisés dynamiques* dans Excel. Supposons que nous voulons calculer la valeur moyenne de la colonne `A` pour chaque nombre donné de `LenB`. Nous pouvons alors regrouper notre DataFrame par `LenB` et appeler `mean` :
+```python
+df.groupby(by='LenB').mean()
+```
+Si nous devons calculer la moyenne et le nombre d'éléments dans le groupe, nous pouvons utiliser une fonction `aggregate` plus complexe :
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+Cela nous donne la table suivante :
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### Obtenir des données
+Nous avons vu à quel point il est facile de construire des Series et des DataFrames à partir d'objets Python. Cependant, les données se présentent généralement sous forme de fichier texte ou de tableau Excel. Heureusement, Pandas nous offre un moyen simple de charger des données depuis le disque. Par exemple, lire un fichier CSV est aussi simple que cela :
+```python
+df = pd.read_csv('file.csv')
+```
+Nous verrons plus d'exemples de chargement de données, y compris leur récupération depuis des sites web externes, dans la section "Challenge".
+
+### Impression et Visualisation
+
+Un Data Scientist doit souvent explorer les données, il est donc important de pouvoir les visualiser. Lorsque le DataFrame est volumineux, il est souvent utile de vérifier que tout fonctionne correctement en affichant les premières lignes. Cela peut être fait en appelant `df.head()`. Si vous l'exécutez depuis Jupyter Notebook, cela affichera le DataFrame sous une forme tabulaire agréable.
+
+Nous avons également vu l'utilisation de la fonction `plot` pour visualiser certaines colonnes. Bien que `plot` soit très utile pour de nombreuses tâches et prenne en charge différents types de graphiques via le paramètre `kind=`, vous pouvez toujours utiliser la bibliothèque brute `matplotlib` pour tracer quelque chose de plus complexe. Nous couvrirons la visualisation des données en détail dans des leçons de cours séparées.
+
+Cette vue d'ensemble couvre les concepts les plus importants de Pandas, mais la bibliothèque est très riche, et il n'y a pas de limite à ce que vous pouvez faire avec elle ! Appliquons maintenant ces connaissances pour résoudre un problème spécifique.
+
+## 🚀 Challenge 1 : Analyser la propagation du COVID
+
+Le premier problème sur lequel nous allons nous concentrer est la modélisation de la propagation de l'épidémie de COVID-19. Pour cela, nous utiliserons les données sur le nombre de personnes infectées dans différents pays, fournies par le [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) de [Johns Hopkins University](https://jhu.edu/). Le jeu de données est disponible dans [ce dépôt GitHub](https://github.com/CSSEGISandData/COVID-19).
+
+Comme nous voulons démontrer comment traiter les données, nous vous invitons à ouvrir [`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/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/).
+
+## Travailler avec des données non structurées
+
+Bien que les données soient souvent sous forme tabulaire, dans certains cas, nous devons traiter des données moins structurées, comme du texte ou des images. Dans ce cas, pour appliquer les techniques de traitement des données que nous avons vues précédemment, nous devons **extraire** des données structurées. Voici quelques exemples :
+
+* Extraire des mots-clés d'un texte et voir à quelle fréquence ces mots-clés apparaissent
+* Utiliser des réseaux neuronaux pour extraire des informations sur les objets dans une image
+* Obtenir des informations sur les émotions des personnes à partir d'un flux vidéo
+
+## 🚀 Challenge 2 : Analyser les articles sur le COVID
+
+Dans ce défi, nous continuerons avec le sujet de la pandémie de COVID et nous concentrerons sur le traitement des articles scientifiques sur le sujet. Il existe [CORD-19 Dataset](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) avec plus de 7000 articles (au moment de la rédaction) sur le COVID, disponibles avec des métadonnées et des résumés (et pour environ la moitié d'entre eux, le texte complet est également fourni).
+
+Un exemple complet d'analyse de ce jeu de données en utilisant le service cognitif [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) est décrit [dans cet article de blog](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/). Nous discuterons d'une version simplifiée de cette analyse.
+
+> **NOTE** : Nous ne fournissons pas une copie du jeu de données dans ce dépôt. Vous devrez peut-être d'abord télécharger le fichier [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) depuis [ce jeu de données sur Kaggle](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge). Une inscription sur Kaggle peut être requise. Vous pouvez également télécharger le jeu de données sans inscription [ici](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html), mais cela inclura tous les textes complets en plus du fichier de métadonnées.
+
+Ouvrez [`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/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
+
+Récemment, des modèles d'IA très puissants ont été développés pour comprendre les images. De nombreuses tâches peuvent être résolues en utilisant des réseaux neuronaux pré-entraînés ou des services cloud. Voici quelques exemples :
+
+* **Classification d'images**, qui peut vous aider à catégoriser une image dans l'une des classes prédéfinies. Vous pouvez facilement entraîner vos propres classificateurs d'images en utilisant des services comme [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)
+* **Détection d'objets** pour détecter différents objets dans une image. Des services comme [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) peuvent détecter un certain nombre d'objets courants, et vous pouvez entraîner un modèle [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) pour détecter des objets spécifiques d'intérêt.
+* **Détection de visages**, y compris l'âge, le genre et les émotions. Cela peut être fait via [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum).
+
+Tous ces services cloud peuvent être appelés en utilisant [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum), et peuvent donc être facilement intégrés dans votre flux de travail d'exploration de données.
+
+Voici quelques exemples d'exploration de données à partir de sources d'images :
+* Dans l'article de blog [Comment apprendre la science des données sans coder](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/), nous explorons des photos Instagram, en essayant de comprendre ce qui pousse les gens à donner plus de "likes" à une photo. Nous extrayons d'abord autant d'informations que possible des images en utilisant [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum), puis nous utilisons [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) pour construire un modèle interprétable.
+* Dans [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies), nous utilisons [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) pour extraire les émotions des personnes sur des photographies d'événements, afin de tenter de comprendre ce qui rend les gens heureux.
+
+## Conclusion
+
+Que vous disposiez déjà de données structurées ou non structurées, avec Python, vous pouvez effectuer toutes les étapes liées au traitement et à la compréhension des données. C'est probablement le moyen le plus flexible de traiter les données, et c'est la raison pour laquelle la majorité des data scientists utilisent Python comme principal outil. Apprendre Python en profondeur est probablement une bonne idée si vous êtes sérieux dans votre parcours en science des données !
+
+## [Quiz post-lecture](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## Révision et Auto-apprentissage
+
+**Livres**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**Ressources en ligne**
+* Tutoriel officiel [10 minutes pour Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html)
+* [Documentation sur la visualisation avec Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**Apprendre Python**
+* [Apprenez Python de manière ludique avec Turtle Graphics et Fractals](https://github.com/shwars/pycourse)
+* [Faites vos premiers pas avec Python](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) Parcours d'apprentissage sur [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
+
+## Devoir
+
+[Effectuez une étude de données plus détaillée pour les défis ci-dessus](assignment.md)
+
+## Crédits
+
+Cette leçon a été rédigée avec ♥️ par [Dmitry Soshnikov](http://soshnikov.com)
+
+**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/fr/2-Working-With-Data/07-python/assignment.md b/translations/fr/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..ff0655e1
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# Devoir sur le traitement des données en Python
+
+Dans ce devoir, nous vous demandons d'approfondir le code que nous avons commencé à développer dans nos défis. Le devoir se compose de deux parties :
+
+## Modélisation de la propagation du COVID-19
+
+ - [ ] Tracez des graphiques *R* pour 5-6 pays différents sur un seul graphique pour comparaison, ou utilisez plusieurs graphiques côte à côte.
+ - [ ] Analysez comment le nombre de décès et de guérisons est corrélé au nombre de cas infectés.
+ - [ ] Déterminez combien de temps dure typiquement une maladie en corrélant visuellement le taux d'infection et le taux de décès, et en recherchant des anomalies. Vous devrez peut-être examiner différents pays pour le découvrir.
+ - [ ] Calculez le taux de mortalité et comment il évolue au fil du temps. *Vous pourriez vouloir prendre en compte la durée de la maladie en jours pour décaler une série temporelle avant de faire les calculs.*
+
+## Analyse des articles sur le COVID-19
+
+- [ ] Construisez une matrice de co-occurrence des différents médicaments et identifiez quels médicaments apparaissent souvent ensemble (c'est-à-dire mentionnés dans un même résumé). Vous pouvez modifier le code pour construire une matrice de co-occurrence pour les médicaments et les diagnostics.
+- [ ] Visualisez cette matrice à l'aide d'une carte thermique.
+- [ ] En guise de défi supplémentaire, visualisez la co-occurrence des médicaments à l'aide d'un [diagramme en cordes](https://en.wikipedia.org/wiki/Chord_diagram). [Cette bibliothèque](https://pypi.org/project/chord/) pourrait vous aider à dessiner un diagramme en cordes.
+- [ ] En guise d'autre défi supplémentaire, extrayez les dosages des différents médicaments (comme **400mg** dans *prendre 400mg de chloroquine quotidiennement*) en utilisant des expressions régulières, et construisez un dataframe qui montre les différents dosages pour différents médicaments. **Note** : prenez en compte les valeurs numériques qui se trouvent à proximité textuelle du nom du médicament.
+
+## Barème
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Toutes les tâches sont complètes, illustrées graphiquement et expliquées, incluant au moins un des deux défis supplémentaires | Plus de 5 tâches sont complètes, aucun défi supplémentaire n'est tenté, ou les résultats ne sont pas clairs | Moins de 5 (mais plus de 3) tâches sont complètes, les visualisations n'aident pas à démontrer le point
+
+**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 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.
\ No newline at end of file
diff --git a/translations/fr/2-Working-With-Data/08-data-preparation/README.md b/translations/fr/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..c8e63259
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,340 @@
+
+# Travailler avec les données : Préparation des données
+
+| ](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|Préparation des données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+Selon sa source, les données brutes peuvent contenir des incohérences qui poseront des défis lors de l'analyse et de la modélisation. En d'autres termes, ces données peuvent être qualifiées de "sales" et nécessiteront un nettoyage. Cette leçon se concentre sur les techniques de nettoyage et de transformation des données pour gérer les problèmes de données manquantes, inexactes ou incomplètes. Les sujets abordés dans cette leçon utiliseront Python et la bibliothèque Pandas et seront [démontrés dans le notebook](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb) de ce répertoire.
+
+## L'importance de nettoyer les données
+
+- **Facilité d'utilisation et de réutilisation** : Lorsque les données sont correctement organisées et normalisées, il est plus facile de les rechercher, de les utiliser et de les partager avec d'autres.
+
+- **Cohérence** : La science des données nécessite souvent de travailler avec plusieurs ensembles de données, où des ensembles provenant de différentes sources doivent être combinés. S'assurer que chaque ensemble de données individuel respecte une standardisation commune garantit que les données restent utiles lorsqu'elles sont fusionnées en un seul ensemble.
+
+- **Précision des modèles** : Des données nettoyées améliorent la précision des modèles qui en dépendent.
+
+## Objectifs et stratégies courants de nettoyage
+
+- **Explorer un ensemble de données** : L'exploration des données, qui est abordée dans une [leçon ultérieure](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing), peut vous aider à identifier les données nécessitant un nettoyage. Observer visuellement les valeurs d'un ensemble de données peut donner une idée de ce à quoi s'attendre pour le reste ou révéler des problèmes à résoudre. L'exploration peut inclure des requêtes de base, des visualisations et des échantillonnages.
+
+- **Formatage** : Selon la source, les données peuvent présenter des incohérences dans leur présentation. Cela peut poser des problèmes pour les recherches et la représentation des valeurs, où elles sont visibles dans l'ensemble de données mais mal représentées dans les visualisations ou les résultats de requêtes. Les problèmes courants de formatage incluent la gestion des espaces blancs, des dates et des types de données. La résolution de ces problèmes dépend souvent des utilisateurs des données. Par exemple, les normes sur la présentation des dates et des nombres peuvent varier selon les pays.
+
+- **Doublons** : Les données ayant plusieurs occurrences peuvent produire des résultats inexacts et doivent généralement être supprimées. Cela peut se produire fréquemment lors de la fusion de plusieurs ensembles de données. Cependant, il existe des cas où les doublons contiennent des informations supplémentaires et doivent être conservés.
+
+- **Données manquantes** : Les données manquantes peuvent entraîner des résultats inexacts, faibles ou biaisés. Parfois, elles peuvent être résolues par un "rechargement" des données, en remplissant les valeurs manquantes par des calculs et du code comme Python, ou simplement en supprimant la valeur et les données correspondantes. Les raisons des données manquantes sont nombreuses, et les actions pour les résoudre dépendent souvent de la manière et des raisons pour lesquelles elles ont disparu.
+
+## Explorer les informations d'un DataFrame
+> **Objectif d'apprentissage :** À la fin de cette sous-section, vous devriez être à l'aise pour trouver des informations générales sur les données stockées dans des DataFrames pandas.
+
+Une fois vos données chargées dans pandas, elles seront probablement dans un DataFrame (voir la [leçon précédente](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe) pour un aperçu détaillé). Cependant, si votre DataFrame contient 60 000 lignes et 400 colonnes, par où commencer pour comprendre ce que vous avez ? Heureusement, [pandas](https://pandas.pydata.org/) propose des outils pratiques pour examiner rapidement les informations générales d'un DataFrame, ainsi que les premières et dernières lignes.
+
+Pour explorer cette fonctionnalité, nous allons importer la bibliothèque Python scikit-learn et utiliser un ensemble de données emblématique : l'ensemble de données **Iris**.
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |longueur sépale (cm)|largeur sépale (cm)|longueur pétale (cm)|largeur pétale (cm)|
+|----------------------------------------|---------------------|-------------------|--------------------|-------------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info** : Pour commencer, la méthode `info()` est utilisée pour afficher un résumé du contenu présent dans un `DataFrame`. Jetons un œil à cet ensemble de données pour voir ce que nous avons :
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+D'après cela, nous savons que l'ensemble de données *Iris* contient 150 entrées dans quatre colonnes sans valeurs nulles. Toutes les données sont stockées sous forme de nombres à virgule flottante 64 bits.
+
+- **DataFrame.head()** : Ensuite, pour vérifier le contenu réel du `DataFrame`, nous utilisons la méthode `head()`. Voyons à quoi ressemblent les premières lignes de notre `iris_df` :
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()** : Inversement, pour vérifier les dernières lignes du `DataFrame`, nous utilisons la méthode `tail()` :
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **À retenir :** Rien qu'en regardant les métadonnées ou les premières et dernières valeurs d'un DataFrame, vous pouvez avoir une idée immédiate de la taille, de la forme et du contenu des données avec lesquelles vous travaillez.
+
+## Gérer les données manquantes
+> **Objectif d'apprentissage :** À la fin de cette sous-section, vous devriez savoir comment remplacer ou supprimer les valeurs nulles dans les DataFrames.
+
+La plupart du temps, les ensembles de données que vous souhaitez utiliser (ou devez utiliser) contiennent des valeurs manquantes. La manière dont les données manquantes sont gérées comporte des compromis subtils qui peuvent affecter votre analyse finale et les résultats réels.
+
+Pandas gère les valeurs manquantes de deux manières. La première, que vous avez déjà vue dans les sections précédentes, est `NaN`, ou Not a Number. Il s'agit en fait d'une valeur spéciale faisant partie de la spécification IEEE pour les nombres à virgule flottante, utilisée uniquement pour indiquer des valeurs flottantes manquantes.
+
+Pour les valeurs manquantes autres que les flottants, pandas utilise l'objet Python `None`. Bien qu'il puisse sembler déroutant de rencontrer deux types de valeurs indiquant essentiellement la même chose, il existe des raisons programmatiques valables pour ce choix de conception. En pratique, cela permet à pandas de proposer un bon compromis pour la grande majorité des cas. Cependant, `None` et `NaN` comportent des restrictions dont vous devez être conscient quant à leur utilisation.
+
+Découvrez-en plus sur `NaN` et `None` dans le [notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) !
+
+- **Détecter les valeurs nulles** : Dans `pandas`, les méthodes `isnull()` et `notnull()` sont vos principales méthodes pour détecter les données nulles. Les deux renvoient des masques booléens sur vos données. Nous utiliserons `numpy` pour les valeurs `NaN` :
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+Regardez attentivement la sortie. Quelque chose vous surprend-il ? Bien que `0` soit un nul arithmétique, il reste néanmoins un entier valide et pandas le traite comme tel. `''` est un peu plus subtil. Bien que nous l'ayons utilisé dans la Section 1 pour représenter une chaîne vide, il reste néanmoins un objet chaîne et non une représentation de null pour pandas.
+
+Voyons maintenant comment utiliser ces méthodes de manière plus pratique. Vous pouvez utiliser des masques booléens directement comme index de ``Series`` ou ``DataFrame``, ce qui peut être utile pour travailler avec des valeurs manquantes (ou présentes) isolées.
+
+> **À retenir :** Les méthodes `isnull()` et `notnull()` produisent des résultats similaires dans les `DataFrame`s : elles montrent les résultats et l'index de ces résultats, ce qui vous sera d'une grande aide pour manipuler vos données.
+
+- **Supprimer les valeurs nulles** : Au-delà de l'identification des valeurs manquantes, pandas propose un moyen pratique de supprimer les valeurs nulles des `Series` et `DataFrame`s. (En particulier pour les grands ensembles de données, il est souvent plus judicieux de simplement supprimer les valeurs manquantes [NA] de votre analyse que de les traiter autrement.) Pour voir cela en action, revenons à `example1` :
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+Notez que cela devrait ressembler à votre sortie de `example3[example3.notnull()]`. La différence ici est que, plutôt que d'indexer uniquement sur les valeurs masquées, `dropna` a supprimé ces valeurs manquantes de la `Series` `example1`.
+
+Les `DataFrame`s ayant deux dimensions, ils offrent plus d'options pour supprimer des données.
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(Remarquez que pandas a converti deux des colonnes en flottants pour accueillir les `NaN`.)
+
+Vous ne pouvez pas supprimer une seule valeur d'un `DataFrame`, vous devez donc supprimer des lignes ou des colonnes entières. Selon ce que vous faites, vous pourriez vouloir faire l'un ou l'autre, et pandas vous offre des options pour les deux. En science des données, les colonnes représentent généralement des variables et les lignes des observations, vous êtes donc plus susceptible de supprimer des lignes de données ; le paramètre par défaut de `dropna()` est de supprimer toutes les lignes contenant des valeurs nulles :
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+Si nécessaire, vous pouvez supprimer les valeurs NA des colonnes. Utilisez `axis=1` pour ce faire :
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+Notez que cela peut supprimer beaucoup de données que vous pourriez vouloir conserver, en particulier dans les petits ensembles de données. Que faire si vous souhaitez uniquement supprimer les lignes ou colonnes contenant plusieurs ou même toutes les valeurs nulles ? Vous pouvez spécifier ces paramètres dans `dropna` avec les paramètres `how` et `thresh`.
+
+Par défaut, `how='any'` (si vous souhaitez vérifier par vous-même ou voir quels autres paramètres la méthode propose, exécutez `example4.dropna?` dans une cellule de code). Vous pourriez alternativement spécifier `how='all'` pour ne supprimer que les lignes ou colonnes contenant uniquement des valeurs nulles. Étendons notre exemple de `DataFrame` pour voir cela en action.
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+Le paramètre `thresh` vous donne un contrôle plus précis : vous définissez le nombre de valeurs *non nulles* qu'une ligne ou une colonne doit avoir pour être conservée :
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+Ici, la première et la dernière ligne ont été supprimées, car elles contiennent seulement deux valeurs non nulles.
+
+- **Remplir les valeurs nulles** : Selon votre ensemble de données, il peut parfois être plus logique de remplir les valeurs nulles avec des valeurs valides plutôt que de les supprimer. Vous pourriez utiliser `isnull` pour le faire sur place, mais cela peut être laborieux, en particulier si vous avez beaucoup de valeurs à remplir. Comme cette tâche est courante en science des données, pandas propose `fillna`, qui renvoie une copie de la `Series` ou du `DataFrame` avec les valeurs manquantes remplacées par celles de votre choix. Créons une autre `Series` d'exemple pour voir comment cela fonctionne en pratique.
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+Vous pouvez remplir toutes les entrées nulles avec une seule valeur, comme `0` :
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+Vous pouvez **remplir vers l'avant** les valeurs nulles, c'est-à-dire utiliser la dernière valeur valide pour remplir une valeur nulle :
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+Vous pouvez également **remplir vers l'arrière** pour propager la prochaine valeur valide en arrière afin de remplir une valeur nulle :
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+Comme vous pouvez le deviner, cela fonctionne de la même manière avec les `DataFrame`s, mais vous pouvez également spécifier un `axis` le long duquel remplir les valeurs nulles. En reprenant `example2` utilisé précédemment :
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+Remarquez que lorsqu'une valeur précédente n'est pas disponible pour le remplissage vers l'avant, la valeur nulle reste.
+> **À retenir :** Il existe plusieurs façons de gérer les valeurs manquantes dans vos ensembles de données. La stratégie spécifique que vous utilisez (les supprimer, les remplacer, ou même la manière dont vous les remplacez) doit être dictée par les particularités de ces données. Vous développerez une meilleure intuition pour traiter les valeurs manquantes à mesure que vous manipulerez et interagirez avec des ensembles de données.
+
+## Suppression des données dupliquées
+
+> **Objectif d'apprentissage :** À la fin de cette sous-section, vous devriez être à l'aise pour identifier et supprimer les valeurs dupliquées dans des DataFrames.
+
+En plus des données manquantes, vous rencontrerez souvent des données dupliquées dans des ensembles de données réels. Heureusement, `pandas` offre un moyen simple de détecter et de supprimer les entrées dupliquées.
+
+- **Identifier les doublons : `duplicated`** : Vous pouvez facilement repérer les valeurs dupliquées en utilisant la méthode `duplicated` de pandas, qui renvoie un masque booléen indiquant si une entrée dans un `DataFrame` est un doublon d'une entrée précédente. Créons un autre exemple de `DataFrame` pour voir cela en action.
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |lettres|nombres|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **Supprimer les doublons : `drop_duplicates`** : retourne simplement une copie des données pour lesquelles toutes les valeurs `duplicated` sont `False` :
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+Les méthodes `duplicated` et `drop_duplicates` considèrent par défaut toutes les colonnes, mais vous pouvez spécifier qu'elles examinent uniquement un sous-ensemble de colonnes dans votre `DataFrame` :
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **À retenir :** Supprimer les données dupliquées est une étape essentielle dans presque tous les projets de science des données. Les données dupliquées peuvent modifier les résultats de vos analyses et vous donner des résultats inexacts !
+
+## 🚀 Défi
+
+Tous les matériaux abordés sont disponibles sous forme de [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb). De plus, des exercices sont présents après chaque section, essayez-les !
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+## Révision et auto-apprentissage
+
+Il existe de nombreuses façons de découvrir et d'aborder la préparation de vos données pour l'analyse et la modélisation, et le nettoyage des données est une étape importante qui nécessite une expérience pratique. Essayez ces défis sur Kaggle pour explorer des techniques que cette leçon n'a pas couvertes.
+
+- [Défi de nettoyage des données : Analyse des dates](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [Défi de nettoyage des données : Mise à l'échelle et normalisation des données](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+## Devoir
+
+[Évaluation des données d'un formulaire](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/2-Working-With-Data/08-data-preparation/assignment.md b/translations/fr/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..a0e30c7c
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# Évaluation des données d'un formulaire
+
+Un client a testé un [petit formulaire](../../../../2-Working-With-Data/08-data-preparation/index.html) pour recueillir des données de base sur sa clientèle. Il vous a transmis ses résultats pour valider les données collectées. Vous pouvez ouvrir la page `index.html` dans le navigateur pour examiner le formulaire.
+
+Un [jeu de données de fichiers csv](../../../../data/form.csv) contenant les entrées du formulaire ainsi que quelques visualisations de base vous a été fourni. Le client a signalé que certaines visualisations semblent incorrectes, mais il ne sait pas comment les corriger. Vous pouvez explorer cela dans le [notebook de l'exercice](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb).
+
+## Instructions
+
+Utilisez les techniques présentées dans cette leçon pour formuler des recommandations sur le formulaire afin qu'il recueille des informations précises et cohérentes.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+
+**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/fr/2-Working-With-Data/README.md b/translations/fr/2-Working-With-Data/README.md
new file mode 100644
index 00000000..cc563f32
--- /dev/null
+++ b/translations/fr/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# 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.
+
+### Sujets
+
+1. [Bases de données relationnelles](05-relational-databases/README.md)
+2. [Bases de données non relationnelles](06-non-relational/README.md)
+3. [Travailler avec Python](07-python/README.md)
+4. [Préparer les données](08-data-preparation/README.md)
+
+### Crédits
+
+Ces leçons ont été écrites avec ❤️ par [Christopher Harrison](https://twitter.com/geektrainer), [Dmitry Soshnikov](https://twitter.com/shwars) et [Jasmine Greenaway](https://twitter.com/paladique)
+
+**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 ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/09-visualization-quantities/README.md b/translations/fr/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..f711b727
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,215 @@
+
+# Visualiser les quantités
+
+| ](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| Visualiser les quantités - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans cette leçon, vous allez explorer comment utiliser l'une des nombreuses bibliothèques Python disponibles pour apprendre à créer des visualisations intéressantes autour du concept de quantité. En utilisant un jeu de données nettoyé sur les oiseaux du Minnesota, vous pouvez découvrir de nombreux faits intéressants sur la faune locale.
+## [Quiz pré-lecture](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## Observer l'envergure des ailes avec Matplotlib
+
+Une excellente bibliothèque pour créer des graphiques simples ou sophistiqués de divers types est [Matplotlib](https://matplotlib.org/stable/index.html). En termes généraux, le processus de création de graphiques à l'aide de ces bibliothèques comprend l'identification des parties de votre dataframe que vous souhaitez cibler, la réalisation des transformations nécessaires sur ces données, l'attribution des valeurs des axes x et y, le choix du type de graphique à afficher, puis l'affichage du graphique. Matplotlib offre une grande variété de visualisations, mais pour cette leçon, concentrons-nous sur celles les plus appropriées pour visualiser des quantités : les graphiques linéaires, les nuages de points et les diagrammes en barres.
+
+> ✅ Utilisez le meilleur graphique en fonction de la structure de vos données et de l'histoire que vous voulez raconter.
+> - Pour analyser les tendances au fil du temps : linéaire
+> - Pour comparer des valeurs : barres, colonnes, camembert, nuage de points
+> - Pour montrer comment les parties se rapportent à un tout : camembert
+> - Pour montrer la distribution des données : nuage de points, barres
+> - Pour montrer les tendances : linéaire, colonnes
+> - Pour montrer les relations entre les valeurs : linéaire, nuage de points, bulles
+
+Si vous avez un jeu de données et que vous devez découvrir combien d'un certain élément est inclus, l'une des premières tâches consistera à inspecter ses valeurs.
+
+✅ Il existe d'excellents 'cheat sheets' pour Matplotlib [ici](https://matplotlib.org/cheatsheets/cheatsheets.pdf).
+
+## Construire un graphique linéaire sur les valeurs d'envergure des ailes des oiseaux
+
+Ouvrez le fichier `notebook.ipynb` à la racine de ce dossier de leçon et ajoutez une cellule.
+
+> Note : les données sont stockées à la racine de ce dépôt dans le dossier `/data`.
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+Ces données sont un mélange de texte et de chiffres :
+
+| | Nom | NomScientifique | Catégorie | Ordre | Famille | Genre | StatutConservation | LongueurMin | LongueurMax | MasseMin | MasseMax | EnvergureMin | EnvergureMax |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | -----------:| -----------:| --------:| --------:| ------------:| ------------:|
+| 0 | Dendrocygne à ventre noir | Dendrocygna autumnalis | Canards/Oies/Oiseaux d'eau | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Dendrocygne fauve | Dendrocygna bicolor | Canards/Oies/Oiseaux d'eau | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Oie des neiges | Anser caerulescens | Canards/Oies/Oiseaux d'eau | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Oie de Ross | Anser rossii | Canards/Oies/Oiseaux d'eau | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Oie rieuse | Anser albifrons | Canards/Oies/Oiseaux d'eau | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+Commençons par tracer certaines des données numériques à l'aide d'un graphique linéaire de base. Supposons que vous vouliez une vue de l'envergure maximale de ces oiseaux intéressants.
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+Que remarquez-vous immédiatement ? Il semble y avoir au moins une valeur aberrante - quelle envergure impressionnante ! Une envergure de 2300 centimètres équivaut à 23 mètres - y a-t-il des ptérodactyles qui rôdent dans le Minnesota ? Enquêtons.
+
+Bien que vous puissiez effectuer un tri rapide dans Excel pour trouver ces valeurs aberrantes, qui sont probablement des erreurs de saisie, continuez le processus de visualisation en travaillant directement à partir du graphique.
+
+Ajoutez des étiquettes à l'axe des x pour montrer de quels oiseaux il s'agit :
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+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 dans le graphique. Vous pouvez utiliser un nuage de points pour faire plus de place aux étiquettes :
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+Que se passe-t-il ici ? Vous avez utilisé `tick_params` pour masquer les étiquettes du bas, puis créé une boucle sur votre jeu de données d'oiseaux. En traçant le graphique avec de petits points bleus ronds en utilisant `bo`, vous avez vérifié si un oiseau avait une envergure maximale supérieure à 500 et affiché son étiquette à côté du point si c'était le cas. Vous avez décalé légèrement les étiquettes sur l'axe y (`y * (1 - 0.05)`) et utilisé le nom de l'oiseau comme étiquette.
+
+Qu'avez-vous découvert ?
+
+
+## Filtrer vos données
+
+L'Aigle chauve et le Faucon des prairies, bien que probablement très grands, semblent être mal étiquetés, avec un `0` supplémentaire ajouté à leur envergure maximale. Il est peu probable que vous rencontriez un Aigle chauve avec une envergure de 25 mètres, mais si c'est le cas, faites-le nous savoir ! Créons un nouveau dataframe sans ces deux valeurs aberrantes :
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+En filtrant les valeurs aberrantes, vos données sont maintenant plus cohérentes et compréhensibles.
+
+
+
+Maintenant que nous avons un jeu de données plus propre, du moins en termes d'envergure, découvrons-en davantage sur ces oiseaux.
+
+Bien que les graphiques linéaires et les nuages de points puissent afficher des informations sur les valeurs des données et leur distribution, nous voulons réfléchir aux valeurs inhérentes à ce jeu de données. Vous pourriez créer des visualisations pour répondre aux questions suivantes sur les quantités :
+
+> Combien de catégories d'oiseaux y a-t-il, et quels sont leurs effectifs ?
+> Combien d'oiseaux sont éteints, en danger, rares ou communs ?
+> Combien y a-t-il de genres et d'ordres différents selon la terminologie de Linné ?
+## Explorer les diagrammes en barres
+
+Les diagrammes en barres sont pratiques lorsque vous devez montrer des regroupements de données. Explorons les catégories d'oiseaux présentes dans ce jeu de données pour voir laquelle est la plus courante en nombre.
+
+Dans le fichier notebook, créez un diagramme en barres de base.
+
+✅ Notez que vous pouvez soit filtrer les deux oiseaux aberrants identifiés dans la section précédente, soit corriger l'erreur dans leur envergure, soit les laisser pour ces exercices qui ne dépendent pas des valeurs d'envergure.
+
+Si vous voulez créer un diagramme en barres, vous pouvez sélectionner les données sur lesquelles vous voulez vous concentrer. Les diagrammes en barres peuvent être créés à partir de données brutes :
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+Ce diagramme en barres, cependant, 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 regardons la longueur des oiseaux en fonction de leur catégorie.
+
+Filtrez vos données pour inclure uniquement la catégorie des oiseaux.
+
+✅ Remarquez que vous utilisez Pandas pour gérer les données, puis laissez Matplotlib faire le tracé.
+
+Comme il y a de nombreuses catégories, vous pouvez afficher ce graphique verticalement et ajuster sa hauteur pour tenir compte de toutes les données :
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+Ce diagramme 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 d'eau. Le Minnesota est le "pays des 10 000 lacs", donc cela n'est pas surprenant !
+
+✅ Essayez d'autres décomptes sur ce jeu de données. Quelque chose vous surprend-il ?
+
+## Comparer les données
+
+Vous pouvez essayer différentes comparaisons de données regroupées en créant de nouveaux axes. Essayez une comparaison de la LongueurMax d'un oiseau, en fonction de sa catégorie :
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+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 !
+
+Vous pouvez créer des visualisations plus intéressantes de diagrammes en barres en superposant des données. Superposons la LongueurMin et la LongueurMax pour une catégorie d'oiseaux donnée :
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+Dans ce graphique, vous pouvez voir l'étendue par catégorie d'oiseaux de la LongueurMin et de la LongueurMax. Vous pouvez affirmer sans risque que, selon ces données, plus l'oiseau est grand, plus son étendue de longueur est importante. Fascinant !
+
+
+
+## 🚀 Défi
+
+Ce jeu de données sur les oiseaux offre une mine d'informations sur différents types d'oiseaux dans un écosystème particulier. Cherchez sur Internet pour voir si vous pouvez trouver d'autres jeux de données orientés sur les oiseaux. Entraînez-vous à créer des graphiques et des diagrammes autour de ces oiseaux pour découvrir des faits que vous ne soupçonniez pas.
+## [Quiz post-lecture](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## Révision & Auto-apprentissage
+
+Cette première leçon vous a donné des informations sur l'utilisation de Matplotlib pour visualiser des quantités. Faites des recherches sur d'autres façons de travailler avec des jeux de données pour la visualisation. [Plotly](https://github.com/plotly/plotly.py) est une bibliothèque que nous ne couvrirons pas dans ces leçons, alors jetez un œil à ce qu'elle peut offrir.
+## Devoir
+
+[Graphiques linéaires, nuages de points et barres](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/fr/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..5de509f1
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# Lignes, Nuages de points et Barres
+
+## Instructions
+
+Dans cette leçon, vous avez travaillé avec des graphiques en ligne, des nuages de points et des graphiques en barres pour présenter des faits intéressants sur ce jeu de données. Dans cet exercice, explorez davantage le jeu de données pour découvrir un fait concernant un type d'oiseau donné. Par exemple, créez un notebook visualisant toutes les données intéressantes que vous pouvez trouver sur les oies des neiges. Utilisez les trois types de graphiques mentionnés ci-dessus pour raconter une histoire dans votre notebook.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Un notebook est présenté avec de bonnes annotations, une narration solide et des graphiques attrayants | Le notebook manque l'un de ces éléments | Le notebook manque deux de ces éléments
+
+**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/fr/3-Data-Visualization/10-visualization-distributions/README.md b/translations/fr/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..5492bd5f
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,215 @@
+
+# Visualiser les distributions
+
+| ](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| Visualiser les distributions - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans la leçon précédente, vous avez appris des faits intéressants sur un ensemble de données concernant les oiseaux du Minnesota. Vous avez identifié des données erronées en visualisant les valeurs aberrantes et examiné les différences entre les catégories d'oiseaux en fonction de leur longueur maximale.
+
+## [Quiz avant la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## Explorer l'ensemble de données des oiseaux
+
+Une autre façon d'explorer les données est d'examiner leur distribution, c'est-à-dire comment les données sont organisées le long d'un axe. Par exemple, vous pourriez vouloir en savoir plus sur la distribution générale, pour cet ensemble de données, de l'envergure maximale ou de la masse corporelle maximale des oiseaux du Minnesota.
+
+Découvrons quelques faits sur les distributions des données dans cet ensemble de données. Dans le fichier _notebook.ipynb_ à la racine de ce dossier de leçon, importez Pandas, Matplotlib et vos données :
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | Nom | NomScientifique | Catégorie | Ordre | Famille | Genre | StatutConservation | MinLongueur | MaxLongueur | MinMasseCorporelle | MaxMasseCorporelle | MinEnvergure | MaxEnvergure |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Dendrocygne à ventre noir | Dendrocygna autumnalis | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Dendrocygne fauve | Dendrocygna bicolor | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Oie des neiges | Anser caerulescens | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Oie de Ross | Anser rossii | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Oie rieuse | Anser albifrons | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+En général, vous pouvez rapidement examiner la façon dont les données sont distribuées en utilisant un diagramme de dispersion, comme nous l'avons fait dans la leçon précédente :
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+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 méthode optimale pour afficher les véritables distributions. Cette tâche est généralement réalisée en créant un histogramme.
+
+## Travailler avec des histogrammes
+
+Matplotlib offre d'excellents moyens de visualiser la distribution des données à l'aide d'histogrammes. Ce type de graphique ressemble à un diagramme en barres où la distribution peut être observée à travers la montée et la descente des barres. Pour construire un histogramme, vous avez besoin de données numériques. Pour créer un histogramme, vous pouvez tracer un graphique en définissant le type comme 'hist' pour Histogramme. Ce graphique montre la distribution de la MaxMasseCorporelle pour l'ensemble de données entier. En divisant le tableau de données en petits intervalles, il peut afficher la distribution des valeurs des données :
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+Comme vous pouvez le voir, la plupart des 400+ oiseaux de cet ensemble de données ont une masse corporelle maximale inférieure à 2000. Obtenez plus d'informations sur les données en modifiant le paramètre `bins` pour un nombre plus élevé, comme 30 :
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+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 :
+
+Filtrez vos données pour obtenir uniquement les oiseaux dont la masse corporelle est inférieure à 60, et affichez 40 `bins` :
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 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.
+
+L'histogramme offre également des améliorations intéressantes en termes de couleur et d'étiquetage :
+
+Créez un histogramme 2D pour comparer la relation entre deux distributions. Comparons `MaxBodyMass` et `MaxLength`. Matplotlib propose une méthode intégrée pour montrer la convergence en utilisant des couleurs plus vives :
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+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 selon des données textuelles ?
+## Explorer l'ensemble de données pour les distributions basées sur des données textuelles
+
+Cet ensemble de données contient également de bonnes informations sur la catégorie des oiseaux, leur genre, espèce, famille ainsi que leur statut de conservation. Explorons ces informations de conservation. Quelle est la distribution des oiseaux selon leur statut de conservation ?
+
+> ✅ Dans l'ensemble de données, plusieurs acronymes sont utilisés pour décrire le statut de conservation. Ces acronymes proviennent des [Catégories de la Liste Rouge de l'UICN](https://www.iucnredlist.org/), une organisation qui catalogue le statut des espèces.
+>
+> - CR : En danger critique
+> - EN : En danger
+> - EX : Éteint
+> - LC : Préoccupation mineure
+> - NT : Quasi menacé
+> - VU : Vulnérable
+
+Ces valeurs sont basées sur du texte, vous devrez donc effectuer une transformation pour créer un histogramme. En utilisant le dataframe filteredBirds, affichez son statut de conservation avec son envergure minimale. Que voyez-vous ?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+Il ne semble pas y avoir de bonne corrélation entre l'envergure minimale et le statut de conservation. Testez d'autres éléments de l'ensemble de données en utilisant cette méthode. Vous pouvez également essayer différents filtres. Trouvez-vous une corrélation ?
+
+## Graphiques de densité
+
+Vous avez peut-être remarqué que les histogrammes que nous avons examinés jusqu'à présent sont "en escalier" et ne s'écoulent pas de manière fluide en arc. Pour afficher un graphique de densité plus fluide, vous pouvez essayer un graphique de densité.
+
+Pour travailler avec des graphiques de densité, familiarisez-vous avec une nouvelle bibliothèque de tracé, [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html).
+
+En chargeant Seaborn, essayez un graphique de densité de base :
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+Vous pouvez voir comment le graphique reflète le précédent pour les données d'envergure minimale ; il est juste un peu plus fluide. Selon la documentation de Seaborn, "Par rapport à un histogramme, le KDE peut produire un graphique moins encombré et plus interprétable, surtout lorsqu'on trace plusieurs distributions. Mais il a le potentiel d'introduire des distorsions si la distribution sous-jacente est limitée ou non fluide. Comme un histogramme, la qualité de la représentation dépend également de la sélection de bons paramètres de lissage." [source](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) En d'autres termes, les valeurs aberrantes, comme toujours, feront mal fonctionner vos graphiques.
+
+Si vous vouliez revisiter cette ligne irrégulière de MaxBodyMass dans le deuxième graphique que vous avez construit, vous pourriez la lisser très bien en la recréant avec cette méthode :
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+Si vous vouliez une ligne lisse, mais pas trop lisse, modifiez le paramètre `bw_adjust` :
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ Lisez les paramètres disponibles pour ce type de graphique et expérimentez !
+
+Ce type de graphique offre des visualisations magnifiquement explicatives. Avec quelques lignes de code, par exemple, vous pouvez montrer la densité de masse corporelle maximale par ordre d'oiseaux :
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+Vous pouvez également cartographier la densité de plusieurs variables dans un seul graphique. Testez la longueur maximale et la longueur minimale d'un oiseau par rapport à son statut de conservation :
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+Peut-être vaut-il la peine de rechercher si le regroupement des oiseaux "Vulnérables" selon leurs longueurs est significatif ou non.
+
+## 🚀 Défi
+
+Les histogrammes sont un type de graphique plus sophistiqué que les diagrammes de dispersion, les diagrammes en barres ou les graphiques linéaires de base. Faites une recherche sur Internet pour trouver de bons exemples d'utilisation des histogrammes. Comment sont-ils utilisés, que démontrent-ils, et dans quels domaines ou champs d'étude ont-ils tendance à être utilisés ?
+
+## [Quiz après la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## Révision et auto-apprentissage
+
+Dans cette leçon, vous avez utilisé Matplotlib et commencé à travailler avec Seaborn pour afficher des graphiques plus sophistiqués. Faites des recherches sur `kdeplot` dans Seaborn, une "courbe de densité de probabilité continue dans une ou plusieurs dimensions". Lisez la [documentation](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) pour comprendre son fonctionnement.
+
+## Devoir
+
+[Appliquez vos compétences](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/fr/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..8fb9ecc7
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# Appliquez vos compétences
+
+## Instructions
+
+Jusqu'à présent, vous avez travaillé avec le jeu de données sur les oiseaux du Minnesota pour découvrir des informations sur les quantités d'oiseaux et la densité de population. Mettez en pratique vos compétences en appliquant ces techniques à un autre jeu de données, peut-être issu de [Kaggle](https://www.kaggle.com/). Créez un notebook pour raconter une histoire à partir de ce jeu de données, et assurez-vous d'utiliser des histogrammes pour en discuter.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+Un notebook est présenté avec des annotations sur ce jeu de données, y compris sa source, et utilise au moins 5 histogrammes pour découvrir des faits sur les données. | Un notebook est présenté avec des annotations incomplètes ou des bugs. | Un notebook est présenté sans annotations et contient des bugs.
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/11-visualization-proportions/README.md b/translations/fr/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..9bcdfcbf
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,202 @@
+
+# Visualiser les proportions
+
+| ](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|Visualiser les proportions - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans cette leçon, vous utiliserez un ensemble de données axé sur la nature pour visualiser les proportions, comme le nombre de types différents de champignons présents dans un ensemble de données sur les champignons. Explorons ces fascinants champignons à l'aide d'un ensemble de données provenant d'Audubon, qui répertorie des informations sur 23 espèces de champignons à lamelles des familles Agaricus et Lepiota. Vous expérimenterez des visualisations savoureuses telles que :
+
+- Les diagrammes circulaires 🥧
+- Les diagrammes en anneau 🍩
+- Les diagrammes en gaufre 🧇
+
+> 💡 Un projet très intéressant appelé [Charticulator](https://charticulator.com) de Microsoft Research propose une interface gratuite de glisser-déposer pour les visualisations de données. Dans l'un de leurs tutoriels, ils utilisent également cet ensemble de données sur les champignons ! Vous pouvez donc explorer les données et apprendre à utiliser la bibliothèque en même temps : [Tutoriel Charticulator](https://charticulator.com/tutorials/tutorial4.html).
+
+## [Quiz avant la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## Faites connaissance avec vos champignons 🍄
+
+Les champignons sont très intéressants. Importons un ensemble de données pour les étudier :
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+Un tableau est affiché avec des données intéressantes pour l'analyse :
+
+| classe | forme du chapeau | surface du chapeau | couleur du chapeau | meurtri | odeur | attache des lamelles | espacement des lamelles | taille des lamelles | couleur des lamelles | forme du pied | racine du pied | surface du pied au-dessus de l'anneau | surface du pied en dessous de l'anneau | couleur du pied au-dessus de l'anneau | couleur du pied en dessous de l'anneau | type de voile | couleur du voile | nombre d'anneaux | type d'anneau | couleur des spores | population | habitat |
+| --------- | ---------------- | ------------------ | ------------------ | ------- | ------- | -------------------- | ----------------------- | ------------------- | -------------------- | ------------- | -------------- | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------- | ---------------- | ---------------- | ------------- | ----------------- | ---------- | ------- |
+| Toxique | Convexe | Lisse | Marron | Meurtri | Piquant | Libre | Serré | Étroit | Noir | Élargi | Égal | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Noir | Dispersé | Urbain |
+| Comestible| Convexe | Lisse | Jaune | Meurtri | Amande | Libre | Serré | Large | Noir | Élargi | Massue | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Marron | Nombreux | Herbes |
+| Comestible| Cloché | Lisse | Blanc | Meurtri | Anis | Libre | Serré | Large | Marron | Élargi | Massue | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Marron | Nombreux | Prairies|
+| Toxique | Convexe | Écailleux | Blanc | Meurtri | Piquant | Libre | Serré | Étroit | Marron | Élargi | Égal | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Noir | Dispersé | Urbain |
+
+Vous remarquez immédiatement que toutes les données sont textuelles. Vous devrez convertir ces données pour pouvoir les utiliser dans un graphique. La plupart des données, en fait, sont représentées comme un objet :
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+Le résultat est :
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+Prenez ces données et convertissez la colonne 'classe' en catégorie :
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+Maintenant, si vous imprimez les données des champignons, vous pouvez voir qu'elles ont été regroupées en catégories selon la classe toxique/comestible :
+
+| | forme du chapeau | surface du chapeau | couleur du chapeau | meurtri | odeur | attache des lamelles | espacement des lamelles | taille des lamelles | couleur des lamelles | forme du pied | ... | surface du pied en dessous de l'anneau | couleur du pied au-dessus de l'anneau | couleur du pied en dessous de l'anneau | type de voile | couleur du voile | nombre d'anneaux | type d'anneau | couleur des spores | population | habitat |
+| --------- | ---------------- | ------------------ | ------------------ | ------- | ---- | -------------------- | ----------------------- | ------------------- | -------------------- | ------------- | --- | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------- | ---------------- | ---------------- | ------------- | ----------------- | ---------- | ------- |
+| classe | | | | | | | | | | | | | | | | | | | | | |
+| Comestible| 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| Toxique | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+Si vous suivez l'ordre présenté dans ce tableau pour créer vos étiquettes de catégorie de classe, vous pouvez construire un diagramme circulaire :
+
+## Diagramme circulaire !
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+Voilà, un diagramme circulaire 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 avec lequel le tableau des étiquettes est construit !
+
+
+
+## Diagrammes en anneau !
+
+Un diagramme circulaire un peu plus visuellement intéressant est un diagramme en anneau, qui est un diagramme circulaire avec un trou au milieu. Regardons nos données en utilisant cette méthode.
+
+Examinez les différents habitats où poussent les champignons :
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+Ici, vous regroupez vos données par habitat. Il y en a 7 répertoriés, alors utilisez-les comme étiquettes pour votre diagramme en anneau :
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+Ce code dessine un graphique et un cercle central, puis ajoute ce cercle central au graphique. Modifiez la largeur du cercle central en changeant `0.40` pour une autre valeur.
+
+Les diagrammes en anneau peuvent être ajustés de plusieurs façons pour modifier les étiquettes. Les étiquettes en particulier peuvent être mises en évidence pour améliorer la lisibilité. En savoir plus dans les [docs](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut).
+
+Maintenant que vous savez comment regrouper vos données et les afficher sous forme de diagramme circulaire ou en anneau, vous pouvez explorer d'autres types de graphiques. Essayez un diagramme en gaufre, qui est simplement une autre façon d'explorer les quantités.
+
+## Diagrammes en gaufre !
+
+Un diagramme de type 'gaufre' est une manière différente de visualiser les quantités sous forme de tableau 2D de carrés. Essayez de visualiser les différentes quantités de couleurs de chapeau de champignon dans cet ensemble de données. Pour ce faire, vous devez installer une bibliothèque d'assistance appelée [PyWaffle](https://pypi.org/project/pywaffle/) et utiliser Matplotlib :
+
+```python
+pip install pywaffle
+```
+
+Sélectionnez un segment de vos données à regrouper :
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+Créez un diagramme en gaufre en créant des étiquettes, puis en regroupant vos données :
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+Avec un diagramme en gaufre, 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 à chapeau vert !
+
+
+
+✅ PyWaffle prend en charge les icônes dans les graphiques qui utilisent n'importe quelle icône disponible dans [Font Awesome](https://fontawesome.com/). Faites des expériences pour créer un diagramme en gaufre encore plus intéressant en utilisant des icônes au lieu de carrés.
+
+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 - circulaire, en anneau ou en gaufre. Tous sont délicieux et offrent à l'utilisateur un aperçu instantané d'un ensemble de données.
+
+## 🚀 Défi
+
+Essayez de recréer ces graphiques savoureux dans [Charticulator](https://charticulator.com).
+## [Quiz après la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## Révision et étude personnelle
+
+Parfois, il n'est pas évident de savoir quand utiliser un diagramme circulaire, en anneau ou en gaufre. Voici quelques articles à lire sur ce sujet :
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+Faites des recherches pour trouver plus d'informations sur cette décision délicate.
+
+## Devoir
+
+[Essayez-le dans Excel](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/fr/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..93c32309
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# Essayez-le dans Excel
+
+## Instructions
+
+Saviez-vous que vous pouvez créer des graphiques en anneau, en secteur et en gaufre dans Excel ? En utilisant un jeu de données de votre choix, créez ces trois graphiques directement dans une feuille de calcul Excel.
+
+## Grille d'évaluation
+
+| Exemplaire | Adéquat | À améliorer |
+| ------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------- |
+| Une feuille Excel est présentée avec les trois graphiques | Une feuille Excel est présentée avec deux graphiques | Une feuille Excel est présentée avec un seul graphique |
+
+**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/fr/3-Data-Visualization/12-visualization-relationships/README.md b/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..ae603261
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,184 @@
+
+# Visualiser les relations : Tout sur le miel 🍯
+
+| ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|Visualiser les relations - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+En poursuivant notre recherche axée sur la nature, découvrons des visualisations intéressantes pour montrer les relations entre différents types de miel, selon un ensemble de données provenant du [Département de l'Agriculture des États-Unis](https://www.nass.usda.gov/About_NASS/index.php).
+
+Cet ensemble de données, composé d'environ 600 éléments, montre la production de miel dans de nombreux États américains. Par exemple, vous pouvez examiner le nombre de colonies, le rendement par colonie, la production totale, les stocks, le prix par livre et la valeur du miel produit dans un État donné entre 1998 et 2012, avec une ligne par année pour chaque État.
+
+Il serait intéressant de visualiser la relation entre la production annuelle d'un État donné et, par exemple, le prix du miel dans cet État. Alternativement, vous pourriez visualiser la relation entre le rendement par colonie dans différents États. Cette période couvre le dévastateur "CCD" ou "Colony Collapse Disorder" (http://npic.orst.edu/envir/ccd.html) observé pour la première fois en 2006, ce qui en fait un ensemble de données poignant à étudier. 🐝
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+Dans cette leçon, vous pouvez utiliser Seaborn, que vous avez déjà utilisé, comme une excellente bibliothèque pour visualiser les relations entre les variables. Particulièrement intéressant est l'utilisation de la fonction `relplot` de Seaborn, qui permet de créer des graphiques de dispersion et des graphiques linéaires pour visualiser rapidement les '[relations statistiques](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)', permettant au data scientist de mieux comprendre comment les variables interagissent entre elles.
+
+## Graphiques de dispersion
+
+Utilisez un graphique de dispersion pour montrer comment le prix du miel a évolué, année après année, par État. Seaborn, grâce à `relplot`, regroupe commodément les données des États et affiche des points de données pour les données catégoriques et numériques.
+
+Commençons par importer les données et Seaborn :
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+Vous remarquez que les données sur le miel contiennent plusieurs colonnes intéressantes, notamment l'année et le prix par livre. Explorons ces données, regroupées par État américain :
+
+| état | numcol | rendementparcol | prodtotale | stocks | prixparlb | valeurprod | année |
+| ----- | ------ | --------------- | ---------- | -------- | --------- | ---------- | ----- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+Créez un graphique de dispersion de base pour montrer la relation entre le prix par livre de miel et son État d'origine aux États-Unis. Faites en sorte que l'axe `y` soit suffisamment grand pour afficher tous les États :
+
+```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 :
+
+> ✅ En savoir plus sur les [palettes de couleurs que vous pouvez utiliser dans Seaborn](https://seaborn.pydata.org/tutorial/color_palettes.html) - essayez un magnifique schéma de couleurs arc-en-ciel !
+
+```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 une tendance à l'augmentation des prix année après année, avec quelques exceptions :
+
+| état | numcol | rendementparcol | prodtotale | stocks | prixparlb | valeurprod | année |
+| ----- | ------ | --------------- | ---------- | ------- | --------- | ---------- | ----- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+Une autre façon de visualiser cette progression est d'utiliser la taille plutôt que la couleur. Pour les utilisateurs daltoniens, cela pourrait être une meilleure option. Modifiez votre visualisation pour montrer une augmentation du prix par une augmentation de la circonférence des points :
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+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 ?
+
+Pour découvrir une corrélation entre certaines des variables de cet ensemble de données, explorons quelques graphiques linéaires.
+
+## Graphiques linéaires
+
+Question : Y a-t-il une augmentation claire du prix du miel par livre année après année ? Vous pouvez le découvrir facilement en créant un graphique linéaire unique :
+
+```python
+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`.
+
+Question : Eh bien, en 2003, pouvons-nous également voir un pic dans l'approvisionnement en miel ? Que se passe-t-il si vous examinez la production totale année après année ?
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+Réponse : Pas vraiment. Si vous examinez 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 au cours de ces années.
+
+Question : Dans ce cas, qu'est-ce qui aurait pu provoquer ce pic du prix du miel autour de 2003 ?
+
+Pour le découvrir, vous pouvez explorer une grille de facettes.
+
+## Grilles de facettes
+
+Les grilles de facettes prennent un aspect de votre ensemble de données (dans notre cas, vous pouvez choisir 'année' pour éviter d'avoir trop de facettes produites). Seaborn peut ensuite créer un graphique pour chacune de ces facettes de vos coordonnées x et y choisies pour une comparaison visuelle plus facile. L'année 2003 se démarque-t-elle dans ce type de comparaison ?
+
+Créez une grille de facettes en continuant à utiliser `relplot` comme recommandé par la [documentation de Seaborn](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid).
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+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 ?
+
+## Graphiques à double ligne
+
+Essayez un graphique à lignes multiples en superposant deux graphiques linéaires l'un sur l'autre, en utilisant la fonction 'despine' de Seaborn pour supprimer leurs épines supérieure et droite, et en utilisant `ax.twinx` [dérivé de Matplotlib](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html). Twinx permet à un graphique de partager l'axe x et d'afficher deux axes y. Ainsi, affichez le rendement par colonie et le nombre de colonies, superposés :
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+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 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.
+
+Allez, les abeilles, allez !
+
+🐝❤️
+## 🚀 Défi
+
+Dans cette leçon, vous avez appris un peu plus sur d'autres utilisations des graphiques de dispersion et des grilles linéaires, y compris les grilles de facettes. Lancez-vous le défi de créer une grille de facettes en utilisant un ensemble de données différent, peut-être celui que vous avez utilisé avant ces leçons. Notez combien de temps elles prennent à créer et comment vous devez faire attention au nombre de grilles que vous devez dessiner en utilisant ces techniques.
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## Révision & Étude personnelle
+
+Les graphiques linéaires peuvent être simples ou assez complexes. Faites quelques lectures dans la [documentation de Seaborn](https://seaborn.pydata.org/generated/seaborn.lineplot.html) sur les différentes façons de les construire. Essayez d'améliorer les graphiques linéaires que vous avez créés dans cette leçon avec d'autres méthodes listées dans la documentation.
+## Devoir
+
+[Plongez dans la ruche](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/fr/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..5fd70248
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# Plongez dans la ruche
+
+## Instructions
+
+Dans cette leçon, vous avez commencé à examiner un ensemble de données sur les abeilles et leur production de miel sur une période marquée par des pertes globales dans la population des colonies d'abeilles. Explorez plus en profondeur cet ensemble de données et construisez un notebook capable de raconter l'histoire de la santé de la population d'abeilles, état par état et année par année. Découvrez-vous quelque chose d'intéressant dans cet ensemble de données ?
+
+## Grille d'évaluation
+
+| Exemplaire | Adéquat | À améliorer |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| Un notebook est présenté avec une histoire annotée par au moins trois graphiques différents montrant des aspects de l'ensemble de données, état par état et année par année | Le notebook manque un de ces éléments | Le notebook manque deux de ces éléments |
+
+**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 ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..2f19f110
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# Créer des Visualisations Significatives
+
+| ](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| Visualisations Significatives - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+> "Si vous torturez les données suffisamment longtemps, elles avoueront n'importe quoi" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+Une des compétences fondamentales d'un data scientist est la capacité à créer une visualisation de données significative qui aide à répondre aux questions que vous pourriez avoir. Avant de visualiser vos données, vous devez vous assurer qu'elles ont été nettoyées et préparées, comme vous l'avez fait dans les leçons précédentes. Ensuite, vous pouvez commencer à décider de la meilleure façon de présenter les données.
+
+Dans cette leçon, vous allez revoir :
+
+1. Comment choisir le bon type de graphique
+2. Comment éviter les graphiques trompeurs
+3. Comment travailler avec les couleurs
+4. Comment styliser vos graphiques pour une meilleure lisibilité
+5. Comment créer des solutions de graphiques animés ou en 3D
+6. Comment concevoir une visualisation créative
+
+## [Quiz Pré-Conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## Choisir le bon type de graphique
+
+Dans les leçons précédentes, vous avez expérimenté la création de toutes sortes de visualisations de données intéressantes en utilisant Matplotlib et Seaborn. En général, vous pouvez sélectionner le [bon type de graphique](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/) pour répondre à votre question en utilisant ce tableau :
+
+| Vous devez : | Vous devriez utiliser : |
+| -------------------------- | ------------------------------- |
+| Montrer des tendances dans le temps | Ligne |
+| Comparer des catégories | Barres, Camembert |
+| Comparer des totaux | Camembert, Barres empilées |
+| Montrer des relations | Nuage de points, Ligne, Facette, Double ligne |
+| Montrer des distributions | Nuage de points, Histogramme, Boîte |
+| Montrer des proportions | Camembert, Donut, Gaufre |
+
+> ✅ Selon la composition de vos données, vous pourriez avoir besoin de les convertir de texte en numérique pour qu'un graphique donné puisse les prendre en charge.
+
+## Éviter la tromperie
+
+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")
+
+> 🎥 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 célèbre 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 c'est l'inverse qui 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.
+
+Il est important de comprendre à quel point l'œil peut être facilement trompé par des graphiques trompeurs. Même si l'intention du data scientist est bonne, le choix d'un mauvais type de graphique, comme un camembert montrant trop de catégories, peut être trompeur.
+
+## Couleur
+
+Vous avez vu dans le graphique sur la 'violence armée en Floride' ci-dessus comment la couleur peut ajouter une couche supplémentaire de signification aux graphiques, en particulier ceux qui ne sont pas conçus avec des bibliothèques comme Matplotlib et Seaborn, qui proposent diverses palettes et bibliothèques de couleurs validées. Si vous créez un graphique à la main, prenez le temps d'étudier un peu la [théorie des couleurs](https://colormatters.com/color-and-design/basic-color-theory).
+
+> ✅ Soyez conscient, lors de la conception de graphiques, que l'accessibilité est un aspect important de la visualisation. Certains de vos utilisateurs pourraient être daltoniens - votre graphique est-il lisible pour les utilisateurs ayant des déficiences visuelles ?
+
+Faites attention en choisissant les couleurs pour votre graphique, car elles peuvent transmettre un sens que vous ne souhaitez pas. Les 'dames en rose' dans le graphique sur la 'taille' ci-dessus transmettent une signification distinctement 'féminine' qui ajoute à l'étrangeté du graphique lui-même.
+
+Bien que [la signification des couleurs](https://colormatters.com/color-symbolism/the-meanings-of-colors) puisse varier selon les régions du monde et changer en fonction de leur nuance, en général, les significations des couleurs incluent :
+
+| Couleur | Signification |
+| ------- | ---------------------- |
+| rouge | pouvoir |
+| bleu | confiance, loyauté |
+| jaune | bonheur, prudence |
+| vert | écologie, chance, envie|
+| violet | bonheur |
+| orange | dynamisme |
+
+Si vous devez créer un graphique avec des couleurs personnalisées, assurez-vous que vos graphiques sont à la fois accessibles et que la couleur choisie correspond au message que vous souhaitez transmettre.
+
+## Styliser vos graphiques pour une meilleure lisibilité
+
+Les graphiques ne sont pas significatifs s'ils ne sont pas lisibles ! Prenez un moment pour réfléchir à la taille et à la largeur de votre graphique afin qu'il s'adapte bien à vos données. Si une variable (comme les 50 états) doit être affichée, montrez-les verticalement sur l'axe Y si possible pour éviter un graphique nécessitant un défilement horizontal.
+
+Étiquetez vos axes, fournissez une légende si nécessaire, et proposez des infobulles pour une meilleure compréhension des données.
+
+Si vos données sont textuelles et longues sur l'axe X, vous pouvez incliner le texte pour une meilleure lisibilité. [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) propose des tracés en 3D si vos données le permettent. Des visualisations sophistiquées peuvent être produites en utilisant `mpl_toolkits.mplot3d`.
+
+
+
+## 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
+
+Bien que cette leçon ne soit pas suffisante pour enseigner en profondeur ces bibliothèques de visualisation puissantes, essayez D3 dans une application Vue.js en utilisant une bibliothèque pour afficher une visualisation du livre "Les Liaisons Dangereuses" comme un réseau social animé.
+
+> "Les Liaisons Dangereuses" est un roman épistolaire, ou un roman présenté comme une série de lettres. Écrit en 1782 par Choderlos de Laclos, il raconte les manœuvres sociales vicieuses et moralement corrompues de deux protagonistes rivaux de l'aristocratie française du XVIIIe siècle, le Vicomte de Valmont et la Marquise de Merteuil. Tous deux rencontrent leur perte à la fin, mais pas sans causer de nombreux dégâts sociaux. Le roman se déroule comme une série de lettres écrites à diverses personnes de leur cercle, complotant pour se venger ou simplement pour semer le trouble. Créez une visualisation de ces lettres pour découvrir les principaux acteurs de la narration, visuellement.
+
+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
+
+> Ce dossier de leçon inclut un dossier `solution` où vous pouvez trouver le projet complété, pour référence.
+
+1. Suivez les instructions dans le fichier README.md à la racine du dossier de démarrage. Assurez-vous que NPM et Node.js fonctionnent sur votre machine avant d'installer les dépendances de votre projet.
+
+2. Ouvrez le dossier `starter/src`. Vous y trouverez un dossier `assets` contenant un fichier .json avec toutes les lettres du roman, numérotées, avec une annotation 'to' et 'from'.
+
+3. Complétez le code dans `components/Nodes.vue` pour activer la visualisation. Recherchez la méthode appelée `createLinks()` et ajoutez la boucle imbriquée suivante.
+
+Parcourez l'objet .json pour capturer les données 'to' et 'from' des lettres et construisez l'objet `links` afin que la bibliothèque de visualisation puisse l'utiliser :
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+Exécutez votre application depuis le terminal (npm run serve) et profitez de la visualisation !
+
+## 🚀 Défi
+
+Faites un tour sur Internet pour découvrir des visualisations trompeuses. Comment l'auteur trompe-t-il l'utilisateur, et est-ce intentionnel ? Essayez de corriger les visualisations pour montrer à quoi elles devraient ressembler.
+
+## [Quiz Post-Conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## Révision & Étude Personnelle
+
+Voici quelques articles à lire sur les visualisations de données trompeuses :
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+Découvrez ces visualisations intéressantes pour des actifs et artefacts historiques :
+
+https://handbook.pubpub.org/
+
+Lisez cet article sur la façon dont l'animation peut améliorer vos visualisations :
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## Devoir
+
+[Créez votre propre visualisation personnalisée](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..2b6d56f0
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# Créez votre propre visualisation personnalisée
+
+## Instructions
+
+En utilisant l'exemple de code fourni dans ce projet pour créer un réseau social, concevez des données basées sur vos propres interactions sociales. Vous pourriez cartographier votre utilisation des réseaux sociaux ou créer un diagramme de vos membres de famille. Développez une application web intéressante qui propose une visualisation unique d'un réseau social.
+
+## Critères d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+Un dépôt GitHub est présenté avec un code qui fonctionne correctement (essayez de le déployer en tant qu'application web statique) et contient un fichier README annoté expliquant le projet | Le dépôt ne fonctionne pas correctement ou n'est pas bien documenté | Le dépôt ne fonctionne pas correctement et n'est pas bien documenté
+
+**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 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.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..7c2a5d63
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# Projet de visualisation des données Dangerous Liaisons
+
+Pour commencer, assurez-vous que NPM et Node sont installés et fonctionnent sur votre machine. Installez les dépendances (npm install) puis exécutez le projet en local (npm run serve) :
+
+## Configuration du projet
+```
+npm install
+```
+
+### Compilation et rechargement à chaud pour le développement
+```
+npm run serve
+```
+
+### Compilation et minification pour la production
+```
+npm run build
+```
+
+### Analyse et correction des fichiers
+```
+npm run lint
+```
+
+### Personnaliser la configuration
+Voir [Référence de configuration](https://cli.vuejs.org/config/).
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..b0697c00
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# Projet de visualisation des données Dangerous Liaisons
+
+Pour commencer, assurez-vous que NPM et Node sont installés et fonctionnent sur votre machine. Installez les dépendances (npm install), puis exécutez le projet en local (npm run serve) :
+
+## Configuration du projet
+```
+npm install
+```
+
+### Compilation et rechargement à chaud pour le développement
+```
+npm run serve
+```
+
+### Compilation et minification pour la production
+```
+npm run build
+```
+
+### Analyse et correction des fichiers
+```
+npm run lint
+```
+
+### Personnaliser la configuration
+Voir [Référence de configuration](https://cli.vuejs.org/config/).
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md
new file mode 100644
index 00000000..1fd81f52
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,230 @@
+
+# Visualiser des quantités
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| Visualiser des quantités - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans cette leçon, vous allez explorer comment utiliser certaines des nombreuses bibliothèques disponibles dans les packages R pour apprendre à créer des visualisations intéressantes autour du concept de quantité. En utilisant un jeu de données nettoyé sur les oiseaux du Minnesota, vous pourrez découvrir de nombreuses informations fascinantes sur la faune locale.
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## Observer l'envergure avec ggplot2
+Une bibliothèque excellente pour créer des graphiques simples ou sophistiqués de divers types est [ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html). En termes généraux, le processus de création de graphiques avec ces bibliothèques consiste à identifier les parties de votre dataframe que vous souhaitez cibler, effectuer les transformations nécessaires sur ces données, attribuer les valeurs des axes x et y, choisir le type de graphique à afficher, puis afficher le graphique.
+
+`ggplot2` est un système permettant de créer des graphiques de manière déclarative, basé sur la Grammaire des Graphiques. La [Grammaire des Graphiques](https://en.wikipedia.org/wiki/Ggplot2) est un schéma général pour la visualisation des données qui décompose les graphiques en composants sémantiques tels que les échelles et les couches. En d'autres termes, la simplicité de création de graphiques pour des données univariées ou multivariées avec peu de code fait de `ggplot2` le package le plus populaire pour les visualisations en R. L'utilisateur indique à `ggplot2` comment mapper les variables aux esthétiques, quels éléments graphiques utiliser, et `ggplot2` s'occupe du reste.
+
+> ✅ Graphique = Données + Esthétiques + Géométrie
+> - Données : le jeu de données
+> - Esthétiques : les variables à étudier (variables x et y)
+> - Géométrie : le type de graphique (graphique linéaire, histogramme, etc.)
+
+Choisissez la meilleure géométrie (type de graphique) en fonction de vos données et de l'histoire que vous souhaitez raconter à travers le graphique.
+
+> - Pour analyser les tendances : ligne, colonne
+> - Pour comparer des valeurs : barre, colonne, camembert, nuage de points
+> - Pour montrer comment les parties se rapportent à un tout : camembert
+> - Pour montrer la distribution des données : nuage de points, barre
+> - Pour montrer les relations entre les valeurs : ligne, nuage de points, bulle
+
+✅ Vous pouvez également consulter cette [fiche descriptive](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf) pour ggplot2.
+
+## Construire un graphique linéaire sur les valeurs d'envergure des oiseaux
+
+Ouvrez la console R et importez le jeu de données.
+> Note : Le jeu de données est stocké à la racine de ce dépôt dans le dossier `/data`.
+
+Importons le jeu de données et observons les premières lignes (les 5 premières lignes) des données.
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+Les premières lignes des données contiennent un mélange de texte et de chiffres :
+
+| | Nom | NomScientifique | Catégorie | Ordre | Famille | Genre | StatutConservation | LongueurMin | LongueurMax | MasseMin | MasseMax | EnvergureMin | EnvergureMax |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | -----------:| -----------:| --------:| --------:| ------------:| ------------:|
+| 0 | Dendrocygne à ventre noir | Dendrocygna autumnalis | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Dendrocygne fauve | Dendrocygna bicolor | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Oie des neiges | Anser caerulescens | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Oie de Ross | Anser rossii | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Oie rieuse | Anser albifrons | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+Commençons par tracer certaines des données numériques à l'aide d'un graphique linéaire de base. Supposons que vous vouliez visualiser l'envergure maximale de ces oiseaux intéressants.
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+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.
+
+Bien que vous puissiez effectuer un tri rapide dans Excel pour trouver ces valeurs aberrantes, qui sont probablement des erreurs de saisie, poursuivez le processus de visualisation en travaillant directement à partir du graphique.
+
+Ajoutez des étiquettes à l'axe x pour montrer de quels oiseaux il s'agit :
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+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 :
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+Que se passe-t-il ici ? Vous avez utilisé la fonction `geom_point()` pour tracer des points de dispersion. Avec cela, vous avez ajouté des étiquettes pour les oiseaux ayant une `MaxWingspan > 500` et également masqué les étiquettes sur l'axe x pour désencombrer le graphique.
+
+Que découvrez-vous ?
+
+
+
+## Filtrer vos données
+
+L'Aigle chauve et le Faucon des prairies, bien que probablement de très grands oiseaux, semblent être mal étiquetés, avec un zéro supplémentaire ajouté à leur envergure maximale. Il est peu probable que vous rencontriez un Aigle chauve avec une envergure de 25 mètres, mais si c'est le cas, faites-le nous savoir ! Créons un nouveau dataframe sans ces deux valeurs aberrantes :
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+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.
+
+Bien que les graphiques linéaires et les nuages de points puissent afficher des informations sur les valeurs des données et leur distribution, nous voulons réfléchir aux valeurs inhérentes à ce jeu de données. Vous pourriez créer des visualisations pour répondre aux questions suivantes sur les quantités :
+
+> Combien de catégories d'oiseaux existe-t-il, et quels sont leurs effectifs ?
+> Combien d'oiseaux sont éteints, en danger, rares ou communs ?
+> Combien y a-t-il de genres et d'ordres différents selon la terminologie de Linné ?
+
+## Explorer les graphiques en barres
+
+Les graphiques en barres sont pratiques lorsque vous devez montrer des regroupements de données. Explorons les catégories d'oiseaux présentes dans ce jeu de données pour voir laquelle est la plus courante en nombre.
+Créons un graphique en barres sur les données filtrées.
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+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.
+
+Filtrez vos données pour inclure uniquement la catégorie des oiseaux.
+
+Comme il y a de nombreuses catégories, vous pouvez afficher ce graphique verticalement et ajuster sa hauteur pour tenir compte de toutes les données :
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+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 !
+
+✅ Essayez d'autres décomptes sur ce jeu de données. Quelque chose vous surprend-il ?
+
+## Comparer des données
+
+Vous pouvez essayer différentes comparaisons de données regroupées en créant de nouveaux axes. Essayez une comparaison de la LongueurMax d'un oiseau, en fonction de sa catégorie :
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+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 !
+
+Vous pouvez créer des visualisations plus intéressantes de graphiques en barres en superposant des données. Superposons les LongueurMin et LongueurMax pour une catégorie donnée d'oiseaux :
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 Défi
+
+Ce jeu de données sur les oiseaux offre une mine d'informations sur différents types d'oiseaux dans un écosystème particulier. Cherchez sur Internet et voyez si vous pouvez trouver d'autres jeux de données orientés sur les oiseaux. Entraînez-vous à construire des graphiques et des diagrammes autour de ces oiseaux pour découvrir des faits que vous ignoriez.
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## Révision et auto-apprentissage
+
+Cette première leçon vous a donné des informations sur l'utilisation de `ggplot2` pour visualiser des quantités. Faites des recherches sur d'autres façons de travailler avec des jeux de données pour la visualisation. Recherchez et explorez des jeux de données que vous pourriez visualiser en utilisant d'autres packages comme [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) et [Plotly](https://github.com/plotly/plotly.R#readme).
+
+## Devoir
+[Graphiques linéaires, nuages de points et barres](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..dcfbb11e
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# Lignes, Nuages de points et Barres
+
+## Instructions
+
+Dans cette leçon, vous avez travaillé avec des graphiques en ligne, des nuages de points et des graphiques en barres pour mettre en évidence des faits intéressants sur ce jeu de données. Dans cet exercice, explorez davantage le jeu de données pour découvrir un fait sur un type d'oiseau donné. Par exemple, créez un script visualisant toutes les données intéressantes que vous pouvez trouver sur les Oies des neiges. Utilisez les trois types de graphiques mentionnés ci-dessus pour raconter une histoire dans votre notebook.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Un script est présenté avec de bonnes annotations, une narration solide et des graphiques attrayants | Le script manque l'un de ces éléments | Le script manque deux de ces éléments
+
+**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/fr/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md
new file mode 100644
index 00000000..6e646d24
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,182 @@
+
+# Visualiser les distributions
+
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| Visualiser les distributions - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans la leçon précédente, vous avez appris des faits intéressants sur un jeu de données concernant les oiseaux du Minnesota. Vous avez identifié des données erronées en visualisant les valeurs aberrantes et examiné les différences entre les catégories d'oiseaux en fonction de leur longueur maximale.
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## Explorer le jeu de données sur les oiseaux
+
+Une autre façon d'explorer les données est d'examiner leur distribution, c'est-à-dire comment elles sont organisées le long d'un axe. Par exemple, vous pourriez vouloir en savoir plus sur la distribution générale, dans ce jeu de données, de l'envergure maximale ou de la masse corporelle maximale des oiseaux du Minnesota.
+
+Découvrons quelques faits sur les distributions des données dans ce jeu de données. Dans votre console R, importez `ggplot2` et la base de données. Supprimez les valeurs aberrantes de la base de données comme dans le sujet précédent.
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | Nom | NomScientifique | Catégorie | Ordre | Famille | Genre | StatutConservation | LongueurMin | LongueurMax | MasseMin | MasseMax | EnvergureMin | EnvergureMax |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | -----------:| -----------:| --------:| --------:| ------------:| ------------:|
+| 0 | Dendrocygne à ventre noir | Dendrocygna autumnalis | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Dendrocygne fauve | Dendrocygna bicolor | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Oie des neiges | Anser caerulescens | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Oie de Ross | Anser rossii | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Oie rieuse | Anser albifrons | Canards/Oies/Oiseaux aquatiques | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+En général, vous pouvez rapidement observer la manière dont les données sont distribuées en utilisant un nuage de points, comme nous l'avons fait dans la leçon précédente :
+
+```r
+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.
+
+## Travailler avec des histogrammes
+
+`ggplot2` offre d'excellents moyens de visualiser la distribution des données à l'aide d'histogrammes. Ce type de graphique ressemble à un diagramme en barres où la distribution peut être observée à travers la montée et la descente des barres. Pour construire un histogramme, vous avez besoin de données numériques. Pour créer un histogramme, vous pouvez tracer un graphique en définissant le type comme 'hist' pour Histogramme. Ce graphique montre la distribution de la MasseCorporelleMax pour l'ensemble des données numériques du jeu de données. En divisant l'ensemble des données en plus petits intervalles, il peut afficher la distribution des valeurs des données :
+
+```r
+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 :
+
+```r
+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 :
+
+Filtrez vos données pour ne conserver que les oiseaux dont la masse corporelle est inférieure à 60, et affichez 30 `bins` :
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+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.
+
+L'histogramme offre également des améliorations intéressantes en termes de couleurs et d'étiquetage :
+
+Créez un histogramme 2D pour comparer la relation entre deux distributions. Comparons `MaxBodyMass` et `MaxLength`. `ggplot2` propose une méthode intégrée pour montrer la convergence à l'aide de couleurs plus vives :
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+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
+
+Ce jeu de données contient également de bonnes informations sur la catégorie des oiseaux, leur genre, leur espèce, leur famille ainsi que leur statut de conservation. Explorons ces informations de conservation. Quelle est la distribution des oiseaux selon leur statut de conservation ?
+
+> ✅ Dans le jeu de données, plusieurs acronymes sont utilisés pour décrire le statut de conservation. Ces acronymes proviennent des [Catégories de la Liste Rouge de l'UICN](https://www.iucnredlist.org/), une organisation qui catalogue le statut des espèces.
+>
+> - CR : En danger critique d'extinction
+> - EN : En danger
+> - EX : Éteint
+> - LC : Préoccupation mineure
+> - NT : Quasi menacé
+> - VU : Vulnérable
+
+Ces valeurs sont basées sur du texte, vous devrez donc effectuer une transformation pour créer un histogramme. En utilisant le dataframe filteredBirds, affichez son statut de conservation avec son EnvergureMin. Que remarquez-vous ?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ 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 ?
+
+## Graphiques de densité
+
+Vous avez peut-être remarqué que les histogrammes que nous avons examinés jusqu'à présent sont "en escalier" et ne s'écoulent pas de manière fluide en arc. Pour afficher un graphique de densité plus fluide, vous pouvez essayer un graphique de densité.
+
+Travaillons maintenant avec des graphiques de densité !
+
+```r
+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 :
+
+```r
+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` :
+
+```r
+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 !
+
+Ce type de graphique offre des visualisations magnifiquement explicatives. Avec quelques lignes de code, par exemple, vous pouvez montrer la densité de la masse corporelle maximale par ordre d'oiseaux :
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 Défi
+
+Les histogrammes sont un type de graphique plus sophistiqué que les nuages de points, les diagrammes en barres ou les graphiques linéaires de base. Faites une recherche sur Internet pour trouver de bons exemples d'utilisation des histogrammes. Comment sont-ils utilisés, que démontrent-ils, et dans quels domaines ou champs d'étude ont-ils tendance à être utilisés ?
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## Révision et auto-apprentissage
+
+Dans cette leçon, vous avez utilisé `ggplot2` et commencé à travailler sur des graphiques plus sophistiqués. Faites des recherches sur `geom_density_2d()`, une "courbe de densité de probabilité continue dans une ou plusieurs dimensions". Lisez [la documentation](https://ggplot2.tidyverse.org/reference/geom_density_2d.html) pour comprendre comment cela fonctionne.
+
+## Devoir
+
+[Appliquez vos compétences](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..d4917517
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# Mettez vos compétences en pratique
+
+## Instructions
+
+Jusqu'à présent, vous avez travaillé avec le jeu de données sur les oiseaux du Minnesota pour découvrir des informations sur les quantités d'oiseaux et la densité de population. Mettez en pratique vos compétences en appliquant ces techniques à un autre jeu de données, peut-être issu de [Kaggle](https://www.kaggle.com/). Créez un script R pour raconter une histoire à partir de ce jeu de données, et assurez-vous d'utiliser des histogrammes pour en discuter.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Un script est présenté avec des annotations sur ce jeu de données, y compris sa source, et utilise au moins 5 histogrammes pour découvrir des faits sur les données. | Un script est présenté avec des annotations incomplètes ou des erreurs. | Un script est présenté sans annotations et contient des erreurs.
+
+**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/fr/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md
new file mode 100644
index 00000000..ffa46c6a
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,196 @@
+
+# Visualiser les proportions
+
+| ](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|Visualiser les proportions - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Dans cette leçon, vous utiliserez un ensemble de données axé sur la nature pour visualiser des proportions, comme le nombre de types différents de champignons présents dans un ensemble de données sur les champignons. Explorons ces fascinants champignons à l'aide d'un ensemble de données provenant d'Audubon, qui répertorie des détails sur 23 espèces de champignons à lamelles des familles Agaricus et Lepiota. Vous expérimenterez des visualisations savoureuses telles que :
+
+- Des graphiques en secteurs 🥧
+- Des graphiques en anneaux 🍩
+- Des graphiques en gaufres 🧇
+
+> 💡 Un projet très intéressant appelé [Charticulator](https://charticulator.com) de Microsoft Research propose une interface gratuite de glisser-déposer pour les visualisations de données. Dans l'un de leurs tutoriels, ils utilisent également cet ensemble de données sur les champignons ! Vous pouvez donc explorer les données et apprendre à utiliser la bibliothèque en même temps : [Tutoriel Charticulator](https://charticulator.com/tutorials/tutorial4.html).
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## Faites connaissance avec vos champignons 🍄
+
+Les champignons sont très intéressants. Importons un ensemble de données pour les étudier :
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+Un tableau est affiché avec des données intéressantes pour l'analyse :
+
+| classe | forme-chapeau | surface-chapeau | couleur-chapeau | meurtrissures | odeur | attache-lamelle | espacement-lamelle | taille-lamelle | couleur-lamelle | forme-pied | racine-pied | surface-pied-au-dessus-anneau | surface-pied-en-dessous-anneau | couleur-pied-au-dessus-anneau | couleur-pied-en-dessous-anneau | type-voile | couleur-voile | nombre-anneaux | type-anneau | couleur-spores | population | habitat |
+| --------- | ------------- | ---------------- | --------------- | ------------- | -------- | ---------------- | ------------------ | -------------- | --------------- | ---------- | ----------- | --------------------------- | --------------------------- | --------------------------- | --------------------------- | --------- | ------------ | -------------- | ---------- | -------------- | ---------- | ------- |
+| Toxique | Convexe | Lisse | Marron | Meurtri | Piquant | Libre | Serré | Étroit | Noir | Élargi | Égal | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Noir | Dispersé | Urbain |
+| Comestible| Convexe | Lisse | Jaune | Meurtri | Amande | Libre | Serré | Large | Noir | Élargi | Massue | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Marron | Nombreux | Herbes |
+| Comestible| Cloché | Lisse | Blanc | Meurtri | Anis | Libre | Serré | Large | Marron | Élargi | Massue | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Marron | Nombreux | Prairies|
+| Toxique | Convexe | Écailleux | Blanc | Meurtri | Piquant | Libre | Serré | Étroit | Marron | Élargi | Égal | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Noir | Dispersé | Urbain |
+| Comestible| Convexe | Lisse | Vert | Pas meurtri | Aucun | Libre | Serré | Large | Noir | Effilé | Égal | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Évanescent | Marron | Abondant | Herbes |
+| Comestible| Convexe | Écailleux | Jaune | Meurtri | Amande | Libre | Serré | Large | Marron | Élargi | Massue | Lisse | Lisse | Blanc | Blanc | Partiel | Blanc | Un | Pendant | Noir | Nombreux | Herbes |
+
+Vous remarquez immédiatement que toutes les données sont textuelles. Vous devrez convertir ces données pour pouvoir les utiliser dans un graphique. La plupart des données sont en fait représentées comme un objet :
+
+```r
+names(mushrooms)
+```
+
+Le résultat est :
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+Prenez ces données et convertissez la colonne 'classe' en catégorie :
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+Maintenant, si vous affichez les données des champignons, vous pouvez voir qu'elles ont été regroupées en catégories selon la classe toxique/comestible :
+```r
+View(grouped)
+```
+
+| classe | nombre |
+| --------- | --------- |
+| Comestible | 4208 |
+| Toxique | 3916 |
+
+Si vous suivez l'ordre présenté dans ce tableau pour créer vos étiquettes de catégorie de classe, vous pouvez construire un graphique en secteurs.
+
+## Secteurs !
+
+```r
+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 !
+
+Un graphique en anneau, un peu plus visuellement intéressant, est un graphique en secteurs avec un trou au milieu. Regardons nos données avec cette méthode.
+
+Examinez les différents habitats où poussent les champignons :
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+Le résultat est :
+| habitat | nombre |
+| --------- | --------- |
+| Herbes | 2148 |
+| Feuilles | 832 |
+| Prairies | 292 |
+| Sentiers | 1144 |
+| Urbain | 368 |
+| Déchets | 192 |
+| Bois | 3148 |
+
+Ici, vous regroupez vos données par habitat. Il y en a 7 répertoriés, alors utilisez-les comme étiquettes pour votre graphique en anneau :
+
+```r
+library(ggplot2)
+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 !
+
+Les graphiques en anneau dans R peuvent également être réalisés uniquement avec la bibliothèque ggplot2. Vous pouvez en apprendre davantage à ce sujet [ici](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html) et l'essayer vous-même.
+
+Maintenant que vous savez comment regrouper vos données et les afficher sous forme de graphique en secteurs ou en anneau, vous pouvez explorer d'autres types de graphiques. Essayez un graphique en gaufres, qui est simplement une autre façon d'explorer les quantités.
+
+## Gaufres !
+
+Un graphique de type 'gaufre' est une autre manière de visualiser les quantités sous forme de tableau 2D de carrés. Essayez de visualiser les différentes quantités de couleurs de chapeau de champignon dans cet ensemble de données. Pour ce faire, vous devez installer une bibliothèque d'assistance appelée [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf) et l'utiliser pour générer votre visualisation :
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+Sélectionnez un segment de vos données à regrouper :
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+Créez un graphique en gaufres en créant des étiquettes, puis en regroupant vos données :
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+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.
+
+## 🚀 Défi
+
+Essayez de recréer ces graphiques savoureux dans [Charticulator](https://charticulator.com).
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## Révision et auto-apprentissage
+
+Parfois, il n'est pas évident de savoir quand utiliser un graphique en secteurs, en anneau ou en gaufres. Voici quelques articles à lire sur ce sujet :
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+Faites des recherches pour trouver plus d'informations sur cette décision délicate.
+
+## Devoir
+
+[Essayez-le dans Excel](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md
new file mode 100644
index 00000000..60d24cce
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,175 @@
+
+# Visualiser les relations : Tout sur le miel 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|Visualiser les relations - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+En poursuivant notre recherche axée sur la nature, découvrons des visualisations intéressantes pour montrer les relations entre différents types de miel, selon un ensemble de données provenant du [Département de l'Agriculture des États-Unis](https://www.nass.usda.gov/About_NASS/index.php).
+
+Cet ensemble de données, qui contient environ 600 éléments, montre la production de miel dans de nombreux États américains. Par exemple, vous pouvez examiner le nombre de colonies, le rendement par colonie, la production totale, les stocks, le prix par livre et la valeur du miel produit dans un État donné de 1998 à 2012, avec une ligne par année pour chaque État.
+
+Il sera intéressant de visualiser la relation entre la production annuelle d'un État donné et, par exemple, le prix du miel dans cet État. Alternativement, vous pourriez visualiser la relation entre les rendements de miel par colonie dans différents États. Cette période couvre l'apparition dévastatrice du 'CCD' ou 'Colony Collapse Disorder' observée pour la première fois en 2006 (http://npic.orst.edu/envir/ccd.html), ce qui en fait un ensemble de données poignant à étudier. 🐝
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+Dans cette leçon, vous pouvez utiliser ggplot2, que vous avez déjà utilisé, comme une excellente bibliothèque pour visualiser les relations entre les variables. Particulièrement intéressant est l'utilisation des fonctions `geom_point` et `qplot` de ggplot2, qui permettent de créer rapidement des graphiques de dispersion et des graphiques linéaires pour visualiser les '[relations statistiques](https://ggplot2.tidyverse.org/)', ce qui permet au data scientist de mieux comprendre comment les variables sont liées entre elles.
+
+## Graphiques de dispersion
+
+Utilisez un graphique de dispersion pour montrer comment le prix du miel a évolué, année après année, par État. ggplot2, en utilisant `ggplot` et `geom_point`, regroupe commodément les données des États et affiche des points de données pour les données catégoriques et numériques.
+
+Commençons par importer les données et Seaborn :
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+Vous remarquez que les données sur le miel contiennent plusieurs colonnes intéressantes, notamment l'année et le prix par livre. Explorons ces données, regroupées par État américain :
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 |22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+Créez un graphique de dispersion de base pour montrer la relation entre le prix par livre de miel et son État d'origine aux États-Unis. Faites en sorte que l'axe `y` soit suffisamment grand pour afficher tous les États :
+
+```r
+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 :
+
+> ✅ En savoir plus sur le [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn) - essayez un magnifique schéma de couleurs arc-en-ciel !
+
+```r
+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 :
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+Une autre façon de visualiser cette progression est d'utiliser la taille, plutôt que la couleur. Pour les utilisateurs daltoniens, cela pourrait être une meilleure option. Modifiez votre visualisation pour montrer une augmentation du prix par une augmentation de la circonférence des points :
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+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 ?
+
+Pour découvrir une corrélation entre certaines des variables de cet ensemble de données, explorons quelques graphiques linéaires.
+
+## Graphiques linéaires
+
+Question : Y a-t-il une augmentation claire du prix du miel par livre année après année ? Vous pouvez le découvrir facilement en créant un graphique linéaire unique :
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+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 ?
+
+```python
+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.
+
+Question : Dans ce cas, qu'est-ce qui aurait pu provoquer ce pic du prix du miel autour de 2003 ?
+
+Pour le découvrir, vous pouvez explorer une grille de facettes.
+
+## Grilles de facettes
+
+Les grilles de facettes prennent une facette de votre ensemble de données (dans notre cas, vous pouvez choisir 'année' pour éviter d'avoir trop de facettes produites). Seaborn peut ensuite créer un graphique pour chacune de ces facettes de vos coordonnées `x` et `y` choisies pour une comparaison visuelle plus facile. L'année 2003 se distingue-t-elle dans ce type de comparaison ?
+
+Créez une grille de facettes en utilisant `facet_wrap` comme recommandé par la [documentation de ggplot2](https://ggplot2.tidyverse.org/reference/facet_wrap.html).
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+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 ?
+
+## Graphiques à double ligne
+
+Essayez un graphique à lignes multiples en superposant deux graphiques linéaires l'un sur l'autre, en utilisant les fonctions `par` et `plot` de R. Nous tracerons l'année sur l'axe x et afficherons deux axes y. Ainsi, affichez le rendement par colonie et le nombre de colonies, superposés :
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+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.
+
+Allez, les abeilles, allez !
+
+🐝❤️
+## 🚀 Défi
+
+Dans cette leçon, vous avez appris un peu plus sur d'autres utilisations des graphiques de dispersion et des grilles linéaires, y compris les grilles de facettes. Lancez-vous le défi de créer une grille de facettes en utilisant un ensemble de données différent, peut-être un que vous avez utilisé avant ces leçons. Notez combien de temps elles prennent à créer et comment vous devez faire attention au nombre de grilles que vous devez dessiner en utilisant ces techniques.
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## Révision & Auto-apprentissage
+
+Les graphiques linéaires peuvent être simples ou assez complexes. Faites un peu de lecture dans la [documentation de ggplot2](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together) sur les différentes façons dont vous pouvez les construire. Essayez d'améliorer les graphiques linéaires que vous avez créés dans cette leçon avec d'autres méthodes listées dans la documentation.
+## Devoir
+
+[Plongez dans la ruche](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
new file mode 100644
index 00000000..5a3fb490
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# Créer des Visualisations Significatives
+
+| ](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| Visualisations Significatives - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+> "Si vous torturez les données suffisamment longtemps, elles avoueront n'importe quoi" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+Une des compétences fondamentales d'un data scientist est la capacité à créer une visualisation de données significative qui aide à répondre aux questions que vous pourriez avoir. Avant de visualiser vos données, vous devez vous assurer qu'elles ont été nettoyées et préparées, comme vous l'avez fait dans les leçons précédentes. Ensuite, vous pouvez commencer à décider de la meilleure façon de présenter les données.
+
+Dans cette leçon, vous allez revoir :
+
+1. Comment choisir le bon type de graphique
+2. Comment éviter les graphiques trompeurs
+3. Comment travailler avec les couleurs
+4. Comment styliser vos graphiques pour une meilleure lisibilité
+5. Comment créer des solutions de graphiques animés ou en 3D
+6. Comment concevoir une visualisation créative
+
+## [Quiz Pré-Conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## Choisir le bon type de graphique
+
+Dans les leçons précédentes, vous avez expérimenté la création de toutes sortes de visualisations de données intéressantes en utilisant Matplotlib et Seaborn. En général, vous pouvez sélectionner le [bon type de graphique](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/) pour répondre à votre question en utilisant ce tableau :
+
+| Vous devez : | Vous devriez utiliser : |
+| -------------------------- | ------------------------------- |
+| Montrer des tendances dans le temps | Ligne |
+| Comparer des catégories | Barres, Camembert |
+| Comparer des totaux | Camembert, Barres empilées |
+| Montrer des relations | Nuage de points, Ligne, Facette, Double ligne |
+| Montrer des distributions | Nuage de points, Histogramme, Boîte |
+| Montrer des proportions | Camembert, Donut, Gaufre |
+
+> ✅ Selon la composition de vos données, vous pourriez avoir besoin de les convertir de texte en numérique pour qu'un graphique donné puisse les prendre en charge.
+
+## Éviter la tromperie
+
+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")
+
+> 🎥 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.
+
+Il est important de comprendre à quel point l'œil peut être facilement trompé par des graphiques trompeurs. Même si l'intention du data scientist est bonne, le choix d'un mauvais type de graphique, comme un camembert montrant trop de catégories, peut être trompeur.
+
+## Couleur
+
+Vous avez vu dans le graphique sur la 'violence armée en Floride' ci-dessus comment la couleur peut ajouter une couche supplémentaire de signification aux graphiques, en particulier ceux qui ne sont pas conçus avec des bibliothèques comme ggplot2 et RColorBrewer, qui proposent diverses bibliothèques et palettes de couleurs validées. Si vous créez un graphique manuellement, prenez le temps d'étudier un peu la [théorie des couleurs](https://colormatters.com/color-and-design/basic-color-theory).
+
+> ✅ Soyez conscient, lors de la conception de graphiques, que l'accessibilité est un aspect important de la visualisation. Certains de vos utilisateurs pourraient être daltoniens - votre graphique est-il lisible pour les utilisateurs ayant des déficiences visuelles ?
+
+Faites attention en choisissant les couleurs pour votre graphique, car elles peuvent transmettre un sens que vous ne souhaitez pas. Les 'dames en rose' dans le graphique sur la 'taille' ci-dessus transmettent une signification distinctement 'féminine' qui ajoute à l'étrangeté du graphique lui-même.
+
+Bien que [la signification des couleurs](https://colormatters.com/color-symbolism/the-meanings-of-colors) puisse varier selon les régions du monde et changer en fonction de leur nuance, en général, les significations des couleurs incluent :
+
+| Couleur | Signification |
+| ------- | --------------------- |
+| rouge | pouvoir |
+| bleu | confiance, loyauté |
+| jaune | bonheur, prudence |
+| vert | écologie, chance, envie |
+| violet | bonheur |
+| orange | dynamisme |
+
+Si vous devez créer un graphique avec des couleurs personnalisées, assurez-vous que vos graphiques sont à la fois accessibles et que la couleur choisie correspond au message que vous souhaitez transmettre.
+
+## Styliser vos graphiques pour une meilleure lisibilité
+
+Les graphiques ne sont pas significatifs s'ils ne sont pas lisibles ! Prenez un moment pour réfléchir à la mise à l'échelle de la largeur et de la hauteur de votre graphique en fonction de vos données. Si une variable (comme les 50 États) doit être affichée, montrez-les verticalement sur l'axe Y si possible, afin d'éviter un graphique défilant horizontalement.
+
+Étiquetez vos axes, fournissez une légende si nécessaire, et proposez des infobulles pour une meilleure compréhension des données.
+
+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
+
+Bien que cette leçon ne soit pas suffisante pour enseigner en profondeur ces bibliothèques de visualisation puissantes, essayez D3 dans une application Vue.js en utilisant une bibliothèque pour afficher une visualisation du livre "Les Liaisons Dangereuses" comme un réseau social animé.
+
+> "Les Liaisons Dangereuses" est un roman épistolaire, ou un roman présenté comme une série de lettres. Écrit en 1782 par Choderlos de Laclos, il raconte les manœuvres sociales vicieuses et moralement corrompues de deux protagonistes rivaux de l'aristocratie française du XVIIIe siècle, le Vicomte de Valmont et la Marquise de Merteuil. Tous deux rencontrent leur perte à la fin, mais pas sans causer de nombreux dégâts sociaux. Le roman se déroule comme une série de lettres écrites à diverses personnes de leur cercle, complotant pour se venger ou simplement pour semer le trouble. Créez une visualisation de ces lettres pour découvrir les principaux acteurs de la narration, visuellement.
+
+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
+
+> Ce dossier de leçon inclut un dossier `solution` où vous pouvez trouver le projet complété, pour référence.
+
+1. Suivez les instructions dans le fichier README.md à la racine du dossier de démarrage. Assurez-vous que NPM et Node.js fonctionnent sur votre machine avant d'installer les dépendances de votre projet.
+
+2. Ouvrez le dossier `starter/src`. Vous y trouverez un dossier `assets` contenant un fichier .json avec toutes les lettres du roman, numérotées, avec une annotation 'to' et 'from'.
+
+3. Complétez le code dans `components/Nodes.vue` pour activer la visualisation. Recherchez la méthode appelée `createLinks()` et ajoutez la boucle imbriquée suivante.
+
+Parcourez l'objet .json pour capturer les données 'to' et 'from' des lettres et construisez l'objet `links` afin que la bibliothèque de visualisation puisse l'utiliser :
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+Exécutez votre application depuis le terminal (npm run serve) et profitez de la visualisation !
+
+## 🚀 Défi
+
+Faites un tour sur Internet pour découvrir des visualisations trompeuses. Comment l'auteur trompe-t-il l'utilisateur, et est-ce intentionnel ? Essayez de corriger les visualisations pour montrer à quoi elles devraient ressembler.
+
+## [Quiz Post-Conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## Révision & Auto-Étude
+
+Voici quelques articles à lire sur les visualisations de données trompeuses :
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+Découvrez ces visualisations intéressantes pour des actifs et artefacts historiques :
+
+https://handbook.pubpub.org/
+
+Lisez cet article sur la façon dont l'animation peut améliorer vos visualisations :
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## Devoir
+
+[Créez votre propre visualisation personnalisée](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/3-Data-Visualization/README.md b/translations/fr/3-Data-Visualization/README.md
new file mode 100644
index 00000000..27cc6291
--- /dev/null
+++ b/translations/fr/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# 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.
+
+Dans ces cinq leçons, vous explorerez des données provenant de la nature et créerez des visualisations intéressantes et esthétiques en utilisant diverses techniques.
+
+| Numéro du sujet | Sujet | Leçon liée | Auteur |
+| :--------------: | :---: | :--------: | :----: |
+| 1. | Visualiser des quantités | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | Visualiser des distributions | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | Visualiser des proportions | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | Visualiser des relations | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | Créer des visualisations significatives | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### Crédits
+
+Ces leçons sur les visualisations ont été écrites avec 🌸 par [Jen Looper](https://twitter.com/jenlooper), [Jasleen Sondhi](https://github.com/jasleen101010) et [Vidushi Gupta](https://github.com/Vidushi-Gupta).
+
+🍯 Les données sur la production de miel aux États-Unis proviennent du projet de Jessica Li sur [Kaggle](https://www.kaggle.com/jessicali9530/honey-production). Les [données](https://usda.library.cornell.edu/concern/publications/rn301137d) sont issues du [Département de l'Agriculture des États-Unis](https://www.nass.usda.gov/About_NASS/index.php).
+
+🍄 Les données sur les champignons proviennent également de [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset), révisées par Hatteras Dunton. Ce jeu de données inclut des descriptions d'échantillons hypothétiques correspondant à 23 espèces de champignons à lamelles de la famille Agaricus et Lepiota. Les champignons sont tirés du guide "The Audubon Society Field Guide to North American Mushrooms" (1981). Ce jeu de données a été donné à UCI ML 27 en 1987.
+
+🦆 Les données sur les oiseaux du Minnesota proviennent de [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds), extraites de [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) par Hannah Collins.
+
+Tous ces jeux de données sont sous licence [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/).
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction professionnelle humaine. 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/fr/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..8e21fc09
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,121 @@
+
+# Introduction au cycle de vie de la science des données
+
+| ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| Introduction au cycle de vie de la science des données - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## [Quiz avant le cours](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+À ce stade, vous avez probablement réalisé que la science des données est un processus. Ce processus peut être divisé en 5 étapes :
+
+- Capture
+- Traitement
+- Analyse
+- Communication
+- Maintenance
+
+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
+
+La première étape du cycle de vie est très importante, car les étapes suivantes en dépendent. Elle combine pratiquement deux étapes en une : l'acquisition des données et la définition de l'objectif et des problèmes à résoudre.
+Définir les objectifs du projet nécessitera une compréhension approfondie du problème ou de la question. Tout d'abord, nous devons identifier et engager les personnes ayant besoin d'une solution à leur problème. Il peut s'agir de parties prenantes dans une entreprise ou de sponsors du projet, qui peuvent aider à identifier qui ou quoi bénéficiera de ce projet, ainsi que ce dont ils ont besoin et pourquoi. Un objectif bien défini doit être mesurable et quantifiable pour déterminer un résultat acceptable.
+
+Questions qu'un data scientist pourrait poser :
+- Ce problème a-t-il déjà été abordé auparavant ? Qu'a-t-on découvert ?
+- L'objectif et le but sont-ils compris par toutes les parties impliquées ?
+- Y a-t-il des ambiguïtés et comment les réduire ?
+- Quelles sont les contraintes ?
+- À quoi pourrait ressembler le résultat final ?
+- Quelles ressources (temps, personnes, capacités de calcul) sont disponibles ?
+
+Ensuite, il s'agit d'identifier, de collecter, puis d'explorer les données nécessaires pour atteindre ces objectifs définis. À cette étape d'acquisition, les data scientists doivent également évaluer la quantité et la qualité des données. Cela nécessite une exploration des données pour confirmer que ce qui a été acquis permettra d'atteindre le résultat souhaité.
+
+Questions qu'un data scientist pourrait poser sur les données :
+- Quelles données sont déjà disponibles ?
+- Qui possède ces données ?
+- Quelles sont les préoccupations en matière de confidentialité ?
+- Ai-je suffisamment de données pour résoudre ce problème ?
+- Les données sont-elles de qualité acceptable pour ce problème ?
+- Si je découvre des informations supplémentaires grâce à ces données, devrions-nous envisager de modifier ou redéfinir les objectifs ?
+
+## Traitement
+
+L'étape de traitement du cycle de vie se concentre sur la découverte de motifs dans les données ainsi que sur la modélisation. Certaines techniques utilisées à cette étape nécessitent des méthodes statistiques pour révéler les motifs. Typiquement, cette tâche serait fastidieuse pour un humain avec un grand ensemble de données et repose donc sur des ordinateurs pour accélérer le processus. Cette étape est également le point où la science des données et l'apprentissage automatique se croisent. Comme vous l'avez appris dans la première leçon, l'apprentissage automatique consiste à construire des modèles pour comprendre les données. Les modèles représentent les relations entre les variables des données et aident à prédire des résultats.
+
+Les techniques courantes utilisées à cette étape sont couvertes dans le programme ML for Beginners. Suivez les liens pour en savoir plus :
+
+- [Classification](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification) : Organiser les données en catégories pour une utilisation plus efficace.
+- [Clustering](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering) : Regrouper les données en groupes similaires.
+- [Régression](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression) : Déterminer les relations entre les variables pour prédire ou prévoir des valeurs.
+
+## Maintenance
+
+Dans le diagramme du cycle de vie, vous avez peut-être remarqué que la maintenance se situe entre la capture et le traitement. La maintenance est un processus continu de gestion, de stockage et de sécurisation des données tout au long du projet et doit être prise en compte pendant toute la durée du projet.
+
+### Stockage des données
+
+Les choix concernant la manière et l'endroit où les données sont stockées peuvent influencer le coût de leur stockage ainsi que les performances d'accès aux données. Ces décisions ne sont pas toujours prises uniquement par un data scientist, mais celui-ci peut être amené à faire des choix sur la manière de travailler avec les données en fonction de leur stockage.
+
+Voici quelques aspects des systèmes modernes de stockage des données qui peuvent influencer ces choix :
+
+**Sur site vs hors site vs cloud public ou privé**
+
+Le stockage sur site fait référence à la gestion des données sur votre propre équipement, comme posséder un serveur avec des disques durs pour stocker les données, tandis que le stockage hors site repose sur des équipements que vous ne possédez pas, comme un centre de données. Le cloud public est un choix populaire pour le stockage des données, ne nécessitant aucune connaissance sur la manière ou l'endroit où les données sont stockées. Le terme "public" fait référence à une infrastructure sous-jacente unifiée partagée par tous les utilisateurs du cloud. Certaines organisations ayant des politiques de sécurité strictes préfèrent un cloud privé offrant ses propres services cloud. Vous en apprendrez davantage sur les données dans le cloud dans les [leçons ultérieures](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud).
+
+**Données froides vs données chaudes**
+
+Lors de l'entraînement de vos modèles, vous pourriez avoir besoin de plus de données d'entraînement. Si vous êtes satisfait de votre modèle, de nouvelles données arriveront pour que le modèle remplisse son objectif. Dans tous les cas, le coût de stockage et d'accès aux données augmentera à mesure que vous en accumulez davantage. Séparer les données rarement utilisées, appelées données froides, des données fréquemment consultées, appelées données chaudes, peut être une option de stockage moins coûteuse grâce à des services matériels ou logiciels. Si les données froides doivent être consultées, leur récupération peut prendre un peu plus de temps par rapport aux données chaudes.
+
+### Gestion des données
+
+En travaillant avec les données, vous pourriez découvrir que certaines d'entre elles doivent être nettoyées à l'aide de techniques abordées dans la leçon sur la [préparation des données](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation) pour construire des modèles précis. Lorsque de nouvelles données arrivent, elles nécessiteront les mêmes applications pour maintenir une qualité cohérente. Certains projets impliquent l'utilisation d'un outil automatisé pour le nettoyage, l'agrégation et la compression avant que les données ne soient déplacées vers leur emplacement final. Azure Data Factory est un exemple de ces outils.
+
+### Sécurisation des données
+
+L'un des principaux objectifs de la sécurisation des données est de s'assurer que ceux qui les manipulent contrôlent ce qui est collecté et dans quel contexte elles sont utilisées. Garder les données sécurisées implique de limiter l'accès uniquement à ceux qui en ont besoin, de respecter les lois et réglementations locales, ainsi que de maintenir des normes éthiques, comme abordé dans la [leçon sur l'éthique](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics).
+
+Voici quelques actions qu'une équipe peut entreprendre en gardant la sécurité à l'esprit :
+- Confirmer que toutes les données sont chiffrées
+- Fournir aux clients des informations sur l'utilisation de leurs données
+- Retirer l'accès aux données pour les personnes ayant quitté le projet
+- Permettre uniquement à certains membres du projet de modifier les données
+
+## 🚀 Défi
+
+Il existe de nombreuses versions du cycle de vie de la science des données, où chaque étape peut avoir des noms différents et un nombre de phases varié, mais elles contiennent les mêmes processus mentionnés dans cette leçon.
+
+Explorez le [cycle de vie du processus de science des données en équipe](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle) et le [processus standard intersectoriel pour l'exploration de données](https://www.datascience-pm.com/crisp-dm-2/). Nommez 3 similitudes et différences entre les deux.
+
+|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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## Révision et auto-apprentissage
+
+Appliquer le cycle de vie de la science des données implique plusieurs rôles et tâches, où certains peuvent se concentrer sur des parties spécifiques de chaque étape. Le processus de science des données en équipe fournit quelques ressources expliquant les types de rôles et de tâches que quelqu'un peut avoir dans un projet.
+
+* [Rôles et tâches dans le processus de science des données en équipe](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [Exécuter des tâches de science des données : exploration, modélisation et déploiement](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## Devoir
+
+[Évaluation d'un ensemble de données](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne sommes pas responsables des malentendus ou des interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..688c9498
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,35 @@
+
+# Évaluation d'un ensemble de données
+
+Un client a sollicité votre équipe pour l'aider à analyser les habitudes de dépenses saisonnières des clients de taxis à New York.
+
+Il souhaite savoir : **Les passagers des taxis jaunes à New York donnent-ils plus de pourboires aux chauffeurs en hiver ou en été ?**
+
+Votre équipe est dans la phase [Capture](Readme.md#Capturing) du cycle de vie de la science des données, et vous êtes chargé de gérer l'ensemble de données. On vous a fourni un notebook et des [données](../../../../data/taxi.csv) à explorer.
+
+Dans ce répertoire, vous trouverez un [notebook](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb) qui utilise Python pour charger les données des trajets des taxis jaunes provenant de la [NYC Taxi & Limousine Commission](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets).
+Vous pouvez également ouvrir le fichier de données des taxis dans un éditeur de texte ou un logiciel de tableur comme Excel.
+
+## Instructions
+
+- Évaluez si les données de cet ensemble peuvent répondre à la question posée.
+- Explorez le [catalogue de données ouvertes de NYC](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93). Identifiez un ensemble de données supplémentaire qui pourrait être utile pour répondre à la question du client.
+- Rédigez 3 questions que vous poseriez au client pour obtenir des clarifications et mieux comprendre le problème.
+
+Consultez le [dictionnaire de l'ensemble de données](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf) et le [guide utilisateur](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf) pour plus d'informations sur les données.
+
+## Barème
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction professionnelle humaine. 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/fr/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/fr/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..cfda9293
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,58 @@
+
+# Le Cycle de Vie de la Science des Données : Analyse
+
+| ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| Cycle de Vie de la Science des Données : Analyse - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## Quiz Préliminaire
+
+## [Quiz Préliminaire](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+L'analyse dans le cycle de vie des données confirme que les données peuvent répondre aux questions posées ou résoudre un problème particulier. Cette étape peut également se concentrer sur la vérification qu'un modèle répond correctement à ces questions et problèmes. Cette leçon est axée sur l'Analyse Exploratoire des Données (ou EDA), qui regroupe des techniques permettant de définir les caractéristiques et les relations au sein des données, et qui peuvent être utilisées pour préparer les données à la modélisation.
+
+Nous utiliserons un jeu de données d'exemple provenant de [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) pour montrer comment cela peut être appliqué avec Python et la bibliothèque Pandas. Ce jeu de données contient un décompte de certains mots courants trouvés dans des e-mails, les sources de ces e-mails étant anonymes. Utilisez le [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) dans ce répertoire pour suivre.
+
+## Analyse Exploratoire des Données
+
+La phase de capture du cycle de vie est celle où les données sont acquises ainsi que les problèmes et questions à traiter, mais comment savoir si les données peuvent aider à atteindre le résultat final ?
+Rappelez-vous qu'un data scientist peut poser les questions suivantes lorsqu'il acquiert les données :
+- Ai-je suffisamment de données pour résoudre ce problème ?
+- Les données sont-elles de qualité acceptable pour ce problème ?
+- Si je découvre des informations supplémentaires grâce à ces données, devrions-nous envisager de modifier ou redéfinir les objectifs ?
+L'Analyse Exploratoire des Données est le processus qui permet de mieux connaître ces données et peut être utilisée pour répondre à ces questions, ainsi que pour identifier les défis liés à l'utilisation du jeu de données. Concentrons-nous sur certaines des techniques utilisées pour y parvenir.
+
+## Profilage des Données, Statistiques Descriptives et Pandas
+Comment évaluer si nous avons suffisamment de données pour résoudre ce problème ? Le profilage des données peut résumer et recueillir des informations générales sur notre jeu de données grâce à des techniques de statistiques descriptives. Le profilage des données nous aide à comprendre ce qui est disponible, et les statistiques descriptives nous aident à comprendre combien de choses sont disponibles.
+
+Dans quelques leçons précédentes, nous avons utilisé Pandas pour fournir des statistiques descriptives avec la [`fonction describe()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html). Elle fournit le décompte, les valeurs maximales et minimales, la moyenne, l'écart type et les quantiles sur les données numériques. Utiliser des statistiques descriptives comme la fonction `describe()` peut vous aider à évaluer ce que vous avez et si vous avez besoin de plus.
+
+## Échantillonnage et Interrogation
+Explorer tout un grand jeu de données peut être très chronophage et est généralement une tâche laissée à un ordinateur. Cependant, l'échantillonnage est un outil utile pour comprendre les données et permet d'avoir une meilleure idée de ce que contient le jeu de données et de ce qu'il représente. Avec un échantillon, vous pouvez appliquer des probabilités et des statistiques pour tirer des conclusions générales sur vos données. Bien qu'il n'existe pas de règle définie sur la quantité de données à échantillonner, il est important de noter que plus vous échantillonnez de données, plus la généralisation que vous pouvez faire sera précise.
+Pandas dispose de la [`fonction sample()` dans sa bibliothèque](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html) où vous pouvez passer un argument pour indiquer combien d'échantillons aléatoires vous souhaitez recevoir et utiliser.
+
+L'interrogation générale des données peut vous aider à répondre à certaines questions et théories générales que vous pourriez avoir. Contrairement à l'échantillonnage, les requêtes vous permettent de contrôler et de vous concentrer sur des parties spécifiques des données sur lesquelles vous avez des questions.
+La [`fonction query()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) dans la bibliothèque Pandas vous permet de sélectionner des colonnes et d'obtenir des réponses simples sur les données à travers les lignes récupérées.
+
+## Exploration avec des Visualisations
+Vous n'avez pas besoin d'attendre que les données soient complètement nettoyées et analysées pour commencer à créer des visualisations. En fait, avoir une représentation visuelle pendant l'exploration peut aider à identifier des motifs, des relations et des problèmes dans les données. De plus, les visualisations offrent un moyen de communication avec ceux qui ne sont pas impliqués dans la gestion des données et peuvent être une opportunité de partager et clarifier des questions supplémentaires qui n'ont pas été abordées lors de la phase de capture. Consultez la [section sur les Visualisations](../../../../../../../../../3-Data-Visualization) pour en savoir plus sur certaines façons populaires d'explorer visuellement.
+
+## Exploration pour Identifier les Incohérences
+Tous les sujets de cette leçon peuvent aider à identifier les valeurs manquantes ou incohérentes, mais Pandas fournit des fonctions pour vérifier certaines d'entre elles. [isna() ou isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) peuvent vérifier les valeurs manquantes. Un aspect important de l'exploration de ces valeurs dans vos données est d'explorer pourquoi elles se sont retrouvées ainsi en premier lieu. Cela peut vous aider à décider quelles [actions entreprendre pour les résoudre](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb).
+
+## [Quiz Préliminaire](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## Devoir
+
+[Explorer pour des réponses](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/fr/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..129af41f
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,34 @@
+
+# Exploration des réponses
+
+Ceci est une continuation de [l'exercice](../14-Introduction/assignment.md) de la leçon précédente, où nous avons brièvement examiné l'ensemble de données. Maintenant, nous allons examiner les données de manière plus approfondie.
+
+Encore une fois, la question que le client souhaite résoudre est la suivante : **Les passagers des taxis jaunes à New York donnent-ils plus de pourboires aux chauffeurs en hiver ou en été ?**
+
+Votre équipe se trouve dans la phase [Analyse](README.md) du cycle de vie de la science des données, où vous êtes chargé de réaliser une analyse exploratoire des données sur l'ensemble fourni. Vous disposez d'un notebook et d'un ensemble de données contenant 200 transactions de taxis datant de janvier et juillet 2019.
+
+## Instructions
+
+Dans ce répertoire, vous trouverez un [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb) et des données provenant de la [Taxi & Limousine Commission](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets). Consultez le [dictionnaire de l'ensemble de données](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf) et le [guide utilisateur](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf) pour plus d'informations sur les données.
+
+Utilisez certaines des techniques abordées dans cette leçon pour effectuer votre propre analyse exploratoire des données dans le notebook (ajoutez des cellules si nécessaire) et répondez aux questions suivantes :
+
+- Quels autres facteurs dans les données pourraient influencer le montant des pourboires ?
+- Quelles colonnes seront probablement inutiles pour répondre à la question du client ?
+- D'après les informations fournies jusqu'à présent, les données semblent-elles indiquer un comportement saisonnier en matière de pourboires ?
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | ---
+
+**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 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.
\ No newline at end of file
diff --git a/translations/fr/4-Data-Science-Lifecycle/16-communication/README.md b/translations/fr/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..a664cf55
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,220 @@
+
+# Le cycle de vie de la science des données : Communication
+
+|](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| Cycle de vie de la science des données : Communication - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+Testez vos connaissances sur ce qui vous attend avec le quiz avant le cours ci-dessus !
+
+# Introduction
+
+### Qu'est-ce que la communication ?
+Commençons cette leçon en définissant ce que signifie communiquer. **Communiquer, c'est transmettre ou échanger des informations.** Les informations peuvent être des idées, des pensées, des sentiments, des messages, des signaux discrets, des données – tout ce qu’un **_émetteur_** (celui qui envoie l’information) veut qu’un **_récepteur_** (celui qui reçoit l’information) comprenne. Dans cette leçon, nous désignerons les émetteurs comme des communicateurs et les récepteurs comme le public.
+
+### Communication des données et narration
+Nous comprenons que lorsque nous communiquons, l’objectif est de transmettre ou d’échanger des informations. Mais lorsque vous communiquez des données, votre objectif ne devrait pas se limiter à transmettre des chiffres à votre public. Votre objectif devrait être de raconter une histoire éclairée par vos données – une communication efficace des données et une narration vont de pair. Votre public est plus susceptible de se souvenir d’une histoire que vous racontez plutôt que d’un chiffre que vous donnez. Plus tard dans cette leçon, nous examinerons quelques façons d’utiliser la narration pour communiquer vos données plus efficacement.
+
+### Types de communication
+Tout au long de cette leçon, deux types de communication différents seront abordés : la communication unidirectionnelle et la communication bidirectionnelle.
+
+**La communication unidirectionnelle** se produit lorsqu’un émetteur envoie des informations à un récepteur, sans aucun retour ou réponse. Nous voyons des exemples de communication unidirectionnelle tous les jours – dans les e-mails de masse, lorsque les actualités diffusent les dernières informations, ou même lorsqu’une publicité télévisée explique pourquoi leur produit est génial. Dans chacun de ces cas, l’émetteur ne cherche pas à échanger des informations. Il cherche uniquement à transmettre ou à livrer des informations.
+
+**La communication bidirectionnelle** se produit lorsque toutes les parties impliquées agissent à la fois comme émetteurs et récepteurs. Un émetteur commence par communiquer avec un récepteur, et le récepteur fournit un retour ou une réponse. La communication bidirectionnelle est ce que nous pensons traditionnellement lorsque nous parlons de communication. Nous imaginons généralement des personnes engagées dans une conversation – soit en personne, soit par téléphone, sur les réseaux sociaux ou par message texte.
+
+Lorsque vous communiquez des données, il y aura des cas où vous utiliserez une communication unidirectionnelle (par exemple, lors d’une présentation à une conférence ou à un grand groupe où les questions ne seront pas posées directement après) et des cas où vous utiliserez une communication bidirectionnelle (par exemple, pour persuader quelques parties prenantes d’investir ou pour convaincre un collègue que du temps et des efforts devraient être consacrés à la création de quelque chose de nouveau).
+
+# Communication efficace
+
+### Vos responsabilités en tant que communicateur
+Lorsque vous communiquez, il est de votre responsabilité de vous assurer que votre ou vos récepteurs retiennent les informations que vous souhaitez qu’ils retiennent. Lorsque vous communiquez des données, vous ne voulez pas que vos récepteurs se contentent de retenir des chiffres, vous voulez qu’ils retiennent une histoire éclairée par vos données. Un bon communicateur de données est un bon conteur.
+
+Comment raconter une histoire avec des données ? Il existe une infinité de façons – mais voici 6 stratégies que nous aborderons dans cette leçon :
+1. Comprendre votre public, votre canal et votre méthode de communication
+2. Commencer par la fin en tête
+3. L’aborder comme une véritable histoire
+4. Utiliser des mots et des phrases significatifs
+5. Utiliser l’émotion
+
+Chacune de ces stratégies est expliquée plus en détail ci-dessous.
+
+### 1. Comprendre votre public, votre canal et votre méthode de communication
+La façon dont vous communiquez avec les membres de votre famille est probablement différente de celle dont vous communiquez avec vos amis. Vous utilisez probablement des mots et des phrases différents que les personnes à qui vous parlez sont plus susceptibles de comprendre. Vous devriez adopter la même approche lorsque vous communiquez des données. Réfléchissez à qui vous communiquez. Pensez à leurs objectifs et au contexte qu’ils ont autour de la situation que vous leur expliquez.
+
+Vous pouvez probablement regrouper la majorité de votre public dans une catégorie. Dans un article de _Harvard Business Review_, “[How to Tell a Story with Data](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)”, Jim Stikeleather, stratège exécutif chez Dell, identifie cinq catégories de publics.
+
+- **Novice** : première exposition au sujet, mais ne souhaite pas une simplification excessive
+- **Généraliste** : conscient du sujet, mais cherche une compréhension globale et des thèmes principaux
+- **Managerial** : compréhension approfondie et exploitable des subtilités et des interrelations avec accès aux détails
+- **Expert** : davantage d’exploration et de découverte et moins de narration avec beaucoup de détails
+- **Exécutif** : n’a que le temps de saisir la signification et les conclusions des probabilités pondérées
+
+Ces catégories peuvent orienter la manière dont vous présentez les données à votre public.
+
+En plus de réfléchir à la catégorie de votre public, vous devez également tenir compte du canal que vous utilisez pour communiquer avec lui. Votre approche devrait être légèrement différente si vous rédigez une note ou un e-mail par rapport à une réunion ou une présentation lors d’une conférence.
+
+En plus de comprendre votre public, savoir comment vous communiquerez avec lui (en utilisant une communication unidirectionnelle ou bidirectionnelle) est également essentiel.
+
+Si vous communiquez avec un public majoritairement novice et que vous utilisez une communication unidirectionnelle, vous devez d’abord éduquer le public et lui donner le contexte approprié. Ensuite, vous devez lui présenter vos données et lui expliquer ce que vos données signifient et pourquoi elles sont importantes. Dans ce cas, vous voudrez peut-être vous concentrer sur la clarté, car votre public ne pourra pas vous poser de questions directes.
+
+Si vous communiquez avec un public majoritairement managerial et que vous utilisez une communication bidirectionnelle, vous n’aurez probablement pas besoin d’éduquer votre public ou de lui fournir beaucoup de contexte. Vous pourrez peut-être passer directement à la discussion des données que vous avez collectées et pourquoi elles sont importantes. Dans ce scénario, cependant, vous devriez vous concentrer sur le timing et le contrôle de votre présentation. Lorsqu’on utilise une communication bidirectionnelle (surtout avec un public managerial qui recherche une “compréhension exploitable des subtilités et des interrelations avec accès aux détails”), des questions peuvent surgir au cours de l’interaction qui peuvent orienter la discussion dans une direction qui ne correspond pas à l’histoire que vous essayez de raconter. Lorsque cela se produit, vous pouvez agir et ramener la discussion sur la bonne voie avec votre histoire.
+
+### 2. Commencer par la fin en tête
+Commencer par la fin en tête signifie comprendre les conclusions que vous souhaitez que votre public retienne avant de commencer à communiquer avec lui. Être réfléchi sur ce que vous voulez que votre public retienne à l’avance peut vous aider à élaborer une histoire que votre public peut suivre. Commencer par la fin en tête est approprié pour la communication unidirectionnelle et bidirectionnelle.
+
+Comment commencer par la fin en tête ? Avant de communiquer vos données, notez vos conclusions clés. Ensuite, à chaque étape de la préparation de l’histoire que vous souhaitez raconter avec vos données, demandez-vous : “Comment cela s’intègre-t-il dans l’histoire que je raconte ?”
+
+Attention – Bien que commencer par la fin en tête soit idéal, vous ne voulez pas communiquer uniquement les données qui soutiennent vos conclusions prévues. Cela s’appelle le tri sélectif, qui se produit lorsqu’un communicateur ne communique que les données qui soutiennent le point qu’il essaie de faire valoir et ignore toutes les autres données.
+
+Si toutes les données que vous avez collectées soutiennent clairement vos conclusions prévues, tant mieux. Mais s’il y a des données que vous avez collectées qui ne soutiennent pas vos conclusions, ou même soutiennent un argument contre vos conclusions clés, vous devriez également communiquer ces données. Si cela se produit, soyez honnête avec votre public et expliquez-lui pourquoi vous choisissez de rester fidèle à votre histoire même si toutes les données ne la soutiennent pas nécessairement.
+
+### 3. L’aborder comme une véritable histoire
+Une histoire traditionnelle se déroule en 5 phases. Vous avez peut-être entendu ces phases exprimées comme Exposition, Action montante, Climax, Action descendante et Dénouement. Ou les termes plus simples à retenir : Contexte, Conflit, Climax, Clôture, Conclusion. Lorsque vous communiquez vos données et votre histoire, vous pouvez adopter une approche similaire.
+
+Vous pouvez commencer par le contexte, poser le décor et vous assurer que votre public est sur la même longueur d’onde. Ensuite, introduisez le conflit. Pourquoi avez-vous besoin de collecter ces données ? Quels problèmes cherchiez-vous à résoudre ? Après cela, le climax. Quelles sont les données ? Que signifient-elles ? Quelles solutions les données nous indiquent-elles ? Ensuite, vous arrivez à la clôture, où vous pouvez réitérer le problème et les solutions proposées. Enfin, nous arrivons à la conclusion, où vous pouvez résumer vos conclusions clés et les prochaines étapes que vous recommandez à l’équipe.
+
+### 4. Utiliser des mots et des phrases significatifs
+Si nous travaillions ensemble sur un produit et que je vous disais : “Nos utilisateurs mettent beaucoup de temps à s’inscrire sur notre plateforme,” combien de temps estimeriez-vous que “beaucoup de temps” représente ? Une heure ? Une semaine ? C’est difficile à savoir. Et si je disais cela à un public entier ? Chaque personne dans le public pourrait avoir une idée différente de la durée que prennent les utilisateurs pour s’inscrire sur notre plateforme.
+
+À la place, que se passerait-il si je disais : “Nos utilisateurs mettent, en moyenne, 3 minutes pour s’inscrire et s’intégrer sur notre plateforme.”
+
+Ce message est plus clair. Lorsque vous communiquez des données, il peut être facile de penser que tout le monde dans votre public pense comme vous. Mais ce n’est pas toujours le cas. Assurer la clarté autour de vos données et de ce qu’elles signifient est l’une de vos responsabilités en tant que communicateur. Si les données ou votre histoire ne sont pas claires, votre public aura du mal à suivre, et il est moins probable qu’il comprenne vos conclusions clés.
+
+Vous pouvez communiquer des données plus clairement en utilisant des mots et des phrases significatifs, plutôt que vagues. Voici quelques exemples :
+
+- Nous avons eu une année *impressionnante* !
+ - Une personne pourrait penser qu’impressionnant signifie une augmentation de 2 % à 3 % des revenus, et une autre pourrait penser que cela signifie une augmentation de 50 % à 60 %.
+- Les taux de réussite de nos utilisateurs ont augmenté *considérablement*.
+ - Quelle est l’ampleur d’une augmentation considérable ?
+- Cette initiative nécessitera des efforts *significatifs*.
+ - Quelle quantité d’efforts est significative ?
+
+Utiliser des mots vagues peut être utile comme introduction à des données supplémentaires ou comme résumé de l’histoire que vous venez de raconter. Mais envisagez de vous assurer que chaque partie de votre présentation est claire pour votre public.
+
+### 5. Utiliser l’émotion
+L’émotion est essentielle dans la narration. Elle est encore plus importante lorsque vous racontez une histoire avec des données. Lorsque vous communiquez des données, tout est axé sur les conclusions que vous souhaitez que votre public retienne. Évoquer une émotion chez un public l’aide à ressentir de l’empathie et le rend plus susceptible d’agir. L’émotion augmente également la probabilité qu’un public se souvienne de votre message.
+
+Vous avez peut-être déjà rencontré cela avec des publicités télévisées. Certaines publicités sont très sombres et utilisent une émotion triste pour se connecter à leur public et faire ressortir les données qu’elles présentent. D’autres publicités, très joyeuses et optimistes, peuvent vous faire associer leurs données à un sentiment de bonheur.
+
+Comment utiliser l’émotion lorsque vous communiquez des données ? Voici quelques façons :
+
+- Utiliser des témoignages et des histoires personnelles
+ - Lorsque vous collectez des données, essayez de collecter à la fois des données quantitatives et qualitatives, et intégrez les deux types de données lorsque vous communiquez. Si vos données sont principalement quantitatives, recherchez des histoires individuelles pour en savoir plus sur leur expérience avec ce que vos données vous disent.
+- Utiliser des images
+ - Les images aident un public à se projeter dans une situation. Lorsque vous utilisez des images, vous pouvez orienter un public vers l’émotion que vous pensez qu’il devrait ressentir à propos de vos données.
+- Utiliser des couleurs
+ - Différentes couleurs évoquent différentes émotions. Voici quelques couleurs populaires et les émotions qu’elles évoquent. Attention, les couleurs peuvent avoir des significations différentes selon les cultures.
+ - Le bleu évoque généralement des émotions de paix et de confiance
+ - Le vert est généralement associé à la nature et à l’environnement
+ - Le rouge est généralement lié à la passion et à l’excitation
+ - Le jaune est généralement associé à l’optimisme et au bonheur
+
+# Étude de cas sur la communication
+Emerson est chef de produit pour une application mobile. Emerson a remarqué que les clients soumettent 42 % de plaintes et de rapports de bogues en plus le week-end. Emerson a également remarqué que les clients qui soumettent une plainte qui reste sans réponse après 48 heures sont 32 % plus susceptibles de donner à l’application une note de 1 ou 2 dans la boutique d’applications.
+
+Après avoir fait des recherches, Emerson a trouvé quelques solutions pour résoudre le problème. Emerson organise une réunion de 30 minutes avec les 3 responsables de l’entreprise pour communiquer les données et les solutions proposées.
+
+Lors de cette réunion, l’objectif d’Emerson est de faire comprendre aux responsables de l’entreprise que les 2 solutions ci-dessous peuvent améliorer la note de l’application, ce qui se traduira probablement par une augmentation des revenus.
+
+**Solution 1.** Embaucher des représentants du service client pour travailler le week-end
+
+**Solution 2.** Acheter un nouveau système de gestion des tickets du service client permettant aux représentants du service client d’identifier facilement les plaintes qui sont dans la file d’attente depuis le plus longtemps – afin qu’ils sachent lesquelles traiter en priorité.
+Lors de la réunion, Emerson passe 5 minutes à expliquer pourquoi une mauvaise note sur l'App Store est problématique, 10 minutes à détailler le processus de recherche et les tendances identifiées, 10 minutes à examiner certaines des récentes plaintes des clients, et les 5 dernières minutes à survoler les 2 solutions potentielles.
+
+Est-ce que cette méthode a permis à Emerson de communiquer efficacement pendant cette réunion ?
+
+Pendant la réunion, un des responsables de l’entreprise s’est focalisé sur les 10 minutes consacrées aux plaintes des clients qu’Emerson a présentées. Après la réunion, ces plaintes étaient la seule chose dont ce responsable se souvenait. Un autre responsable s’est principalement concentré sur la description du processus de recherche par Emerson. Le troisième responsable se souvenait des solutions proposées par Emerson, mais n’était pas sûr de la manière dont ces solutions pourraient être mises en œuvre.
+
+Dans la situation ci-dessus, on peut constater un écart significatif entre ce qu’Emerson voulait que les responsables retiennent et ce qu’ils ont réellement retenu de la réunion. Voici une autre approche qu’Emerson pourrait envisager.
+
+Comment Emerson pourrait-il améliorer cette approche ?
+Contexte, Conflit, Climax, Clôture, Conclusion
+**Contexte** - Emerson pourrait consacrer les 5 premières minutes à introduire la situation dans son ensemble et s’assurer que les responsables comprennent comment les problèmes affectent des indicateurs critiques pour l’entreprise, comme le chiffre d’affaires.
+
+Cela pourrait être présenté ainsi : "Actuellement, la note de notre application sur l’App Store est de 2,5. Les notes sur l’App Store sont essentielles pour l’optimisation de la visibilité dans l’App Store, ce qui influence combien d’utilisateurs voient notre application dans les recherches et comment notre application est perçue par les utilisateurs potentiels. Et bien sûr, le nombre d’utilisateurs que nous avons est directement lié au chiffre d’affaires."
+
+**Conflit** Emerson pourrait ensuite consacrer environ 5 minutes à parler du conflit.
+
+Cela pourrait être formulé ainsi : "Les utilisateurs soumettent 42 % de plaintes et rapports de bugs en plus le week-end. Les clients qui soumettent une plainte qui reste sans réponse après 48 heures sont 32 % moins susceptibles de donner une note supérieure à 2 à notre application sur l’App Store. Améliorer la note de notre application sur l’App Store à 4 augmenterait notre visibilité de 20 à 30 %, ce qui, selon mes projections, augmenterait le chiffre d’affaires de 10 %." Bien sûr, Emerson devrait être prêt à justifier ces chiffres.
+
+**Climax** Après avoir posé les bases, Emerson pourrait ensuite passer au Climax pendant environ 5 minutes.
+
+Emerson pourrait présenter les solutions proposées, expliquer comment ces solutions résoudraient les problèmes identifiés, comment elles pourraient être intégrées dans les flux de travail existants, combien elles coûteraient, quel serait leur retour sur investissement, et peut-être même montrer des captures d’écran ou des maquettes de l’apparence des solutions une fois mises en œuvre. Emerson pourrait également partager des témoignages d’utilisateurs ayant attendu plus de 48 heures pour obtenir une réponse à leur plainte, ainsi qu’un témoignage d’un représentant actuel du service client de l’entreprise commentant le système de gestion des tickets actuel.
+
+**Clôture** Emerson pourrait ensuite consacrer 5 minutes à récapituler les problèmes rencontrés par l’entreprise, à revisiter les solutions proposées et à rappeler pourquoi ces solutions sont les bonnes.
+
+**Conclusion** Étant donné qu’il s’agit d’une réunion avec quelques parties prenantes où une communication bidirectionnelle sera utilisée, Emerson pourrait prévoir de laisser 10 minutes pour des questions, afin de s’assurer que tout ce qui pourrait être confus pour les responsables soit clarifié avant la fin de la réunion.
+
+Si Emerson adoptait l’approche n°2, il est beaucoup plus probable que les responsables retiennent de la réunion exactement ce qu’Emerson voulait qu’ils retiennent – à savoir que la gestion des plaintes et des bugs pourrait être améliorée, et qu’il existe 2 solutions qui pourraient être mises en place pour apporter cette amélioration. Cette approche serait bien plus efficace pour communiquer les données et l’histoire qu’Emerson souhaite transmettre.
+
+# Conclusion
+### Résumé des points principaux
+- Communiquer, c’est transmettre ou échanger des informations.
+- Lorsque vous communiquez des données, votre objectif ne devrait pas être simplement de transmettre des chiffres à votre audience. Votre objectif devrait être de raconter une histoire éclairée par vos données.
+- Il existe 2 types de communication : la communication unidirectionnelle (l’information est transmise sans intention de réponse) et la communication bidirectionnelle (l’information est échangée dans les deux sens).
+- Il existe de nombreuses stratégies pour raconter une histoire avec vos données. Voici 5 stratégies que nous avons abordées :
+ - Comprendre votre audience, votre support et votre méthode de communication
+ - Commencer avec la fin en tête
+ - L’aborder comme une véritable histoire
+ - Utiliser des mots et des phrases significatifs
+ - Faire appel aux émotions
+
+### Ressources recommandées pour l’auto-apprentissage
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+## [Quiz post-conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+Révisez ce que vous venez d’apprendre avec le quiz post-conférence ci-dessus !
+
+## Devoir
+
+[Étude de marché](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/fr/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..41bdd677
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# Racontez une histoire
+
+## Instructions
+
+La science des données consiste à raconter des histoires. Choisissez un ensemble de données et rédigez un court article sur l'histoire que vous pourriez en tirer. Que souhaitez-vous que votre ensemble de données révèle ? Que ferez-vous si ses révélations s'avèrent problématiques ? Et si vos données ne dévoilent pas facilement leurs secrets ? Pensez aux scénarios que votre ensemble de données pourrait présenter et notez-les.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+
+Un essai d'une page est présenté au format .doc avec l'ensemble de données expliqué, documenté, crédité, et une histoire cohérente est présentée à son sujet avec des exemples détaillés tirés des données.| Un essai plus court est présenté dans un format moins détaillé | L'essai manque de l'un des détails mentionnés ci-dessus.
+
+**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/fr/4-Data-Science-Lifecycle/README.md b/translations/fr/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..2666742a
--- /dev/null
+++ b/translations/fr/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# 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.
+
+### Sujets
+
+1. [Introduction](14-Introduction/README.md)
+2. [Analyse](15-analyzing/README.md)
+3. [Communication](16-communication/README.md)
+
+### Crédits
+
+Ces leçons ont été écrites avec ❤️ par [Jalen McGee](https://twitter.com/JalenMCG) et [Jasmine Greenaway](https://twitter.com/paladique)
+
+**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/fr/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/fr/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..31e2d5cb
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,112 @@
+
+# Introduction à la Science des Données dans le Cloud
+
+| ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| Science des Données dans le Cloud : Introduction - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+
+Dans cette leçon, vous apprendrez les principes fondamentaux du Cloud, puis vous verrez pourquoi il peut être intéressant pour vous d'utiliser les services Cloud pour exécuter vos projets de science des données. Nous examinerons également quelques exemples de projets de science des données réalisés dans le Cloud.
+
+## [Quiz Pré-Cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## Qu'est-ce que le Cloud ?
+
+Le Cloud, ou Cloud Computing, désigne la fourniture d'une large gamme de services informatiques à la demande, hébergés sur une infrastructure via Internet. Ces services incluent des solutions telles que le stockage, les bases de données, les réseaux, les logiciels, l'analyse et les services intelligents.
+
+On distingue généralement les Clouds Publics, Privés et Hybrides comme suit :
+
+* Cloud public : un cloud public est possédé et exploité par un fournisseur tiers de services cloud qui met ses ressources informatiques à disposition du public via Internet.
+* Cloud privé : désigne des ressources informatiques utilisées exclusivement par une seule entreprise ou organisation, avec des services et une infrastructure maintenus sur un réseau privé.
+* Cloud hybride : le cloud hybride est un système qui combine les clouds publics et privés. Les utilisateurs choisissent un centre de données sur site tout en permettant aux données et applications de fonctionner sur un ou plusieurs clouds publics.
+
+La plupart des services de Cloud Computing se répartissent en trois catégories : Infrastructure as a Service (IaaS), Platform as a Service (PaaS) et Software as a Service (SaaS).
+
+* Infrastructure as a Service (IaaS) : les utilisateurs louent une infrastructure informatique telle que des serveurs, des machines virtuelles (VM), du stockage, des réseaux, des systèmes d'exploitation.
+* Platform as a Service (PaaS) : les utilisateurs louent un environnement pour développer, tester, livrer et gérer des applications logicielles. Ils n'ont pas besoin de se soucier de la configuration ou de la gestion de l'infrastructure sous-jacente des serveurs, du stockage, du réseau et des bases de données nécessaires au développement.
+* Software as a Service (SaaS) : les utilisateurs accèdent à des applications logicielles via Internet, à la demande et généralement sur la base d'un abonnement. Ils n'ont pas besoin de se préoccuper de l'hébergement et de la gestion de l'application logicielle, de l'infrastructure sous-jacente ou de la maintenance, comme les mises à jour logicielles et les correctifs de sécurité.
+
+Parmi les plus grands fournisseurs de Cloud, on trouve Amazon Web Services, Google Cloud Platform et Microsoft Azure.
+
+## Pourquoi choisir le Cloud pour la Science des Données ?
+
+Les développeurs et les professionnels de l'informatique choisissent de travailler avec le Cloud pour de nombreuses raisons, notamment :
+
+* Innovation : vous pouvez alimenter vos applications en intégrant directement dans vos applications des services innovants créés par les fournisseurs de Cloud.
+* Flexibilité : vous ne payez que pour les services dont vous avez besoin et pouvez choisir parmi une large gamme de services. Vous payez généralement à l'usage et adaptez vos services en fonction de vos besoins évolutifs.
+* Budget : vous n'avez pas besoin de faire des investissements initiaux pour acheter du matériel et des logiciels, configurer et gérer des centres de données sur site, et vous payez simplement pour ce que vous utilisez.
+* Scalabilité : vos ressources peuvent évoluer en fonction des besoins de votre projet, ce qui signifie que vos applications peuvent utiliser plus ou moins de puissance de calcul, de stockage et de bande passante, en s'adaptant aux facteurs externes à tout moment.
+* Productivité : vous pouvez vous concentrer sur votre activité plutôt que de perdre du temps sur des tâches pouvant être gérées par d'autres, comme la gestion des centres de données.
+* Fiabilité : le Cloud Computing offre plusieurs moyens de sauvegarder continuellement vos données et vous pouvez mettre en place des plans de reprise après sinistre pour maintenir votre activité et vos services, même en période de crise.
+* Sécurité : vous pouvez bénéficier de politiques, technologies et contrôles qui renforcent la sécurité de votre projet.
+
+Ce sont quelques-unes des raisons les plus courantes pour lesquelles les gens choisissent d'utiliser les services Cloud. Maintenant que nous comprenons mieux ce qu'est le Cloud et quels sont ses principaux avantages, examinons plus spécifiquement les métiers des data scientists et des développeurs travaillant avec les données, et comment le Cloud peut les aider à relever plusieurs défis auxquels ils pourraient être confrontés :
+
+* Stocker de grandes quantités de données : au lieu d'acheter, de gérer et de protéger de grands serveurs, vous pouvez stocker vos données directement dans le Cloud, avec des solutions telles qu'Azure Cosmos DB, Azure SQL Database et Azure Data Lake Storage.
+* Réaliser l'intégration des données : l'intégration des données est une partie essentielle de la science des données, qui vous permet de passer de la collecte de données à la prise de décisions. Avec les services d'intégration de données proposés dans le Cloud, vous pouvez collecter, transformer et intégrer des données provenant de diverses sources dans un entrepôt de données unique, avec Data Factory.
+* Traiter les données : le traitement de vastes quantités de données nécessite beaucoup de puissance de calcul, et tout le monde n'a pas accès à des machines suffisamment puissantes pour cela, c'est pourquoi beaucoup choisissent d'exploiter directement la puissance de calcul massive du Cloud pour exécuter et déployer leurs solutions.
+* Utiliser des services d'analyse de données : des services Cloud comme Azure Synapse Analytics, Azure Stream Analytics et Azure Databricks vous aident à transformer vos données en informations exploitables.
+* Utiliser des services d'apprentissage automatique et d'intelligence des données : au lieu de partir de zéro, vous pouvez utiliser des algorithmes d'apprentissage automatique proposés par le fournisseur Cloud, avec des services tels qu'AzureML. Vous pouvez également utiliser des services cognitifs tels que la conversion de la parole en texte, la conversion de texte en parole, la vision par ordinateur, et plus encore.
+
+## Exemples de Science des Données dans le Cloud
+
+Rendons cela plus concret en examinant quelques scénarios.
+
+### Analyse en temps réel des sentiments sur les réseaux sociaux
+Commençons par un scénario couramment étudié par les débutants en apprentissage automatique : l'analyse des sentiments sur les réseaux sociaux en temps réel.
+
+Supposons que vous gériez un site web d'actualités et que vous souhaitiez exploiter des données en direct pour comprendre quels contenus pourraient intéresser vos lecteurs. Pour en savoir plus, vous pouvez créer un programme qui effectue une analyse des sentiments en temps réel des données provenant de publications Twitter, sur des sujets pertinents pour vos lecteurs.
+
+Les indicateurs clés que vous examinerez sont le volume de tweets sur des sujets spécifiques (hashtags) et les sentiments, établis à l'aide d'outils d'analyse qui effectuent une analyse des sentiments autour des sujets spécifiés.
+
+Les étapes nécessaires pour créer ce projet sont les suivantes :
+
+* Créer un hub d'événements pour collecter les données de Twitter en streaming
+* Configurer et démarrer une application cliente Twitter, qui appellera les API de streaming Twitter
+* Créer un travail Stream Analytics
+* Spécifier les entrées et requêtes du travail
+* Créer une destination de sortie et spécifier les sorties du travail
+* Démarrer le travail
+
+Pour voir le processus complet, consultez la [documentation](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099).
+
+### Analyse des articles scientifiques
+Prenons un autre exemple de projet créé par [Dmitry Soshnikov](http://soshnikov.com), l'un des auteurs de ce programme.
+
+Dmitry a créé un outil qui analyse les articles sur le COVID. En examinant ce projet, vous verrez comment créer un outil qui extrait des connaissances à partir d'articles scientifiques, obtient des informations et aide les chercheurs à naviguer efficacement dans de grandes collections d'articles.
+
+Voyons les différentes étapes utilisées pour cela :
+* Extraction et prétraitement des informations avec [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+* Utilisation d'[Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) pour paralléliser le traitement
+* Stockage et interrogation des informations avec [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+* Création d'un tableau de bord interactif pour l'exploration et la visualisation des données avec Power BI
+
+Pour voir le processus complet, visitez le [blog de Dmitry](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/).
+
+Comme vous pouvez le constater, nous pouvons exploiter les services Cloud de nombreuses façons pour réaliser de la science des données.
+
+## Note de bas de page
+
+Sources :
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## Quiz Post-Cours
+
+[Quiz post-cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## Devoir
+
+[Étude de marché](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/fr/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..b97b3d6d
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# Recherche de Marché
+
+## Instructions
+
+Dans cette leçon, vous avez appris qu'il existe plusieurs fournisseurs de cloud importants. Faites des recherches de marché pour découvrir ce que chacun peut offrir au Data Scientist. Les offres sont-elles comparables ? Rédigez un document pour décrire les offres de trois ou plus de ces fournisseurs de cloud.
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | --- |
+Un document d'une page décrit les offres en science des données de trois fournisseurs de cloud et les différencie. | Un document plus court est présenté. | Un document est présenté sans compléter l'analyse.
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/fr/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..4cec47ce
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,347 @@
+
+# Data Science dans le Cloud : La méthode "Low code/No code"
+
+| ](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| Data Science dans le Cloud : Low Code - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Table des matières :
+
+- [Data Science dans le Cloud : La méthode "Low code/No code"](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [Quiz avant le cours](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. Introduction](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 Qu'est-ce qu'Azure Machine Learning ?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 Le projet de prédiction des insuffisances cardiaques :](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 Le jeu de données sur les insuffisances cardiaques :](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. Entraînement Low code/No code d'un modèle dans Azure ML Studio](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 Créer un espace de travail Azure ML](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 Ressources de calcul](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 Choisir les bonnes options pour vos ressources de calcul](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 Créer un cluster de calcul](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 Charger le jeu de données](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 Entraînement Low code/No code avec AutoML](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. Déploiement Low code/No code du modèle et consommation des points de terminaison](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 Déploiement du modèle](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 Consommation des points de terminaison](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 Défi](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [Quiz après le cours](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [Révision et auto-apprentissage](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [Devoir](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+## 1. Introduction
+### 1.1 Qu'est-ce qu'Azure Machine Learning ?
+
+La plateforme cloud Azure propose plus de 200 produits et services cloud conçus pour vous aider à donner vie à de nouvelles solutions. Les data scientists consacrent beaucoup d'efforts à explorer et prétraiter les données, ainsi qu'à tester divers types d'algorithmes d'entraînement pour produire des modèles précis. Ces tâches sont chronophages et utilisent souvent de manière inefficace des ressources matérielles coûteuses.
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) est une plateforme cloud pour créer et exploiter des solutions de machine learning dans Azure. Elle inclut une large gamme de fonctionnalités qui aident les data scientists à préparer les données, entraîner des modèles, publier des services prédictifs et surveiller leur utilisation. Surtout, elle leur permet d'augmenter leur efficacité en automatisant de nombreuses tâches chronophages liées à l'entraînement des modèles, et leur offre des ressources de calcul cloud évolutives pour gérer de grands volumes de données tout en ne générant des coûts que lorsqu'elles sont utilisées.
+
+Azure ML fournit tous les outils nécessaires aux développeurs et data scientists pour leurs workflows de machine learning, notamment :
+
+- **Azure Machine Learning Studio** : un portail web dans Azure Machine Learning pour des options low-code et no-code pour l'entraînement, le déploiement, l'automatisation, le suivi et la gestion des actifs. Le studio s'intègre au SDK Azure Machine Learning pour une expérience fluide.
+- **Jupyter Notebooks** : pour prototyper rapidement et tester des modèles de machine learning.
+- **Azure Machine Learning Designer** : permet de glisser-déposer des modules pour construire des expériences et déployer des pipelines dans un environnement low-code.
+- **Interface utilisateur AutoML** : automatise les tâches itératives du développement de modèles de machine learning, permettant de créer des modèles ML à grande échelle, avec efficacité et productivité, tout en maintenant la qualité des modèles.
+- **Étiquetage des données** : un outil ML assisté pour étiqueter automatiquement les données.
+- **Extension de machine learning pour Visual Studio Code** : offre un environnement de développement complet pour créer et gérer des projets ML.
+- **CLI de machine learning** : fournit des commandes pour gérer les ressources Azure ML depuis la ligne de commande.
+- **Intégration avec des frameworks open-source** tels que PyTorch, TensorFlow, Scikit-learn et bien d'autres pour entraîner, déployer et gérer le processus ML de bout en bout.
+- **MLflow** : une bibliothèque open-source pour gérer le cycle de vie de vos expériences de machine learning. **MLFlow Tracking** est un composant de MLflow qui enregistre et suit les métriques de vos entraînements et les artefacts de modèles, quel que soit l'environnement de votre expérience.
+
+### 1.2 Le projet de prédiction des insuffisances cardiaques :
+
+Il ne fait aucun doute que créer et développer des projets est la meilleure façon de mettre vos compétences et connaissances à l'épreuve. Dans cette leçon, nous allons explorer deux façons différentes de construire un projet de data science pour la prédiction des attaques cardiaques dans Azure ML Studio, via Low code/No code et via le SDK Azure ML, comme illustré dans le schéma suivant :
+
+
+
+Chaque méthode a ses avantages et inconvénients. La méthode Low code/No code est plus facile à démarrer car elle implique une interaction avec une interface graphique (GUI), sans nécessiter de connaissances préalables en programmation. Cette méthode permet de tester rapidement la viabilité du projet et de créer un POC (Proof Of Concept). Cependant, à mesure que le projet grandit et que les choses doivent être prêtes pour la production, il devient difficile de créer des ressources via une interface graphique. Il est alors nécessaire d'automatiser tout le processus de manière programmatique, de la création des ressources au déploiement du modèle. C'est là que la maîtrise du SDK Azure ML devient essentielle.
+
+| | Low code/No code | SDK Azure ML |
+|-------------------|------------------|---------------------------|
+| Expertise en code | Non requise | Requise |
+| Temps de développement | Rapide et facile | Dépend de l'expertise en code |
+| Prêt pour la production | Non | Oui |
+
+### 1.3 Le jeu de données sur les insuffisances cardiaques :
+
+Les maladies cardiovasculaires (MCV) sont la première cause de mortalité dans le monde, représentant 31 % de tous les décès. Les facteurs de risque environnementaux et comportementaux tels que l'utilisation du tabac, une alimentation malsaine et l'obésité, l'inactivité physique et la consommation excessive d'alcool peuvent être utilisés comme caractéristiques pour des modèles d'estimation. Pouvoir estimer la probabilité de développement d'une MCV pourrait être très utile pour prévenir les attaques chez les personnes à haut risque.
+
+Kaggle a mis à disposition un [jeu de données sur les insuffisances cardiaques](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data) que nous allons utiliser pour ce projet. Vous pouvez télécharger le jeu de données dès maintenant. Il s'agit d'un jeu de données tabulaire avec 13 colonnes (12 caractéristiques et 1 variable cible) et 299 lignes.
+
+| | Nom de la variable | Type | Description | Exemple |
+|----|---------------------------|-----------------|-----------------------------------------------------------|-------------------|
+| 1 | age | numérique | Âge du patient | 25 |
+| 2 | anaemia | booléen | Diminution des globules rouges ou de l'hémoglobine | 0 ou 1 |
+| 3 | creatinine_phosphokinase | numérique | Niveau de l'enzyme CPK dans le sang | 542 |
+| 4 | diabetes | booléen | Si le patient est diabétique | 0 ou 1 |
+| 5 | ejection_fraction | numérique | Pourcentage de sang quittant le cœur à chaque contraction | 45 |
+| 6 | high_blood_pressure | booléen | Si le patient est hypertendu | 0 ou 1 |
+| 7 | platelets | numérique | Plaquettes dans le sang | 149000 |
+| 8 | serum_creatinine | numérique | Niveau de créatinine sérique dans le sang | 0.5 |
+| 9 | serum_sodium | numérique | Niveau de sodium sérique dans le sang | jun |
+| 10 | sex | booléen | Femme ou homme | 0 ou 1 |
+| 11 | smoking | booléen | Si le patient fume | 0 ou 1 |
+| 12 | time | numérique | Période de suivi (jours) | 4 |
+|----|---------------------------|-----------------|-----------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [Cible] | booléen | Si le patient décède pendant la période de suivi | 0 ou 1 |
+
+Une fois que vous avez le jeu de données, nous pouvons commencer le projet dans Azure.
+
+## 2. Entraînement Low code/No code d'un modèle dans Azure ML Studio
+### 2.1 Créer un espace de travail Azure ML
+Pour entraîner un modèle dans Azure ML, vous devez d'abord créer un espace de travail Azure ML. L'espace de travail est la ressource de niveau supérieur pour Azure Machine Learning, offrant un endroit centralisé pour travailler avec tous les artefacts que vous créez lorsque vous utilisez Azure Machine Learning. L'espace de travail conserve un historique de tous les entraînements, y compris les journaux, les métriques, les résultats et une capture de vos scripts. Vous utilisez ces informations pour déterminer quel entraînement produit le meilleur modèle. [En savoir plus](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+Il est recommandé d'utiliser le navigateur le plus à jour compatible avec votre système d'exploitation. Les navigateurs suivants sont pris en charge :
+
+- Microsoft Edge (Le nouveau Microsoft Edge, dernière version. Pas Microsoft Edge legacy)
+- Safari (dernière version, uniquement sur Mac)
+- Chrome (dernière version)
+- Firefox (dernière version)
+
+Pour utiliser Azure Machine Learning, créez un espace de travail dans votre abonnement Azure. Vous pouvez ensuite utiliser cet espace de travail pour gérer les données, les ressources de calcul, le code, les modèles et d'autres artefacts liés à vos charges de travail de machine learning.
+
+> **_NOTE :_** Votre abonnement Azure sera facturé un petit montant pour le stockage des données tant que l'espace de travail Azure Machine Learning existe dans votre abonnement. Nous vous recommandons donc de supprimer l'espace de travail Azure Machine Learning lorsque vous ne l'utilisez plus.
+
+1. Connectez-vous au [portail Azure](https://ms.portal.azure.com/) en utilisant les identifiants Microsoft associés à votre abonnement Azure.
+2. Sélectionnez **+Créer une ressource**
+
+ 
+
+ Recherchez Machine Learning et sélectionnez la tuile Machine Learning.
+
+ 
+
+ Cliquez sur le bouton créer.
+
+ 
+
+ Remplissez les paramètres comme suit :
+ - Abonnement : Votre abonnement Azure
+ - Groupe de ressources : Créez ou sélectionnez un groupe de ressources
+ - Nom de l'espace de travail : Entrez un nom unique pour votre espace de travail
+ - Région : Sélectionnez la région géographique la plus proche de vous
+ - Compte de stockage : Notez le nouveau compte de stockage par défaut qui sera créé pour votre espace de travail
+ - Key vault : Notez le nouveau key vault par défaut qui sera créé pour votre espace de travail
+ - Application insights : Notez la nouvelle ressource Application Insights par défaut qui sera créée pour votre espace de travail
+ - Registre de conteneurs : Aucun (un sera créé automatiquement la première fois que vous déployez un modèle dans un conteneur)
+
+ 
+
+ - Cliquez sur créer + examiner, puis sur le bouton créer.
+3. Attendez que votre espace de travail soit créé (cela peut prendre quelques minutes). Ensuite, accédez-y dans le portail. Vous pouvez le trouver via le service Azure Machine Learning.
+4. Sur la page Vue d'ensemble de votre espace de travail, lancez Azure Machine Learning Studio (ou ouvrez un nouvel onglet de navigateur et accédez à https://ml.azure.com), et connectez-vous à Azure Machine Learning Studio en utilisant votre compte Microsoft. Si vous êtes invité, sélectionnez votre répertoire et abonnement Azure, ainsi que votre espace de travail Azure Machine Learning.
+
+
+
+5. Dans Azure Machine Learning Studio, basculez l'icône ☰ en haut à gauche pour afficher les différentes pages de l'interface. Vous pouvez utiliser ces pages pour gérer les ressources de votre espace de travail.
+
+
+
+Vous pouvez gérer votre espace de travail via le portail Azure, mais pour les data scientists et les ingénieurs en opérations de machine learning, Azure Machine Learning Studio offre une interface utilisateur plus ciblée pour gérer les ressources de l'espace de travail.
+
+### 2.2 Ressources de calcul
+
+Les ressources de calcul sont des ressources basées sur le cloud sur lesquelles vous pouvez exécuter des processus d'entraînement de modèles et d'exploration de données. Il existe quatre types de ressources de calcul que vous pouvez créer :
+
+- **Instances de calcul** : Stations de travail de développement que les data scientists peuvent utiliser pour travailler avec des données et des modèles. Cela implique la création d'une machine virtuelle (VM) et le lancement d'une instance de notebook. Vous pouvez ensuite entraîner un modèle en appelant un cluster de calcul depuis le notebook.
+- **Clusters de calcul** : Clusters évolutifs de machines virtuelles pour le traitement à la demande du code d'expérience. Vous en aurez besoin pour entraîner un modèle. Les clusters de calcul peuvent également utiliser des ressources GPU ou CPU spécialisées.
+- **Clusters d'inférence** : Cibles de déploiement pour les services prédictifs utilisant vos modèles entraînés.
+- **Compute attaché** : Liens vers des ressources de calcul Azure existantes, telles que des machines virtuelles ou des clusters Azure Databricks.
+
+#### 2.2.1 Choisir les bonnes options pour vos ressources de calcul
+
+Certains facteurs clés doivent être pris en compte lors de la création d'une ressource de calcul, et ces choix peuvent être des décisions critiques à prendre.
+
+**Avez-vous besoin d'un CPU ou d'un GPU ?**
+
+Un CPU (Unité Centrale de Traitement) est le circuit électronique qui exécute les instructions d'un programme informatique. Un GPU (Unité de Traitement Graphique) est un circuit électronique spécialisé capable d'exécuter du code lié aux graphiques à un rythme très élevé.
+
+La principale différence entre l'architecture CPU et GPU est qu'un CPU est conçu pour gérer une large gamme de tâches rapidement (mesurée par la vitesse d'horloge du CPU), mais il est limité dans la simultanéité des tâches pouvant être exécutées. Les GPU sont conçus pour le calcul parallèle et sont donc beaucoup plus adaptés aux tâches d'apprentissage profond.
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| Moins cher | Plus cher |
+| Niveau de simultanéité inférieur | Niveau de simultanéité élevé |
+| Plus lent pour entraîner des modèles d'apprentissage profond | Optimal pour l'apprentissage profond |
+
+**Taille du cluster**
+
+Les clusters plus grands sont plus coûteux mais offrent une meilleure réactivité. Par conséquent, si vous avez du temps mais un budget limité, vous devriez commencer avec un petit cluster. À l'inverse, si vous avez un budget mais peu de temps, vous devriez commencer avec un cluster plus grand.
+
+**Taille de la VM**
+
+En fonction de vos contraintes de temps et de budget, vous pouvez ajuster la taille de votre RAM, disque, nombre de cœurs et vitesse d'horloge. Augmenter tous ces paramètres sera plus coûteux, mais offrira de meilleures performances.
+
+**Instances dédiées ou à faible priorité ?**
+
+Une instance à faible priorité signifie qu'elle est interruptible : en gros, Microsoft Azure peut prendre ces ressources et les attribuer à une autre tâche, interrompant ainsi un travail. Une instance dédiée, ou non interruptible, signifie que le travail ne sera jamais interrompu sans votre permission.
+C'est une autre considération entre temps et argent, car les instances interruptibles sont moins chères que les instances dédiées.
+
+#### 2.2.2 Créer un cluster de calcul
+
+Dans le [workspace Azure ML](https://ml.azure.com/) que nous avons créé précédemment, allez dans "Compute" et vous pourrez voir les différentes ressources de calcul que nous venons de discuter (c'est-à-dire instances de calcul, clusters de calcul, clusters d'inférence et calcul attaché). Pour ce projet, nous allons avoir besoin d'un cluster de calcul pour l'entraînement du modèle. Dans le Studio, cliquez sur le menu "Compute", puis sur l'onglet "Compute cluster" et cliquez sur le bouton "+ New" pour créer un cluster de calcul.
+
+
+
+1. Choisissez vos options : Dédié vs faible priorité, CPU ou GPU, taille de la VM et nombre de cœurs (vous pouvez conserver les paramètres par défaut pour ce projet).
+2. Cliquez sur le bouton "Next".
+
+
+
+3. Donnez un nom au cluster de calcul.
+4. Choisissez vos options : Nombre minimum/maximum de nœuds, secondes d'inactivité avant réduction, accès SSH. Notez que si le nombre minimum de nœuds est 0, vous économiserez de l'argent lorsque le cluster est inactif. Notez que plus le nombre de nœuds maximum est élevé, plus l'entraînement sera rapide. Le nombre maximum de nœuds recommandé est de 3.
+5. Cliquez sur le bouton "Create". Cette étape peut prendre quelques minutes.
+
+
+
+Super ! Maintenant que nous avons un cluster de calcul, nous devons charger les données dans Azure ML Studio.
+
+### 2.3 Charger le jeu de données
+
+1. Dans le [workspace Azure ML](https://ml.azure.com/) que nous avons créé précédemment, cliquez sur "Datasets" dans le menu de gauche et cliquez sur le bouton "+ Create dataset" pour créer un jeu de données. Choisissez l'option "From local files" et sélectionnez le jeu de données Kaggle que nous avons téléchargé précédemment.
+
+ 
+
+2. Donnez un nom, un type et une description à votre jeu de données. Cliquez sur "Next". Téléchargez les données à partir des fichiers. Cliquez sur "Next".
+
+ 
+
+3. Dans le schéma, changez le type de données en Boolean pour les caractéristiques suivantes : anaemia, diabetes, high blood pressure, sex, smoking, et DEATH_EVENT. Cliquez sur "Next" puis sur "Create".
+
+ 
+
+Génial ! Maintenant que le jeu de données est en place et que le cluster de calcul est créé, nous pouvons commencer l'entraînement du modèle !
+
+### 2.4 Entraînement Low code/No code avec AutoML
+
+Le développement traditionnel de modèles d'apprentissage automatique est intensif en ressources, nécessite des connaissances approfondies et du temps pour produire et comparer des dizaines de modèles.
+L'apprentissage automatique automatisé (AutoML) est le processus d'automatisation des tâches itératives et chronophages du développement de modèles d'apprentissage automatique. Il permet aux data scientists, analystes et développeurs de créer des modèles ML à grande échelle, avec efficacité et productivité, tout en maintenant la qualité des modèles. Cela réduit le temps nécessaire pour obtenir des modèles ML prêts pour la production, avec une grande facilité et efficacité. [En savoir plus](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. Dans le [workspace Azure ML](https://ml.azure.com/) que nous avons créé précédemment, cliquez sur "Automated ML" dans le menu de gauche et sélectionnez le jeu de données que vous venez de télécharger. Cliquez sur "Next".
+
+ 
+
+2. Entrez un nouveau nom d'expérience, la colonne cible (DEATH_EVENT) et le cluster de calcul que nous avons créé. Cliquez sur "Next".
+
+ 
+
+3. Choisissez "Classification" et cliquez sur "Finish". Cette étape peut prendre entre 30 minutes et 1 heure, selon la taille de votre cluster de calcul.
+
+ 
+
+4. Une fois l'exécution terminée, cliquez sur l'onglet "Automated ML", cliquez sur votre exécution, et cliquez sur l'algorithme dans la carte "Best model summary".
+
+ 
+
+Ici, vous pouvez voir une description détaillée du meilleur modèle généré par AutoML. Vous pouvez également explorer d'autres modèles générés dans l'onglet "Models". Prenez quelques minutes pour explorer les modèles dans le bouton "Explanations (preview)". Une fois que vous avez choisi le modèle que vous souhaitez utiliser (ici nous choisirons le meilleur modèle sélectionné par AutoML), nous verrons comment le déployer.
+
+## 3. Déploiement et consommation du modèle Low code/No code
+### 3.1 Déploiement du modèle
+
+L'interface d'apprentissage automatique automatisé vous permet de déployer le meilleur modèle en tant que service web en quelques étapes. Le déploiement est l'intégration du modèle afin qu'il puisse faire des prédictions basées sur de nouvelles données et identifier des opportunités potentielles. Pour ce projet, le déploiement en tant que service web signifie que les applications médicales pourront consommer le modèle pour faire des prédictions en direct sur le risque de crise cardiaque de leurs patients.
+
+Dans la description du meilleur modèle, cliquez sur le bouton "Deploy".
+
+
+
+15. Donnez-lui un nom, une description, un type de calcul (Azure Container Instance), activez l'authentification et cliquez sur "Deploy". Cette étape peut prendre environ 20 minutes. Le processus de déploiement comprend plusieurs étapes, notamment l'enregistrement du modèle, la génération de ressources et leur configuration pour le service web. Un message de statut apparaît sous "Deploy status". Sélectionnez "Refresh" périodiquement pour vérifier le statut du déploiement. Il est déployé et opérationnel lorsque le statut est "Healthy".
+
+
+
+16. Une fois déployé, cliquez sur l'onglet "Endpoint" et cliquez sur l'endpoint que vous venez de déployer. Vous pouvez y trouver tous les détails nécessaires sur l'endpoint.
+
+
+
+Incroyable ! Maintenant que nous avons un modèle déployé, nous pouvons commencer la consommation de l'endpoint.
+
+### 3.2 Consommation de l'endpoint
+
+Cliquez sur l'onglet "Consume". Ici, vous pouvez trouver l'endpoint REST et un script Python dans l'option de consommation. Prenez le temps de lire le code Python.
+
+Ce script peut être exécuté directement depuis votre machine locale et consommera votre endpoint.
+
+
+
+Prenez un moment pour vérifier ces deux lignes de code :
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+La variable `url` est l'endpoint REST trouvé dans l'onglet "Consume" et la variable `api_key` est la clé primaire également trouvée dans l'onglet "Consume" (uniquement si vous avez activé l'authentification). C'est ainsi que le script peut consommer l'endpoint.
+
+18. En exécutant le script, vous devriez voir la sortie suivante :
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+Cela signifie que la prédiction de l'insuffisance cardiaque pour les données fournies est vraie. Cela a du sens car si vous regardez de plus près les données générées automatiquement dans le script, tout est à 0 et faux par défaut. Vous pouvez modifier les données avec l'exemple d'entrée suivant :
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+Le script devrait retourner :
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+Félicitations ! Vous venez de consommer le modèle déployé et de l'entraîner sur Azure ML !
+
+> **_NOTE:_** Une fois que vous avez terminé le projet, n'oubliez pas de supprimer toutes les ressources.
+## 🚀 Défi
+
+Examinez attentivement les explications et les détails du modèle générés par AutoML pour les meilleurs modèles. Essayez de comprendre pourquoi le meilleur modèle est meilleur que les autres. Quels algorithmes ont été comparés ? Quelles sont les différences entre eux ? Pourquoi le meilleur modèle est-il plus performant dans ce cas ?
+
+## [Quiz après le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## Révision et auto-apprentissage
+
+Dans cette leçon, vous avez appris à entraîner, déployer et consommer un modèle pour prédire le risque d'insuffisance cardiaque de manière Low code/No code dans le cloud. Si vous ne l'avez pas encore fait, plongez plus profondément dans les explications du modèle générées par AutoML pour les meilleurs modèles et essayez de comprendre pourquoi le meilleur modèle est meilleur que les autres.
+
+Vous pouvez aller plus loin dans AutoML Low code/No code en lisant cette [documentation](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+## Devoir
+
+[Projet de Data Science Low code/No code sur Azure ML](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/fr/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..25552b5f
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# Projet de Data Science Low code/No code sur Azure ML
+
+## Instructions
+
+Nous avons vu comment utiliser la plateforme Azure ML pour entraîner, déployer et consommer un modèle de manière Low code/No code. Maintenant, cherchez des données que vous pourriez utiliser pour entraîner un autre modèle, le déployer et le consommer. Vous pouvez rechercher des ensembles de données sur [Kaggle](https://kaggle.com) et [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+## Grille d'évaluation
+
+| Exemplaire | Adéquat | À améliorer |
+|------------|---------|-------------|
+|Lors du téléchargement des données, vous avez pris soin de modifier le type des caractéristiques si nécessaire. Vous avez également nettoyé les données si besoin. Vous avez effectué un entraînement sur un ensemble de données via AutoML et vérifié les explications du modèle. Vous avez déployé le meilleur modèle et vous avez réussi à le consommer. | Lors du téléchargement des données, vous avez pris soin de modifier le type des caractéristiques si nécessaire. Vous avez effectué un entraînement sur un ensemble de données via AutoML, déployé le meilleur modèle et réussi à le consommer. | Vous avez déployé le meilleur modèle entraîné par AutoML et réussi à le consommer. |
+
+**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/fr/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/fr/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..d7f73ed2
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,310 @@
+
+# Data Science dans le Cloud : La méthode "Azure ML SDK"
+
+| ](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| Data Science dans le Cloud : Azure ML SDK - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Table des matières :
+
+- [Data Science dans le Cloud : La méthode "Azure ML SDK"](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [Quiz avant le cours](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. Introduction](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 Qu'est-ce que l'Azure ML SDK ?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 Projet de prédiction d'insuffisance cardiaque et introduction au jeu de données](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. Entraîner un modèle avec l'Azure ML SDK](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 Créer un espace de travail Azure ML](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 Créer une instance de calcul](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 Charger le jeu de données](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 Créer des notebooks](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 Entraîner un modèle](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 Configurer l'espace de travail, l'expérience, le cluster de calcul et le jeu de données](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 Configuration AutoML et entraînement](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. Déploiement du modèle et consommation de l'endpoint avec l'Azure ML SDK](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 Sauvegarder le meilleur modèle](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 Déploiement du modèle](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 Consommation de l'endpoint](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 Défi](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [Quiz après le cours](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [Révision et auto-apprentissage](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [Devoir](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [Quiz avant le cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. Introduction
+
+### 1.1 Qu'est-ce que l'Azure ML SDK ?
+
+Les data scientists et les développeurs en IA utilisent le SDK Azure Machine Learning pour créer et exécuter des workflows de machine learning avec le service Azure Machine Learning. Vous pouvez interagir avec le service dans n'importe quel environnement Python, y compris Jupyter Notebooks, Visual Studio Code ou votre IDE Python préféré.
+
+Les principales fonctionnalités du SDK incluent :
+
+- Explorer, préparer et gérer le cycle de vie de vos jeux de données utilisés dans les expériences de machine learning.
+- Gérer les ressources cloud pour surveiller, enregistrer et organiser vos expériences de machine learning.
+- Entraîner des modèles localement ou en utilisant des ressources cloud, y compris l'entraînement accéléré par GPU.
+- Utiliser le machine learning automatisé, qui accepte des paramètres de configuration et des données d'entraînement. Il itère automatiquement sur les algorithmes et les réglages des hyperparamètres pour trouver le meilleur modèle pour effectuer des prédictions.
+- Déployer des services web pour transformer vos modèles entraînés en services RESTful consommables dans n'importe quelle application.
+
+[En savoir plus sur le SDK Azure Machine Learning](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+Dans la [leçon précédente](../18-Low-Code/README.md), nous avons vu comment entraîner, déployer et consommer un modèle de manière Low code/No code. Nous avons utilisé le jeu de données sur l'insuffisance cardiaque pour générer un modèle de prédiction. Dans cette leçon, nous allons faire exactement la même chose, mais en utilisant le SDK Azure Machine Learning.
+
+
+
+### 1.2 Projet de prédiction d'insuffisance cardiaque et introduction au jeu de données
+
+Consultez [ici](../18-Low-Code/README.md) l'introduction au projet de prédiction d'insuffisance cardiaque et au jeu de données.
+
+## 2. Entraîner un modèle avec l'Azure ML SDK
+### 2.1 Créer un espace de travail Azure ML
+
+Pour simplifier, nous allons travailler sur un notebook Jupyter. Cela suppose que vous avez déjà un espace de travail et une instance de calcul. Si vous avez déjà un espace de travail, vous pouvez directement passer à la section 2.3 Création de notebook.
+
+Sinon, veuillez suivre les instructions de la section **2.1 Créer un espace de travail Azure ML** dans la [leçon précédente](../18-Low-Code/README.md) pour créer un espace de travail.
+
+### 2.2 Créer une instance de calcul
+
+Dans l'[espace de travail Azure ML](https://ml.azure.com/) que nous avons créé précédemment, allez dans le menu de calcul et vous verrez les différentes ressources de calcul disponibles.
+
+
+
+Créons une instance de calcul pour provisionner un notebook Jupyter.
+1. Cliquez sur le bouton + Nouveau.
+2. Donnez un nom à votre instance de calcul.
+3. Choisissez vos options : CPU ou GPU, taille de la VM et nombre de cœurs.
+4. Cliquez sur le bouton Créer.
+
+Félicitations, vous venez de créer une instance de calcul ! Nous utiliserons cette instance de calcul pour créer un notebook dans la section [Création de notebooks](../../../../5-Data-Science-In-Cloud/19-Azure).
+
+### 2.3 Charger le jeu de données
+Consultez la [leçon précédente](../18-Low-Code/README.md) dans la section **2.3 Charger le jeu de données** si vous n'avez pas encore téléchargé le jeu de données.
+
+### 2.4 Créer des notebooks
+
+> **_NOTE:_** Pour l'étape suivante, vous pouvez soit créer un nouveau notebook à partir de zéro, soit télécharger le [notebook que nous avons créé](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb) dans votre Azure ML Studio. Pour le télécharger, cliquez simplement sur le menu "Notebook" et téléchargez le notebook.
+
+Les notebooks sont une partie très importante du processus de data science. Ils peuvent être utilisés pour effectuer une analyse exploratoire des données (EDA), appeler un cluster de calcul pour entraîner un modèle, ou appeler un cluster d'inférence pour déployer un endpoint.
+
+Pour créer un notebook, nous avons besoin d'un nœud de calcul qui sert l'instance de notebook Jupyter. Retournez à l'[espace de travail Azure ML](https://ml.azure.com/) et cliquez sur Instances de calcul. Dans la liste des instances de calcul, vous devriez voir l'[instance de calcul que nous avons créée précédemment](../../../../5-Data-Science-In-Cloud/19-Azure).
+
+1. Dans la section Applications, cliquez sur l'option Jupyter.
+2. Cochez la case "Oui, je comprends" et cliquez sur le bouton Continuer.
+
+3. Cela devrait ouvrir un nouvel onglet de navigateur avec votre instance de notebook Jupyter comme suit. Cliquez sur le bouton "Nouveau" pour créer un notebook.
+
+
+
+Maintenant que nous avons un notebook, nous pouvons commencer à entraîner le modèle avec Azure ML SDK.
+
+### 2.5 Entraîner un modèle
+
+Tout d'abord, si vous avez un doute, consultez la [documentation Azure ML SDK](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). Elle contient toutes les informations nécessaires pour comprendre les modules que nous allons voir dans cette leçon.
+
+#### 2.5.1 Configurer l'espace de travail, l'expérience, le cluster de calcul et le jeu de données
+
+Vous devez charger l'`espace de travail` à partir du fichier de configuration en utilisant le code suivant :
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+Cela retourne un objet de type `Workspace` qui représente l'espace de travail. Ensuite, vous devez créer une `expérience` en utilisant le code suivant :
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+Pour obtenir ou créer une expérience à partir d'un espace de travail, vous demandez l'expérience en utilisant son nom. Le nom de l'expérience doit comporter entre 3 et 36 caractères, commencer par une lettre ou un chiffre, et ne contenir que des lettres, des chiffres, des underscores et des tirets. Si l'expérience n'est pas trouvée dans l'espace de travail, une nouvelle expérience est créée.
+
+Maintenant, vous devez créer un cluster de calcul pour l'entraînement en utilisant le code suivant. Notez que cette étape peut prendre quelques minutes.
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+Vous pouvez obtenir le jeu de données à partir de l'espace de travail en utilisant le nom du jeu de données de la manière suivante :
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+#### 2.5.2 Configuration AutoML et entraînement
+
+Pour configurer AutoML, utilisez la classe [AutoMLConfig](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+Comme décrit dans la documentation, il existe de nombreux paramètres avec lesquels vous pouvez jouer. Pour ce projet, nous utiliserons les paramètres suivants :
+
+- `experiment_timeout_minutes` : Durée maximale (en minutes) pendant laquelle l'expérience est autorisée à s'exécuter avant d'être automatiquement arrêtée et que les résultats soient automatiquement disponibles.
+- `max_concurrent_iterations` : Nombre maximal d'itérations d'entraînement simultanées autorisées pour l'expérience.
+- `primary_metric` : Métrique principale utilisée pour déterminer l'état de l'expérience.
+- `compute_target` : La cible de calcul Azure Machine Learning pour exécuter l'expérience de machine learning automatisé.
+- `task` : Type de tâche à exécuter. Les valeurs peuvent être 'classification', 'régression' ou 'prévision' selon le type de problème de machine learning automatisé à résoudre.
+- `training_data` : Les données d'entraînement à utiliser dans l'expérience. Elles doivent contenir à la fois les caractéristiques d'entraînement et une colonne d'étiquettes (optionnellement une colonne de poids d'échantillon).
+- `label_column_name` : Le nom de la colonne d'étiquettes.
+- `path` : Chemin complet vers le dossier du projet Azure Machine Learning.
+- `enable_early_stopping` : Indique si l'arrêt anticipé doit être activé si le score ne s'améliore pas à court terme.
+- `featurization` : Indicateur pour savoir si l'étape de featurisation doit être effectuée automatiquement ou non, ou si une featurisation personnalisée doit être utilisée.
+- `debug_log` : Fichier journal pour écrire les informations de débogage.
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+Maintenant que vous avez configuré votre AutoML, vous pouvez entraîner le modèle en utilisant le code suivant. Cette étape peut prendre jusqu'à une heure selon la taille de votre cluster.
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+Vous pouvez exécuter le widget RunDetails pour afficher les différentes expériences.
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+## 3. Déploiement du modèle et consommation de l'endpoint avec l'Azure ML SDK
+
+### 3.1 Sauvegarder le meilleur modèle
+
+L'objet `remote_run` est de type [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). Cet objet contient la méthode `get_output()` qui retourne la meilleure exécution et le modèle ajusté correspondant.
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+Vous pouvez voir les paramètres utilisés pour le meilleur modèle en imprimant simplement le modèle ajusté et voir les propriétés du meilleur modèle en utilisant la méthode [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+```python
+best_run.get_properties()
+```
+
+Ensuite, enregistrez le modèle avec la méthode [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+### 3.2 Déploiement du modèle
+
+Une fois le meilleur modèle sauvegardé, nous pouvons le déployer avec la classe [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109). InferenceConfig représente les paramètres de configuration pour un environnement personnalisé utilisé pour le déploiement. La classe [AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) représente un modèle de machine learning déployé en tant qu'endpoint de service web sur Azure Container Instances. Un service déployé est créé à partir d'un modèle, d'un script et de fichiers associés. Le service web résultant est un endpoint HTTP équilibré avec une API REST. Vous pouvez envoyer des données à cette API et recevoir la prédiction retournée par le modèle.
+
+Le modèle est déployé en utilisant la méthode [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+Cette étape devrait prendre quelques minutes.
+
+### 3.3 Consommation de l'endpoint
+
+Vous consommez votre endpoint en créant un exemple d'entrée :
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+Et ensuite, vous pouvez envoyer cet exemple d'entrée à votre modèle pour obtenir une prédiction :
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+Cela devrait produire `'{"result": [false]}'`. Cela signifie que les données du patient que nous avons envoyées à l'endpoint ont généré la prédiction `false`, ce qui indique que cette personne n'est probablement pas susceptible de faire une crise cardiaque.
+
+Félicitations ! Vous venez d'utiliser le modèle déployé et entraîné sur Azure ML avec le SDK Azure ML !
+
+> **_NOTE:_** Une fois le projet terminé, n'oubliez pas de supprimer toutes les ressources.
+
+## 🚀 Défi
+
+Il y a beaucoup d'autres choses que vous pouvez faire avec le SDK, mais malheureusement, nous ne pouvons pas tout couvrir dans cette leçon. Bonne nouvelle, apprendre à parcourir la documentation du SDK peut vous mener loin en autonomie. Consultez la documentation du SDK Azure ML et trouvez la classe `Pipeline` qui vous permet de créer des pipelines. Un Pipeline est une collection d'étapes pouvant être exécutées comme un workflow.
+
+**ASTUCE :** Rendez-vous sur la [documentation du SDK](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) et tapez des mots-clés dans la barre de recherche comme "Pipeline". Vous devriez trouver la classe `azureml.pipeline.core.Pipeline` dans les résultats de recherche.
+
+## [Quiz post-cours](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## Révision et auto-apprentissage
+
+Dans cette leçon, vous avez appris à entraîner, déployer et utiliser un modèle pour prédire le risque d'insuffisance cardiaque avec le SDK Azure ML dans le cloud. Consultez cette [documentation](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) pour plus d'informations sur le SDK Azure ML. Essayez de créer votre propre modèle avec le SDK Azure ML.
+
+## Devoir
+
+[Projet de science des données avec le SDK Azure ML](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/fr/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..1c321c68
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# Projet de Data Science avec Azure ML SDK
+
+## Instructions
+
+Nous avons vu comment utiliser la plateforme Azure ML pour entraîner, déployer et consommer un modèle avec Azure ML SDK. Maintenant, cherchez des données que vous pourriez utiliser pour entraîner un autre modèle, le déployer et le consommer. Vous pouvez rechercher des ensembles de données sur [Kaggle](https://kaggle.com) et [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109).
+
+## Critères d'évaluation
+
+| Exemplaire | Adéquat | À améliorer |
+|------------|---------|-------------|
+|Lors de la configuration AutoML, vous avez consulté la documentation SDK pour voir quels paramètres vous pouviez utiliser. Vous avez effectué un entraînement sur un ensemble de données via AutoML en utilisant Azure ML SDK, et vous avez vérifié les explications du modèle. Vous avez déployé le meilleur modèle et vous avez pu le consommer via Azure ML SDK. | Vous avez effectué un entraînement sur un ensemble de données via AutoML en utilisant Azure ML SDK, et vous avez vérifié les explications du modèle. Vous avez déployé le meilleur modèle et vous avez pu le consommer via Azure ML SDK. | Vous avez effectué un entraînement sur un ensemble de données via AutoML en utilisant Azure ML SDK. Vous avez déployé le meilleur modèle et vous avez pu le consommer via Azure ML SDK. |
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de faire appel à une traduction humaine professionnelle. Nous déclinons toute responsabilité en cas de malentendus ou d'interprétations erronées résultant de l'utilisation de cette traduction.
\ No newline at end of file
diff --git a/translations/fr/5-Data-Science-In-Cloud/README.md b/translations/fr/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..1b17867f
--- /dev/null
+++ b/translations/fr/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,33 @@
+
+# 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
+
+1. [Pourquoi utiliser le Cloud pour la Data Science ?](17-Introduction/README.md)
+2. [La Data Science dans le Cloud : L'approche "Low code/No code"](18-Low-Code/README.md)
+3. [La Data Science dans le Cloud : L'approche "Azure ML SDK"](19-Azure/README.md)
+
+### Crédits
+Ces leçons ont été écrites avec ☁️ et 💕 par [Maud Levy](https://twitter.com/maudstweets) et [Tiffany Souterre](https://twitter.com/TiffanySouterre)
+
+Les données pour le projet de prédiction de l'insuffisance cardiaque proviennent de [
+Larxel](https://www.kaggle.com/andrewmvd) sur [Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data). Elles sont sous licence [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)
+
+**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/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
new file mode 100644
index 00000000..8b7ca478
--- /dev/null
+++ b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# La science des données dans le monde réel
+
+|  ](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| La science des données dans le monde réel - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Nous sommes presque à la fin de ce parcours d'apprentissage !
+
+Nous avons commencé par définir la science des données et l'éthique, exploré divers outils et techniques pour l'analyse et la visualisation des données, passé en revue le cycle de vie de la science des données, et examiné comment étendre et automatiser les flux de travail de la science des données grâce aux services de cloud computing. Vous vous demandez probablement : _"Comment appliquer concrètement tout cela dans des contextes réels ?"_
+
+Dans cette leçon, nous allons explorer les applications réelles de la science des données dans l'industrie et plonger dans des exemples spécifiques liés à la recherche, aux humanités numériques et à la durabilité. Nous examinerons des opportunités de projets étudiants et conclurons avec des ressources utiles pour continuer votre parcours d'apprentissage !
+
+## Quiz avant la leçon
+
+[Quiz avant la leçon](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## Science des données + Industrie
+
+Grâce à la démocratisation de l'IA, les développeurs trouvent désormais plus facile de concevoir et d'intégrer des prises de décision basées sur l'IA et des insights basés sur les données dans les expériences utilisateur et les flux de travail de développement. Voici quelques exemples de l'application de la science des données dans des contextes réels au sein de l'industrie :
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends/) a utilisé la science des données pour corréler les termes de recherche avec les tendances de la grippe. Bien que l'approche ait eu des défauts, elle a sensibilisé aux possibilités (et aux défis) des prédictions de santé basées sur les données.
+
+ * [Prédictions de routage UPS](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - explique comment UPS utilise la science des données et l'apprentissage automatique pour prédire les itinéraires optimaux de livraison, en tenant compte des conditions météorologiques, des schémas de trafic, des délais de livraison, et plus encore.
+
+ * [Visualisation des itinéraires des taxis de NYC](http://chriswhong.github.io/nyctaxi/) - les données recueillies grâce aux [lois sur la liberté d'information](https://chriswhong.com/open-data/foil_nyc_taxi/) ont permis de visualiser une journée dans la vie des taxis de NYC, nous aidant à comprendre comment ils naviguent dans la ville animée, l'argent qu'ils gagnent, et la durée des trajets sur une période de 24 heures.
+
+ * [Uber Data Science Workbench](https://eng.uber.com/dsw/) - utilise les données (sur les lieux de prise en charge et de dépose, la durée des trajets, les itinéraires préférés, etc.) recueillies à partir de millions de trajets Uber *quotidiennement* pour construire un outil d'analyse des données permettant de prendre des décisions sur les prix, la sécurité, la détection des fraudes et la navigation.
+
+ * [Analyse sportive](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - se concentre sur l'_analyse prédictive_ (analyse des équipes et des joueurs - pensez à [Moneyball](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/) - et gestion des fans) et la _visualisation des données_ (tableaux de bord des équipes et des fans, jeux, etc.) avec des applications comme le recrutement de talents, les paris sportifs et la gestion des inventaires/lieux.
+
+ * [Science des données dans la banque](https://data-flair.training/blogs/data-science-in-banking/) - met en évidence la valeur de la science des données dans l'industrie financière avec des applications allant de la modélisation des risques et la détection des fraudes, à la segmentation des clients, la prédiction en temps réel et les systèmes de recommandation. L'analyse prédictive alimente également des mesures critiques comme les [scores de crédit](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit).
+
+ * [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 Amazing Data Science Applications ](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.
+
+## Science des données + Recherche
+
+|  ](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| Science des données & Recherche - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Alors que les applications réelles se concentrent souvent sur des cas d'utilisation industriels à grande échelle, les applications et projets de _recherche_ peuvent être utiles sous deux perspectives :
+
+* _opportunités d'innovation_ - explorer le prototypage rapide de concepts avancés et tester des expériences utilisateur pour des applications de prochaine génération.
+* _défis de déploiement_ - enquêter sur les dommages potentiels ou les conséquences involontaires des technologies de science des données dans des contextes réels.
+
+Pour les étudiants, ces projets de recherche peuvent offrir des opportunités d'apprentissage et de collaboration qui améliorent leur compréhension du sujet, tout en élargissant leur sensibilisation et leur engagement avec des personnes ou des équipes travaillant dans des domaines d'intérêt. À quoi ressemblent ces projets de recherche et comment peuvent-ils avoir un impact ?
+
+Prenons un exemple - l'[étude MIT Gender Shades](http://gendershades.org/overview.html) de Joy Buolamwini (MIT Media Labs) avec un [article de recherche phare](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf) co-écrit avec Timnit Gebru (alors chez Microsoft Research) qui se concentrait sur :
+
+ * **Quoi :** L'objectif du projet de recherche était d'_évaluer les biais présents dans les algorithmes et ensembles de données d'analyse faciale automatisée_ en fonction du genre et du type de peau.
+ * **Pourquoi :** L'analyse faciale est utilisée dans des domaines comme les forces de l'ordre, la sécurité aéroportuaire, les systèmes de recrutement, et plus encore - des contextes où des classifications inexactes (par exemple, dues à des biais) peuvent causer des dommages économiques et sociaux aux individus ou groupes concernés. Comprendre (et éliminer ou atténuer) les biais est essentiel pour garantir l'équité dans l'utilisation.
+ * **Comment :** Les chercheurs ont constaté que les benchmarks existants utilisaient principalement des sujets à peau claire, et ont créé un nouvel ensemble de données (plus de 1000 images) _plus équilibré_ en termes de genre et de type de peau. Cet ensemble de données a été utilisé pour évaluer la précision de trois produits de classification de genre (de Microsoft, IBM et Face++).
+
+Les résultats ont montré que, bien que la précision globale de la classification soit bonne, il y avait une différence notable dans les taux d'erreur entre les différents sous-groupes - avec un **mauvais genre** plus élevé pour les femmes ou les personnes à peau foncée, ce qui indique un biais.
+
+**Principaux résultats :** Sensibilisation accrue au fait que la science des données nécessite des _ensembles de données représentatifs_ (sous-groupes équilibrés) et des _équipes inclusives_ (origines diverses) pour reconnaître et éliminer ou atténuer ces biais plus tôt dans les solutions d'IA. Les efforts de recherche comme celui-ci sont également essentiels pour que de nombreuses organisations définissent des principes et des pratiques pour une _IA responsable_ afin d'améliorer l'équité dans leurs produits et processus d'IA.
+
+**Vous voulez en savoir plus sur les efforts de recherche pertinents chez Microsoft ?**
+
+* Consultez les [projets de recherche Microsoft](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project) sur l'intelligence artificielle.
+* Explorez les projets étudiants de la [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/).
+* Découvrez le projet [Fairlearn](https://fairlearn.org/) et les initiatives [IA responsable](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6).
+
+## Science des données + Humanités
+
+|  ](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| Science des données & Humanités numériques - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+Les humanités numériques [ont été définies](https://digitalhumanities.stanford.edu/about-dh-stanford) comme "une collection de pratiques et d'approches combinant des méthodes computationnelles avec une enquête humaniste". Les [projets de Stanford](https://digitalhumanities.stanford.edu/projects) comme _"rebooting history"_ et _"poetic thinking"_ illustrent le lien entre les [humanités numériques et la science des données](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science) - en mettant l'accent sur des techniques comme l'analyse de réseau, la visualisation de l'information, l'analyse spatiale et textuelle qui peuvent nous aider à revisiter des ensembles de données historiques et littéraires pour en tirer de nouvelles perspectives.
+
+*Vous voulez explorer et étendre un projet dans ce domaine ?*
+
+Découvrez ["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671) - un excellent exemple de [Jen Looper](https://twitter.com/jenlooper) qui pose la question de savoir comment nous pouvons utiliser la science des données pour revisiter une poésie familière et réévaluer sa signification et les contributions de son auteur dans de nouveaux contextes. Par exemple, _pouvons-nous prédire la saison dans laquelle un poème a été écrit en analysant son ton ou son sentiment_ - et qu'est-ce que cela nous dit sur l'état d'esprit de l'auteur pendant cette période ?
+
+Pour répondre à cette question, nous suivons les étapes du cycle de vie de la science des données :
+ * [`Acquisition des données`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - pour collecter un ensemble de données pertinent pour l'analyse. Les options incluent l'utilisation d'une API (par exemple, [Poetry DB API](https://poetrydb.org/index.html)) ou le scraping de pages web (par exemple, [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm)) avec des outils comme [Scrapy](https://scrapy.org/).
+ * [`Nettoyage des données`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - explique comment le texte peut être formaté, assaini et simplifié à l'aide d'outils de base comme Visual Studio Code et Microsoft Excel.
+ * [`Analyse des données`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - explique comment nous pouvons maintenant importer l'ensemble de données dans des "Notebooks" pour analyse à l'aide de bibliothèques Python (comme pandas, numpy et matplotlib) pour organiser et visualiser les données.
+ * [`Analyse de sentiment`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - explique comment nous pouvons intégrer des services cloud comme Text Analytics, en utilisant des outils low-code comme [Power Automate](https://flow.microsoft.com/en-us/) pour des flux de travail automatisés de traitement des données.
+
+En utilisant ce flux de travail, nous pouvons explorer les impacts saisonniers sur le sentiment des poèmes, et nous aider à façonner nos propres perspectives sur l'auteur. Essayez-le vous-même - puis étendez le notebook pour poser d'autres questions ou visualiser les données de nouvelles manières !
+
+> Vous pouvez utiliser certains des outils du [Digital Humanities toolkit](https://github.com/Digital-Humanities-Toolkit) pour poursuivre ces pistes d'enquête.
+
+## Science des données + Durabilité
+
+|  ](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| Science des données & Durabilité - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+L'[Agenda 2030 pour le développement durable](https://sdgs.un.org/2030agenda) - adopté par tous les membres des Nations Unies en 2015 - identifie 17 objectifs, dont certains se concentrent sur **protéger la planète** contre la dégradation et l'impact du changement climatique. L'initiative [Microsoft Sustainability](https://www.microsoft.com/en-us/sustainability) soutient ces objectifs en explorant les moyens par lesquels les solutions technologiques peuvent contribuer à construire des futurs plus durables avec un [focus sur 4 objectifs](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh) - être négatif en carbone, positif en eau, zéro déchet, et biodiversifié d'ici 2030.
+
+Pour relever ces défis de manière évolutive et rapide, il faut une réflexion à l'échelle du cloud - et des données à grande échelle. L'initiative [Planetary Computer](https://planetarycomputer.microsoft.com/) fournit 4 composants pour aider les scientifiques des données et les développeurs dans cet effort :
+
+ * [Catalogue de données](https://planetarycomputer.microsoft.com/catalog) - avec des pétaoctets de données sur les systèmes terrestres (gratuites et hébergées sur Azure).
+ * [API Planetary](https://planetarycomputer.microsoft.com/docs/reference/stac/) - pour aider les utilisateurs à rechercher des données pertinentes dans l'espace et le temps.
+ * [Hub](https://planetarycomputer.microsoft.com/docs/overview/environment/) - environnement géré pour les scientifiques afin de traiter des ensembles de données géospatiales massifs.
+ * [Applications](https://planetarycomputer.microsoft.com/applications) - vitrine des cas d'utilisation et des outils pour des insights sur la durabilité.
+**Le projet Planetary Computer est actuellement en aperçu (à partir de septembre 2021)** - voici comment vous pouvez commencer à contribuer à des solutions durables en utilisant la science des données.
+
+* [Demandez un accès](https://planetarycomputer.microsoft.com/account/request) pour commencer à explorer et à vous connecter avec vos pairs.
+* [Explorez la documentation](https://planetarycomputer.microsoft.com/docs/overview/about) pour comprendre les ensembles de données et les API pris en charge.
+* Découvrez des applications comme [Ecosystem Monitoring](https://analytics-lab.org/ecosystemmonitoring/) pour trouver des idées d'applications.
+
+Réfléchissez à la manière dont vous pouvez utiliser la visualisation de données pour révéler ou amplifier des informations pertinentes sur des sujets comme le changement climatique et la déforestation. Ou pensez à la manière dont ces informations peuvent être utilisées pour créer de nouvelles expériences utilisateur qui motivent des changements de comportement pour un mode de vie plus durable.
+
+## Science des données + Étudiants
+
+Nous avons parlé d'applications concrètes dans l'industrie et la recherche, et exploré des exemples d'applications de la science des données dans les humanités numériques et la durabilité. Alors, comment pouvez-vous développer vos compétences et partager votre expertise en tant que débutants en science des données ?
+
+Voici quelques exemples de projets étudiants en science des données pour vous inspirer.
+
+ * [École d'été en science des données de MSR](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects) avec des [projets](https://github.com/msr-ds3) sur GitHub explorant des sujets comme :
+ - [Biais racial dans l'utilisation de la force par la police](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [Fiabilité du système de métro de NYC](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+ * [Numérisation de la culture matérielle : Exploration des distributions socio-économiques à Sirkap](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - par [Ornella Altunyan](https://twitter.com/ornelladotcom) et son équipe à Claremont, utilisant [ArcGIS StoryMaps](https://storymaps.arcgis.com/).
+
+## 🚀 Défi
+
+Recherchez des articles qui recommandent des projets de science des données adaptés aux débutants - comme [ces 50 domaines thématiques](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/), [ces 21 idées de projets](https://www.intellspot.com/data-science-project-ideas) ou [ces 16 projets avec code source](https://data-flair.training/blogs/data-science-project-ideas/) que vous pouvez déconstruire et remixer. Et n'oubliez pas de bloguer sur vos parcours d'apprentissage et de partager vos idées avec nous tous.
+
+## Quiz après la conférence
+
+[Quiz après la conférence](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## Révision & Auto-étude
+
+Vous voulez explorer davantage de cas d'utilisation ? Voici quelques articles pertinents :
+ * [17 Applications et exemples de science des données](https://builtin.com/data-science/data-science-applications-examples) - Juillet 2021
+ * [11 Applications époustouflantes de la science des données dans le monde réel](https://myblindbird.com/data-science-applications-real-world/) - Mai 2021
+ * [La science des données dans le monde réel](https://towardsdatascience.com/data-science-in-the-real-world/home) - Collection d'articles
+ * La science des données dans : [l'éducation](https://data-flair.training/blogs/data-science-in-education/), [l'agriculture](https://data-flair.training/blogs/data-science-in-agriculture/), [la finance](https://data-flair.training/blogs/data-science-in-finance/), [le cinéma](https://data-flair.training/blogs/data-science-at-movies/) et plus encore.
+
+## Devoir
+
+[Explorez un ensemble de données de Planetary Computer](assignment.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/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
new file mode 100644
index 00000000..1d4db887
--- /dev/null
+++ b/translations/fr/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# Explorer un Jeu de Données du Planetary Computer
+
+## Instructions
+
+Dans cette leçon, nous avons abordé divers domaines d'application de la science des données, avec des études approfondies sur des exemples liés à la recherche, la durabilité et les sciences humaines numériques. Dans cet exercice, vous explorerez l'un de ces exemples plus en détail et appliquerez certaines de vos connaissances sur les visualisations et analyses de données pour tirer des enseignements sur les données liées à la durabilité.
+
+Le projet [Planetary Computer](https://planetarycomputer.microsoft.com/) propose des jeux de données et des API accessibles avec un compte - demandez-en un si vous souhaitez essayer l'étape bonus de l'exercice. Le site propose également une fonctionnalité [Explorer](https://planetarycomputer.microsoft.com/explore) que vous pouvez utiliser sans créer de compte.
+
+`Étapes :`
+L'interface Explorer (illustrée dans la capture d'écran ci-dessous) vous permet de sélectionner un jeu de données (parmi les options proposées), une requête prédéfinie (pour filtrer les données) et une option de rendu (pour créer une visualisation pertinente). Dans cet exercice, votre tâche est de :
+
+ 1. Lire la [documentation Explorer](https://planetarycomputer.microsoft.com/docs/overview/explorer/) - comprendre les options.
+ 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 :
+ * Quelles _caractéristiques_ le jeu de données possède-t-il ?
+ * Quels _enseignements_ ou résultats la visualisation fournit-elle ?
+ * Quelles sont les _implications_ de ces enseignements pour les objectifs de durabilité du projet ?
+ * Quelles sont les _limites_ de la visualisation (c'est-à-dire, quelles informations n'avez-vous pas obtenues) ?
+ * Si vous pouviez obtenir les données brutes, quelles _visualisations alternatives_ créeriez-vous, et pourquoi ?
+
+`Points Bonus :`
+Demandez un compte - et connectez-vous une fois accepté.
+ * Utilisez l'option _Launch Hub_ pour ouvrir les données brutes dans un Notebook.
+ * Explorez les données de manière interactive et implémentez les visualisations alternatives que vous avez imaginées.
+ * Analysez maintenant vos visualisations personnalisées - avez-vous pu tirer les enseignements qui vous manquaient auparavant ?
+
+## Grille d'évaluation
+
+Exemplaire | Adéquat | À améliorer
+--- | --- | -- |
+Les cinq questions principales ont été répondues. L'étudiant a clairement identifié comment les visualisations actuelles et alternatives pourraient fournir des enseignements sur les objectifs ou résultats de durabilité. | L'étudiant a répondu en détail à au moins les 3 premières questions, montrant qu'il a eu une expérience pratique avec l'Explorer. | L'étudiant n'a pas répondu à plusieurs questions ou a fourni des réponses insuffisantes, indiquant qu'aucune tentative significative n'a été faite pour le projet. |
+
+**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/fr/6-Data-Science-In-Wild/README.md b/translations/fr/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..bc0d2583
--- /dev/null
+++ b/translations/fr/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# La Data Science dans la Nature
+
+Applications concrètes de la data science dans divers secteurs.
+
+### Sujets
+
+1. [La Data Science dans le Monde Réel](20-Real-World-Examples/README.md)
+
+### Crédits
+
+Écrit avec ❤️ par [Nitya Narasimhan](https://twitter.com/nitya)
+
+**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/fr/CODE_OF_CONDUCT.md b/translations/fr/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..81cd4e6c
--- /dev/null
+++ b/translations/fr/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# Code de conduite Open Source de Microsoft
+
+Ce projet a adopté le [Code de conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/).
+
+Ressources :
+
+- [Code de conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/)
+- [FAQ sur le Code de conduite de Microsoft](https://opensource.microsoft.com/codeofconduct/faq/)
+- Contactez [opencode@microsoft.com](mailto:opencode@microsoft.com) pour toute question ou préoccupation
+
+**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/fr/CONTRIBUTING.md b/translations/fr/CONTRIBUTING.md
new file mode 100644
index 00000000..fc1f2760
--- /dev/null
+++ b/translations/fr/CONTRIBUTING.md
@@ -0,0 +1,21 @@
+
+# Contribuer
+
+Ce projet accueille avec plaisir les contributions et suggestions. La plupart des contributions nécessitent que vous acceptiez un Accord de Licence de Contributeur (CLA) déclarant que vous avez le droit, et que vous accordez effectivement, les droits nécessaires pour utiliser votre contribution. Pour plus de détails, visitez https://cla.microsoft.com.
+
+Lorsque vous soumettez une pull request, un CLA-bot déterminera automatiquement si vous devez fournir un CLA et annotera la PR en conséquence (par exemple, étiquette, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez à le faire qu'une seule fois pour tous les dépôts utilisant notre CLA.
+
+Ce projet a adopté le [Code de Conduite Open Source de Microsoft](https://opensource.microsoft.com/codeofconduct/).
+Pour plus d'informations, consultez la [FAQ sur le Code de Conduite](https://opensource.microsoft.com/codeofconduct/faq/)
+ou contactez [opencode@microsoft.com](mailto:opencode@microsoft.com) pour toute question ou commentaire supplémentaire.
+
+**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/fr/README.md b/translations/fr/README.md
new file mode 100644
index 00000000..b1f98be8
--- /dev/null
+++ b/translations/fr/README.md
@@ -0,0 +1,161 @@
+
+# Science des Données pour Débutants - Un Programme
+
+Azure Cloud Advocates chez Microsoft sont ravis de proposer un programme de 10 semaines et 20 leçons dédié à 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 tout en construisant, une méthode éprouvée pour ancrer de nouvelles compétences.
+
+**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 [Microsoft Student Ambassadors](https://studentambassadors.microsoft.com/) auteurs, relecteurs et contributeurs de contenu,** 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/)
+
+| ](./sketchnotes/00-Title.png)|
+|:---:|
+| Science des Données pour Débutants - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+## Annonce - Nouveau programme sur l'IA générative !
+
+Nous venons de publier un programme de 12 leçons sur l'IA générative. Venez apprendre des concepts tels que :
+
+- la création de prompts et l'ingénierie de prompts
+- la génération d'applications de texte et d'images
+- les applications de recherche
+
+Comme d'habitude, chaque leçon comprend des devoirs, des vérifications de connaissances et des défis.
+
+Découvrez-le ici :
+
+> https://aka.ms/genai-beginners
+
+# Êtes-vous étudiant ?
+
+Commencez avec les ressources suivantes :
+
+- [Page Hub Étudiant](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 nous mettons à jour 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.
+
+# Pour Commencer
+
+> **Enseignants** : nous avons [inclus quelques suggestions](for-teachers.md) sur la façon d'utiliser ce programme. Nous serions ravis de recevoir vos retours [dans notre forum de discussion](https://github.com/microsoft/Data-Science-For-Beginners/discussions) !
+
+> **[Étudiants](https://aka.ms/student-page)** : pour utiliser ce programme de manière autonome, clonez le dépôt entier et complétez les exercices par vous-même, en commençant par un quiz pré-lecture. Ensuite, lisez la leçon et complétez les autres activités. Essayez de créer les projets en comprenant les leçons plutôt qu'en copiant le code des solutions ; cependant, ce code est disponible dans les dossiers /solutions de chaque leçon orientée projet. Une autre idée serait de former un groupe d'étude avec des amis et de parcourir le contenu ensemble. Pour aller plus loin, nous recommandons [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
+
+## 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éé !
+
+## Pédagogie
+
+Nous avons choisi deux principes pédagogiques pour construire ce programme : s'assurer qu'il est basé sur des projets et qu'il inclut 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, les différentes façons 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.
+
+De plus, un quiz à faible enjeu avant une classe 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 programme a été conçu pour être flexible et amusant et peut être suivi en totalité 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), nos [Directives de Contribution](CONTRIBUTING.md), et nos [Directives de Traduction](TRANSLATIONS.md). Nous accueillons vos retours constructifs !
+
+## Chaque leçon comprend :
+
+- Un sketchnote optionnel
+- Une vidéo complémentaire optionnelle
+- Un quiz d'échauffement avant la leçon
+- Une leçon écrite
+- Pour les leçons basées sur des projets, des guides pas à pas pour construire le projet
+- Des vérifications de connaissances
+- Un défi
+- Des lectures complémentaires
+- Un devoir
+- Un quiz après la leçon
+
+> **Une note sur les quiz** : Tous les quiz sont contenus dans le dossier Quiz-App, pour un total de 40 quiz de trois questions chacun. Ils sont liés dans 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.
+
+## Leçons
+
+| ](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| Science des Données pour Débutants : Feuille de Route - _Sketchnote par [@nitya](https://twitter.com/nitya)_ |
+
+| Numéro de Leçon | Sujet | Regroupement des Leçons | Objectifs d'Apprentissage | Leçon Liée | Auteur |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | Définir la Science des Données | [Introduction](1-Introduction/README.md) | Apprenez les concepts de base de la science des données et comment elle est liée à l'intelligence artificielle, l'apprentissage automatique et les 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 de la 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 courantes. | [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) | Les techniques mathématiques de probabilité et de 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 | [Travailler avec les Données](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 langage 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 | [Travailler avec les Données](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 | [Travailler avec les Données](2-Working-With-Data/README.md) | Bases de l'utilisation de Python pour l'exploration des 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 | [Travailler avec les données](2-Working-With-Data/README.md) | Techniques pour nettoyer et transformer les données afin de gérer les défis liés aux 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 | [Visualisation des données](3-Data-Visualization/README.md) | Apprenez à utiliser Matplotlib pour visualiser des données sur les oiseaux 🦆 | [leçon](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | Visualiser les distributions de données | [Visualisation des données](3-Data-Visualization/README.md) | Visualiser des observations et des tendances dans un intervalle. | [leçon](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | Visualiser les proportions | [Visualisation des données](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 | [Visualisation des données](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 | [Visualisation des données](3-Data-Visualization/README.md) | Techniques et conseils pour rendre vos visualisations utiles pour résoudre 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 | [Cycle de vie](4-Data-Science-Lifecycle/README.md) | Introduction au cycle de vie de la science des données et à sa première étape : l'acquisition et l'extraction des données. | [leçon](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | Analyse | [Cycle de vie](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 | [Cycle de vie](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 de manière compréhensible pour 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 | [Données dans le cloud](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 | [Données dans le cloud](5-Data-Science-In-Cloud/README.md) | Entraîner des 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) et [Maud](https://twitter.com/maudstweets) |
+| 19 | Science des données dans le cloud | [Données dans le cloud](5-Data-Science-In-Cloud/README.md) | Déployer des 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 dans la nature | [Dans la nature](6-Data-Science-In-Wild/README.md) | Projets de science des données appliqués au monde réel. | [leçon](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+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 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 :
+
+1. Si c'est la première fois que vous utilisez un conteneur de développement, assurez-vous que votre système répond aux prérequis (par exemple, 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é :
+
+**Remarque** : En arrière-plan, 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. 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 :
+
+- Clonez 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, et essayez les fonctionnalités.
+
+## 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`.
+
+> Remarque, 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 kernel Python.
+
+## Besoin d'aide !
+
+Si vous souhaitez traduire tout ou une partie du programme, veuillez suivre notre guide [Traductions](TRANSLATIONS.md).
+
+## Autres programmes
+
+Notre équipe produit d'autres programmes ! Découvrez :
+
+- [IA générative pour les débutants](https://aka.ms/genai-beginners)
+- [IA générative pour les débutants .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [IA générative avec JavaScript](https://github.com/microsoft/generative-ai-with-javascript)
+- [IA générative avec Java](https://aka.ms/genaijava)
+- [IA pour les débutants](https://aka.ms/ai-beginners)
+- [Science des données pour les débutants](https://aka.ms/datascience-beginners)
+- [ML pour les débutants](https://aka.ms/ml-beginners)
+- [Cybersécurité pour les débutants](https://github.com/microsoft/Security-101)
+- [Développement Web pour les débutants](https://aka.ms/webdev-beginners)
+- [IoT pour les débutants](https://aka.ms/iot-beginners)
+- [Développement XR pour les débutants](https://github.com/microsoft/xr-development-for-beginners)
+- [Maîtriser GitHub Copilot pour la programmation en binôme](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [Maîtriser GitHub Copilot pour les développeurs C#/.NET](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [Choisissez votre propre aventure avec Copilot](https://github.com/microsoft/CopilotAdventures)
+
+**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/fr/SECURITY.md b/translations/fr/SECURITY.md
new file mode 100644
index 00000000..549fde8f
--- /dev/null
+++ b/translations/fr/SECURITY.md
@@ -0,0 +1,49 @@
+
+## Sécurité
+
+Microsoft prend très au sérieux la sécurité de ses produits logiciels et services, y compris tous les dépôts de code source gérés via nos organisations GitHub, qui incluent [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), et [nos organisations GitHub](https://opensource.microsoft.com/).
+
+Si vous pensez avoir identifié une vulnérabilité de sécurité dans un dépôt appartenant à Microsoft qui correspond à [la définition d'une vulnérabilité de sécurité de Microsoft](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), veuillez nous la signaler comme décrit ci-dessous.
+
+## Signalement des problèmes de sécurité
+
+**Veuillez ne pas signaler de vulnérabilités de sécurité via les issues publiques sur GitHub.**
+
+À la place, veuillez les signaler au Microsoft Security Response Center (MSRC) à l'adresse [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
+
+Si vous préférez soumettre sans vous connecter, envoyez un email à [secure@microsoft.com](mailto:secure@microsoft.com). Si possible, chiffrez votre message avec notre clé PGP ; vous pouvez la télécharger depuis la [page de clé PGP du Microsoft Security Response Center](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
+
+Vous devriez recevoir une réponse sous 24 heures. Si, pour une raison quelconque, vous ne recevez pas de réponse, veuillez nous recontacter par email pour vous assurer que nous avons bien reçu votre message initial. Des informations supplémentaires sont disponibles sur [microsoft.com/msrc](https://www.microsoft.com/msrc).
+
+Veuillez inclure les informations demandées ci-dessous (autant que possible) pour nous aider à mieux comprendre la nature et l'étendue du problème potentiel :
+
+ * Type de problème (par exemple, débordement de tampon, injection SQL, script intersite, etc.)
+ * Chemins complets des fichiers source liés à la manifestation du problème
+ * Emplacement du code source affecté (tag/branche/commit ou URL directe)
+ * Toute configuration spéciale requise pour reproduire le problème
+ * Instructions détaillées pour reproduire le problème
+ * Code de preuve de concept ou exploit (si possible)
+ * Impact du problème, y compris comment un attaquant pourrait exploiter le problème
+
+Ces informations nous aideront à traiter votre rapport plus rapidement.
+
+Si vous signalez dans le cadre d'un programme de récompense pour bugs, des rapports plus complets peuvent contribuer à une récompense plus élevée. Veuillez consulter notre page [Programme de récompense pour bugs de Microsoft](https://microsoft.com/msrc/bounty) pour plus de détails sur nos programmes actifs.
+
+## Langues préférées
+
+Nous préférons que toutes les communications soient en anglais.
+
+## Politique
+
+Microsoft suit le principe de la [Divulgation coordonnée des vulnérabilités](https://www.microsoft.com/en-us/msrc/cvd).
+
+**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 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.
\ No newline at end of file
diff --git a/translations/fr/SUPPORT.md b/translations/fr/SUPPORT.md
new file mode 100644
index 00000000..95508525
--- /dev/null
+++ b/translations/fr/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# Support
+## Comment signaler des problèmes et obtenir de l'aide
+
+Ce projet utilise GitHub Issues pour suivre les bugs et les demandes de fonctionnalités. Veuillez rechercher les problèmes existants avant d'en créer de nouveaux afin d'éviter les doublons. Pour signaler un nouveau problème, soumettez votre bug ou votre demande de fonctionnalité en tant que nouvel Issue.
+
+Pour toute aide ou question concernant l'utilisation de ce projet, créez un Issue.
+
+## Politique de support de Microsoft
+
+Le support pour ce dépôt se limite aux ressources mentionnées ci-dessus.
+
+**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/fr/docs/_sidebar.md b/translations/fr/docs/_sidebar.md
new file mode 100644
index 00000000..ebf19592
--- /dev/null
+++ b/translations/fr/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- Introduction
+ - [Définir la science des données](../1-Introduction/01-defining-data-science/README.md)
+ - [Éthique de la science des données](../1-Introduction/02-ethics/README.md)
+ - [Définir les données](../1-Introduction/03-defining-data/README.md)
+ - [Probabilité et statistiques](../1-Introduction/04-stats-and-probability/README.md)
+- Travailler avec les données
+ - [Bases de données relationnelles](../2-Working-With-Data/05-relational-databases/README.md)
+ - [Bases de données non relationnelles](../2-Working-With-Data/06-non-relational/README.md)
+ - [Python](../2-Working-With-Data/07-python/README.md)
+ - [Préparation des données](../2-Working-With-Data/08-data-preparation/README.md)
+- Visualisation des données
+ - [Visualiser les quantités](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [Visualiser les distributions](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [Visualiser les proportions](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [Visualiser les relations](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [Visualisations significatives](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- Cycle de vie de la science des données
+ - [Introduction](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [Analyse](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [Communication](../4-Data-Science-Lifecycle/16-communication/README.md)
+- Science des données dans le cloud
+ - [Introduction](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [Low Code](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- Science des données dans la nature
+ - [Science des données dans la nature](../6-Data-Science-In-Wild/README.md)
+
+**Avertissement** :
+Ce document a été traduit à l'aide du service de traduction automatique [Co-op Translator](https://github.com/Azure/co-op-translator). Bien que nous nous efforcions d'assurer l'exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d'origine doit être considéré comme la source faisant autorité. Pour des informations critiques, il est recommandé de 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/fr/for-teachers.md b/translations/fr/for-teachers.md
new file mode 100644
index 00000000..3d1eb8ae
--- /dev/null
+++ b/translations/fr/for-teachers.md
@@ -0,0 +1,76 @@
+
+## Pour les enseignants
+
+Souhaitez-vous utiliser ce programme dans votre classe ? N'hésitez pas !
+
+En fait, vous pouvez l'utiliser directement sur GitHub en utilisant GitHub Classroom.
+
+Pour ce faire, clonez ce dépôt. Vous devrez créer un dépôt pour chaque leçon, donc il faudra extraire chaque dossier dans un dépôt séparé. Ainsi, [GitHub Classroom](https://classroom.github.com/classrooms) pourra gérer chaque leçon individuellement.
+
+Ces [instructions complètes](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) vous donneront une idée de la manière de configurer votre classe.
+
+## Utiliser le dépôt tel quel
+
+Si vous souhaitez utiliser ce dépôt tel qu'il est actuellement, sans passer par GitHub Classroom, c'est également possible. Vous devrez communiquer avec vos étudiants pour leur indiquer quelle leçon suivre ensemble.
+
+Dans un format en ligne (Zoom, Teams ou autre), vous pourriez créer des salles de discussion pour les quiz et encadrer les étudiants afin de les préparer à apprendre. Ensuite, invitez les étudiants à participer aux quiz et à soumettre leurs réponses sous forme de "issues" à un moment donné. Vous pourriez faire de même avec les devoirs, si vous souhaitez que les étudiants travaillent de manière collaborative et ouverte.
+
+Si vous préférez un format plus privé, demandez à vos étudiants de cloner le programme, leçon par leçon, dans leurs propres dépôts GitHub privés, et donnez-vous accès. Ils pourront alors compléter les quiz et les devoirs de manière privée et vous les soumettre via des "issues" sur votre dépôt de classe.
+
+Il existe de nombreuses façons de faire fonctionner cela dans un format de classe en ligne. Faites-nous savoir ce qui fonctionne le mieux pour vous !
+
+## Inclus dans ce programme :
+
+20 leçons, 40 quiz et 20 devoirs. Des sketchnotes accompagnent les leçons pour les apprenants visuels. De nombreuses leçons sont disponibles en Python et en R et peuvent être réalisées à l'aide de notebooks Jupyter dans VS Code. Découvrez comment configurer votre classe pour utiliser cette pile technologique : https://code.visualstudio.com/docs/datascience/jupyter-notebooks.
+
+Tous les sketchnotes, y compris un poster grand format, se trouvent dans [ce dossier](../../sketchnotes).
+
+Le programme complet est disponible [en PDF](../../pdf/readme.pdf).
+
+Vous pouvez également exécuter ce programme comme un site web autonome, accessible hors ligne, en utilisant [Docsify](https://docsify.js.org/#/). [Installez Docsify](https://docsify.js.org/#/quickstart) sur votre machine locale, puis dans le dossier racine de votre copie locale de ce dépôt, tapez `docsify serve`. Le site web sera accessible sur le port 3000 de votre localhost : `localhost:3000`.
+
+Une version hors ligne du programme s'ouvrira comme une page web autonome : https://localhost:3000
+
+Les leçons sont regroupées en 6 parties :
+
+- 1 : Introduction
+ - 1 : Définir la science des données
+ - 2 : Éthique
+ - 3 : Définir les données
+ - 4 : Aperçu des probabilités et statistiques
+- 2 : Travailler avec les données
+ - 5 : Bases de données relationnelles
+ - 6 : Bases de données non relationnelles
+ - 7 : Python
+ - 8 : Préparation des données
+- 3 : Visualisation des données
+ - 9 : Visualisation des quantités
+ - 10 : Visualisation des distributions
+ - 11 : Visualisation des proportions
+ - 12 : Visualisation des relations
+ - 13 : Visualisations significatives
+- 4 : Cycle de vie de la science des données
+ - 14 : Introduction
+ - 15 : Analyse
+ - 16 : Communication
+- 5 : Science des données dans le cloud
+ - 17 : Introduction
+ - 18 : Options low-code
+ - 19 : Azure
+- 6 : Science des données dans la pratique
+ - 20 : Aperçu
+
+## Donnez-nous votre avis !
+
+Nous voulons que ce programme fonctionne pour vous et vos étudiants. Donnez-nous votre feedback sur les forums de discussion ! N'hésitez pas à créer un espace de classe sur les forums de discussion pour vos étudiants.
+
+**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/fr/quiz-app/README.md b/translations/fr/quiz-app/README.md
new file mode 100644
index 00000000..3a326628
--- /dev/null
+++ b/translations/fr/quiz-app/README.md
@@ -0,0 +1,137 @@
+
+# Quiz
+
+Ces quiz sont les quiz avant et après les cours du programme de science des données disponible sur https://aka.ms/datascience-beginners
+
+## Ajouter un ensemble de quiz traduit
+
+Ajoutez une traduction de quiz en créant des structures de quiz correspondantes dans les dossiers `assets/translations`. Les quiz originaux se trouvent dans `assets/translations/en`. Les quiz sont divisés en plusieurs groupes. Assurez-vous d'aligner la numérotation avec la section de quiz appropriée. Il y a un total de 40 quiz dans ce programme, avec une numérotation commençant à 0.
+
+Après avoir modifié les traductions, modifiez le fichier index.js dans le dossier de traduction pour importer tous les fichiers en suivant les conventions de `en`.
+
+Modifiez le fichier `index.js` dans `assets/translations` pour importer les nouveaux fichiers traduits.
+
+Ensuite, modifiez le menu déroulant dans `App.vue` de cette application pour ajouter votre langue. Faites correspondre l'abréviation localisée au nom du dossier de votre langue.
+
+Enfin, modifiez tous les liens de quiz dans les leçons traduites, si elles existent, pour inclure cette localisation comme paramètre de requête : `?loc=fr` par exemple.
+
+## Configuration du projet
+
+```
+npm install
+```
+
+### Compilation et rechargement à chaud pour le développement
+
+```
+npm run serve
+```
+
+### Compilation et minification pour la production
+
+```
+npm run build
+```
+
+### Analyse et correction des fichiers
+
+```
+npm run lint
+```
+
+### Personnaliser la configuration
+
+Voir [Référence de configuration](https://cli.vuejs.org/config/).
+
+Crédits : Merci à la version originale de cette application de quiz : https://github.com/arpan45/simple-quiz-vue
+
+## Déploiement sur Azure
+
+Voici un guide étape par étape pour vous aider à démarrer :
+
+1. Forker un dépôt GitHub
+Assurez-vous que le code de votre application web statique se trouve dans votre dépôt GitHub. Forkez ce dépôt.
+
+2. Créer une application web statique Azure
+- Créez un [compte Azure](http://azure.microsoft.com)
+- Accédez au [portail Azure](https://portal.azure.com)
+- Cliquez sur "Créer une ressource" et recherchez "Application Web Statique".
+- Cliquez sur "Créer".
+
+3. Configurer l'application web statique
+- **Informations de base** :
+ - Abonnement : Sélectionnez votre abonnement Azure.
+ - Groupe de ressources : Créez un nouveau groupe de ressources ou utilisez-en un existant.
+ - Nom : Donnez un nom à votre application web statique.
+ - Région : Choisissez la région la plus proche de vos utilisateurs.
+
+- **Détails du déploiement** :
+ - Source : Sélectionnez "GitHub".
+ - Compte GitHub : Autorisez Azure à accéder à votre compte GitHub.
+ - Organisation : Sélectionnez votre organisation GitHub.
+ - Dépôt : Choisissez le dépôt contenant votre application web statique.
+ - Branche : Sélectionnez la branche à partir de laquelle vous souhaitez déployer.
+
+- **Détails de la construction** :
+ - Préréglages de construction : Choisissez le framework avec lequel votre application est construite (par exemple, React, Angular, Vue, etc.).
+ - Emplacement de l'application : Spécifiez le dossier contenant le code de votre application (par exemple, / si c'est à la racine).
+ - Emplacement de l'API : Si vous avez une API, spécifiez son emplacement (optionnel).
+ - Emplacement de sortie : Spécifiez le dossier où la sortie de la construction est générée (par exemple, build ou dist).
+
+4. Réviser et créer
+Révisez vos paramètres et cliquez sur "Créer". Azure configurera les ressources nécessaires et créera un workflow GitHub Actions dans votre dépôt.
+
+5. Workflow GitHub Actions
+Azure créera automatiquement un fichier de workflow GitHub Actions dans votre dépôt (.github/workflows/azure-static-web-apps-.yml). Ce workflow gérera le processus de construction et de déploiement.
+
+6. Surveiller le déploiement
+Accédez à l'onglet "Actions" dans votre dépôt GitHub.
+Vous devriez voir un workflow en cours d'exécution. Ce workflow construira et déploiera votre application web statique sur Azure.
+Une fois le workflow terminé, votre application sera en ligne à l'URL Azure fournie.
+
+### Exemple de fichier de workflow
+
+Voici un exemple de ce à quoi pourrait ressembler le fichier de workflow GitHub Actions :
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### Ressources supplémentaires
+- [Documentation des applications web statiques Azure](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [Documentation GitHub Actions](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**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/fr/sketchnotes/README.md b/translations/fr/sketchnotes/README.md
new file mode 100644
index 00000000..2d07c488
--- /dev/null
+++ b/translations/fr/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+Retrouvez toutes les sketchnotes ici !
+
+## Crédits
+
+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/hk/1-Introduction/01-defining-data-science/README.md b/translations/hk/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..9cd1cddb
--- /dev/null
+++ b/translations/hk/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,122 @@
+
+# 定義數據科學
+
+|  繪製的手繪筆記 ](../../sketchnotes/01-Definitions.png) |
+| :----------------------------------------------------------------------------------------------------: |
+| 定義數據科學 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+---
+
+[](https://youtu.be/beZ7Mb_oz9I)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/0)
+
+## 什麼是數據?
+在我們的日常生活中,我們無時無刻不被數據包圍著。你現在正在閱讀的文字就是數據。你智能手機裡朋友的電話號碼列表是數據,你手錶上顯示的當前時間也是數據。作為人類,我們天生就會處理數據,比如數錢或者給朋友寫信。
+
+然而,隨著電腦的誕生,數據變得更加重要。電腦的主要功能是進行計算,但它們需要數據來操作。因此,我們需要了解電腦如何存儲和處理數據。
+
+隨著互聯網的出現,電腦作為數據處理設備的角色進一步增強。仔細想想,我們現在使用電腦更多的是進行數據處理和通信,而不是純粹的計算。當我們給朋友寫電子郵件或在互聯網上搜索信息時,我們實際上是在創建、存儲、傳輸和操作數據。
+> 你能記得上一次真正用電腦進行計算是什麼時候嗎?
+
+## 什麼是數據科學?
+
+根據 [維基百科](https://en.wikipedia.org/wiki/Data_science),**數據科學**被定義為*一個使用科學方法從結構化和非結構化數據中提取知識和洞察力,並將這些知識和可行的洞察應用於廣泛應用領域的科學領域*。
+
+這一定義突出了數據科學的一些重要方面:
+
+* 數據科學的主要目標是從數據中**提取知識**,換句話說,就是**理解**數據,發現隱藏的關係並建立**模型**。
+* 數據科學使用**科學方法**,例如概率和統計。事實上,當*數據科學*這個術語首次出現時,有些人認為數據科學只是統計學的一個新潮名稱。然而,現在已經很明顯這個領域要廣泛得多。
+* 獲得的知識應用於產生一些**可行的洞察**,即可以應用於實際商業情境的實用洞察。
+* 我們應該能夠處理**結構化**和**非結構化**數據。我們稍後會在課程中討論不同類型的數據。
+* **應用領域**是一個重要的概念,數據科學家通常需要對問題領域(例如金融、醫學、營銷等)有一定程度的專業知識。
+
+> 數據科學的另一個重要方面是研究如何使用電腦收集、存儲和操作數據。雖然統計學為我們提供了數學基礎,數據科學則將數學概念應用於實際從數據中提取洞察。
+
+根據 [Jim Gray](https://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)) 的觀點,數據科學可以被視為一種獨立的科學範式:
+* **經驗科學**,主要依賴觀察和實驗結果
+* **理論科學**,從現有的科學知識中產生新概念
+* **計算科學**,通過計算實驗發現新原則
+* **數據驅動科學**,基於發現數據中的關係和模式
+
+## 其他相關領域
+
+由於數據無處不在,數據科學本身也是一個廣泛的領域,涉及許多其他學科。
+
+## 數據的類型
+
+如前所述,數據無處不在。我們只需要以正確的方式捕捉它!區分**結構化**和**非結構化**數據是很有用的。前者通常以某種結構化的形式表示,通常是表格或多個表格,而後者則只是文件的集合。有時我們還會提到**半結構化**數據,它具有某種結構,但可能差異很大。
+
+| 結構化數據 | 半結構化數據 | 非結構化數據 |
+| ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ------------------------------------- |
+| 包含人員及其電話號碼的列表 | 包含鏈接的維基百科頁面 | 《大英百科全書》的文本 |
+| 過去20年中每分鐘建築物內所有房間的溫度 | 以JSON格式存儲的科學論文集合,包括作者、發表日期和摘要 | 包含公司文件的文件共享 |
+| 所有進入建築物人員的年齡和性別數據 | 網頁 | 監控攝像頭的原始視頻流 |
+
+## 數據的來源
+
+數據的來源有很多,幾乎不可能全部列舉!然而,我們可以提到一些典型的數據來源:
+
+* **結構化數據**
+ - **物聯網**(IoT),包括來自不同傳感器(如溫度或壓力傳感器)的數據,提供了大量有用的數據。例如,如果一棟辦公樓配備了物聯網傳感器,我們可以自動控制供暖和照明以降低成本。
+ - **調查問卷**,例如在購物後或訪問網站後請用戶完成的問卷。
+ - **行為分析**,例如幫助我們了解用戶在網站上的瀏覽深度,以及用戶離開網站的典型原因。
+* **非結構化數據**
+ - **文本**可以是豐富的洞察來源,例如整體**情感分數**,或者提取關鍵詞和語義含義。
+ - **圖像**或**視頻**。監控攝像頭的視頻可以用來估算道路上的交通流量,並通知人們潛在的交通擁堵。
+ - 網絡服務器的**日誌**可以用來了解我們網站上哪些頁面最常被訪問,以及訪問時長。
+* **半結構化數據**
+ - **社交網絡**圖譜可以提供有關用戶個性和信息傳播潛力的數據。
+ - 當我們擁有一堆派對照片時,我們可以通過構建人們互相拍照的圖譜來提取**群體動態**數據。
+
+通過了解不同的數據來源,你可以嘗試思考不同的場景,看看數據科學技術如何應用於更好地了解情況並改進業務流程。
+
+## 數據可以做什麼
+
+在數據科學中,我們專注於數據旅程的以下步驟:
+
+當然,根據實際數據的情況,有些步驟可能會缺失(例如,當我們已經擁有數據庫中的數據,或者當我們不需要模型訓練時),或者某些步驟可能會重複多次(例如數據處理)。
+
+## 數字化與數字化轉型
+
+在過去十年中,許多企業開始意識到數據在商業決策中的重要性。要將數據科學原則應用於企業運營,首先需要收集一些數據,即將業務流程轉化為數字形式,這被稱為**數字化**。將數據科學技術應用於這些數據以指導決策,可以顯著提高生產力(甚至實現業務轉型),這被稱為**數字化轉型**。
+
+讓我們考慮一個例子。假設我們有一門數據科學課程(比如這門課程),我們在線上向學生提供,並希望利用數據科學來改進它。我們該怎麼做?
+
+我們可以從問「什麼可以數字化?」開始。最簡單的方法是測量每位學生完成每個模塊所需的時間,並通過在每個模塊結束時進行選擇題測試來測量獲得的知識。通過計算所有學生的平均完成時間,我們可以找出哪些模塊對學生來說最具挑戰性,並著手簡化它們。
+> 你可能會認為這種方法並不理想,因為模組的長度可能各不相同。或許更公平的方法是根據模組的長度(以字元數計算)來劃分時間,然後比較這些值。
+當我們開始分析多項選擇題的測試結果時,可以嘗試找出學生在哪些概念上有困難,並利用這些資訊改進內容。為了做到這一點,我們需要設計測試,使每個問題對應到某個特定的概念或知識塊。
+
+如果我們想進一步深入分析,可以將每個模組所花的時間與學生的年齡類別進行對比。我們可能會發現,某些年齡類別的學生完成模組所需的時間過長,或者學生在完成模組之前就中途退出。這可以幫助我們為模組提供年齡建議,並減少因錯誤期望而導致的不滿。
+
+## 🚀 挑戰
+
+在這個挑戰中,我們將嘗試通過分析文本來找出與數據科學領域相關的概念。我們將選取一篇關於數據科學的維基百科文章,下載並處理文本,然後生成一個像這樣的文字雲:
+
+
+
+訪問 [`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') 閱讀代碼。你也可以運行代碼,並即時查看它如何執行所有數據轉換。
+
+> 如果你不知道如何在 Jupyter Notebook 中運行代碼,可以參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## 作業
+
+* **任務 1**:修改上述代碼,找出與 **大數據** 和 **機器學習** 領域相關的概念
+* **任務 2**:[思考數據科學場景](assignment.md)
+
+## 致謝
+
+這節課由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [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/assignment.md b/translations/hk/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..9892cbae
--- /dev/null
+++ b/translations/hk/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# 作業:數據科學場景
+
+在這次的第一個作業中,我們希望你思考一些真實生活中的流程或問題,涵蓋不同的問題領域,並探討如何利用數據科學流程來改進它。請思考以下問題:
+
+1. 你可以收集哪些數據?
+1. 你會如何收集這些數據?
+1. 你會如何存儲這些數據?這些數據的規模可能有多大?
+1. 從這些數據中你可能獲得哪些洞察?基於這些數據,我們可以做出哪些決策?
+
+試著思考三個不同的問題或流程,並針對每個問題領域描述上述的每一點。
+
+以下是一些問題領域和問題,幫助你開始思考:
+
+1. 如何利用數據改善學校中兒童的教育流程?
+1. 如何利用數據在疫情期間控制疫苗接種?
+1. 如何利用數據確保自己在工作中保持高效?
+
+## 指引
+
+填寫以下表格(如果需要,可以用自己的問題領域替代建議的問題領域):
+
+| 問題領域 | 問題 | 收集哪些數據 | 如何存儲數據 | 我們可以做出的洞察/決策 |
+|----------|------|--------------|--------------|--------------------------|
+| 教育 | | | | |
+| 疫苗接種 | | | | |
+| 生產力 | | | | |
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+能夠為所有問題領域識別合理的數據來源、存儲方式以及可能的決策/洞察 | 部分解決方案的細節不足,未討論數據存儲,至少描述了兩個問題領域 | 僅描述部分數據解決方案,僅考慮了一個問題領域。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [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/solution/assignment.md b/translations/hk/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..f76e9710
--- /dev/null
+++ b/translations/hk/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# 作業:數據科學場景
+
+在這個第一個作業中,我們要求你思考一些不同領域中的真實生活過程或問題,以及如何使用數據科學流程來改善它。請思考以下問題:
+
+1. 你可以收集哪些數據?
+1. 你會如何收集這些數據?
+1. 你會如何存儲這些數據?數據的規模可能有多大?
+1. 從這些數據中你可能能夠獲得哪些洞察?基於這些數據,我們可以做出哪些決策?
+
+嘗試思考三個不同的問題/過程,並為每個問題領域描述上述每個點。
+
+以下是一些問題領域和問題,幫助你開始思考:
+
+1. 如何使用數據改善學校中兒童的教育過程?
+1. 如何使用數據在疫情期間控制疫苗接種?
+1. 如何使用數據確保自己在工作中保持高效?
+
+## 指引
+
+填寫以下表格(如果需要,可以用自己的問題領域替代建議的問題領域):
+
+| 問題領域 | 問題 | 收集哪些數據 | 如何存儲數據 | 我們可以做出的洞察/決策 |
+|----------|------|--------------|--------------|--------------------------|
+| 教育 | 在大學中,我們通常發現課堂出席率較低,我們假設出席課堂的學生在考試中表現更好。我們希望刺激出席率並測試這一假設。 | 我們可以通過課堂中的安全攝像頭拍攝的照片,或通過追蹤學生手機的藍牙/無線網絡地址來追蹤出席情況。考試數據已經存儲在大學的數據庫中。 | 如果我們追蹤安全攝像頭的照片——我們需要存儲課堂期間拍攝的幾張(5-10張)照片(非結構化數據),然後使用人工智能識別學生的面部(將數據轉換為結構化形式)。 | 我們可以計算每位學生的平均出席率,並查看是否與考試成績有任何相關性。我們會在[概率與統計](../../04-stats-and-probability/README.md)部分中更詳細地討論相關性。為了刺激學生出席率,我們可以在學校門戶網站上公佈每週出席率排名,並在出席率最高的學生中抽獎。 |
+| 疫苗接種 | | | | |
+| 生產力 | | | | |
+
+> *我們僅提供一個答案作為示例,以便你了解此作業的期望。*
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+能夠為所有問題領域識別合理的數據來源、存儲數據的方法以及可能的洞察/決策 | 解決方案的某些方面未詳細說明,未討論數據存儲,至少描述了兩個問題領域 | 僅描述了部分數據解決方案,僅考慮了一個問題領域。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/02-ethics/README.md b/translations/hk/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..8295f8a4
--- /dev/null
+++ b/translations/hk/1-Introduction/02-ethics/README.md
@@ -0,0 +1,266 @@
+
+# 數據倫理簡介
+
+| ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| 數據科學倫理 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+我們都是生活在數據化世界中的數據公民。
+
+市場趨勢顯示,到2022年,每三家大型組織中就有一家會通過線上[市場和交易所](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/)購買和出售數據。作為**應用程式開發者**,我們會發現將數據驅動的洞察力和算法驅動的自動化整合到日常用戶體驗中變得更加容易和便宜。然而,隨著人工智能的普及,我們也需要了解這些算法在大規模應用中可能引發的[武器化](https://www.youtube.com/watch?v=TQHs8SA1qpk)危害。
+
+趨勢還顯示,到2025年,我們將創造和消耗超過[180澤字節](https://www.statista.com/statistics/871513/worldwide-data-created/)的數據。作為**數據科學家**,這讓我們能夠前所未有地接觸到個人數據。這意味著我們可以建立用戶的行為檔案,並以某些方式影響決策,從而創造一種[自由選擇的幻覺](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice),同時可能引導用戶朝向我們偏好的結果。這也引發了關於數據隱私和用戶保護的更廣泛問題。
+
+數據倫理現在是數據科學和工程的_必要防護措施_,幫助我們減少數據驅動行動可能帶來的潛在危害和意外後果。[Gartner人工智能技術成熟度曲線](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/)指出,數字倫理、負責任的人工智能和人工智能治理是推動人工智能_民主化_和_工業化_的主要趨勢。
+
+
+
+在本課程中,我們將探索數據倫理這個迷人的領域——從核心概念和挑戰,到案例研究和應用人工智能概念(如治理),幫助在處理數據和人工智能的團隊和組織中建立倫理文化。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## 基本定義
+
+讓我們先了解一些基本術語。
+
+「倫理」一詞源自[希臘詞「ethikos」](https://en.wikipedia.org/wiki/Ethics)(及其根詞「ethos」),意為_品格或道德本質_。
+
+**倫理**是指在社會中指導我們行為的共同價值觀和道德原則。倫理不是基於法律,而是基於廣泛接受的「對與錯」的規範。然而,倫理考量可以影響企業治理倡議和政府法規,從而創造更多遵守的激勵措施。
+
+**數據倫理**是一個[新的倫理分支](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1),研究和評估與_數據、算法及相關實踐_相關的道德問題。在這裡,**「數據」**聚焦於生成、記錄、策劃、處理、傳播、共享和使用的行動,**「算法」**聚焦於人工智能、代理、機器學習和機器人,**「實踐」**聚焦於負責任的創新、編程、黑客行為和倫理守則等主題。
+
+**應用倫理**是[道德考量的實際應用](https://en.wikipedia.org/wiki/Applied_ethics)。它是積極調查_現實世界行動、產品和流程_中的倫理問題,並採取糾正措施以確保這些行動與我們定義的倫理價值保持一致。
+
+**倫理文化**是關於[將應用倫理_付諸實踐_](https://hbr.org/2019/05/how-to-design-an-ethical-organization),確保我們的倫理原則和實踐在整個組織中以一致且可擴展的方式被採用。成功的倫理文化會定義全組織的倫理原則,提供有意義的遵守激勵措施,並通過鼓勵和放大期望的行為來加強倫理規範。
+
+## 倫理概念
+
+在本節中,我們將討論數據倫理中的**共同價值觀**(原則)和**倫理挑戰**(問題),並探索**案例研究**,幫助你在現實世界的背景中理解這些概念。
+
+### 1. 倫理原則
+
+每個數據倫理策略都始於定義_倫理原則_——描述可接受行為並指導數據和人工智能項目中合規行動的「共同價值觀」。你可以在個人或團隊層面定義這些原則。然而,大多數大型組織會在企業層面定義並一致執行的_倫理人工智能_使命聲明或框架中概述這些原則。
+
+**例子:** 微軟的[負責任人工智能](https://www.microsoft.com/en-us/ai/responsible-ai)使命聲明寫道:_「我們致力於推動以倫理原則為基礎的人工智能發展,將人放在首位」_——並在以下框架中確定了六個倫理原則:
+
+
+
+讓我們簡要探討這些原則。_透明性_和_問責性_是其他原則的基礎價值觀,因此我們從這裡開始:
+
+* [**問責性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)使實踐者對其數據和人工智能操作以及遵守這些倫理原則負責。
+* [**透明性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)確保數據和人工智能行動對用戶是_可理解的_(可解釋的),並解釋決策背後的原因和內容。
+* [**公平性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)——確保人工智能公平對待_所有人_,解決數據和系統中的系統性或隱性社會技術偏見。
+* [**可靠性與安全性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——確保人工智能以_一致性_的方式行事,並減少潛在危害或意外後果。
+* [**隱私與安全**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——關注數據來源,並為用戶提供_數據隱私及相關保護_。
+* [**包容性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——旨在有意設計人工智能解決方案,並使其適應_廣泛的人類需求_和能力。
+
+> 🚨 想想你的數據倫理使命聲明可能是什麼。探索其他組織的倫理人工智能框架——以下是[IBM](https://www.ibm.com/cloud/learn/ai-ethics)、[Google](https://ai.google/principles)和[Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/)的例子。他們有哪些共同的價值觀?這些原則如何與他們所運營的人工智能產品或行業相關?
+
+### 2. 倫理挑戰
+
+一旦我們定義了倫理原則,下一步就是評估我們的數據和人工智能行動是否符合這些共同價值觀。思考你的行動可以分為兩類:_數據收集_和_算法設計_。
+
+在數據收集方面,行動可能涉及**個人數據**或可識別的個人信息(PII),這些信息可以識別活著的個人。這包括[多樣化的非個人數據項目](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en),這些數據_共同_識別一個人。倫理挑戰可能涉及_數據隱私_、_數據所有權_以及相關主題,如_知情同意_和_用戶的知識產權_。
+
+在算法設計方面,行動將涉及收集和策劃**數據集**,然後使用它們來訓練和部署**數據模型**,以在現實世界的背景中預測結果或自動化決策。倫理挑戰可能來自_數據集偏見_、_數據質量_問題、_不公平性_和算法中的_誤導性_,包括一些系統性問題。
+
+在這兩種情況下,倫理挑戰突出了我們的行動可能與共同價值觀發生衝突的領域。為了檢測、減輕、最小化或消除這些問題,我們需要針對行動提出道德「是/否」問題,然後根據需要採取糾正措施。讓我們看看一些倫理挑戰及其引發的道德問題:
+
+#### 2.1 數據所有權
+
+數據收集通常涉及可識別數據主體的個人數據。[數據所有權](https://permission.io/blog/data-ownership)是關於與數據的創建、處理和傳播相關的_控制_和[用戶權利](https://permission.io/blog/data-ownership)。
+
+需要提出的道德問題包括:
+* 誰擁有數據?(用戶或組織)
+* 數據主體擁有哪些權利?(例如:訪問、刪除、可攜性)
+* 組織擁有哪些權利?(例如:糾正惡意用戶評論)
+
+#### 2.2 知情同意
+
+[知情同意](https://legaldictionary.net/informed-consent/)指用戶在充分了解相關事實(包括目的、潛在風險和替代方案)的情況下同意某項行動(如數據收集)。
+
+需要探討的問題包括:
+* 用戶(數據主體)是否授權數據捕獲和使用?
+* 用戶是否理解捕獲數據的目的?
+* 用戶是否理解參與可能帶來的潛在風險?
+
+#### 2.3 知識產權
+
+[知識產權](https://en.wikipedia.org/wiki/Intellectual_property)指由人類創造的無形產物,可能對個人或企業具有_經濟價值_。
+
+需要探討的問題包括:
+* 收集的數據是否對用戶或企業具有經濟價值?
+* **用戶**是否擁有知識產權?
+* **組織**是否擁有知識產權?
+* 如果存在這些權利,我們如何保護它們?
+
+#### 2.4 數據隱私
+
+[數據隱私](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/)或信息隱私指保護用戶隱私和身份,尤其是與可識別個人信息相關的部分。
+
+需要探討的問題包括:
+* 用戶的(個人)數據是否防止黑客攻擊和洩漏?
+* 用戶的數據是否僅限授權用戶和情境訪問?
+* 用戶的匿名性是否在數據共享或傳播時得到保護?
+* 用戶是否可以從匿名數據集中被重新識別?
+
+#### 2.5 被遺忘的權利
+
+[被遺忘的權利](https://en.wikipedia.org/wiki/Right_to_be_forgotten)或[刪除權](https://www.gdpreu.org/right-to-be-forgotten/)為用戶提供額外的個人數據保護。具體而言,它賦予用戶在特定情況下要求刪除或移除個人數據的權利,允許他們在網上重新開始,而不受過去行為的影響。
+
+需要探討的問題包括:
+* 系統是否允許數據主體請求刪除?
+* 用戶撤回同意是否應觸發自動刪除?
+* 是否存在未經同意或非法手段收集的數據?
+* 我們是否符合政府對數據隱私的法規?
+
+#### 2.6 數據集偏見
+
+數據集或[收集偏見](http://researcharticles.com/index.php/bias-in-data-collection-in-research/)指選擇_非代表性_的數據子集進行算法開發,可能導致對不同群體的結果不公平。偏見類型包括選擇或抽樣偏見、志願者偏見和工具偏見。
+
+需要探討的問題包括:
+* 我們是否招募了代表性數據主體?
+* 我們是否測試了收集或策劃的數據集以檢測各種偏見?
+* 我們是否能減輕或消除發現的偏見?
+
+#### 2.7 數據質量
+
+[數據質量](https://lakefs.io/data-quality-testing/)檢查用於開發算法的策劃數據集的有效性,確保特徵和記錄符合人工智能目的所需的準確性和一致性要求。
+
+需要探討的問題包括:
+* 我們是否捕獲了適合我們用例的有效_特徵_?
+* 數據是否在不同數據源中_一致地_捕獲?
+* 數據集是否_完整_,涵蓋多樣化的條件或場景?
+* 捕獲的信息是否_準確_反映了現實?
+
+#### 2.8 算法公平性
+[算法公平性](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f) 是檢查算法設計是否系統性地對特定數據群體進行歧視,從而導致在資源分配(_allocation_,即資源被拒絕或剝奪)和服務質量(_quality of service_,即人工智能對某些群體的準確性不如對其他群體)方面的[潛在傷害](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml)。
+
+需要探討的問題包括:
+ * 我們是否評估了模型在不同群體和條件下的準確性?
+ * 我們是否仔細檢查了系統可能帶來的傷害(例如,刻板印象)?
+ * 我們是否可以修正數據或重新訓練模型以減輕已識別的傷害?
+
+探索像 [AI 公平性檢查清單](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA) 這樣的資源以了解更多。
+
+#### 2.9 錯誤呈現
+
+[數據錯誤呈現](https://www.sciencedirect.com/topics/computer-science/misrepresentation) 是指我們是否以欺騙性的方式傳達來自誠實報告數據的洞察,以支持某種期望的敘述。
+
+需要探討的問題包括:
+ * 我們是否報告了不完整或不準確的數據?
+ * 我們是否以誤導性的方式可視化數據,從而得出錯誤結論?
+ * 我們是否使用選擇性的統計技術來操縱結果?
+ * 是否存在其他可能提供不同結論的解釋?
+
+#### 2.10 自由選擇
+
+[自由選擇的假象](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice) 是指系統的“選擇架構”使用決策算法來引導人們選擇某種偏好的結果,同時表面上給予他們選擇和控制的權利。這些[黑暗模式](https://www.darkpatterns.org/)可能對用戶造成社會和經濟上的傷害。由於用戶的決策會影響行為檔案,這些行為可能進一步驅動未來的選擇,從而放大或延續這些傷害的影響。
+
+需要探討的問題包括:
+ * 用戶是否理解做出該選擇的影響?
+ * 用戶是否了解(替代)選擇及其各自的優缺點?
+ * 用戶是否可以在事後撤銷自動化或受影響的選擇?
+
+### 3. 案例研究
+
+將這些倫理挑戰放在現實世界的背景中,研究案例有助於了解當忽視這些倫理問題時,對個人和社會可能造成的傷害和後果。
+
+以下是一些例子:
+
+| 倫理挑戰 | 案例研究 |
+|--- |--- |
+| **知情同意** | 1972年 - [塔斯基吉梅毒研究](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - 參與研究的非裔美國男性被承諾提供免費醫療服務,但研究人員欺騙他們,未告知其診斷或治療的可用性。許多受試者因此死亡,其伴侶或子女也受到影響;該研究持續了40年。 |
+| **數據隱私** | 2007年 - [Netflix數據獎](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/) 向研究人員提供了_50000名用戶的1000萬條匿名電影評分_,以改進推薦算法。然而,研究人員能夠將匿名數據與外部數據集(例如IMDb評論)中的個人身份數據相關聯,實際上“去匿名化”了一些Netflix用戶。|
+| **數據收集偏差** | 2013年 - 波士頓市[開發了Street Bump](https://www.boston.gov/transportation/street-bump),一款讓市民報告坑洞的應用,幫助城市獲取更好的道路數據以解決問題。然而,[低收入群體的人更少擁有汽車和手機](https://hbr.org/2013/04/the-hidden-biases-in-big-data),使得他們的道路問題在該應用中不可見。開發者與學者合作解決_公平性和數字鴻溝_問題。 |
+| **算法公平性** | 2018年 - MIT [Gender Shades研究](http://gendershades.org/overview.html) 評估了性別分類AI產品的準確性,揭示了對女性和有色人種準確性不足的問題。一個[2019年Apple Card](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/) 似乎給女性提供的信用額度低於男性。這兩個案例都說明了算法偏差導致的社會經濟傷害問題。|
+| **數據錯誤呈現** | 2020年 - [喬治亞州公共衛生部發布的COVID-19圖表](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening) 似乎通過非時間順序的x軸排序誤導公眾對確診病例趨勢的理解。這說明了通過可視化技巧進行的錯誤呈現。 |
+| **自由選擇的假象** | 2020年 - 學習應用[ABCmouse支付了1000萬美元以解決FTC投訴](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/),家長被迫支付無法取消的訂閱費用。這說明了選擇架構中的黑暗模式,導致用戶做出潛在有害的選擇。 |
+| **數據隱私與用戶權利** | 2021年 - Facebook [數據洩露](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users) 導致5.3億用戶數據洩露,最終支付了50億美元的和解金給FTC。然而,它拒絕通知用戶洩露事件,違反了用戶對數據透明性和訪問的權利。 |
+
+想了解更多案例研究?查看以下資源:
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - 涵蓋多個行業的倫理困境。
+* [數據科學倫理課程](https://www.coursera.org/learn/data-science-ethics#syllabus) - 探討標誌性案例研究。
+* [問題出在哪裡](https://deon.drivendata.org/examples/) - Deon清單中的案例示例。
+
+> 🚨 想想你見過的案例研究——你是否曾經遇到過或受到過類似倫理挑戰的影響?你能想到至少一個其他案例來說明我們在本節中討論的倫理挑戰嗎?
+
+## 應用倫理
+
+我們已經討論了倫理概念、挑戰以及現實世界中的案例研究。但我們如何開始在項目中_應用_倫理原則和實踐?我們又如何_實現_這些實踐以改進治理?讓我們來探討一些現實世界的解決方案:
+
+### 1. 專業守則
+
+專業守則為組織提供了一種選擇,通過“激勵”成員支持其倫理原則和使命聲明。守則是專業行為的_道德指導方針_,幫助員工或成員做出符合組織原則的決策。它的有效性取決於成員的自願遵守;然而,許多組織提供額外的獎勵和懲罰來激勵成員遵守。
+
+示例包括:
+
+ * [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/) 倫理守則
+ * [數據科學協會](http://datascienceassn.org/code-of-conduct.html) 行為守則(創建於2013年)
+ * [ACM倫理與專業行為守則](https://www.acm.org/code-of-ethics)(自1993年起)
+
+> 🚨 你是否屬於某個專業工程或數據科學組織?探索他們的網站,看看是否定義了專業倫理守則。這些守則說明了他們的倫理原則嗎?他們如何“激勵”成員遵守守則?
+
+### 2. 倫理檢查清單
+
+雖然專業守則定義了從業者所需的_倫理行為_,但它們在執行方面[存在已知的局限性](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),特別是在大規模項目中。因此,許多數據科學專家[提倡使用檢查清單](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),這些清單可以將原則與實踐**聯繫起來**,以更具決定性和可操作的方式。
+
+檢查清單將問題轉化為“是/否”任務,可以被操作化,並作為標準產品發布工作流程的一部分進行跟蹤。
+
+示例包括:
+ * [Deon](https://deon.drivendata.org/) - 一個通用的數據倫理檢查清單,基於[行業建議](https://deon.drivendata.org/#checklist-citations)創建,並提供命令行工具以便於集成。
+ * [隱私審核清單](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - 從法律和社會曝光的角度提供信息處理實踐的一般指導。
+ * [AI公平性檢查清單](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - 由AI從業者創建,用於支持公平性檢查的採用和集成到AI開發週期中。
+ * [數據與AI倫理的22個問題](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - 更開放的框架,結構化用於設計、實施和組織背景下的倫理問題初步探索。
+
+### 3. 倫理法規
+
+倫理是關於定義共同價值觀並_自願_做正確的事情。**合規**是指在法律規定的情況下_遵守法律_。**治理**則廣泛涵蓋了組織運營中為了執行倫理原則和遵守既定法律的所有方式。
+
+如今,治理在組織內部有兩種形式。首先,它是關於定義**倫理AI**原則並建立實踐,以在組織內的所有AI相關項目中實現採用。其次,它是關於遵守其運營地區的所有政府規定的**數據保護法規**。
+
+數據保護和隱私法規的示例:
+
+ * `1974年`,[美國隱私法案](https://www.justice.gov/opcl/privacy-act-1974) - 規範_聯邦政府_對個人信息的收集、使用和披露。
+ * `1996年`,[美國健康保險攜帶與責任法案(HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - 保護個人健康數據。
+ * `1998年`,[美國兒童在線隱私保護法案(COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - 保護13歲以下兒童的數據隱私。
+ * `2018年`,[通用數據保護條例(GDPR)](https://gdpr-info.eu/) - 提供用戶權利、數據保護和隱私。
+ * `2018年`,[加州消費者隱私法案(CCPA)](https://www.oag.ca.gov/privacy/ccpa) - 賦予消費者更多對其(個人)數據的_權利_。
+ * `2021年`,中國[個人信息保護法](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/) 剛剛通過,成為全球最強的在線數據隱私法規之一。
+
+> 🚨 歐盟定義的GDPR(通用數據保護條例)仍然是當今最具影響力的數據隱私法規之一。你知道它還定義了[8項用戶權利](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr)來保護公民的數字隱私和個人數據嗎?了解這些權利是什麼以及它們為什麼重要。
+
+### 4. 倫理文化
+
+需要注意的是,_合規_(僅僅滿足“法律條文”的要求)與解決[系統性問題](https://www.coursera.org/learn/data-science-ethics/home/week/4)(如僵化、信息不對稱和分配不公平)之間仍然存在無形的差距,而這些問題可能加速AI的武器化。
+
+後者需要[協作方式來定義倫理文化](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f),以在行業內部建立情感聯繫和一致的共同價值觀。這需要在組織內部[正式化數據倫理文化](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/)——允許_任何人_ [拉動安燈繩](https://en.wikipedia.org/wiki/Andon_(manufacturing))(在過程早期提出倫理問題),並將_倫理評估_(例如,在招聘中)作為AI項目團隊組建的核心標準。
+
+---
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯
+## 回顧與自學
+
+課程和書籍有助於理解核心倫理概念和挑戰,而案例研究和工具則有助於在現實世界中應用倫理實踐。以下是一些入門資源:
+
+* [機器學習初學者](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - 來自Microsoft的公平性課程。
+* [負責任人工智能的原則](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - Microsoft Learn 提供的免費學習路徑。
+* [倫理與數據科學](https://resources.oreilly.com/examples/0636920203964) - O'Reilly 電子書 (M. Loukides, H. Mason 等人著)
+* [數據科學倫理](https://www.coursera.org/learn/data-science-ethics#syllabus) - 密歇根大學提供的線上課程。
+* [倫理解構](https://ethicsunwrapped.utexas.edu/case-studies) - 德州大學的案例研究。
+
+# 作業
+
+[撰寫一個數據倫理案例研究](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/02-ethics/assignment.md b/translations/hk/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..70c5993b
--- /dev/null
+++ b/translations/hk/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## 撰寫數據倫理案例研究
+
+## 指引
+
+你已經學習了各種[數據倫理挑戰](README.md#2-ethics-challenges),並且看過一些反映現實世界中數據倫理挑戰的[案例研究](README.md#3-case-studies)範例。
+
+在這次作業中,你將撰寫一篇自己的案例研究,反映你自身經歷或你熟悉的相關現實世界情境中的數據倫理挑戰。只需按照以下步驟進行:
+
+1. `選擇一個數據倫理挑戰`。查看[課堂範例](README.md#2-ethics-challenges)或探索線上範例,例如[Deon 清單](https://deon.drivendata.org/examples/)以獲取靈感。
+
+2. `描述一個現實世界的例子`。思考你聽過的情境(新聞頭條、研究報告等)或親身經歷的情境(本地社區),其中發生了這個特定挑戰。思考與該挑戰相關的數據倫理問題,並討論因為這個問題而可能產生的傷害或意外後果。加分項:思考可能的解決方案或流程,這些方案可能有助於消除或減輕該挑戰的不良影響。
+
+3. `提供相關資源列表`。分享一個或多個資源(文章連結、個人博客文章或圖片、線上研究報告等),以證明這是一個真實世界的事件。加分項:分享能展示該事件可能造成的傷害與後果的資源,或突顯防止事件重演的正面措施的資源。
+
+
+
+## 評分標準
+
+卓越 | 合格 | 需改進
+--- | --- | -- |
+識別出一個或多個數據倫理挑戰。
案例研究清楚地描述了一個反映該挑戰的真實世界事件,並突顯其造成的不良後果或傷害。
至少有一個連結資源證明事件的真實性。 | 識別出一個數據倫理挑戰。
至少簡要討論了一個相關的傷害或後果。
然而,討論有限或缺乏真實世界事件的證據。 | 識別出一個數據挑戰。
然而,描述或資源未能充分反映該挑戰或證明其真實世界的發生。 |
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/03-defining-data/README.md b/translations/hk/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..232c1912
--- /dev/null
+++ b/translations/hk/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,82 @@
+
+# 定義數據
+
+| 繪製的手繪筆記 ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|定義數據 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+數據是用於發現和支持明智決策的事實、信息、觀察和測量。一個數據點是數據集中單一的數據單位,而數據集是數據點的集合。數據集可能有不同的格式和結構,通常基於其來源或數據的來源。例如,一家公司的每月收入可能以電子表格的形式存在,而智能手錶的每小時心率數據可能以 [JSON](https://stackoverflow.com/a/383699) 格式存在。數據科學家經常需要處理數據集中不同類型的數據。
+
+本課程重點在於根據數據的特徵和來源來識別和分類數據。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+## 數據的描述方式
+
+### 原始數據
+原始數據是來自其來源的初始狀態,尚未經過分析或組織的數據。為了理解數據集中的情況,需要將其組織成一種人類和技術都能理解的格式。數據集的結構描述了它的組織方式,可以分為結構化、非結構化和半結構化。這些結構類型會根據來源有所不同,但最終會歸類於這三種類別。
+
+### 定量數據
+定量數據是數據集中以數字形式表示的觀察值,通常可以進行分析、測量並用於數學運算。一些定量數據的例子包括:一個國家的總人口、一個人的身高或一家公司季度收入。通過進一步分析,定量數據可以用來發現空氣質量指數(AQI)的季節性趨勢,或估算典型工作日高峰時段交通的概率。
+
+### 定性數據
+定性數據,也稱為分類數據,是無法像定量數據那樣客觀測量的數據。它通常是各種主觀數據的形式,用於捕捉某物的質量,例如產品或過程。有時,定性數據是數字形式,但通常不會用於數學運算,例如電話號碼或時間戳。一些定性數據的例子包括:視頻評論、汽車的品牌和型號,或你最親密朋友最喜歡的顏色。定性數據可以用來了解消費者最喜歡哪些產品,或識別求職簡歷中的熱門關鍵詞。
+
+### 結構化數據
+結構化數據是以行和列的形式組織的數據,其中每一行都具有相同的一組列。列代表特定類型的值,並用名稱標識該值的含義,而行則包含實際的值。列通常會有一組特定的規則或限制,以確保值準確地表示該列。例如,想像一個客戶的電子表格,其中每一行都必須有一個電話號碼,且電話號碼不能包含字母字符。可能會對電話號碼列應用規則,確保它不會為空且只包含數字。
+
+結構化數據的一個優勢是,它可以以某種方式組織起來,與其他結構化數據相關聯。然而,由於數據被設計為以特定方式組織,對其整體結構進行更改可能需要付出很大的努力。例如,向客戶電子表格中添加一個不能為空的電子郵件列,意味著你需要弄清楚如何將這些值添加到數據集中現有的客戶行中。
+
+結構化數據的例子:電子表格、關係型數據庫、電話號碼、銀行對賬單
+
+### 非結構化數據
+非結構化數據通常無法分類為行或列,且不包含格式或規則集。由於非結構化數據對其結構的限制較少,與結構化數據相比,添加新信息更為容易。例如,如果一個每兩分鐘捕獲一次氣壓數據的傳感器收到了一個更新,現在可以測量和記錄溫度,那麼如果數據是非結構化的,就不需要更改現有數據。然而,這可能會使分析或調查此類數據的時間更長。例如,一位科學家希望從傳感器數據中找到上個月的平均溫度,但發現傳感器在某些記錄數據中記錄了一個 "e" 來表示它壞了,而不是典型的數字,這意味著數據不完整。
+
+非結構化數據的例子:文本文件、短信、視頻文件
+
+### 半結構化數據
+半結構化數據具有使其成為結構化和非結構化數據結合體的特徵。它通常不符合行和列的格式,但以某種被認為是結構化的方式組織,並可能遵循固定的格式或規則集。結構會因來源而異,例如從明確定義的層次結構到更靈活的結構,允許輕鬆整合新信息。元數據是幫助決定數據如何組織和存儲的指標,並根據數據類型有不同的名稱。一些常見的元數據名稱包括標籤、元素、實體和屬性。例如,一封典型的電子郵件消息會有主題、正文和一組收件人,並可以根據發送者或發送時間進行組織。
+
+半結構化數據的例子:HTML、CSV 文件、JavaScript Object Notation (JSON)
+
+## 數據的來源
+
+數據來源是數據生成的初始位置,或數據“存在”的地方,會根據數據的收集方式和時間而有所不同。由用戶生成的數據被稱為原始數據,而二手數據來自於為一般用途收集數據的來源。例如,一組科學家在雨林中收集觀察數據將被視為原始數據,而如果他們決定與其他科學家共享這些數據,對於使用它的人來說,這些數據將被視為二手數據。
+
+數據庫是常見的數據來源,依賴於數據庫管理系統來託管和維護數據,用戶通過稱為查詢的命令來探索數據。作為數據來源的文件可以是音頻、圖像和視頻文件,也可以是像 Excel 這樣的電子表格。互聯網來源是託管數據的常見位置,其中可以找到數據庫和文件。應用程序編程接口(API)允許程序員通過互聯網創建與外部用戶共享數據的方法,而網頁抓取則是從網頁中提取數據的過程。[《處理數據》課程](../../../../../../../../../2-Working-With-Data) 將重點介紹如何使用各種數據來源。
+
+## 總結
+
+在本課程中,我們學習了:
+
+- 什麼是數據
+- 數據的描述方式
+- 數據的分類和歸類方式
+- 數據的來源
+
+## 🚀 挑戰
+
+Kaggle 是一個優秀的開放數據集來源。使用 [數據集搜索工具](https://www.kaggle.com/datasets) 找到一些有趣的數據集,並根據以下標準分類 3-5 個數據集:
+
+- 數據是定量還是定性?
+- 數據是結構化、非結構化還是半結構化?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## 複習與自學
+
+- 這個 Microsoft Learn 單元,標題為 [分類你的數據](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data),詳細介紹了結構化、半結構化和非結構化數據。
+
+## 作業
+
+[分類數據集](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/03-defining-data/assignment.md b/translations/hk/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..46437e8a
--- /dev/null
+++ b/translations/hk/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# 分類數據集
+
+## 指引
+
+按照此作業中的提示,識別並分類數據,並為每種數據類型選擇以下之一:
+
+**結構類型**:結構化、半結構化或非結構化
+
+**數值類型**:定性或定量
+
+**來源類型**:原始或次級
+
+1. 一家公司被收購,現在有了母公司。數據科學家從母公司收到了一份包含客戶電話號碼的電子表格。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+2. 一款智能手錶正在收集佩戴者的心率數據,原始數據以 JSON 格式存儲。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+3. 一份存儲在 CSV 文件中的員工士氣工作場所調查。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+4. 天體物理學家正在訪問由太空探測器收集的星系數據庫。數據包含每個星系中的行星數量。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+5. 一款個人理財應用程式使用 API 連接到用戶的金融賬戶,以計算其淨資產。用戶可以看到所有交易,格式為行和列,類似於電子表格。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+## 評分標準
+
+卓越 | 合格 | 需改進
+--- | --- | -- |
+正確識別所有結構、數值和來源 | 正確識別 3 個結構、數值和來源 | 正確識別 2 個或更少的結構、數值和來源 |
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業的人力翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/04-stats-and-probability/README.md b/translations/hk/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..45a4f15c
--- /dev/null
+++ b/translations/hk/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# 統計學與機率的簡介
+
+| 繪製的手繪筆記 ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| 統計學與機率 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+統計學與機率論是數學中兩個密切相關的領域,對於數據科學來說非常重要。雖然在沒有深入數學知識的情況下也可以處理數據,但了解一些基本概念仍然是有益的。在這裡,我們將提供一個簡短的介紹,幫助你入門。
+
+[](https://youtu.be/Z5Zy85g4Yjw)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## 機率與隨機變數
+
+**機率** 是介於 0 和 1 之間的一個數字,用來表示某個 **事件** 發生的可能性。它被定義為正面結果(導致該事件的結果)的數量,除以所有可能結果的總數,前提是所有結果的可能性相等。例如,當我們擲骰子時,得到偶數的機率是 3/6 = 0.5。
+
+當我們談論事件時,我們會使用 **隨機變數**。例如,表示擲骰子時得到的數字的隨機變數,其值範圍是 1 到 6。1 到 6 的集合被稱為 **樣本空間**。我們可以討論隨機變數取某個值的機率,例如 P(X=3)=1/6。
+
+上述例子中的隨機變數被稱為 **離散型**,因為它的樣本空間是可數的,也就是說,它有可以列舉的分離值。有些情況下,樣本空間是一個實數範圍,或者是整個實數集合。這樣的變數被稱為 **連續型**。一個很好的例子是公車到達的時間。
+
+## 機率分佈
+
+對於離散型隨機變數,可以用一個函數 P(X) 簡單地描述每個事件的機率。對於樣本空間 *S* 中的每個值 *s*,它會給出一個介於 0 和 1 之間的數字,並且所有事件的 P(X=s) 值的總和為 1。
+
+最著名的離散分佈是 **均勻分佈**,其中樣本空間有 N 個元素,每個元素的機率相等,為 1/N。
+
+描述連續型變數的機率分佈則更為困難,因為其值來自某個區間 [a,b],或者整個實數集合 ℝ。以公車到達時間為例,實際上,對於每個精確的到達時間 *t*,公車正好在該時間到達的機率是 0!
+
+> 現在你知道了,機率為 0 的事件是會發生的,而且經常發生!至少每次公車到達時就是如此!
+
+我們只能討論變數落在某個值區間內的機率,例如 P(t1≤X2)。在這種情況下,機率分佈由 **機率密度函數** p(x) 描述,其滿足以下公式:
+
+![P(t_1\le X1, x2, ..., xn。我們可以用傳統方式定義該序列的 **平均值**(或 **算術平均值**)為 (x1+x2+...+xn)/n。隨著樣本數量的增加(即 n→∞),我們將得到分佈的平均值(也稱為 **期望值**)。我們用 **E**(x) 表示期望值。
+
+> 可以證明,對於任何具有值 {x1, x2, ..., xN} 和相應機率 p1, p2, ..., pN 的離散分佈,其期望值為 E(X)=x1p1+x2p2+...+xNpN。
+
+為了確定數值的分散程度,我們可以計算方差 σ2 = ∑(xi - μ)2/n,其中 μ 是序列的平均值。σ 被稱為 **標準差**,而 σ2 被稱為 **方差**。
+
+## 眾數、中位數與四分位數
+
+有時候,平均值並不能充分代表數據的「典型」值。例如,當有一些極端值完全超出範圍時,它們可能會影響平均值。另一個很好的指標是 **中位數**,即一個值,使得一半的數據點低於它,另一半高於它。
+
+為了幫助我們理解數據的分佈,討論 **四分位數** 是有幫助的:
+
+* 第一四分位數(Q1)是使得 25% 數據低於它的值
+* 第三四分位數(Q3)是使得 75% 數據低於它的值
+
+我們可以用一個稱為 **箱型圖** 的圖表來圖示中位數與四分位數之間的關係:
+
+
+
+在這裡,我們還計算了 **四分位距** IQR=Q3-Q1,以及所謂的 **異常值**——位於 [Q1-1.5*IQR, Q3+1.5*IQR] 範圍之外的值。
+
+對於包含少量可能值的有限分佈,一個好的「典型」值是出現最頻繁的值,稱為 **眾數**。它通常應用於分類數據,例如顏色。考慮這樣一種情況:我們有兩組人——一組人強烈偏好紅色,另一組人偏好藍色。如果我們用數字來編碼顏色,最喜歡的顏色的平均值可能會落在橙色或綠色範圍,這並不能反映任何一組的實際偏好。然而,眾數可能是其中一種顏色,或者如果兩種顏色的票數相等,則兩種顏色都可能是眾數(在這種情況下,我們稱樣本為 **多眾數**)。
+
+## 真實世界數據
+
+當我們分析來自現實生活的數據時,它們通常不完全是隨機變數,因為我們並未進行未知結果的實驗。例如,考慮一支棒球隊及其隊員的身體數據,如身高、體重和年齡。這些數字並不完全隨機,但我們仍然可以應用相同的數學概念。例如,一組人的體重序列可以被視為從某個隨機變數中抽取的一組值。以下是來自 [美國職棒大聯盟](http://mlb.mlb.com/index.jsp) 的實際棒球選手的體重數據(取自 [這個數據集](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)),為方便起見,僅顯示前 20 個值:
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **注意**:要查看使用此數據集的示例,請參考 [相關筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)。本課程中還有許多挑戰,你可以通過向該筆記本添加一些代碼來完成它們。如果你不確定如何操作數據,請不要擔心——我們稍後會回到使用 Python 處理數據的部分。如果你不知道如何在 Jupyter Notebook 中運行代碼,請參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+以下是顯示我們數據的平均值、中位數和四分位數的箱型圖:
+
+
+
+由於我們的數據包含不同球員 **角色** 的信息,我們還可以按角色繪製箱型圖——這將幫助我們了解參數值在不同角色之間的差異。這次我們將考慮身高:
+
+
+
+這張圖表顯示,平均來看,一壘手的身高高於二壘手的身高。在本課程稍後部分,我們將學習如何更正式地檢驗這一假設,以及如何證明我們的數據在統計上具有顯著性。
+
+> 當處理真實世界數據時,我們假設所有數據點都是從某個機率分佈中抽取的樣本。這一假設使我們能夠應用機器學習技術並構建有效的預測模型。
+
+為了查看我們數據的分佈,我們可以繪製一個稱為 **直方圖** 的圖表。X 軸包含不同體重區間的數量(即所謂的 **分箱**),Y 軸顯示隨機變數樣本落在給定區間內的次數。
+
+
+
+從這個直方圖中可以看出,所有值都集中在某個平均體重附近,離該體重越遠,該值出現的次數越少。也就是說,棒球選手的體重與平均體重差異很大的可能性非常低。體重的方差顯示了體重與平均值可能的差異程度。
+
+> 如果我們取其他人群的體重,而不是棒球聯盟的球員,分佈可能會有所不同。然而,分佈的形狀可能相同,但平均值和方差會改變。因此,如果我們的模型是基於棒球選手訓練的,當應用於大學學生時,可能會得出錯誤的結果,因為基礎分佈不同。
+
+## 正態分佈
+
+我們上面看到的體重分佈非常典型,許多來自現實世界的測量值都遵循相同類型的分佈,但具有不同的平均值和方差。這種分佈被稱為 **正態分佈**,在統計學中扮演著非常重要的角色。
+
+使用正態分佈是生成潛在棒球選手隨機體重的正確方法。一旦我們知道平均體重 `mean` 和標準差 `std`,我們可以用以下方式生成 1000 個體重樣本:
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+如果我們繪製生成樣本的直方圖,將會看到與上圖非常相似的圖像。如果我們增加樣本數量和分箱數量,我們可以生成更接近理想的正態分佈圖像:
+
+
+
+*平均值=0 和標準差=1 的正態分佈*
+
+## 置信區間
+
+當我們談論棒球選手的體重時,我們假設存在某個 **隨機變數 W**,它對應於所有棒球選手體重的理想機率分佈(即所謂的 **母體**)。我們的體重序列對應於所有棒球選手的一個子集,稱為 **樣本**。一個有趣的問題是,我們能否知道 W 的分佈參數,即母體的平均值和方差?
+
+最簡單的答案是計算樣本的平均值和方差。然而,可能發生的情況是,我們的隨機樣本並不能準確代表整個母體。因此,討論 **置信區間** 是有意義的。
+> **信賴區間** 是根據我們的樣本來估算母體的真實平均值,其準確性在某個概率(或 **信心水平**)範圍內。
+假設我們有一個樣本 X1, ..., Xn 來自我們的分佈。每次從分佈中抽取樣本時,我們都會得到不同的平均值 μ。因此,μ 可以被視為一個隨機變量。一個置信度為 p 的 **置信區間** 是一對值 (Lp,Rp),使得 **P**(Lp≤μ≤Rp) = p,即測得的平均值落在該區間內的概率等於 p。
+
+詳細討論如何計算這些置信區間超出了我們的簡短介紹範圍。更多細節可以參考 [維基百科](https://en.wikipedia.org/wiki/Confidence_interval)。簡而言之,我們定義了計算出的樣本平均值相對於母體真實平均值的分佈,這被稱為 **學生分佈**。
+
+> **有趣的事實**:學生分佈是以數學家 William Sealy Gosset 命名的,他以筆名 "Student" 發表了他的論文。他在健力士啤酒廠工作,根據其中一個說法,他的雇主不希望公眾知道他們使用統計測試來檢測原材料的質量。
+
+如果我們想以置信度 p 估計母體的平均值 μ,我們需要取學生分佈 A 的 *(1-p)/2 分位數*,這可以從表中查得,或者使用統計軟件(如 Python、R 等)的內建函數計算。然後 μ 的區間為 X±A*D/√n,其中 X 是樣本的平均值,D 是標準差。
+
+> **注意**:我們同樣省略了與學生分佈相關的重要概念 [自由度](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)) 的討論。您可以參考更完整的統計學書籍來深入了解這一概念。
+
+關於體重和身高的置信區間計算示例可以在 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+| p | 體重平均值 |
+|-----|-----------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+注意,置信概率越高,置信區間越寬。
+
+## 假設檢定
+
+在我們的棒球運動員數據集中,有不同的球員角色,可以總結如下(查看 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 了解如何計算此表):
+
+| 角色 | 身高 | 體重 | 數量 |
+|------|--------|--------|-------|
+| 捕手 | 72.723684 | 204.328947 | 76 |
+| 指定打擊手 | 74.222222 | 220.888889 | 18 |
+| 一壘手 | 74.000000 | 213.109091 | 55 |
+| 外野手 | 73.010309 | 199.113402 | 194 |
+| 救援投手 | 74.374603 | 203.517460 | 315 |
+| 二壘手 | 71.362069 | 184.344828 | 58 |
+| 游擊手 | 71.903846 | 182.923077 | 52 |
+| 先發投手 | 74.719457 | 205.163636 | 221 |
+| 三壘手 | 73.044444 | 200.955556 | 45 |
+
+我們可以注意到,一壘手的平均身高高於二壘手。因此,我們可能會得出結論:**一壘手比二壘手高**。
+
+> 這種說法被稱為 **假設**,因為我們並不知道這一事實是否真實。
+
+然而,是否可以得出這一結論並不總是顯而易見的。從上面的討論中我們知道,每個平均值都有一個相關的置信區間,因此這種差異可能僅僅是統計誤差。我們需要更正式的方法來檢驗我們的假設。
+
+讓我們分別計算一壘手和二壘手身高的置信區間:
+
+| 置信度 | 一壘手 | 二壘手 |
+|------------|---------------|----------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+我們可以看到,在任何置信度下,這些區間都不重疊。這證明了我們的假設:一壘手比二壘手高。
+
+更正式地說,我們正在解決的問題是檢查 **兩個概率分佈是否相同**,或者至少是否具有相同的參數。根據分佈的不同,我們需要使用不同的檢驗方法。如果我們知道分佈是正態分佈,我們可以應用 **[學生 t 檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test)**。
+
+在學生 t 檢驗中,我們計算所謂的 **t 值**,它表示平均值之間的差異,同時考慮到方差。已證明 t 值遵循 **學生分佈**,這使我們能夠獲得給定置信水平 **p** 的臨界值(這可以計算,或者在數值表中查找)。然後我們將 t 值與該臨界值進行比較,以接受或拒絕假設。
+
+在 Python 中,我們可以使用 **SciPy** 套件,其中包括 `ttest_ind` 函數(以及許多其他有用的統計函數!)。它為我們計算 t 值,並且還反向查找置信 p 值,因此我們只需查看置信度即可得出結論。
+
+例如,我們對一壘手和二壘手身高的比較給出了以下結果:
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+在我們的情況下,p 值非常低,這意味著有強有力的證據支持一壘手更高的結論。
+
+我們還可以檢驗其他類型的假設,例如:
+* 證明某個樣本符合某種分佈。在我們的例子中,我們假設身高是正態分佈的,但這需要正式的統計驗證。
+* 證明樣本的平均值與某個預定值相符。
+* 比較多個樣本的平均值(例如,不同年齡組的幸福感差異)。
+
+## 大數法則與中心極限定理
+
+正態分佈如此重要的原因之一是所謂的 **中心極限定理**。假設我們有一個由獨立的 N 個值 X1, ..., XN 組成的大樣本,這些值來自任何具有平均值 μ 和方差 σ2 的分佈。那麼,當 N 足夠大時(換句話說,當 N→∞),平均值 ΣiXi 將呈正態分佈,平均值為 μ,方差為 σ2/N。
+
+> 中心極限定理的另一種解釋是,無論分佈如何,當您計算任何隨機變量值的總和的平均值時,結果都會呈現正態分佈。
+
+從中心極限定理還可以得出,當 N→∞ 時,樣本平均值等於 μ 的概率趨於 1。這被稱為 **大數法則**。
+
+## 協方差與相關性
+
+數據科學的一個目的是發現數據之間的關係。我們說兩個序列 **相關**,當它們在同一時間表現出相似的行為時,即它們同時上升/下降,或者一個序列上升時另一個序列下降,反之亦然。換句話說,兩個序列之間似乎存在某種關係。
+
+> 相關性並不一定表示兩個序列之間存在因果關係;有時兩個變量可能依賴於某個外部原因,或者兩個序列的相關性可能純屬偶然。然而,強數學相關性是一個很好的指標,表明兩個變量之間可能存在某種聯繫。
+
+數學上,顯示兩個隨機變量之間關係的主要概念是 **協方差**,其計算公式為:Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]。我們計算兩個變量相對於其平均值的偏差,然後計算這些偏差的乘積。如果兩個變量一起偏離,乘積將始終為正值,從而累加為正協方差。如果兩個變量不同步偏離(即一個低於平均值時另一個高於平均值),我們將始終得到負數,從而累加為負協方差。如果偏差無關,它們將大致加總為零。
+
+協方差的絕對值並不能告訴我們相關性有多大,因為它取決於實際值的大小。為了標準化,我們可以將協方差除以兩個變量的標準差,得到 **相關性**。相關性的好處是它始終在 [-1,1] 範圍內,其中 1 表示值之間的強正相關,-1 表示強負相關,0 表示完全無相關(變量獨立)。
+
+**示例**:我們可以計算棒球運動員數據集中體重和身高之間的相關性:
+```python
+print(np.corrcoef(weights,heights))
+```
+結果,我們得到如下的 **相關矩陣**:
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> 相關矩陣 C 可以針對任意數量的輸入序列 S1, ..., Sn 計算。Cij 的值是 Si 和 Sj 之間的相關性,對角線元素始終為 1(這也是 Si 的自相關性)。
+
+在我們的例子中,值 0.53 表明體重和身高之間存在一定的相關性。我們還可以繪製一個散點圖,將一個值與另一個值進行比較,以直觀地查看關係:
+
+
+
+> 更多關於相關性和協方差的示例可以在 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+## 結論
+
+在本節中,我們學習了:
+
+* 數據的基本統計屬性,例如平均值、方差、眾數和四分位數
+* 隨機變量的不同分佈,包括正態分佈
+* 如何找到不同屬性之間的相關性
+* 如何使用數學和統計的嚴謹工具來證明一些假設
+* 如何根據數據樣本計算隨機變量的置信區間
+
+雖然這絕不是概率和統計學中所有主題的完整列表,但應該足以讓您對本課程有一個良好的開始。
+
+## 🚀 挑戰
+
+使用筆記本中的示例代碼來測試以下假設:
+1. 一壘手比二壘手年長
+2. 一壘手比三壘手高
+3. 游擊手比二壘手高
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## 回顧與自學
+
+概率和統計是一個非常廣泛的主題,值得開設一門專門的課程。如果您有興趣深入理論,可以繼續閱讀以下書籍:
+
+1. [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/) 來自紐約大學的優秀講義 [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf)(在線可用)
+1. [Peter and Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[R 語言示例代碼](https://github.com/andrewgbruce/statistics-for-data-scientists)]。
+1. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[R 語言示例代碼](https://github.com/PacktPublishing/Statistics-for-Data-Science)]。
+
+## 作業
+
+[小型糖尿病研究](assignment.md)
+
+## 致謝
+
+本課程由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/04-stats-and-probability/assignment.md b/translations/hk/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..6de11abf
--- /dev/null
+++ b/translations/hk/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# 小型糖尿病研究
+
+在這次作業中,我們將使用一個小型糖尿病患者數據集,該數據集取自[此處](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html)。
+
+| | 年齡 | 性別 | BMI | 血壓 | S1 | S2 | S3 | S4 | S5 | S6 | Y |
+|---|-----|-----|-----|----|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1 | 101. | 157 | 93.2 | 38.0 | 4. | 4.8598 | 87 | 151 |
+| 1 | 48 | 1 | 21.6 | 87.0 | 183 | 103.2 | 70. | 3. | 3.8918 | 69 | 75 |
+| 2 | 72 | 2 | 30.5 | 93.0 | 156 | 93.6 | 41.0 | 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... |
+
+## 指引
+
+* 在 jupyter notebook 環境中打開 [作業筆記本](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb)
+* 完成筆記本中列出的所有任務,包括:
+ * [ ] 計算所有值的平均值和方差
+ * [ ] 根據性別繪製 BMI、血壓和 Y 的箱型圖
+ * [ ] 分析年齡、性別、BMI 和 Y 變數的分佈情況
+ * [ ] 測試不同變數與疾病進展(Y)之間的相關性
+ * [ ] 檢驗糖尿病進展程度在男性和女性之間是否存在差異的假設
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+所有要求的任務均已完成,並且有圖形展示和詳細解釋 | 大部分任務已完成,但缺少圖形或獲得數值的解釋或結論 | 僅完成基本任務,例如計算平均值/方差和基本圖表,未從數據中得出結論
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/1-Introduction/README.md b/translations/hk/1-Introduction/README.md
new file mode 100644
index 00000000..d1db54f3
--- /dev/null
+++ b/translations/hk/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# 數據科學入門
+
+
+> 圖片由 Stephen Dawson 提供,來源於 Unsplash
+
+在這些課程中,你將了解什麼是數據科學,並學習數據科學家必須考慮的倫理問題。你還會學習數據的定義,並簡單了解統計學和概率論,這些是數據科學的核心學術領域。
+
+### 主題
+
+1. [數據科學的定義](01-defining-data-science/README.md)
+2. [數據科學倫理](02-ethics/README.md)
+3. [數據的定義](03-defining-data/README.md)
+4. [統計學與概率論入門](04-stats-and-probability/README.md)
+
+### 鳴謝
+
+這些課程由 [Nitya Narasimhan](https://twitter.com/nitya) 和 [Dmitry Soshnikov](https://twitter.com/shwars) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/05-relational-databases/README.md b/translations/hk/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..fbad41f5
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# 使用數據:關係型數據庫
+
+| 繪製的手繪筆記 ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| 使用數據:關係型數據庫 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+你可能曾經使用過電子表格來存儲信息。電子表格由一組行和列組成,行包含信息(或數據),列描述這些信息(有時稱為元數據)。關係型數據庫正是基於這種表格中行和列的核心原則構建的,允許你將信息分散到多個表中。這樣可以處理更複雜的數據,避免重複,並且在探索數據時更加靈活。讓我們一起探索關係型數據庫的概念。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## 一切從表開始
+
+關係型數據庫的核心是表。就像電子表格一樣,表是由列和行組成的集合。行包含我們希望處理的數據或信息,例如城市名稱或降雨量。列則描述它們存儲的數據。
+
+讓我們從創建一個存儲城市信息的表開始探索。我們可能會從城市名稱和國家開始。你可以將其存儲在如下表格中:
+
+| 城市 | 國家 |
+| -------- | ------------- |
+| 東京 | 日本 |
+| 亞特蘭大 | 美國 |
+| 奧克蘭 | 新西蘭 |
+
+注意,**城市**、**國家**和**人口**這些列名描述了存儲的數據,而每一行則包含一個城市的信息。
+
+## 單表方法的局限性
+
+上述表格可能對你來說很熟悉。現在讓我們為這個初具規模的數據庫添加一些額外的數據——年度降雨量(以毫米為單位)。我們將關注2018年、2019年和2020年的數據。如果我們為東京添加數據,可能會如下所示:
+
+| 城市 | 國家 | 年份 | 降雨量 |
+| ----- | ------ | ---- | ------ |
+| 東京 | 日本 | 2020 | 1690 |
+| 東京 | 日本 | 2019 | 1874 |
+| 東京 | 日本 | 2018 | 1445 |
+
+你注意到這個表格有什麼問題嗎?你可能會發現我們重複了城市名稱和國家多次。這樣會佔用大量存儲空間,而且多次複製是沒有必要的。畢竟,東京只有一個名稱。
+
+好吧,我們試試另一種方法。讓我們為每一年添加新的列:
+
+| 城市 | 國家 | 2018 | 2019 | 2020 |
+| -------- | ------------- | ---- | ---- | ---- |
+| 東京 | 日本 | 1445 | 1874 | 1690 |
+| 亞特蘭大 | 美國 | 1779 | 1111 | 1683 |
+| 奧克蘭 | 新西蘭 | 1386 | 942 | 1176 |
+
+雖然這樣避免了行的重複,但也帶來了一些其他挑戰。我們每次有新的一年時都需要修改表的結構。此外,隨著數據的增長,將年份作為列會使得檢索和計算數值變得更加困難。
+
+這就是為什麼我們需要多個表和關係。通過將數據分解,我們可以避免重複,並且在處理數據時更加靈活。
+
+## 關係的概念
+
+讓我們回到數據,確定如何分解它。我們知道我們想要存儲城市的名稱和國家,因此這些信息最好存儲在一個表中。
+
+| 城市 | 國家 |
+| -------- | ------------- |
+| 東京 | 日本 |
+| 亞特蘭大 | 美國 |
+| 奧克蘭 | 新西蘭 |
+
+但在創建下一個表之前,我們需要確定如何引用每個城市。我們需要某種形式的標識符、ID 或(在技術數據庫術語中)主鍵。主鍵是一個用於標識表中特定行的值。雖然這可以基於某個值本身(例如,我們可以使用城市名稱),但它幾乎總是應該是一個數字或其他標識符。我們不希望 ID 發生變化,因為這會破壞關係。在大多數情況下,主鍵或 ID 通常是一個自動生成的數字。
+
+> ✅ 主鍵通常縮寫為 PK
+
+### cities
+
+| city_id | 城市 | 國家 |
+| ------- | -------- | ------------- |
+| 1 | 東京 | 日本 |
+| 2 | 亞特蘭大 | 美國 |
+| 3 | 奧克蘭 | 新西蘭 |
+
+> ✅ 在本課程中,你會注意到我們交替使用 "id" 和 "主鍵" 這兩個術語。這些概念同樣適用於你稍後會探索的 DataFrames。雖然 DataFrames 不使用 "主鍵" 這一術語,但你會發現它們的行為非常相似。
+
+有了我們的城市表,現在讓我們存儲降雨量。與其重複城市的完整信息,我們可以使用 ID。我們還應確保新創建的表也有一個 *id* 列,因為所有表都應該有一個 ID 或主鍵。
+
+### rainfall
+
+| rainfall_id | city_id | 年份 | 降雨量 |
+| ----------- | ------- | ---- | ------ |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+注意新創建的 **rainfall** 表中的 **city_id** 列。這一列包含的值引用了 **cities** 表中的 ID。在技術的關係型數據術語中,這被稱為 **外鍵**;它是來自另一個表的主鍵。你可以將其視為一個引用或指針。**city_id** 1 指向東京。
+
+> [!NOTE] 外鍵通常縮寫為 FK
+
+## 檢索數據
+
+將數據分成兩個表後,你可能會想知道如何檢索它。如果我們使用的是 MySQL、SQL Server 或 Oracle 等關係型數據庫,我們可以使用一種稱為結構化查詢語言(SQL)的語言。SQL(有時讀作 sequel)是一種用於檢索和修改關係型數據庫中數據的標準語言。
+
+要檢索數據,你可以使用命令 `SELECT`。其核心是,你**選擇**想要查看的列,**從**它們所在的表中檢索。如果你只想顯示城市的名稱,可以使用以下語句:
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT` 是用來列出列名的,而 `FROM` 是用來列出表名的。
+
+> [NOTE] SQL 語法不區分大小寫,這意味著 `select` 和 `SELECT` 是一樣的。然而,根據你使用的數據庫類型,列名和表名可能區分大小寫。因此,最佳實踐是始終將編程中的所有內容視為區分大小寫。在撰寫 SQL 查詢時,常見的約定是將關鍵字全部用大寫字母表示。
+
+上述查詢將顯示所有城市。假設我們只想顯示新西蘭的城市。我們需要某種形式的篩選器。SQL 中的關鍵字是 `WHERE`,即 "條件為真時"。
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## 數據的連接
+
+到目前為止,我們只從一個表中檢索數據。現在我們希望將 **cities** 和 **rainfall** 的數據結合起來。這可以通過*連接*它們來完成。你將在兩個表之間創建一個接縫,並匹配每個表中的某一列的值。
+
+在我們的例子中,我們將匹配 **rainfall** 表中的 **city_id** 列與 **cities** 表中的 **city_id** 列。這將把降雨量與其對應的城市匹配起來。我們將執行的連接類型稱為*內連接*,這意味著如果某些行與另一個表中的任何內容不匹配,它們將不會顯示。在我們的例子中,每個城市都有降雨量,因此所有內容都會顯示。
+
+讓我們檢索所有城市在2019年的降雨量。
+
+我們將分步完成。第一步是通過指定接縫的列(即 **city_id**)來連接數據。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+我們已經突出顯示了我們想要的兩列,以及我們希望通過 **city_id** 將表連接起來的事實。現在我們可以添加 `WHERE` 語句來篩選出僅2019年的數據。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## 總結
+
+關係型數據庫的核心是將信息分割到多個表中,然後將其重新組合以進行顯示和分析。這提供了極高的靈活性來執行計算或以其他方式操作數據。你已經了解了關係型數據庫的核心概念,以及如何在兩個表之間執行連接。
+
+## 🚀 挑戰
+
+網絡上有許多關係型數據庫可供使用。你可以利用上面學到的技能來探索這些數據。
+
+## 課後測驗
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## 回顧與自學
+
+[Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum) 上有多種資源可供你繼續探索 SQL 和關係型數據庫的概念:
+
+- [描述關係型數據的概念](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [開始使用 Transact-SQL 查詢](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum)(Transact-SQL 是 SQL 的一個版本)
+- [Microsoft Learn 上的 SQL 內容](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## 作業
+
+[作業標題](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/05-relational-databases/assignment.md b/translations/hk/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..c7fabe59
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# 顯示機場數據
+
+你已獲得一個基於 [SQLite](https://sqlite.org/index.html) 的 [數據庫](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db),其中包含有關機場的信息。以下是數據庫的結構。你將使用 [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) 中的 [SQLite 擴展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) 來顯示不同城市的機場信息。
+
+## 指引
+
+要開始這個任務,你需要完成幾個步驟。你需要安裝一些工具並下載示例數據庫。
+
+### 設置你的系統
+
+你可以使用 Visual Studio Code 和 SQLite 擴展來與數據庫交互。
+
+1. 瀏覽 [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum),按照指引安裝 Visual Studio Code
+1. 按照 Marketplace 頁面上的指引安裝 [SQLite 擴展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+### 下載並打開數據庫
+
+接下來,你需要下載並打開數據庫。
+
+1. 下載 [GitHub 上的數據庫文件](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db),並將其保存到一個目錄中
+1. 打開 Visual Studio Code
+1. 在 SQLite 擴展中打開數據庫,按下 **Ctl-Shift-P**(Mac 上為 **Cmd-Shift-P**),然後輸入 `SQLite: Open database`
+1. 選擇 **Choose database from file**,然後打開你之前下載的 **airports.db** 文件
+1. 打開數據庫後(屏幕上不會顯示更新),通過按下 **Ctl-Shift-P**(Mac 上為 **Cmd-Shift-P**),然後輸入 `SQLite: New query`,創建一個新的查詢窗口
+
+打開後,你可以使用新的查詢窗口對數據庫運行 SQL 語句。你可以使用命令 **Ctl-Shift-Q**(Mac 上為 **Cmd-Shift-Q**)來執行查詢。
+
+> [!NOTE] 有關 SQLite 擴展的更多信息,你可以查閱 [文檔](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+## 數據庫結構
+
+數據庫的結構是其表的設計和結構。**airports** 數據庫有兩個表:`cities`,包含英國和愛爾蘭的城市列表;以及 `airports`,包含所有機場的列表。由於某些城市可能有多個機場,因此創建了兩個表來存儲信息。在這個練習中,你將使用聯結來顯示不同城市的信息。
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK to id in **Cities**) |
+
+## 任務
+
+創建查詢以返回以下信息:
+
+1. `Cities` 表中所有城市的名稱
+1. `Cities` 表中所有位於愛爾蘭的城市
+1. 所有機場的名稱及其所在的城市和國家
+1. 所有位於英國倫敦的機場
+
+## 評分標準
+
+| 優秀 | 合格 | 需要改進 |
+| ---- | ---- | -------- |
+
+**免責聲明**:
+本文件使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。如涉及關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/06-non-relational/README.md b/translations/hk/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..0a71fe42
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# 使用數據:非關聯式數據
+
+| 繪製的速記筆記](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|使用 NoSQL 數據 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+數據並不限於關聯式數據庫。本課程聚焦於非關聯式數據,並涵蓋電子表格和 NoSQL 的基礎知識。
+
+## 電子表格
+
+電子表格是一種流行的數據存儲和探索方式,因為它需要較少的設置工作即可開始使用。在本課程中,您將學習電子表格的基本組成部分,以及公式和函數。示例將以 Microsoft Excel 為例,但大多數部分和主題在其他電子表格軟件中名稱和步驟相似。
+
+
+
+電子表格是一個文件,可以在電腦、設備或基於雲的文件系統中訪問。軟件本身可能是基於瀏覽器的,也可能是必須安裝在電腦上的應用程序或下載的應用。 在 Excel 中,這些文件也被定義為 **工作簿**,本課程的其餘部分將使用此術語。
+
+工作簿包含一個或多個 **工作表**,每個工作表都由標籤標記。在工作表中有稱為 **儲存格** 的矩形,這些儲存格包含實際數據。儲存格是行和列的交叉點,其中列用字母標記,行用數字標記。一些電子表格會在前幾行中包含標題,以描述儲存格中的數據。
+
+基於 Excel 工作簿的這些基本元素,我們將使用 [Microsoft 模板](https://templates.office.com/) 中的一個專注於庫存的示例來演示電子表格的其他部分。
+
+### 管理庫存
+
+名為 "InventoryExample" 的電子表格文件是一個格式化的庫存項目表,包含三個工作表,標籤分別為 "Inventory List"、"Inventory Pick List" 和 "Bin Lookup"。Inventory List 工作表的第 4 行是標題,描述了標題列中每個儲存格的值。
+
+
+
+有些情況下,儲存格的值依賴於其他儲存格的值來生成。在庫存列表電子表格中,我們跟蹤庫存中每個項目的成本,但如果我們需要知道整個庫存的價值呢?[**公式**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) 用於對儲存格數據執行操作,在此示例中用於計算庫存的成本。此電子表格在 Inventory Value 列中使用公式,通過將 QTY 標題下的數量與 COST 標題下的成本相乘來計算每個項目的價值。雙擊或高亮顯示儲存格將顯示公式。您會注意到公式以等號開頭,後面是計算或操作。
+
+
+
+我們可以使用另一個公式將所有 Inventory Value 的值相加以獲得其總價值。這可以通過逐個添加每個儲存格來計算總和,但這可能是一項繁瑣的任務。Excel 提供了 [**函數**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89),即預定義的公式,用於對儲存格值進行計算。函數需要參數,即執行這些計算所需的值。當函數需要多個參數時,它們需要按特定順序列出,否則函數可能無法計算正確的值。此示例使用 SUM 函數,並使用 Inventory Value 的值作為參數來生成列於第 3 行、第 B 列(也稱為 B3)的總和。
+
+## NoSQL
+
+NoSQL 是一個涵蓋非關聯式數據存儲方式的術語,可以解釋為 "非 SQL"、"非關聯式" 或 "不僅僅是 SQL"。這些類型的數據庫系統可以分為四種類型。
+
+
+> 來源:[Michał Białecki Blog](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/) 和適當的哈希函數存儲。
+
+
+> 來源:[Microsoft](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) 數據存儲將數據組織為列和行,類似於關聯式數據結構,但每列被分為稱為列族的組,其中一列下的所有數據是相關的,可以作為一個單元檢索和更改。
+
+### 使用 Azure Cosmos DB 的文檔數據存儲
+
+[文檔](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) 數據存儲基於鍵值數據存儲的概念,由一系列字段和對象組成。本節將使用 Cosmos DB 模擬器探索文檔數據庫。
+
+Cosmos DB 數據庫符合 "不僅僅是 SQL" 的定義,其中 Cosmos DB 的文檔數據庫依賴 SQL 來查詢數據。[上一課](../05-relational-databases/README.md) 涵蓋了 SQL 的基礎知識,我們可以在此處將一些相同的查詢應用於文檔數據庫。我們將使用 Cosmos DB 模擬器,它允許我們在本地計算機上創建和探索文檔數據庫。閱讀更多有關模擬器的信息 [此處](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)。
+
+文檔是字段和對象值的集合,其中字段描述對象值的含義。以下是一個文檔示例。
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+此文檔中的關鍵字段包括:`firstname`、`id` 和 `age`。其餘帶下劃線的字段由 Cosmos DB 生成。
+
+#### 使用 Cosmos DB 模擬器探索數據
+
+您可以 [在此處下載並安裝 Windows 版模擬器](https://aka.ms/cosmosdb-emulator)。有關如何在 macOS 和 Linux 上運行模擬器的選項,請參考 [此文檔](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos)。
+
+模擬器啟動後會打開一個瀏覽器窗口,其中的 Explorer 視圖允許您探索文檔。
+
+
+
+如果您正在跟隨教程,請點擊 "Start with Sample" 生成一個名為 SampleDB 的示例數據庫。如果通過點擊箭頭展開 SampleDB,您會找到一個名為 `Persons` 的容器,容器包含一系列項目,即容器中的文檔。您可以探索 `Items` 下的四個單獨文檔。
+
+
+
+#### 使用 Cosmos DB 模擬器查詢文檔數據
+
+我們還可以通過點擊第二個按鈕(左側第二個按鈕)上的 "New SQL Query" 來查詢示例數據。
+
+`SELECT * FROM c` 返回容器中的所有文檔。讓我們添加一個 where 子句,查找年齡小於 40 的人。
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+查詢返回了兩個文檔,注意每個文檔的年齡值都小於 40。
+
+#### JSON 和文檔
+
+如果您熟悉 JavaScript Object Notation (JSON),您會注意到文檔看起來與 JSON 類似。此目錄中有一個 `PersonsData.json` 文件,您可以通過模擬器中的 `Upload Item` 按鈕將其上傳到 Persons 容器。
+
+在大多數情況下,返回 JSON 數據的 API 可以直接轉移並存儲到文檔數據庫中。以下是另一個文檔,它表示從 Microsoft Twitter 帳戶檢索的推文,該推文使用 Twitter API 獲取,然後插入到 Cosmos DB 中。
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+此文檔中的關鍵字段包括:`created_at`、`id` 和 `text`。
+
+## 🚀 挑戰
+
+目錄中有一個 `TwitterData.json` 文件,您可以將其上傳到 SampleDB 數據庫。建議您將其添加到單獨的容器中。這可以通過以下步驟完成:
+
+1. 點擊右上角的 "New Container" 按鈕
+1. 選擇現有數據庫 (SampleDB),為容器創建一個容器 ID
+1. 將分區鍵設置為 `/id`
+1. 點擊 OK(您可以忽略此視圖中的其他信息,因為這是一個小型數據集,運行在您的本地機器上)
+1. 打開您的新容器,並使用 `Upload Item` 按鈕上傳 Twitter Data 文件
+
+嘗試運行一些 SELECT 查詢,查找 text 字段中包含 Microsoft 的文檔。提示:嘗試使用 [LIKE 關鍵字](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character)。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## 回顧與自學
+
+- 本課程未涵蓋此電子表格中添加的一些額外格式和功能。如果您有興趣了解更多,Microsoft 提供了 [大量 Excel 文檔和視頻庫](https://support.microsoft.com/excel)。
+
+- 此架構文檔詳細介紹了不同類型非關聯式數據的特徵:[非關聯式數據和 NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)。
+
+- Cosmos DB 是一個基於雲的非關聯式數據庫,也可以存儲本課程中提到的不同 NoSQL 類型。了解更多有關這些類型的信息,請參考此 [Cosmos DB Microsoft Learn 模塊](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/)。
+
+## 作業
+
+[Soda Profits](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/06-non-relational/assignment.md b/translations/hk/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..2f861326
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# 汽水利潤
+
+## 指引
+
+[Coca Cola Co 試算表](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx) 缺少了一些計算。你的任務是:
+
+1. 計算 2015、2016、2017 和 2018 財政年度的毛利
+ - 毛利 = 營業收入淨額 - 銷售成本
+1. 計算所有毛利的平均值。嘗試使用函數來完成。
+ - 平均值 = 毛利總和除以財政年度數量 (10)
+ - [AVERAGE 函數](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6) 的文件
+1. 這是一個 Excel 文件,但應該可以在任何試算表平台中編輯
+
+[數據來源感謝 Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | --- |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/07-python/README.md b/translations/hk/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..a074a287
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,288 @@
+
+# 使用數據:Python 和 Pandas 庫
+
+|  ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| 使用 Python - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+雖然數據庫提供了非常高效的方式來存儲數據並通過查詢語言進行查詢,但最靈活的數據處理方式是編寫自己的程序來操作數據。在許多情況下,使用數據庫查詢會更有效。然而,在某些需要更複雜數據處理的情況下,SQL 無法輕易完成這些操作。
+數據處理可以用任何編程語言來編寫,但有些語言在處理數據方面更高效。數據科學家通常偏好以下語言之一:
+
+* **[Python](https://www.python.org/)**,一種通用編程語言,因其簡單性常被認為是初學者的最佳選擇之一。Python 擁有許多額外的庫,可以幫助解決許多實際問題,例如從 ZIP 壓縮檔中提取數據,或將圖片轉換為灰階。除了數據科學,Python 也常用於網頁開發。
+* **[R](https://www.r-project.org/)** 是一個傳統工具箱,專為統計數據處理而設計。它擁有大量的庫資源(CRAN),使其成為數據處理的良好選擇。然而,R 不是通用編程語言,很少用於數據科學領域以外的場景。
+* **[Julia](https://julialang.org/)** 是另一種專為數據科學開發的語言。它旨在提供比 Python 更好的性能,是科學實驗的強大工具。
+
+在本課中,我們將專注於使用 Python 進行簡單的數據處理。我們假設您對該語言已有基本的了解。如果您想更深入地學習 Python,可以參考以下資源:
+
+* [用 Turtle Graphics 和分形圖形趣味學習 Python](https://github.com/shwars/pycourse) - 基於 GitHub 的 Python 快速入門課程
+* [邁出學習 Python 的第一步](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) - [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) 上的學習路徑
+
+數據可以有多種形式。在本課中,我們將考慮三種數據形式:**表格數據**、**文本**和**圖像**。
+
+我們將專注於一些數據處理的例子,而不是全面介紹所有相關的庫。這樣可以讓您了解主要概念,並在需要時知道去哪裡尋找解決方案。
+
+> **最有用的建議**:當您需要對數據執行某些操作但不知道如何實現時,嘗試在互聯網上搜索。[Stackoverflow](https://stackoverflow.com/) 通常包含許多針對典型任務的 Python 有用代碼示例。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## 表格數據與 DataFrame
+
+當我們討論關係型數據庫時,您已經接觸過表格數據。當您擁有大量數據,並且這些數據存儲在許多不同的關聯表中時,使用 SQL 來處理它們是非常有意義的。然而,在許多情況下,我們擁有一個數據表,並需要對這些數據進行一些**理解**或**洞察**,例如分佈情況、值之間的相關性等。在數據科學中,經常需要對原始數據進行一些轉換,然後進行可視化。這兩個步驟都可以輕鬆地用 Python 完成。
+
+Python 中有兩個最有用的庫可以幫助您處理表格數據:
+* **[Pandas](https://pandas.pydata.org/)** 允許您操作所謂的 **DataFrame**,類似於關係型表格。您可以擁有命名的列,並對行、列和整個 DataFrame 執行不同的操作。
+* **[Numpy](https://numpy.org/)** 是一個用於處理 **張量**(即多維**數組**)的庫。數組的值具有相同的基礎類型,比 DataFrame 更簡單,但提供了更多數學操作,並且開銷更小。
+
+此外,還有幾個您應該了解的庫:
+* **[Matplotlib](https://matplotlib.org/)** 是一個用於數據可視化和繪製圖表的庫
+* **[SciPy](https://www.scipy.org/)** 是一個包含一些額外科學功能的庫。我們在討論概率和統計時已經接觸過這個庫
+
+以下是您通常在 Python 程序開頭用來導入這些庫的代碼:
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandas 圍繞幾個基本概念構建。
+
+### Series
+
+**Series** 是一個值的序列,類似於列表或 numpy 數組。主要區別在於 Series 還有一個 **索引**,當我們對 Series 進行操作(例如相加)時,索引會被考慮在內。索引可以是簡單的整數行號(從列表或數組創建 Series 時默認使用的索引),也可以具有複雜結構,例如日期區間。
+
+> **注意**:在隨附的筆記本 [`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb) 中有一些 Pandas 的入門代碼。我們在這裡僅概述一些示例,您可以查看完整的筆記本。
+
+舉個例子:我們想分析我們冰淇淋店的銷售情況。讓我們生成一個銷售數據的 Series(每天售出的數量):
+
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+當我們將兩個 Series 相加時,我們得到總數:
+```python
+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` 參數。
+
+對於時間序列,我們還可以使用不同的時間間隔對其進行**重採樣**。例如,假設我們想計算每月的平均銷售量。我們可以使用以下代碼:
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### DataFrame
+
+DataFrame 本質上是具有相同索引的多個 Series 的集合。我們可以將幾個 Series 組合成一個 DataFrame:
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+這將創建如下的橫向表格:
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+我們還可以將 Series 作為列,並使用字典指定列名:
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+這將生成如下表格:
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**注意**:我們還可以通過轉置前面的表格來獲得這種表格佈局,例如:
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+這裡 `.T` 表示轉置 DataFrame 的操作,即更改行和列,而 `rename` 操作允許我們重命名列以匹配前面的示例。
+
+以下是我們可以對 DataFrame 執行的一些最重要的操作:
+
+**列選擇**。我們可以通過 `df['A']` 選擇單個列——此操作返回一個 Series。我們還可以通過 `df[['B','A']]` 選擇列的子集到另一個 DataFrame。
+
+**按條件篩選行**。例如,要僅保留列 `A` 大於 5 的行,我們可以寫 `df[df['A']>5]`。
+
+> **注意**:篩選的工作方式如下。表達式 `df['A']<5` 返回一個布爾 Series,指示原始 Series `df['A']` 的每個元素是否為 `True` 或 `False`。當布爾 Series 用作索引時,它返回 DataFrame 中的行子集。因此,無法使用任意的 Python 布爾表達式,例如,寫 `df[df['A']>5 and df['A']<7]` 是錯誤的。相反,您應該對布爾 Series 使用特殊的 `&` 操作,寫作 `df[(df['A']>5) & (df['A']<7)]`(*括號在這裡很重要*)。
+
+**創建新的可計算列**。我們可以通過直觀的表達式輕鬆為 DataFrame 創建新的可計算列:
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+此示例計算 A 與其平均值的偏差。實際上,我們是在計算一個 Series,然後將此 Series 賦值給左側,創建另一列。因此,我們不能使用與 Series 不兼容的任何操作,例如,以下代碼是錯誤的:
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+後一個示例雖然語法正確,但給出了錯誤的結果,因為它將 Series `B` 的長度分配給列中的所有值,而不是我們預期的每個元素的長度。
+
+如果我們需要計算這樣的複雜表達式,可以使用 `apply` 函數。最後一個示例可以寫成如下:
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+經過上述操作後,我們將得到以下 DataFrame:
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**基於數字選擇行**可以使用 `iloc` 結構。例如,要選擇 DataFrame 的前 5 行:
+```python
+df.iloc[:5]
+```
+
+**分組**通常用於獲得類似於 Excel 中*樞軸表*的結果。例如,假設我們想計算列 `A` 的平均值,按 `LenB` 的每個值分組。我們可以按 `LenB` 分組 DataFrame,然後調用 `mean`:
+```python
+df.groupby(by='LenB').mean()
+```
+如果我們需要計算平均值和組中的元素數量,則可以使用更複雜的 `aggregate` 函數:
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+這將生成以下表格:
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### 獲取數據
+我們已經看到如何輕鬆地從 Python 對象構建 Series 和 DataFrames。然而,數據通常以文本文件或 Excel 表格的形式存在。幸運的是,Pandas 為我們提供了一種簡單的方法來從磁碟中載入數據。例如,讀取 CSV 文件就像這樣簡單:
+```python
+df = pd.read_csv('file.csv')
+```
+我們將在“挑戰”部分中看到更多載入數據的例子,包括從外部網站獲取數據。
+
+### 打印和繪圖
+
+數據科學家經常需要探索數據,因此能夠可視化數據非常重要。當 DataFrame 很大時,我們通常只需要打印出前幾行來確保我們的操作是正確的。這可以通過調用 `df.head()` 完成。如果你在 Jupyter Notebook 中運行,它會以漂亮的表格形式打印出 DataFrame。
+
+我們還看到了使用 `plot` 函數來可視化某些列的例子。雖然 `plot` 對許多任務非常有用,並且通過 `kind=` 參數支持多種不同的圖表類型,但你也可以使用原始的 `matplotlib` 庫來繪製更複雜的圖表。我們將在單獨的課程中詳細介紹數據可視化。
+
+這個概述涵蓋了 Pandas 的最重要概念,但這個庫非常豐富,你可以用它做無限多的事情!現在讓我們應用這些知識來解決具體問題。
+
+## 🚀 挑戰 1:分析 COVID 傳播
+
+我們將專注於的第一個問題是 COVID-19 的流行病傳播建模。為了做到這一點,我們將使用由 [約翰霍普金斯大學](https://jhu.edu/) 的 [系統科學與工程中心](https://systems.jhu.edu/) (CSSE) 提供的不同國家感染人數數據。數據集可以在 [這個 GitHub 存儲庫](https://github.com/CSSEGISandData/COVID-19) 中找到。
+
+由於我們想展示如何處理數據,我們邀請你打開 [`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/notebook-covidspread.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後留下的一些挑戰。
+
+
+
+> 如果你不知道如何在 Jupyter Notebook 中運行代碼,可以查看 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## 處理非結構化數據
+
+雖然數據通常以表格形式出現,但在某些情況下我們需要處理較少結構化的數據,例如文本或圖像。在這種情況下,要應用我們上面看到的數據處理技術,我們需要以某種方式**提取**結構化數據。以下是一些例子:
+
+* 從文本中提取關鍵字,並查看這些關鍵字出現的頻率
+* 使用神經網絡從圖片中提取有關物體的信息
+* 獲取視頻鏡頭中人物的情感信息
+
+## 🚀 挑戰 2:分析 COVID 相關論文
+
+在這個挑戰中,我們將繼續探討 COVID 疫情的主題,並專注於處理相關的科學論文。有一個 [CORD-19 數據集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge),其中包含超過 7000 篇(撰寫時)關於 COVID 的論文,並提供元數據和摘要(其中約一半還提供全文)。
+
+使用 [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) 認知服務分析此數據集的完整示例已在 [這篇博客文章](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/) 中描述。我們將討論此分析的簡化版本。
+
+> **NOTE**: 我們不提供此存儲庫中的數據集副本。你可能需要先從 [Kaggle 上的這個數據集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 下載 [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 文件。可能需要在 Kaggle 註冊。你也可以從 [這裡](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) 無需註冊下載數據集,但它將包括所有全文以及元數據文件。
+
+打開 [`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/notebook-papers.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後留下的一些挑戰。
+
+
+
+## 處理圖像數據
+
+最近,已經開發出非常強大的 AI 模型,可以幫助我們理解圖像。有許多任務可以使用預訓練的神經網絡或雲服務解決。一些例子包括:
+
+* **圖像分類**,可以幫助你將圖像分類到預定義的類別之一。你可以使用像 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 這樣的服務輕鬆訓練自己的圖像分類器。
+* **物體檢測**,用於檢測圖像中的不同物體。像 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 這樣的服務可以檢測許多常見物體,你也可以訓練 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 模型來檢測一些特定的感興趣物體。
+* **人臉檢測**,包括年齡、性別和情感檢測。這可以通過 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 完成。
+
+所有這些雲服務都可以通過 [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) 調用,因此可以輕鬆地集成到你的數據探索工作流程中。
+
+以下是一些探索圖像數據源的例子:
+* 在博客文章 [如何在無需編碼的情況下學習數據科學](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) 中,我們探索 Instagram 照片,試圖了解什麼使人們更喜歡某張照片。我們首先使用 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 從圖片中提取盡可能多的信息,然後使用 [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) 建立可解釋的模型。
+* 在 [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) 中,我們使用 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 從活動照片中提取人物的情感,試圖了解什麼使人們感到快樂。
+
+## 結論
+
+無論你已經擁有結構化數據還是非結構化數據,使用 Python 你都可以完成與數據處理和理解相關的所有步驟。這可能是最靈活的數據處理方式,這也是大多數數據科學家將 Python 作為主要工具的原因。如果你對數據科學之旅是認真的,深入學習 Python 可能是一個好主意!
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## 回顧與自學
+
+**書籍**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**線上資源**
+* 官方 [10 分鐘學 Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) 教程
+* [Pandas 可視化文檔](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**學習 Python**
+* [用 Turtle Graphics 和分形圖以有趣的方式學習 Python](https://github.com/shwars/pycourse)
+* [在 Microsoft Learn 上的 Python 初步學習路徑](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum)
+
+## 作業
+
+[對上述挑戰進行更詳細的數據研究](assignment.md)
+
+## 致謝
+
+這節課由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/07-python/assignment.md b/translations/hk/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..a6415fd2
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# 使用 Python 處理數據的作業
+
+在這份作業中,我們將要求你詳細說明我們在挑戰中開始開發的代碼。作業分為兩部分:
+
+## COVID-19 傳播模型
+
+ - [ ] 在一個圖表中繪製 5-6 個不同國家的 *R* 圖表進行比較,或者使用多個並排的圖表。
+ - [ ] 查看死亡人數和康復人數如何與感染病例數量相關。
+ - [ ] 通過視覺上相關感染率和死亡率並尋找一些異常,找出典型疾病持續的時間。你可能需要查看不同國家的數據來得出結論。
+ - [ ] 計算致死率以及它隨時間的變化。*你可能需要考慮疾病持續的天數,將一個時間序列進行移位後再進行計算。*
+
+## COVID-19 論文分析
+
+- [ ] 建立不同藥物的共現矩陣,查看哪些藥物經常一起出現(即在同一摘要中提到)。你可以修改用於建立藥物和診斷共現矩陣的代碼。
+- [ ] 使用熱圖可視化這個矩陣。
+- [ ] 作為額外挑戰,使用 [chord diagram](https://en.wikipedia.org/wiki/Chord_diagram) 可視化藥物的共現情況。[這個庫](https://pypi.org/project/chord/) 可能可以幫助你繪製弦圖。
+- [ ] 作為另一個額外挑戰,使用正則表達式提取不同藥物的劑量(例如 **400mg** 在 *每天服用 400mg 氯喹* 中),並建立一個數據框,顯示不同藥物的不同劑量。**注意**:考慮與藥物名稱在文本中接近的數值。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+所有任務完成,圖形化展示並解釋清楚,包括至少完成一個額外挑戰 | 完成超過 5 項任務,但未嘗試額外挑戰,或者結果不清晰 | 完成少於 5 項(但超過 3 項)任務,且可視化未能有效展示重點
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/08-data-preparation/README.md b/translations/hk/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..6c187aae
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,344 @@
+
+# 處理數據:數據準備
+
+| ](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|數據準備 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+根據數據的來源,原始數據可能包含一些不一致性,這些不一致性會在分析和建模過程中帶來挑戰。換句話說,這些數據可以被歸類為「髒數據」,需要進行清理。本課程重點介紹清理和轉換數據的技術,以應對缺失、不準確或不完整的數據挑戰。本課程涵蓋的主題將使用 Python 和 Pandas 庫,並在本目錄中的[筆記本](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)中進行演示。
+
+## 清理數據的重要性
+
+- **易於使用和重用**:當數據被適當地組織和標準化後,更容易搜索、使用和與他人共享。
+
+- **一致性**:數據科學通常需要處理多個數據集,來自不同來源的數據集需要合併在一起。確保每個單獨的數據集具有共同的標準化,能確保在合併成一個數據集後仍然有用。
+
+- **模型準確性**:清理過的數據能提高依賴於它的模型的準確性。
+
+## 常見的清理目標和策略
+
+- **探索數據集**:數據探索(在[後續課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing)中會涉及)可以幫助你發現需要清理的數據。通過視覺化觀察數據集中的值,可以設置對其餘部分的期望,或者提供可以解決的問題的想法。探索可以包括基本查詢、視覺化和抽樣。
+
+- **格式化**:根據來源,數據在呈現方式上可能存在不一致性。這可能會在搜索和表示值時造成問題,數據雖然在數據集中可見,但在視覺化或查詢結果中未正確表示。常見的格式化問題包括解決空白、日期和數據類型。解決格式化問題通常由使用數據的人來完成。例如,日期和數字的表示標準可能因國家而異。
+
+- **重複數據**:多次出現的數據可能會產生不準確的結果,通常應該被刪除。這在合併兩個或多個數據集時很常見。然而,有些情況下,合併數據集中的重複部分可能包含額外的信息,需要保留。
+
+- **缺失數據**:缺失數據可能導致不準確以及結果偏弱或有偏差。有時可以通過重新加載數據、使用 Python 等代碼計算填充缺失值,或者簡單地刪除該值及其相關數據來解決。數據缺失的原因有很多,解決缺失值的行動可能取決於它們缺失的方式和原因。
+
+## 探索 DataFrame 信息
+> **學習目標**:完成本小節後,你應該能夠熟練地查找存儲在 pandas DataFrame 中的數據的一般信息。
+
+當你將數據加載到 pandas 中後,它很可能會以 DataFrame 的形式存在(參考之前的[課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe)了解詳細概述)。然而,如果你的 DataFrame 中的數據集有 60,000 行和 400 列,你該如何開始了解你正在處理的內容?幸運的是,[pandas](https://pandas.pydata.org/) 提供了一些方便的工具,可以快速查看 DataFrame 的整體信息以及前幾行和後幾行。
+
+為了探索這些功能,我們將導入 Python 的 scikit-learn 庫並使用一個經典數據集:**Iris 數據集**。
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |sepal length (cm)|sepal width (cm)|petal length (cm)|petal width (cm)|
+|----------------------------------------|-----------------|----------------|-----------------|----------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info**:首先,`info()` 方法用於打印 `DataFrame` 中內容的摘要。我們來看看這個數據集:
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+從中我們知道 *Iris* 數據集有 150 條記錄,分布在四列中,且沒有空值。所有數據都存儲為 64 位浮點數。
+
+- **DataFrame.head()**:接下來,為了檢查 `DataFrame` 的實際內容,我們使用 `head()` 方法。讓我們看看 `iris_df` 的前幾行:
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()**:相反,為了檢查 `DataFrame` 的最後幾行,我們使用 `tail()` 方法:
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **重點**:僅僅通過查看 DataFrame 中的信息元數據或前幾個和後幾個值,你就可以立即了解你正在處理的數據的大小、形狀和內容。
+
+## 處理缺失數據
+> **學習目標**:完成本小節後,你應該知道如何替換或刪除 DataFrame 中的空值。
+
+大多數情況下,你想使用(或不得不使用)的數據集中都會有缺失值。如何處理缺失數據涉及微妙的權衡,這可能會影響你的最終分析和現實世界的結果。
+
+Pandas 以兩種方式處理缺失值。第一種方式你在之前的部分中已經見過:`NaN`,即非數值(Not a Number)。這實際上是一個特殊值,是 IEEE 浮點規範的一部分,僅用於表示缺失的浮點值。
+
+對於浮點數以外的缺失值,pandas 使用 Python 的 `None` 對象。雖然你可能會覺得遇到兩種不同的值來表示基本相同的意思有些混亂,但這種設計選擇有其合理的編程原因,實際上,這種方式使 pandas 能夠在大多數情況下提供良好的折衷解決方案。儘管如此,`None` 和 `NaN` 都有一些限制,你需要注意它們的使用方式。
+
+在[筆記本](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)中了解更多關於 `NaN` 和 `None` 的信息!
+
+- **檢測空值**:在 `pandas` 中,`isnull()` 和 `notnull()` 方法是檢測空數據的主要方法。兩者都返回布爾掩碼。我們將使用 `numpy` 來處理 `NaN` 值:
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+仔細查看輸出。是否有任何結果讓你感到驚訝?雖然 `0` 是一個算術空值,但它仍然是一個完全有效的整數,pandas 將其視為這樣。`''` 更微妙一些。雖然我們在第一部分中用它來表示空字符串值,但它仍然是一個字符串對象,而不是 pandas 所認為的空值表示。
+
+現在,讓我們反過來以更接近實際使用的方式使用這些方法。你可以直接將布爾掩碼用作 ``Series`` 或 ``DataFrame`` 的索引,這在處理孤立的缺失(或存在)值時非常有用。
+
+> **重點**:在 `DataFrame` 中使用 `isnull()` 和 `notnull()` 方法時,它們會顯示結果及其索引,這對你處理數據時非常有幫助。
+
+- **刪除空值**:除了識別缺失值外,pandas 還提供了一種方便的方法來刪除 `Series` 和 `DataFrame` 中的空值。(特別是在大型數據集上,通常更建議直接刪除分析中的缺失 [NA] 值,而不是以其他方式處理它們。)讓我們回到 `example1` 來看看這一點:
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+注意,這應該看起來像你的 `example3[example3.notnull()]` 的輸出。不同之處在於,`dropna` 已經從 `Series` `example1` 中刪除了那些缺失值。
+
+由於 `DataFrame` 是二維的,它提供了更多刪除數據的選項。
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(你是否注意到 pandas 將兩列數據提升為浮點數以容納 `NaN`?)
+
+你不能從 `DataFrame` 中刪除單個值,因此你必須刪除整行或整列。根據你正在做的事情,你可能需要刪除其中之一,pandas 為此提供了選擇。由於在數據科學中,列通常表示變量,行表示觀察值,你更可能刪除數據行;`dropna()` 的默認設置是刪除所有包含任何空值的行:
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+如果需要,你可以刪除列中的 NA 值。使用 `axis=1` 來完成:
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+注意,這可能會刪除你可能想保留的大量數據,特別是在較小的數據集中。如果你只想刪除包含幾個甚至所有空值的行或列怎麼辦?你可以在 `dropna` 中使用 `how` 和 `thresh` 參數來指定這些設置。
+
+默認情況下,`how='any'`(如果你想自己檢查或查看該方法的其他參數,可以在代碼單元中運行 `example4.dropna?`)。你也可以選擇指定 `how='all'`,以便僅刪除包含所有空值的行或列。讓我們擴展我們的示例 `DataFrame` 來看看這一點。
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+`thresh` 參數提供了更細粒度的控制:你可以設置行或列需要保留的*非空值*的數量:
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+在這裡,第一行和最後一行已被刪除,因為它們僅包含兩個非空值。
+
+- **填充空值**:根據你的數據集,有時用有效值填充空值比刪除它們更合理。你可以使用 `isnull` 來就地完成此操作,但如果你有很多值需要填充,這可能會很繁瑣。由於這是數據科學中的常見任務,pandas 提供了 `fillna`,它返回一個 `Series` 或 `DataFrame` 的副本,其中的缺失值被替換為你選擇的值。讓我們創建另一個示例 `Series` 來看看這在實踐中的工作方式。
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+你可以用單一值(例如 `0`)填充所有空條目:
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+你可以**向前填充**空值,即使用最後一個有效值填充空值:
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+你也可以**向後填充**,即向後傳播下一個有效值以填充空值:
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+正如你可能猜到的,這對 `DataFrame` 也適用,但你還可以指定沿著哪個 `axis` 填充空值。再次使用之前的 `example2`:
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+注意,當前一個值不可用進行向前填充時,空值仍然保留。
+> **重點提示:** 處理數據集中缺失值的方法有很多種。你選擇的具體策略(刪除、替換,甚至是如何替換)應該根據數據的具體情況來決定。隨著你處理和分析更多數據集,你會逐漸培養出更好的直覺來應對缺失值。
+
+## 刪除重複數據
+
+> **學習目標:** 在本小節結束時,你應該能夠熟練地識別並刪除 DataFrame 中的重複值。
+
+除了缺失數據外,你在現實世界的數據集中還會經常遇到重複數據。幸運的是,`pandas` 提供了一種簡單的方法來檢測和刪除重複條目。
+
+- **識別重複值:`duplicated`**:你可以使用 pandas 的 `duplicated` 方法輕鬆地找到重複值。該方法返回一個布爾掩碼,指示 `DataFrame` 中某條目是否是之前條目的重複。我們來創建另一個示例 `DataFrame`,看看這個方法如何運作。
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |letters|numbers|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **刪除重複值:`drop_duplicates`**:該方法返回一個副本,其中所有 `duplicated` 值為 `False` 的數據被保留:
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+`duplicated` 和 `drop_duplicates` 默認會考慮所有列,但你可以指定它們僅檢查 `DataFrame` 中的某些列:
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **重點提示:** 刪除重複數據是幾乎每個數據科學項目中的重要步驟。重複數據可能會影響分析結果,導致不準確的結論!
+
+
+## 🚀 挑戰
+
+所有討論過的材料都已提供為 [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb)。此外,每節課後還有練習題,試著完成它們吧!
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+
+
+## 回顧與自學
+
+發現和準備數據以進行分析和建模的方法有很多,而清理數據是一個需要「親身實踐」的關鍵步驟。試試 Kaggle 上的這些挑戰,探索本課未涵蓋的技術。
+
+- [數據清理挑戰:解析日期](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [數據清理挑戰:數據縮放與標準化](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+
+## 作業
+
+[評估表單中的數據](assignment.md)
+
+**免責聲明**:
+本文件使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/08-data-preparation/assignment.md b/translations/hk/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..85c9b63c
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# 評估表單數據
+
+一位客戶正在測試一個[小型表單](../../../../2-Working-With-Data/08-data-preparation/index.html),以收集一些關於其客戶群的基本數據。他們已將測試結果交給你,請你驗證所收集的數據。你可以在瀏覽器中打開 `index.html` 頁面查看表單。
+
+你已獲得一份[包含表單記錄的 csv 數據集](../../../../data/form.csv),其中包括表單的輸入內容以及一些基本的可視化圖表。客戶指出部分可視化圖表看起來不正確,但他們不確定如何解決。你可以在[作業筆記本](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb)中進行探索。
+
+## 指引
+
+使用本課程中的技術,提出建議以改進表單,使其能夠收集準確且一致的信息。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/2-Working-With-Data/README.md b/translations/hk/2-Working-With-Data/README.md
new file mode 100644
index 00000000..3088052c
--- /dev/null
+++ b/translations/hk/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# 處理數據
+
+
+> 照片由 Alexander Sinn 提供,來自 Unsplash
+
+在這些課程中,你將學習一些管理、操作和應用數據的方法。你會了解關聯式和非關聯式數據庫,以及數據如何存儲在其中。你將學習使用 Python 管理數據的基礎知識,並探索多種使用 Python 管理和挖掘數據的方法。
+
+### 主題
+
+1. [關聯式數據庫](05-relational-databases/README.md)
+2. [非關聯式數據庫](06-non-relational/README.md)
+3. [使用 Python](07-python/README.md)
+4. [準備數據](08-data-preparation/README.md)
+
+### 鳴謝
+
+這些課程由 [Christopher Harrison](https://twitter.com/geektrainer)、[Dmitry Soshnikov](https://twitter.com/shwars) 和 [Jasmine Greenaway](https://twitter.com/paladique) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/09-visualization-quantities/README.md b/translations/hk/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..ae5969aa
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,220 @@
+
+# 視覺化數量
+
+| 繪製的手繪筆記](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 視覺化數量 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+在這一課中,你將學習如何使用多種可用的 Python 函式庫之一,來創建圍繞數量概念的有趣視覺化。透過一個關於明尼蘇達州鳥類的清理過的數據集,你可以了解許多關於當地野生動物的有趣事實。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 Matplotlib 觀察翼展
+
+[Matplotlib](https://matplotlib.org/stable/index.html) 是一個非常出色的函式庫,可以用來創建各種簡單或複雜的圖表和圖形。一般來說,使用這些函式庫繪製數據的過程包括:確定你想要針對的數據框部分,對數據進行必要的轉換,分配 x 和 y 軸的值,決定顯示哪種類型的圖表,然後顯示圖表。Matplotlib 提供了多種視覺化選項,但在這一課中,我們將專注於最適合視覺化數量的圖表類型:折線圖、散點圖和條形圖。
+
+> ✅ 根據數據的結構和你想講述的故事,選擇最合適的圖表。
+> - 分析時間趨勢:折線圖
+> - 比較數值:條形圖、柱狀圖、餅圖、散點圖
+> - 顯示部分與整體的關係:餅圖
+> - 顯示數據分佈:散點圖、條形圖
+> - 顯示趨勢:折線圖、柱狀圖
+> - 顯示數值之間的關係:折線圖、散點圖、氣泡圖
+
+如果你有一個數據集,並需要了解某個特定項目的數量,第一步通常是檢查其值。
+
+✅ 這裡有一些非常好的 Matplotlib [速查表](https://matplotlib.org/cheatsheets/cheatsheets.pdf)。
+
+## 繪製鳥類翼展值的折線圖
+
+打開本課資料夾根目錄中的 `notebook.ipynb` 文件,並新增一個單元格。
+
+> 注意:數據存儲在此倉庫的根目錄 `/data` 資料夾中。
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+這些數據是文字和數字的混合:
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀況 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 赤樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪雁 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯雁 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額雁 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+讓我們從使用基本折線圖繪製一些數字數據開始。假設你想查看這些有趣鳥類的最大翼展。
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+你立即注意到什麼?似乎至少有一個異常值——這是一個相當驚人的翼展!2300 公分的翼展等於 23 米——明尼蘇達州有翼龍在飛翔嗎?讓我們調查一下。
+
+雖然你可以在 Excel 中快速排序來找到這些可能是錯誤的異常值,但繼續從圖表中進行視覺化處理。
+
+為 x 軸添加標籤以顯示涉及的鳥類種類:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+即使將標籤旋轉 45 度,仍然太多無法閱讀。讓我們嘗試另一種策略:僅標記那些異常值,並將標籤設置在圖表內。你可以使用散點圖來為標籤留出更多空間:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+這裡發生了什麼?你使用 `tick_params` 隱藏了底部標籤,然後對鳥類數據集進行了一個循環。通過使用 `bo` 繪製小圓點,你檢查了任何最大翼展超過 500 的鳥類,並在點旁顯示其標籤。你稍微偏移了 y 軸上的標籤位置(`y * (1 - 0.05)`),並使用鳥類名稱作為標籤。
+
+你發現了什麼?
+
+
+
+## 篩選數據
+
+禿鷹和草原隼雖然可能是非常大的鳥類,但它們的最大翼展似乎被錯誤標記,多加了一個 `0`。遇到翼展 25 米的禿鷹的可能性不大,但如果真的遇到,請務必告訴我們!讓我們創建一個新的數據框,去掉這兩個異常值:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+通過篩選掉異常值,你的數據現在更加一致且易於理解。
+
+
+
+現在我們至少在翼展方面擁有了一個更乾淨的數據集,讓我們進一步探索這些鳥類。
+
+雖然折線圖和散點圖可以顯示數據值及其分佈,但我們想要思考這個數據集中固有的數值。你可以創建視覺化來回答以下關於數量的問題:
+
+> 有多少種類的鳥?它們的數量是多少?
+> 有多少鳥類是滅絕的、瀕危的、稀有的或常見的?
+> 根據林奈分類法,有多少屬和目?
+
+## 探索條形圖
+
+當你需要顯示數據分組時,條形圖非常實用。讓我們探索這個數據集中存在的鳥類類別,看看哪一類最常見。
+
+在 notebook 文件中創建一個基本條形圖。
+
+✅ 注意,你可以選擇篩選掉上一節中識別的兩個異常鳥類,修正它們翼展的錯誤,或者保留它們,因為這些練習並不依賴於翼展值。
+
+如果你想創建條形圖,可以選擇你想要關注的數據。條形圖可以從原始數據中創建:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+然而,這個條形圖難以閱讀,因為數據未分組。你需要僅選擇你想要繪製的數據,因此讓我們根據鳥類的類別來查看它們的數量。
+
+篩選數據以僅包含鳥類的類別。
+
+✅ 注意,你使用 Pandas 管理數據,然後讓 Matplotlib 繪製圖表。
+
+由於類別很多,你可以垂直顯示此圖表,並調整其高度以適應所有數據:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+這個條形圖很好地展示了每個類別中鳥類的數量。一眼就能看出,這個地區最多的鳥類是鴨/鵝/水禽類別。明尼蘇達州是“萬湖之地”,這並不令人驚訝!
+
+✅ 試試對這個數據集進行其他計數。有什麼讓你感到驚訝嗎?
+
+## 比較數據
+
+你可以嘗試通過創建新軸來比較分組數據。試試根據鳥類類別比較其最大長度:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+這裡沒有什麼令人驚訝的:蜂鳥的最大長度最小,而鵜鶘或雁的最大長度最大。當數據符合邏輯時,這是件好事!
+
+你可以通過疊加數據來創建更有趣的條形圖視覺化。讓我們將最小長度和最大長度疊加在給定的鳥類類別上:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+在這個圖表中,你可以看到每個鳥類類別的最小長度和最大長度範圍。你可以有把握地說,根據這些數據,鳥越大,其長度範圍越大。真是有趣!
+
+
+
+## 🚀 挑戰
+
+這個鳥類數據集提供了關於特定生態系統中不同類型鳥類的大量信息。在網上搜尋其他與鳥類相關的數據集,練習圍繞這些鳥類構建圖表和圖形,發現你之前未曾意識到的事實。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 回顧與自學
+
+這第一課為你提供了一些關於如何使用 Matplotlib 視覺化數量的資訊。進一步研究其他用於數據視覺化的方法。[Plotly](https://github.com/plotly/plotly.py) 是我們不會在這些課程中涵蓋的一個工具,看看它能提供什麼。
+
+## 作業
+
+[折線圖、散點圖和條形圖](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/hk/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..d4c2c153
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折線圖、散點圖與柱狀圖
+
+## 指引
+
+在這節課中,你學習了如何使用折線圖、散點圖和柱狀圖來展示這個數據集中的有趣事實。在這次作業中,深入挖掘數據集,發現關於某種特定鳥類的事實。例如,創建一個筆記本,視覺化展示你能找到的所有關於雪雁的有趣數據。使用上述三種圖表,在你的筆記本中講述一個故事。
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+筆記本包含良好的註解、完整的故事敘述以及吸引人的圖表 | 筆記本缺少其中一個元素 | 筆記本缺少其中兩個元素
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/10-visualization-distributions/README.md b/translations/hk/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..5472cf56
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,216 @@
+
+# 可視化分佈
+
+| 繪製的手繪筆記 ](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 可視化分佈 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+在上一課中,你學到了一些關於明尼蘇達州鳥類數據集的有趣事實。通過可視化異常值,你發現了一些錯誤的數據,並通過最大長度比較了不同鳥類類別之間的差異。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鳥類數據集
+
+另一種深入了解數據的方法是查看其分佈,即數據如何沿著某個軸排列。例如,你可能想了解這個數據集中鳥類的最大翼展或最大體重的整體分佈情況。
+
+讓我們來發現一些關於這個數據集中數據分佈的事實。在本課文件夾根目錄中的 _notebook.ipynb_ 文件中,導入 Pandas、Matplotlib 和你的數據:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀況 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕腹樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪雁 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯雁 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額雁 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通過使用散點圖快速查看數據的分佈方式,就像我們在上一課中所做的那樣:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+這提供了每個鳥類目中身體長度的一般分佈概覽,但這並不是顯示真實分佈的最佳方式。這個任務通常通過創建直方圖來完成。
+
+## 使用直方圖
+
+Matplotlib 提供了非常好的方法來使用直方圖可視化數據分佈。這種類型的圖表類似於條形圖,通過條形的升降可以看到分佈情況。要構建直方圖,你需要數值數據。要構建直方圖,你可以繪製一個圖表,將類型定義為 'hist'(直方圖)。這個圖表顯示了整個數據集範圍內 MaxBodyMass 的分佈。通過將給定的數據數組分成更小的區間(bins),它可以顯示數據值的分佈:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+如你所見,這個數據集中大多數 400 多種鳥類的最大體重都在 2000 以下。通過將 `bins` 參數更改為更高的數字,例如 30,可以獲得更多的數據洞察:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+這個圖表以更細緻的方式顯示了分佈。通過確保只選擇給定範圍內的數據,可以創建一個不那麼偏向左側的圖表:
+
+篩選數據以僅獲取體重低於 60 的鳥類,並顯示 40 個 `bins`:
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 嘗試其他篩選條件和數據點。要查看數據的完整分佈,移除 `['MaxBodyMass']` 篩選器以顯示帶標籤的分佈。
+
+直方圖還提供了一些不錯的顏色和標籤增強功能可以嘗試:
+
+創建一個 2D 直方圖來比較兩個分佈之間的關係。我們來比較 `MaxBodyMass` 和 `MaxLength`。Matplotlib 提供了一種內置方法,通過更亮的顏色顯示收斂情況:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+看起來這兩個元素沿著預期的軸存在預期的相關性,其中有一個特別強的收斂點:
+
+
+
+直方圖對於數值數據默認效果很好。如果你需要根據文本數據查看分佈該怎麼辦?
+
+## 使用文本數據探索數據集的分佈
+
+這個數據集還包括關於鳥類類別、屬、種和科以及其保育狀況的良好信息。讓我們深入了解這些保育信息。鳥類根據其保育狀況的分佈是什麼樣的?
+
+> ✅ 在數據集中,使用了一些縮寫來描述保育狀況。這些縮寫來自 [IUCN 紅色名錄分類](https://www.iucnredlist.org/),這是一個記錄物種狀況的組織。
+>
+> - CR: 極危
+> - EN: 瀕危
+> - EX: 滅絕
+> - LC: 無危
+> - NT: 近危
+> - VU: 易危
+
+這些是基於文本的值,因此你需要進行轉換來創建直方圖。使用篩選後的 filteredBirds 數據框,顯示其保育狀況及其最小翼展。你看到了什麼?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+最小翼展與保育狀況之間似乎沒有明顯的相關性。使用此方法測試數據集的其他元素。你也可以嘗試不同的篩選條件。你發現了任何相關性嗎?
+
+## 密度圖
+
+你可能已經注意到,我們目前看到的直方圖是“階梯式”的,並沒有平滑地呈現弧形。要顯示更平滑的密度圖,你可以嘗試密度圖。
+
+要使用密度圖,請熟悉一個新的繪圖庫 [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)。
+
+加載 Seaborn,嘗試一個基本的密度圖:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+你可以看到這個圖表與之前的最小翼展數據圖表相呼應;它只是稍微平滑了一些。根據 Seaborn 的文檔,“相對於直方圖,KDE 可以生成一個不那麼雜亂且更易於解讀的圖表,特別是在繪製多個分佈時。但如果基礎分佈是有界的或不平滑的,它可能會引入失真。與直方圖一樣,表示的質量也取決於選擇良好的平滑參數。” [來源](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 換句話說,異常值一如既往地會讓你的圖表表現不佳。
+
+如果你想重新訪問第二個圖表中那條鋸齒狀的 MaxBodyMass 線,你可以通過使用這種方法非常好地將其平滑化:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+如果你想要一條平滑但不過於平滑的線,編輯 `bw_adjust` 參數:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ 閱讀此類圖表可用的參數並進行實驗!
+
+這種類型的圖表提供了非常直觀的可視化。例如,通過幾行代碼,你可以顯示每個鳥類目中的最大體重密度:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+你還可以在一個圖表中映射多個變量的密度。測試鳥類的 MaxLength 和 MinLength 與其保育狀況的關係:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+或許值得研究根據鳥類長度的“易危”群體是否具有意義。
+
+## 🚀 挑戰
+
+直方圖是一種比基本散點圖、條形圖或折線圖更高級的圖表類型。在互聯網上搜索直方圖的良好使用示例。它們是如何使用的,展示了什麼,以及它們通常在哪些領域或研究領域中使用?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 回顧與自學
+
+在本課中,你使用了 Matplotlib 並開始使用 Seaborn 來顯示更高級的圖表。研究 Seaborn 中的 `kdeplot`,這是一個“在一個或多個維度上的連續概率密度曲線”。閱讀 [文檔](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 以了解其工作原理。
+
+## 作業
+
+[應用你的技能](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/hk/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..2c3d6514
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 運用你的技能
+
+## 指引
+
+到目前為止,你已經使用了明尼蘇達州的鳥類數據集,探索了有關鳥類數量和種群密度的信息。現在試試運用這些技巧,選擇一個不同的數據集,例如從 [Kaggle](https://www.kaggle.com/) 獲取的數據集。建立一個筆記本,講述這個數據集的故事,並確保在討論時使用直方圖。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+提供了一個包含有關此數據集的註解(包括其來源)的筆記本,並使用至少 5 個直方圖來探索數據的事實。 | 提供了一個包含不完整註解或有錯誤的筆記本。 | 提供了一個沒有註解且包含錯誤的筆記本。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/11-visualization-proportions/README.md b/translations/hk/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..3c17233b
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,203 @@
+
+# 視覺化比例
+
+| 繪製的速記筆記](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|視覺化比例 - _由 [@nitya](https://twitter.com/nitya) 繪製的速記筆記_ |
+
+在這節課中,你將使用一個以自然為主題的數據集來視覺化比例,例如在一個關於蘑菇的數據集中有多少不同類型的真菌。讓我們使用一個來自 Audubon 的數據集來探索這些迷人的真菌,該數據集列出了 Agaricus 和 Lepiota 家族中 23 種有鰓蘑菇的詳細信息。你將嘗試一些有趣的視覺化方式,例如:
+
+- 圓餅圖 🥧
+- 甜甜圈圖 🍩
+- 華夫圖 🧇
+
+> 💡 微軟研究的一個非常有趣的項目 [Charticulator](https://charticulator.com) 提供了一個免費的拖放界面來進行數據視覺化。在他們的一個教程中,他們也使用了這個蘑菇數據集!因此,你可以同時探索數據並學習這個庫:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 認識你的蘑菇 🍄
+
+蘑菇非常有趣。讓我們導入一個數據集來研究它們:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+一個表格被打印出來,包含一些很棒的分析數據:
+
+| 類別 | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | 菌柄根部 | 菌柄環上表面 | 菌柄環下表面 | 菌柄環上顏色 | 菌柄環下顏色 | 菌幕類型 | 菌幕顏色 | 環數量 | 環類型 | 孢子印顏色 | 群體數量 | 棲息地 |
+| --------- | --------- | --------- | --------- | --------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 黑色 | 擴大 | 相等 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黃色 | 有瘀傷 | 杏仁 | 自由 | 緊密 | 寬廣 | 黑色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 棕色 | 多數 | 草地 |
+| 可食用 | 鐘形 | 光滑 | 白色 | 有瘀傷 | 茴香 | 自由 | 緊密 | 寬廣 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 棕色 | 多數 | 草原 |
+| 有毒 | 凸形 | 鱗片狀 | 白色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 棕色 | 擴大 | 相等 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 黑色 | 分散 | 城市 |
+
+你會立刻注意到所有數據都是文本格式。你需要將這些數據轉換為可以用於圖表的格式。事實上,大部分數據是以對象形式表示的:
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+輸出結果為:
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+將這些數據中的 "類別" 列轉換為分類:
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+現在,如果你打印出蘑菇數據,你可以看到它已經根據有毒/可食用類別分組:
+
+| | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | ... | 菌柄環下表面 | 菌柄環上顏色 | 菌柄環下顏色 | 菌幕類型 | 菌幕顏色 | 環數量 | 環類型 | 孢子印顏色 | 群體數量 | 棲息地 |
+| --------- | --------- | --------- | --------- | --------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 類別 | | | | | | | | | | | | | | | | | | | | | |
+| 可食用 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| 有毒 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+如果你按照這個表格中呈現的順序來創建你的類別標籤,你就可以製作一個圓餅圖:
+
+## 圓餅圖!
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+完成,一個圓餅圖展示了根據這兩類蘑菇的比例數據。在這裡,正確的標籤順序非常重要,因此請務必確認標籤數組的構建順序!
+
+
+
+## 甜甜圈圖!
+
+一個更具視覺吸引力的圓餅圖是甜甜圈圖,它是一個中間有洞的圓餅圖。讓我們用這種方法來查看我們的數據。
+
+看看蘑菇生長的各種棲息地:
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+在這裡,你正在根據棲息地分組數據。共有 7 種棲息地,因此使用它們作為甜甜圈圖的標籤:
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+這段代碼繪製了一個圖表和一個中心圓,然後將該中心圓添加到圖表中。通過更改 `0.40` 的值來編輯中心圓的寬度。
+
+甜甜圈圖可以通過多種方式進行調整以更改標籤。特別是標籤可以被突出顯示以提高可讀性。更多信息請參考 [文檔](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut)。
+
+現在你已經知道如何分組數據並將其顯示為圓餅圖或甜甜圈圖,你可以探索其他類型的圖表。試試華夫圖,這是一種不同的方式來探索數量。
+
+## 華夫圖!
+
+華夫圖是一種以 2D 方塊陣列視覺化數量的方式。試著視覺化這個數據集中蘑菇菌蓋顏色的不同數量。為此,你需要安裝一個名為 [PyWaffle](https://pypi.org/project/pywaffle/) 的輔助庫並使用 Matplotlib:
+
+```python
+pip install pywaffle
+```
+
+選擇一段數據進行分組:
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+通過創建標籤並分組數據來製作華夫圖:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+使用華夫圖,你可以清楚地看到這個蘑菇數據集中菌蓋顏色的比例。有趣的是,有很多綠色菌蓋的蘑菇!
+
+
+
+✅ PyWaffle 支持在圖表中使用 [Font Awesome](https://fontawesome.com/) 中的任何圖標。嘗試進行一些實驗,用圖標代替方塊來創建更有趣的華夫圖。
+
+在這節課中,你學到了三種視覺化比例的方法。首先,你需要將數據分組到類別中,然後決定哪種方式最適合展示數據——圓餅圖、甜甜圈圖或華夫圖。這些方法都很有趣,能讓用戶快速了解數據集。
+
+## 🚀 挑戰
+
+試著在 [Charticulator](https://charticulator.com) 中重現這些有趣的圖表。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 回顧與自學
+
+有時候,什麼時候使用圓餅圖、甜甜圈圖或華夫圖並不明顯。以下是一些相關文章:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+進行一些研究以獲取更多關於這個選擇的資訊。
+
+## 作業
+
+[在 Excel 中試試看](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/hk/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..4ff0fbbb
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# 在 Excel 中嘗試
+
+## 指示
+
+你知道嗎?你可以在 Excel 中建立甜甜圈圖、圓餅圖和鬆餅圖!使用你選擇的數據集,直接在 Excel 試算表中建立這三種圖表。
+
+## 評分標準
+
+| 優秀表現 | 合格表現 | 需要改進 |
+| --------------------------------------------------- | --------------------------------------------- | ------------------------------------------------ |
+| 提供的 Excel 試算表包含所有三種圖表 | 提供的 Excel 試算表包含兩種圖表 | 提供的 Excel 試算表僅包含一種圖表 |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md b/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..9c935d54
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,186 @@
+
+# 視覺化關係:關於蜂蜜 🍯
+
+| ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|視覺化關係 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+延續我們研究的自然主題,讓我們探索一些有趣的視覺化方式,展示不同種類蜂蜜之間的關係,根據一個來自[美國農業部](https://www.nass.usda.gov/About_NASS/index.php)的數據集。
+
+這個包含約600項的數據集展示了美國多個州的蜂蜜生產情況。例如,您可以查看每個州在1998年至2012年間的蜂群數量、每群產量、總產量、庫存、每磅價格以及蜂蜜的生產價值,每年每州一行數據。
+
+視覺化某州每年的生產量與該州蜂蜜價格之間的關係會很有趣。或者,您可以視覺化各州每群蜂蜜的產量之間的關係。這段時間涵蓋了2006年首次出現的毀滅性“蜂群崩潰症”(CCD,Colony Collapse Disorder)(http://npic.orst.edu/envir/ccd.html),因此這是一個值得研究的數據集。🐝
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在這節課中,您可以使用之前使用過的 Seaborn 作為一個很好的庫來視覺化變量之間的關係。特別有趣的是使用 Seaborn 的 `relplot` 函數,它允許快速生成散點圖和折線圖來視覺化“[統計關係](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)”,幫助數據科學家更好地理解變量之間的關聯。
+
+## 散點圖
+
+使用散點圖展示蜂蜜價格每年每州的演變情況。Seaborn 使用 `relplot` 方便地將州數據分組,並顯示分類和數值數據的數據點。
+
+首先,導入數據和 Seaborn:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+您會注意到蜂蜜數據有幾個有趣的列,包括年份和每磅價格。讓我們探索按美國州分組的數據:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+創建一個基本的散點圖,展示蜂蜜每磅價格與其美國州的來源之間的關係。讓 `y` 軸足夠高以顯示所有州:
+
+```python
+sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
+```
+
+
+現在,使用蜂蜜色調展示數據,顯示價格如何隨年份演變。您可以通過添加 'hue' 參數來展示每年的變化:
+
+> ✅ 了解更多關於 [Seaborn 中可用的色彩調色板](https://seaborn.pydata.org/tutorial/color_palettes.html) - 試試美麗的彩虹色調!
+
+```python
+sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
+```
+
+
+通過這種色彩方案的改變,您可以清楚地看到蜂蜜每磅價格在多年來的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇一個州,亞利桑那州),您可以看到價格逐年上漲的模式,只有少數例外:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一種視覺化這種演變的方法是使用大小而不是顏色。對於色盲用戶,這可能是一個更好的選擇。編輯您的視覺化,通過點的圓周大小來展示價格的增長:
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+您可以看到點的大小逐漸增大。
+
+
+
+這是否是一個簡單的供需問題?由於氣候變化和蜂群崩潰等因素,是否每年可供購買的蜂蜜減少,因此價格上漲?
+
+為了探索這個數據集中某些變量之間的相關性,讓我們研究一些折線圖。
+
+## 折線圖
+
+問題:蜂蜜每磅價格是否每年都有明顯上漲?您可以通過創建一個單一折線圖來最容易地發現這一點:
+
+```python
+sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
+```
+答案:是的,但在2003年左右有一些例外:
+
+
+
+✅ 由於 Seaborn 將數據聚合到一條線上,它通過繪製均值和均值周圍的95%置信區間來顯示“每個 x 值的多個測量值”。[來源](https://seaborn.pydata.org/tutorial/relational.html)。這種耗時的行為可以通過添加 `ci=None` 禁用。
+
+問題:那麼,在2003年,我們是否也能看到蜂蜜供應的激增?如果您查看每年的總產量呢?
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+答案:並不完全。如果您查看總產量,實際上在那一年似乎有所增加,儘管總體來看蜂蜜的生產量在這些年中呈下降趨勢。
+
+問題:在這種情況下,2003年蜂蜜價格的激增可能是什麼原因?
+
+為了探索這一點,您可以研究一個 Facet Grid。
+
+## Facet Grids
+
+Facet Grids 將數據集的一個方面(在我們的例子中,您可以選擇“年份”以避免生成過多的 Facets)。Seaborn 可以為您選擇的 x 和 y 坐標的每個 Facet 繪製一個圖表,以便更容易進行視覺比較。在這種比較中,2003年是否突出?
+
+通過繼續使用 `relplot` 創建 Facet Grid,正如 [Seaborn 的文檔](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid)所推薦的。
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+在這個視覺化中,您可以比較每年的每群產量和蜂群數量,並將列的包裹設置為3:
+
+
+
+對於這個數據集,關於蜂群數量及其產量,按年份和州來看並沒有特別突出的地方。是否有其他方式來尋找這兩個變量之間的相關性?
+
+## 雙折線圖
+
+嘗試通過將兩個折線圖疊加在一起來創建多折線圖,使用 Seaborn 的 'despine' 移除其頂部和右側的脊,並使用 `ax.twinx` [源自 Matplotlib](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html)。Twins 允許圖表共享 x 軸並顯示兩個 y 軸。因此,顯示每群產量和蜂群數量,疊加:
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+sns.despine(right=False)
+plt.ylabel('colony yield')
+ax.figure.legend();
+```
+
+
+雖然在2003年沒有明顯的異常,但它確實讓我們以一個稍微更樂觀的結論結束這節課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群的產量在減少。
+
+加油,蜜蜂們!
+
+🐝❤️
+## 🚀 挑戰
+
+在這節課中,您學到了更多關於散點圖和折線網格的其他用途,包括 Facet Grids。挑戰自己使用不同的數據集創建一個 Facet Grid,也許是您之前使用過的數據集。注意它們的創建時間以及您需要如何小心地控制生成的網格數量。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 回顧與自學
+
+折線圖可以很簡單也可以很複雜。閱讀 [Seaborn 文檔](https://seaborn.pydata.org/generated/seaborn.lineplot.html) 中的各種構建方法。嘗試使用文檔中列出的其他方法來增強您在這節課中構建的折線圖。
+
+## 作業
+
+[深入蜂巢](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/hk/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..77985cb5
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# 探索蜂巢
+
+## 指引
+
+在這節課中,你開始研究一個有關蜜蜂及其蜂蜜生產的數據集,涵蓋了一段時間內蜂群數量整體下降的情況。深入分析這個數據集,建立一個筆記本,講述蜂群健康狀況的故事,按州和年份進行分析。你是否在這個數據集中發現了任何有趣的事情?
+
+## 評分標準
+
+| 卓越表現 | 合格表現 | 需要改進 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| 提供了一個筆記本,包含至少三個不同的圖表,註解展示數據集的各個方面,按州和年份進行分析 | 筆記本缺少其中一個元素 | 筆記本缺少其中兩個元素 |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..c76f8f1a
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# 創建有意義的視覺化
+
+| 繪製的速記筆記](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意義的視覺化 - _由 [@nitya](https://twitter.com/nitya) 繪製的速記筆記_ |
+
+> 「如果你對數據施加足夠的壓力,它會承認任何事情」-- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+作為一名數據科學家,基本技能之一就是能夠創建有意義的數據視覺化,幫助回答你可能提出的問題。在進行數據視覺化之前,你需要確保數據已經像之前課程中所做的那樣進行清理和準備。之後,你就可以開始決定如何最好地呈現數據。
+
+在本課中,你將學習:
+
+1. 如何選擇合適的圖表類型
+2. 如何避免誤導性的圖表
+3. 如何使用顏色
+4. 如何設計圖表以提高可讀性
+5. 如何構建動畫或3D圖表解決方案
+6. 如何創建創意視覺化
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 選擇合適的圖表類型
+
+在之前的課程中,你已經嘗試使用 Matplotlib 和 Seaborn 創建各種有趣的數據視覺化。通常,你可以根據這張表格選擇[合適的圖表類型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)來回答你的問題:
+
+| 你的需求是: | 你應該使用: |
+| ----------------------- | --------------------------- |
+| 展示隨時間變化的數據趨勢 | 折線圖 |
+| 比較類別 | 柱狀圖、餅圖 |
+| 比較總量 | 餅圖、堆疊柱狀圖 |
+| 展示關係 | 散點圖、折線圖、分面圖、雙折線圖 |
+| 展示分佈 | 散點圖、直方圖、箱型圖 |
+| 展示比例 | 餅圖、甜甜圈圖、華夫圖 |
+
+> ✅ 根據數據的組成,你可能需要將其從文本轉換為數字,以支持某些圖表。
+
+## 避免誤導
+
+即使數據科學家謹慎地為合適的數據選擇了合適的圖表,仍然有許多方法可以以某種方式展示數據來證明某個觀點,往往以損害數據本身為代價。有許多誤導性圖表和信息圖的例子!
+
+[](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)。
+
+了解眼睛如何容易被誤導性圖表欺騙是很重要的。即使數據科學家的意圖是好的,選擇糟糕的圖表類型(例如顯示過多類別的餅圖)也可能具有誤導性。
+
+## 顏色
+
+你在上面「佛羅里達槍支暴力」的圖表中看到,顏色如何為圖表提供額外的意義,尤其是那些未使用 Matplotlib 和 Seaborn 等庫設計的圖表,這些庫附帶了各種經過驗證的顏色庫和調色板。如果你手動製作圖表,可以稍微研究一下[顏色理論](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在設計圖表時,請注意可訪問性是視覺化的一個重要方面。一些用戶可能是色盲——你的圖表是否能很好地為視覺障礙用戶顯示?
+
+選擇圖表顏色時要小心,因為顏色可能傳達你未曾預料的含義。上面「身高」圖表中的「粉紅女士」傳達了一種明顯的「女性化」意義,這增加了圖表本身的怪異感。
+
+雖然[顏色的含義](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地區而異,並且通常根據其色調而改變。一般來說,顏色的含義包括:
+
+| 顏色 | 含義 |
+| ----- | ------------------- |
+| 紅色 | 力量 |
+| 藍色 | 信任、忠誠 |
+| 黃色 | 快樂、警告 |
+| 綠色 | 生態、幸運、嫉妒 |
+| 紫色 | 快樂 |
+| 橙色 | 活力 |
+
+如果你需要使用自定義顏色構建圖表,請確保你的圖表既可訪問又符合你想要傳達的含義。
+
+## 設計圖表以提高可讀性
+
+如果圖表不可讀,它就沒有意義!花點時間考慮設計圖表的寬度和高度,以便與數據良好匹配。如果需要顯示一個變量(例如所有50個州),請盡可能在 Y 軸上垂直顯示,以避免水平滾動的圖表。
+
+標記你的軸,如果需要提供圖例,並提供工具提示以更好地理解數據。
+
+如果你的數據在 X 軸上是文本且冗長,可以將文本角度調整以提高可讀性。[Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) 提供了 3D 繪圖功能,如果你的數據支持它。使用 `mpl_toolkits.mplot3d` 可以生成精美的數據視覺化。
+
+
+
+## 動畫和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 創作
+
+雖然本課不足以深入教授這些強大的視覺化庫,但可以嘗試在 Vue.js 應用中使用 D3,展示一本書《危險關係》的動畫社交網絡視覺化。
+
+> 《危險關係》是一部書信體小說,即以一系列信件形式呈現的小說。由 Choderlos de Laclos 於1782年撰寫,講述了18世紀晚期法國貴族中兩位主角 Vicomte de Valmont 和 Marquise de Merteuil 的惡毒、道德敗壞的社交操縱。他們最終都遭遇了悲慘的結局,但在此之前造成了巨大的社會損害。小說以他們寫給圈內各人的信件形式展開,信件內容包括復仇計劃或純粹製造麻煩。創建這些信件的視覺化,探索敘事中的主要角色。
+
+你將完成一個網頁應用,顯示這個社交網絡的動畫視圖。它使用了一個庫來創建[網絡視覺化](https://github.com/emiliorizzo/vue-d3-network),基於 Vue.js 和 D3。當應用運行時,你可以在屏幕上拖動節點來重新排列數據。
+
+
+
+## 項目:使用 D3.js 構建一個展示網絡的圖表
+
+> 本課文件夾包含一個 `solution` 文件夾,你可以在其中找到完成的項目供參考。
+
+1. 按照起始文件夾根目錄中的 README.md 文件中的指示操作。在安裝項目依賴項之前,確保你的機器上已運行 NPM 和 Node.js。
+
+2. 打開 `starter/src` 文件夾。你會發現一個 `assets` 文件夾,其中包含一個 .json 文件,記錄了小說中的所有信件,編號並附有「to」和「from」註釋。
+
+3. 完成 `components/Nodes.vue` 中的代碼以啟用視覺化。找到名為 `createLinks()` 的方法,並添加以下嵌套循環。
+
+循環遍歷 .json 對象以捕獲信件的「to」和「from」數據,並構建 `links` 對象,以便視覺化庫可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+從終端運行你的應用(npm run serve),享受視覺化效果!
+
+## 🚀 挑戰
+
+瀏覽互聯網,發現誤導性的視覺化。作者如何欺騙用戶,這是故意的嗎?嘗試修正這些視覺化,展示它們應該如何呈現。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 回顧與自學
+
+以下是一些關於誤導性數據視覺化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看這些有趣的歷史資產和文物視覺化:
+
+https://handbook.pubpub.org/
+
+閱讀這篇文章,了解動畫如何增強你的視覺化:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作業
+
+[創建你自己的自定義視覺化](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文檔的母語版本作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤詮釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..368e0e88
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# 建立你自己的自定義視覺化
+
+## 指引
+
+使用此專案中的代碼範例來創建一個社交網絡,模擬你自己的社交互動數據。你可以繪製你的社交媒體使用情況,或者製作一個家庭成員的圖表。創建一個有趣的網頁應用程式,展示一個獨特的社交網絡視覺化。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+提供一個 GitHub 儲存庫,其中的代碼能正常運行(嘗試將其部署為靜態網頁應用程式),並附有註解清晰的 README 文件解釋專案 | 儲存庫無法正常運行或文檔不夠完善 | 儲存庫無法正常運行且文檔不夠完善
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..dcc37bdd
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# 危險關係數據可視化項目
+
+要開始使用,請確保你的電腦已安裝 NPM 和 Node。安裝依賴項(npm install),然後在本地運行項目(npm run serve):
+
+## 項目設置
+```
+npm install
+```
+
+### 編譯並熱重載以進行開發
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境
+```
+npm run build
+```
+
+### 檢查並修復文件
+```
+npm run lint
+```
+
+### 自定義配置
+請參閱 [配置參考](https://cli.vuejs.org/config/)。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..9af01f45
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# 危險關係數據可視化項目
+
+要開始使用,請確保你的電腦已安裝並運行 NPM 和 Node。安裝依賴項(npm install),然後在本地運行項目(npm run serve):
+
+## 項目設置
+```
+npm install
+```
+
+### 編譯並啟用熱重載以進行開發
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境使用
+```
+npm run build
+```
+
+### 檢查並修復文件
+```
+npm run lint
+```
+
+### 自定義配置
+請參閱[配置參考](https://cli.vuejs.org/config/)。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文檔的母語版本作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤詮釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..1b8c6979
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,230 @@
+
+# 視覺化數量
+| 繪製的速記筆記](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 視覺化數量 - _由 [@nitya](https://twitter.com/nitya) 繪製的速記筆記_ |
+
+在這節課中,你將探索如何使用一些 R 套件庫來學習如何圍繞數量概念創建有趣的視覺化。使用一個關於明尼蘇達州鳥類的清理過的數據集,你可以了解許多關於當地野生動物的有趣事實。
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 ggplot2 觀察翼展
+一個非常出色的庫是 [ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html),它可以用來創建各種簡單和複雜的圖表。一般來說,使用這些庫繪製數據的過程包括:識別你想要針對的數據框部分,對數據進行必要的轉換,分配 x 和 y 軸的值,決定要顯示的圖表類型,然後顯示圖表。
+
+`ggplot2` 是一個基於圖形語法(Grammar of Graphics)聲明式創建圖形的系統。[圖形語法](https://en.wikipedia.org/wiki/Ggplot2) 是一種數據視覺化的通用方案,它將圖表分解為語義組件,例如比例和層次。換句話說,`ggplot2` 使得用少量代碼為單變量或多變量數據創建圖表和圖形變得非常容易,因此成為 R 中最受歡迎的視覺化套件。用戶告訴 `ggplot2` 如何將變量映射到美學屬性,使用哪些圖形原語,然後 `ggplot2` 負責其餘部分。
+
+> ✅ 圖表 = 數據 + 美學 + 幾何
+> - 數據指的是數據集
+> - 美學表示要研究的變量(x 和 y 變量)
+> - 幾何指的是圖表類型(折線圖、柱狀圖等)
+
+根據你的數據和你想通過圖表講述的故事,選擇最合適的幾何(圖表類型)。
+
+> - 分析趨勢:折線圖、柱狀圖
+> - 比較數值:條形圖、柱狀圖、餅圖、散點圖
+> - 顯示部分與整體的關係:餅圖
+> - 顯示數據分佈:散點圖、柱狀圖
+> - 顯示數值之間的關係:折線圖、散點圖、氣泡圖
+
+✅ 你也可以查看這份描述性的 [ggplot2 速查表](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf)。
+
+## 建立鳥類翼展值的折線圖
+
+打開 R 控制台並導入數據集。
+> 注意:數據集存儲在此倉庫的 `/data` 文件夾中。
+
+讓我們導入數據集並觀察數據的頭部(前 5 行)。
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+數據的頭部包含文本和數字的混合:
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀況 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹吹哨鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 吹哨鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕吹哨鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 吹哨鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鵝 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯鵝 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額鵝 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+讓我們開始使用基本折線圖繪製一些數字數據。假設你想查看這些有趣鳥類的最大翼展。
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+在這裡,你安裝了 `ggplot2` 套件,然後使用 `library("ggplot2")` 命令將其導入工作空間。要在 ggplot 中繪製任何圖表,使用 `ggplot()` 函數並指定數據集、x 和 y 變量作為屬性。在這種情況下,我們使用 `geom_line()` 函數,因為我們的目標是繪製折線圖。
+
+
+
+你立即注意到什麼?似乎至少有一個異常值——那是一個相當大的翼展!2000+ 厘米的翼展超過 20 米——明尼蘇達州有翼龍在飛嗎?讓我們調查一下。
+
+雖然你可以在 Excel 中快速排序以找到那些異常值(可能是輸入錯誤),但繼續從圖表內部進行視覺化處理。
+
+為 x 軸添加標籤以顯示涉及哪些鳥類:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+我們在 `theme` 中指定角度,並在 `xlab()` 和 `ylab()` 中分別指定 x 和 y 軸標籤。`ggtitle()` 為圖表/圖形命名。
+
+
+
+即使將標籤的旋轉設置為 45 度,仍然有太多標籤難以閱讀。讓我們嘗試另一種策略:僅標記那些異常值並在圖表內設置標籤。你可以使用散點圖來為標籤留出更多空間:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+這裡發生了什麼?你使用 `geom_point()` 函數繪製散點。通過這個,你為 `MaxWingspan > 500` 的鳥類添加了標籤,並隱藏了 x 軸上的標籤以減少圖表的混亂。
+
+你發現了什麼?
+
+
+
+## 篩選數據
+
+禿鷹和草原隼,雖然可能是非常大的鳥類,但似乎被錯誤標記了,最大翼展多了一個 0。遇到翼展 25 米的禿鷹的可能性不大,但如果真的遇到,請告訴我們!讓我們創建一個新的數據框,去掉這兩個異常值:
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+我們創建了一個新的數據框 `birds_filtered`,然後繪製了一個散點圖。通過篩選掉異常值,你的數據現在更加一致且易於理解。
+
+
+
+現在我們至少在翼展方面有了一個更乾淨的數據集,讓我們了解更多關於這些鳥類的信息。
+
+雖然折線圖和散點圖可以顯示數據值及其分佈的信息,但我們想要思考這個數據集中固有的數值。你可以創建視覺化來回答以下關於數量的問題:
+
+> 有多少類別的鳥類?它們的數量是多少?
+> 有多少鳥類是滅絕的、瀕危的、稀有的或常見的?
+> 根據林奈的術語,有多少屬和目?
+
+## 探索條形圖
+
+當你需要顯示數據分組時,條形圖非常實用。讓我們探索這個數據集中存在的鳥類類別,看看哪一類最常見。
+
+讓我們在篩選後的數據上創建一個條形圖。
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+在以下代碼片段中,我們安裝了 [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` 套件繪製條形圖並指定不同類別的顏色和標籤。
+
+
+
+然而,這個條形圖難以閱讀,因為有太多未分組的數據。你需要選擇你想要繪製的數據,所以讓我們看看基於鳥類類別的鳥類長度。
+
+篩選數據以僅包含鳥類的類別。
+
+由於有許多類別,你可以垂直顯示此圖表並調整其高度以容納所有數據:
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
+```
+你首先計算 `Category` 列中的唯一值,然後將它們排序到一個新的數據框 `birds_count` 中。這些排序後的數據在相同層次中進行分級,以便按排序方式繪製。使用 `ggplot2`,你然後在條形圖中繪製數據。`coord_flip()` 繪製水平條形圖。
+
+
+
+這個條形圖很好地展示了每個類別中鳥類的數量。一眼就能看出,在這個地區最多的鳥類是鴨/鵝/水禽類別。明尼蘇達州是“萬湖之地”,所以這並不令人驚訝!
+
+✅ 嘗試對此數據集進行其他計數。有什麼讓你感到驚訝嗎?
+
+## 比較數據
+
+你可以通過創建新的軸嘗試不同的分組數據比較。嘗試比較基於鳥類類別的最大長度:
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+我們按 `Category` 分組 `birds_filtered` 數據,然後繪製條形圖。
+
+
+
+這裡沒有什麼令人驚訝的:蜂鳥的最大長度比鵜鶘或鵝要小得多。當數據符合邏輯時,這是件好事!
+
+你可以通過疊加數據創建更有趣的條形圖視覺化。讓我們在給定的鳥類類別上疊加最小和最大長度:
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 挑戰
+
+這個鳥類數據集提供了大量關於特定生態系統中不同類型鳥類的信息。在網上搜索,看看你是否能找到其他與鳥類相關的數據集。練習圍繞這些鳥類構建圖表和圖形,發現你之前未曾意識到的事實。
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 回顧與自學
+
+這第一節課提供了一些關於如何使用 `ggplot2` 視覺化數量的信息。進行一些研究,了解其他方法來處理數據集進行視覺化。研究並尋找可以使用其他套件(如 [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) 和 [Plotly](https://github.com/plotly/plotly.R#readme))進行視覺化的數據集。
+
+## 作業
+[折線圖、散點圖和條形圖](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/hk/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..5ece0a9f
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折線圖、散點圖與柱狀圖
+
+## 指引
+
+在這節課中,你學習了如何使用折線圖、散點圖和柱狀圖來展示這個數據集中的有趣事實。在這次作業中,深入挖掘數據集,發現關於某種特定鳥類的事實。例如,創建一個腳本,將你能找到的所有關於雪雁的有趣數據可視化。使用上述三種圖表,在你的筆記本中講述一個故事。
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+腳本包含良好的註解、完整的故事敘述以及吸引人的圖表 | 腳本缺少其中一個元素 | 腳本缺少其中兩個元素
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業的人力翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..ec5d89ba
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,183 @@
+
+# 視覺化分佈
+
+| 繪製的手繪筆記](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 視覺化分佈 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+在上一課中,你學到了一些關於明尼蘇達州鳥類數據集的有趣事實。通過視覺化異常值,你發現了一些錯誤的數據,並比較了不同鳥類分類的最大長度差異。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鳥類數據集
+
+另一種深入了解數據的方法是查看其分佈,即數據如何沿著某個軸排列。例如,你可能想了解這個數據集中鳥類的最大翼展或最大體重的整體分佈。
+
+讓我們來發掘一些關於這個數據集中分佈的事實。在你的 R 控制台中,導入 `ggplot2` 和數據庫。像上一個主題一樣,從數據庫中移除異常值。
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | 名稱 | 學名 | 分類 | 目 | 科 | 屬 | 保育狀況 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 赤樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鵝 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 鵝屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅氏鵝 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 鵝屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額鵝 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 鵝屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通過像上一課中那樣使用散點圖快速查看數據的分佈方式:
+
+```r
+ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
+ geom_point() +
+ ggtitle("Max Length per order") + coord_flip()
+```
+
+
+這提供了每個鳥類目身體長度分佈的概覽,但這並不是顯示真實分佈的最佳方式。這個任務通常通過創建直方圖來完成。
+
+## 使用直方圖
+
+`ggplot2` 提供了非常好的方法來使用直方圖視覺化數據分佈。這種類型的圖表類似於條形圖,通過條形的升降可以看到分佈情況。要構建直方圖,你需要數值數據。構建直方圖時,可以將圖表類型定義為 'hist'。這個圖表顯示了整個數據集範圍內最大體重的分佈。通過將數據分為更小的區間(bins),它可以顯示數據值的分佈:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=10)+ylab('Frequency')
+```
+
+
+如你所見,這個數據集中大多數 400 多種鳥類的最大體重都在 2000 以下。通過將 `bins` 參數設置為更高的數值(例如 30),可以獲得更多的數據洞察:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+這個圖表以更細緻的方式顯示了分佈。通過僅選擇給定範圍內的數據,可以創建一個不那麼偏向左側的圖表:
+
+篩選數據以僅獲取體重低於 60 的鳥類,並顯示 30 個 `bins`:
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+✅ 試試其他篩選條件和數據點。若要查看數據的完整分佈,移除 `['MaxBodyMass']` 篩選條件以顯示帶標籤的分佈。
+
+直方圖還提供了一些不錯的顏色和標籤增強功能可以嘗試:
+
+創建一個 2D 直方圖來比較兩個分佈之間的關係。我們來比較 `MaxBodyMass` 和 `MaxLength`。`ggplot2` 提供了一種內建方式,通過更亮的顏色顯示匯聚點:
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+可以看到這兩個元素之間沿著預期軸線存在預期的相關性,並且有一個特別強的匯聚點:
+
+
+
+直方圖對於數值數據效果很好。如果需要查看基於文本數據的分佈該怎麼辦?
+
+## 使用文本數據探索數據集的分佈
+
+這個數據集還包括關於鳥類分類、屬、種、科以及保育狀況的良好信息。讓我們深入了解這些保育信息。鳥類根據其保育狀況的分佈是什麼樣的?
+
+> ✅ 在數據集中,使用了一些縮寫來描述保育狀況。這些縮寫來自 [IUCN 紅色名錄分類](https://www.iucnredlist.org/),該組織記錄了物種的狀況。
+>
+> - CR: 極危
+> - EN: 瀕危
+> - EX: 滅絕
+> - LC: 無危
+> - NT: 近危
+> - VU: 易危
+
+這些是基於文本的值,因此你需要進行轉換以創建直方圖。使用篩選後的 `filteredBirds` 數據框,顯示其保育狀況與最小翼展。你看到了什麼?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
+```
+
+
+
+最小翼展與保育狀況之間似乎沒有明顯的相關性。使用這種方法測試數據集的其他元素。你也可以嘗試不同的篩選條件。你發現了任何相關性嗎?
+
+## 密度圖
+
+你可能已經注意到,我們目前看到的直方圖是“階梯式”的,並未以平滑的弧線呈現。若要顯示更平滑的密度圖,可以嘗試密度圖。
+
+現在讓我們來使用密度圖!
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
+ geom_density()
+```
+
+
+你可以看到這個圖表反映了之前的最小翼展數據,只是更平滑了一些。如果你想重新查看第二個圖表中那條不平滑的最大體重線,可以使用這種方法將其非常平滑地重現:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density()
+```
+
+
+如果你想要一條平滑但不過於平滑的線,可以編輯 `adjust` 參數:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density(adjust = 1/5)
+```
+
+
+✅ 閱讀此類圖表可用的參數並進行實驗!
+
+這種類型的圖表提供了非常具有解釋性的視覺化。例如,只需幾行代碼,你就可以顯示每個鳥類目最大體重的密度:
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 挑戰
+
+直方圖比基本的散點圖、條形圖或折線圖更為複雜。上網搜索一些使用直方圖的好例子。它們是如何使用的?它們展示了什麼?它們通常在哪些領域或研究範疇中使用?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 回顧與自學
+
+在這一課中,你使用了 `ggplot2` 並開始製作更為複雜的圖表。研究一下 `geom_density_2d()`,這是一種“在一維或多維中顯示連續概率密度曲線”的方法。閱讀 [文檔](https://ggplot2.tidyverse.org/reference/geom_density_2d.html) 以了解其工作原理。
+
+## 作業
+
+[應用你的技能](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/hk/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..1dc22fbf
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 運用你的技能
+
+## 指引
+
+到目前為止,你已經使用了明尼蘇達州的鳥類數據集,探索了有關鳥類數量和種群密度的信息。現在,嘗試運用這些技術,選擇一個不同的數據集來練習,或許可以從 [Kaggle](https://www.kaggle.com/) 獲取數據。撰寫一個 R 腳本,講述這個數據集的故事,並確保在討論中使用直方圖。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+提供了一個腳本,包含有關數據集的註解(包括其來源),並使用至少 5 個直方圖來發掘數據的相關信息。 | 提供了一個腳本,但註解不完整或存在錯誤。 | 提供了一個腳本,但缺乏註解且包含錯誤。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..41840868
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,198 @@
+
+# 視覺化比例
+
+| 繪製的速記筆記](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|視覺化比例 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+在這節課中,你將使用一個以自然為主題的數據集來視覺化比例,例如在一個關於蘑菇的數據集中有多少不同種類的真菌。讓我們使用一個來自 Audubon 的數據集來探索這些迷人的真菌,該數據集列出了 Agaricus 和 Lepiota 家族中 23 種有鰓蘑菇的詳細信息。你將嘗試一些有趣的視覺化方式,例如:
+
+- 圓餅圖 🥧
+- 甜甜圈圖 🍩
+- 華夫圖 🧇
+
+> 💡 微軟研究的一個非常有趣的項目 [Charticulator](https://charticulator.com) 提供了一個免費的拖放界面來進行數據視覺化。在他們的一個教程中,他們也使用了這個蘑菇數據集!因此,你可以同時探索數據並學習這個工具庫:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 認識你的蘑菇 🍄
+
+蘑菇非常有趣。讓我們導入一個數據集來研究它們:
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+一個表格被打印出來,包含一些很棒的分析數據:
+
+| 類別 | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | 菌柄根部 | 菌柄表面(環上方) | 菌柄表面(環下方) | 菌柄顏色(環上方) | 菌柄顏色(環下方) | 菌膜類型 | 菌膜顏色 | 環數量 | 環類型 | 孢子印顏色 | 分布 | 棲息地 |
+| --------- | --------- | --------- | --------- | --------- | ------- | ----------- | ----------- | --------- | --------- | ----------- | ----------- | ------------------ | ------------------ | ------------------ | ------------------ | --------- | --------- | ----------- | --------- | ----------------- | --------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 黑色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黃色 | 有瘀傷 | 杏仁 | 自由 | 緊密 | 寬大 | 黑色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 棕色 | 多數 | 草地 |
+| 可食用 | 鐘形 | 光滑 | 白色 | 有瘀傷 | 茴香 | 自由 | 緊密 | 寬大 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 棕色 | 多數 | 草原 |
+| 有毒 | 凸形 | 鱗片狀 | 白色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 棕色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 綠色 | 無瘀傷 | 無氣味 | 自由 | 擁擠 | 寬大 | 黑色 | 錐形 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 消失 | 棕色 | 豐富 | 草地 |
+| 可食用 | 凸形 | 鱗片狀 | 黃色 | 有瘀傷 | 杏仁 | 自由 | 緊密 | 寬大 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 多數 | 草地 |
+
+你會立刻注意到所有的數據都是文本格式。你需要將這些數據轉換為可以用於圖表的格式。事實上,大部分數據是以對象形式表示的:
+
+```r
+names(mushrooms)
+```
+
+輸出結果為:
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+將這些數據中的「類別」列轉換為分類:
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+現在,如果你打印出蘑菇數據,你會看到它已根據有毒/可食用類別分組:
+
+```r
+View(grouped)
+```
+
+| 類別 | 數量 |
+| --------- | --------- |
+| 可食用 | 4208 |
+| 有毒 | 3916 |
+
+如果你按照這個表格中呈現的順序來創建類別標籤,你可以製作一個圓餅圖。
+
+## 圓餅圖!
+
+```r
+pie(grouped$count,grouped$class, main="Edible?")
+```
+完成,一個圓餅圖展示了根據這兩類蘑菇的比例數據。正確排列標籤的順序非常重要,尤其是在這裡,因此請務必核對標籤數組的構建順序!
+
+
+
+## 甜甜圈圖!
+
+一種更具視覺吸引力的圓餅圖是甜甜圈圖,它是一個中間有洞的圓餅圖。讓我們用這種方法來查看數據。
+
+看看蘑菇生長的各種棲息地:
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+輸出結果為:
+
+| 棲息地 | 數量 |
+| --------- | --------- |
+| 草地 | 2148 |
+| 樹葉 | 832 |
+| 草原 | 292 |
+| 小徑 | 1144 |
+| 城市 | 368 |
+| 廢棄地 | 192 |
+| 樹木 | 3148 |
+
+在這裡,你將數據按棲息地分組。共有 7 種棲息地,因此使用這些作為甜甜圈圖的標籤:
+
+```r
+library(ggplot2)
+library(webr)
+PieDonut(habitat, aes(habitat, count=count))
+```
+
+
+
+這段代碼使用了兩個庫——ggplot2 和 webr。使用 webr 庫的 PieDonut 函數,我們可以輕鬆創建甜甜圈圖!
+
+在 R 中僅使用 ggplot2 庫也可以製作甜甜圈圖。你可以在[這裡](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html)了解更多並自己嘗試。
+
+現在你知道如何分組數據並將其顯示為圓餅圖或甜甜圈圖,你可以探索其他類型的圖表。試試華夫圖,它是一種不同的方式來探索數量。
+
+## 華夫圖!
+
+「華夫」類型的圖表是一種以 2D 方格陣列視覺化數量的方式。試著視覺化這個數據集中蘑菇菌蓋顏色的不同數量。為此,你需要安裝一個名為 [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf) 的輔助庫,並使用它來生成你的視覺化:
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+選擇數據的一部分進行分組:
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+通過創建標籤並分組數據來製作華夫圖:
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+使用華夫圖,你可以清楚地看到這個蘑菇數據集中菌蓋顏色的比例。有趣的是,有許多綠色菌蓋的蘑菇!
+
+
+
+在這節課中,你學到了三種視覺化比例的方法。首先,你需要將數據分組到分類中,然後決定哪種方式最適合展示數據——圓餅圖、甜甜圈圖或華夫圖。這些方法都很有趣,能讓用戶快速了解數據集。
+
+## 🚀 挑戰
+
+試著在 [Charticulator](https://charticulator.com) 中重現這些有趣的圖表。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 回顧與自學
+
+有時候,什麼時候使用圓餅圖、甜甜圈圖或華夫圖並不明顯。以下是一些相關文章供你閱讀:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+進行一些研究以了解更多關於這個選擇的資訊。
+
+## 作業
+
+[在 Excel 中試試看](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..2278ac88
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,177 @@
+
+# 視覺化關係:關於蜂蜜 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|視覺化關係 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+延續我們研究的自然主題,讓我們探索一些有趣的視覺化方式,展示不同種類蜂蜜之間的關係。這些數據來自[美國農業部](https://www.nass.usda.gov/About_NASS/index.php)的資料集。
+
+這個包含約600項的資料集展示了美國多個州的蜂蜜生產情況。例如,您可以查看每個州在1998年至2012年間的蜂群數量、每群產量、總生產量、庫存、每磅價格以及蜂蜜的生產價值,每年每州一行數據。
+
+我們可以視覺化某州每年的生產量與該州蜂蜜價格之間的關係。或者,您也可以視覺化各州每群蜂蜜產量之間的關係。這段時間涵蓋了2006年首次出現的毀滅性“蜂群崩潰症”(CCD,Colony Collapse Disorder)(http://npic.orst.edu/envir/ccd.html),因此這是一個值得研究的數據集。🐝
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在本課中,您可以使用 ggplot2,這是一個您之前使用過的優秀庫,用於視覺化變量之間的關係。特別有趣的是使用 ggplot2 的 `geom_point` 和 `qplot` 函數,這些函數可以快速生成散點圖和折線圖,視覺化“[統計關係](https://ggplot2.tidyverse.org/)”,幫助數據科學家更好地理解變量之間的關聯。
+
+## 散點圖
+
+使用散點圖展示蜂蜜價格每年每州的變化。ggplot2 的 `ggplot` 和 `geom_point` 可以方便地將州的數據分組,並顯示分類和數值數據的數據點。
+
+讓我們先導入數據和 Seaborn:
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+您會注意到蜂蜜數據中有幾個有趣的列,包括年份和每磅價格。讓我們探索按美國州分組的數據:
+
+| 州 | 蜂群數量 | 每群產量 | 總生產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | -------- | -------- | -------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 | 22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+創建一個基本的散點圖,展示蜂蜜每磅價格與其來源州之間的關係。讓 `y` 軸足夠高以顯示所有州:
+
+```r
+library(ggplot2)
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(colour = "blue")
+```
+
+
+現在,使用蜂蜜色彩方案展示價格隨年份的變化。您可以通過添加 'scale_color_gradientn' 參數來顯示每年的變化:
+
+> ✅ 了解更多關於 [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn) 的信息 - 試試美麗的彩虹色方案!
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
+ geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
+```
+
+
+使用這種色彩方案,您可以看到蜂蜜每磅價格隨年份的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇亞利桑那州),您可以看到價格每年逐漸上漲,僅有少數例外:
+
+| 州 | 蜂群數量 | 每群產量 | 總生產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | -------- | -------- | -------- | -------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一種視覺化這種趨勢的方法是使用大小而非顏色。對於色盲用戶,這可能是一個更好的選擇。編輯您的視覺化,通過點的直徑大小展示價格的增長:
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+您可以看到點的大小逐漸增大。
+
+
+
+這是否是一個簡單的供需問題?由於氣候變化和蜂群崩潰等因素,是否每年可供購買的蜂蜜減少,導致價格上漲?
+
+為了探索數據集中某些變量之間的相關性,讓我們研究一些折線圖。
+
+## 折線圖
+
+問題:蜂蜜每磅價格是否每年明顯上漲?您可以通過創建一個單一折線圖來最簡單地發現這一點:
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+答案:是的,但在2003年左右有一些例外:
+
+
+
+問題:那麼在2003年,我們是否也能看到蜂蜜供應的激增?如果您查看每年的總生產量呢?
+
+```python
+qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
+```
+
+
+
+答案:並不完全。如果您查看總生產量,實際上在那一年似乎有所增加,儘管總體而言蜂蜜的生產量在這些年中呈下降趨勢。
+
+問題:在這種情況下,2003年蜂蜜價格的激增可能是什麼原因?
+
+為了探索這一點,您可以使用分面網格。
+
+## 分面網格
+
+分面網格可以選擇數據集的一個方面(在我們的例子中,您可以選擇“年份”,以避免生成過多的分面)。Seaborn 可以根據您選擇的 x 和 y 坐標為每個分面生成一個圖表,方便進行視覺比較。2003年是否在這種比較中顯得突出?
+
+使用 [ggplot2 的文檔](https://ggplot2.tidyverse.org/reference/facet_wrap.html)推薦的 `facet_wrap` 創建分面網格。
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+在此視覺化中,您可以比較每群產量和蜂群數量每年每州的變化,並將列數設置為3:
+
+
+
+對於此數據集,關於蜂群數量和每群產量每年每州的變化,並未有特別突出的地方。是否有其他方式可以找到這兩個變量之間的相關性?
+
+## 雙折線圖
+
+嘗試使用 R 的 `par` 和 `plot` 函數,通過疊加兩個折線圖來創建多折線圖。我們將在 x 軸上繪製年份,並顯示兩個 y 軸。展示每群產量和蜂群數量,疊加在一起:
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+axis(side = 4, at = pretty(range(y2)))
+mtext("colony yield", side = 4, line = 3)
+```
+
+
+雖然在2003年並未有明顯的異常,但這讓我們可以以一個稍微樂觀的結論結束本課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群產量在減少。
+
+加油,蜜蜂們!
+
+🐝❤️
+## 🚀 挑戰
+
+在本課中,您學到了更多關於散點圖和折線網格的其他用途,包括分面網格。挑戰自己使用不同的數據集(可能是您之前使用過的數據集)創建分面網格。注意它們的生成時間以及需要小心處理的分面數量。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 回顧與自學
+
+折線圖可以是簡單的,也可以是非常複雜的。閱讀 [ggplot2 文檔](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together),了解構建折線圖的各種方法。嘗試使用文檔中列出的其他方法來增強您在本課中構建的折線圖。
+
+## 作業
+
+[深入蜂巢](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..250798fc
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# 製作有意義的視覺化圖表
+
+| 繪製的速寫筆記](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意義的視覺化圖表 - _速寫筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+> 「如果你對數據施加足夠的壓力,它會承認任何事情」-- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+作為一名數據科學家,基本技能之一就是能夠創建有意義的數據視覺化,幫助回答你可能提出的問題。在進行數據視覺化之前,你需要確保數據已經像之前課程中所教的那樣進行清理和準備。之後,你就可以開始決定如何最好地呈現數據。
+
+在本課中,你將學習:
+
+1. 如何選擇合適的圖表類型
+2. 如何避免誤導性的圖表
+3. 如何使用顏色
+4. 如何設計圖表以提高可讀性
+5. 如何構建動畫或3D圖表解決方案
+6. 如何創建創意視覺化
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 選擇合適的圖表類型
+
+在之前的課程中,你已經使用 Matplotlib 和 Seaborn 嘗試構建各種有趣的數據視覺化圖表。通常,你可以根據這張表格選擇[合適的圖表類型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)來回答你的問題:
+
+| 你的需求是: | 你應該使用: |
+| -------------------------- | ---------------------------- |
+| 展示隨時間變化的數據趨勢 | 折線圖 |
+| 比較不同類別 | 柱狀圖、餅圖 |
+| 比較總量 | 餅圖、堆疊柱狀圖 |
+| 展示關係 | 散點圖、折線圖、分面圖、雙折線圖 |
+| 展示分佈 | 散點圖、直方圖、箱型圖 |
+| 展示比例 | 餅圖、甜甜圈圖、華夫圖 |
+
+> ✅ 根據數據的組成,你可能需要將其從文本轉換為數字,以支持某些圖表。
+
+## 避免誤導
+
+即使數據科學家謹慎地為正確的數據選擇了合適的圖表,仍然有許多方法可以以誤導的方式展示數據,通常是為了證明某個觀點,卻犧牲了數據的真實性。有許多誤導性圖表和信息圖的例子!
+
+[](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)。
+
+理解眼睛如何容易被誤導性圖表欺騙是很重要的。即使數據科學家的意圖是好的,選擇了糟糕的圖表類型,例如顯示過多類別的餅圖,也可能具有誤導性。
+
+## 顏色
+
+你在上面提到的「佛羅里達槍支暴力」圖表中看到,顏色可以為圖表提供額外的意義,尤其是那些未使用 ggplot2 和 RColorBrewer 等庫設計的圖表,這些庫提供了各種經過驗證的顏色庫和調色板。如果你是手動製作圖表,可以稍微研究一下[顏色理論](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在設計圖表時,請注意可訪問性是視覺化的重要方面。一些用戶可能是色盲——你的圖表是否能為視覺障礙者良好顯示?
+
+選擇圖表顏色時要小心,因為顏色可能傳達你未曾預料的含義。上面「身高」圖表中的「粉紅女士」傳達了一種明顯的「女性化」含義,這增加了圖表本身的怪異感。
+
+雖然[顏色的含義](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地區而異,並且根據色調的不同而改變,但一般來說,顏色的含義包括:
+
+| 顏色 | 含義 |
+| ------ | -------------------- |
+| 紅色 | 力量 |
+| 藍色 | 信任、忠誠 |
+| 黃色 | 快樂、警告 |
+| 綠色 | 生態、幸運、嫉妒 |
+| 紫色 | 快樂 |
+| 橙色 | 活力 |
+
+如果你需要使用自定義顏色構建圖表,請確保你的圖表既可訪問又符合你想要傳達的含義。
+
+## 設計圖表以提高可讀性
+
+如果圖表不可讀,它就沒有意義!花點時間考慮調整圖表的寬度和高度,使其能與數據良好匹配。如果需要顯示一個變量(例如所有 50 個州),請盡可能在 Y 軸上垂直顯示,以避免水平滾動的圖表。
+
+標記你的軸,必要時提供圖例,並提供工具提示以便更好地理解數據。
+
+如果你的數據在 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 創作
+
+雖然本課程不足以深入教授這些強大的視覺化庫,但你可以嘗試在 Vue.js 應用中使用 D3,展示一本書《危險關係》的動畫社交網絡視覺化。
+
+> 《危險關係》是一部書信體小說,即以一系列信件形式呈現的小說。由 Choderlos de Laclos 於 1782 年撰寫,講述了 18 世紀晚期法國貴族中兩位主角 Vicomte de Valmont 和 Marquise de Merteuil 的惡毒、道德敗壞的社交手段。兩人最終都遭遇了悲劇,但在此之前造成了大量社會損害。小說以寫給圈內各人的信件形式展開,策劃復仇或僅僅是製造麻煩。創建這些信件的視覺化,探索敘事中的主要角色,並以視覺方式呈現。
+
+你將完成一個網頁應用,展示這個社交網絡的動畫視圖。它使用了一個庫來創建[網絡視覺化](https://github.com/emiliorizzo/vue-d3-network),基於 Vue.js 和 D3。當應用運行時,你可以在屏幕上拖動節點,重新排列數據。
+
+
+
+## 項目:使用 D3.js 構建一個展示網絡的圖表
+
+> 本課程文件夾包含一個 `solution` 文件夾,你可以在其中找到完整的項目供參考。
+
+1. 按照起始文件夾根目錄中的 README.md 文件中的指示操作。確保你的機器上已安裝 NPM 和 Node.js,並運行它們以安裝項目依賴。
+
+2. 打開 `starter/src` 文件夾。你會發現一個 `assets` 文件夾,其中包含一個 .json 文件,列出了所有信件,並帶有「to」和「from」的註釋。
+
+3. 完成 `components/Nodes.vue` 中的代碼以啟用視覺化。找到名為 `createLinks()` 的方法,並添加以下嵌套循環。
+
+循環遍歷 .json 對象以捕獲信件的「to」和「from」數據,並構建 `links` 對象,以便視覺化庫可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+從終端運行你的應用(npm run serve),享受視覺化效果!
+
+## 🚀 挑戰
+
+瀏覽互聯網,發現誤導性的視覺化圖表。作者如何欺騙用戶?這是故意的嗎?嘗試修正這些視覺化圖表,展示它們應有的樣子。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 回顧與自學
+
+以下是一些關於誤導性數據視覺化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看這些有趣的歷史資產和文物視覺化:
+
+https://handbook.pubpub.org/
+
+閱讀這篇文章,了解動畫如何增強你的視覺化效果:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作業
+
+[創建你自己的自定義視覺化](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/3-Data-Visualization/README.md b/translations/hk/3-Data-Visualization/README.md
new file mode 100644
index 00000000..bc678301
--- /dev/null
+++ b/translations/hk/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# 視覺化
+
+
+> 照片由 Jenna Lee 提供,來源於 Unsplash
+
+視覺化數據是數據科學家最重要的任務之一。圖片勝過千言萬語,視覺化可以幫助你識別數據中的各種有趣部分,例如峰值、異常值、分組、趨勢等等,這些都能幫助你理解數據背後的故事。
+
+在這五節課中,你將探索來自自然的數據,並使用各種技術創建有趣且美麗的視覺化。
+
+| 主題編號 | 主題 | 相關課程 | 作者 |
+| :-----------: | :--: | :-----------: | :----: |
+| 1. | 數量視覺化 | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | 分佈視覺化 | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | 比例視覺化 | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | 關係視覺化 | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | 創建有意義的視覺化 | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### 致謝
+
+這些視覺化課程由 [Jen Looper](https://twitter.com/jenlooper)、[Jasleen Sondhi](https://github.com/jasleen101010) 和 [Vidushi Gupta](https://github.com/Vidushi-Gupta) 用 🌸 精心編寫。
+
+🍯 美國蜂蜜生產數據來源於 Jessica Li 在 [Kaggle](https://www.kaggle.com/jessicali9530/honey-production) 上的項目。該 [數據](https://usda.library.cornell.edu/concern/publications/rn301137d) 來自 [美國農業部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+🍄 蘑菇數據同樣來源於 [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset),由 Hatteras Dunton 修訂。該數據集包括描述假設樣本,涵蓋 Agaricus 和 Lepiota 家族中 23 種有鰓蘑菇的特徵。蘑菇數據摘自《Audubon Society Field Guide to North American Mushrooms》(1981)。該數據集於 1987 年捐贈給 UCI ML 27。
+
+🦆 明尼蘇達州鳥類數據來自 [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds),由 Hannah Collins 從 [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) 抓取。
+
+所有這些數據集均以 [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/) 授權。
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業的人類翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..a71c8c68
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,118 @@
+
+# 數據科學生命週期簡介
+
+| 繪製的手繪筆記 ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| 數據科學生命週期簡介 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## [課前測驗](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+到目前為止,你可能已經意識到數據科學是一個過程。這個過程可以分為五個階段:
+
+- 捕獲
+- 處理
+- 分析
+- 溝通
+- 維護
+
+本課程將重點介紹生命週期中的三個部分:捕獲、處理和維護。
+
+
+> 圖片來源:[Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
+
+## 捕獲
+
+生命週期的第一階段非常重要,因為接下來的階段都依賴於它。這實際上是兩個階段的結合:獲取數據以及定義需要解決的目的和問題。
+定義項目的目標需要對問題或問題有更深入的背景了解。首先,我們需要識別並獲取那些需要解決問題的人。他們可能是企業的利益相關者或項目的贊助者,他們可以幫助確定誰或什麼將從這個項目中受益,以及他們需要什麼和為什麼需要它。一個定義良好的目標應該是可測量和量化的,以定義可接受的結果。
+
+數據科學家可能會問的問題:
+- 這個問題以前是否被解決過?發現了什麼?
+- 所有參與者是否都理解目的和目標?
+- 是否存在模糊性?如何減少它?
+- 有哪些限制?
+- 最終結果可能會是什麼樣子?
+- 有多少資源(時間、人員、計算能力)可用?
+
+接下來是識別、收集,然後探索為實現這些定義目標所需的數據。在這個獲取階段,數據科學家還必須評估數據的數量和質量。這需要一些數據探索,以確認所獲取的數據是否能支持達到期望的結果。
+
+數據科學家可能會問的數據相關問題:
+- 我已經擁有哪些數據?
+- 誰擁有這些數據?
+- 有哪些隱私問題?
+- 我是否擁有足夠的數據來解決這個問題?
+- 這些數據的質量是否適合這個問題?
+- 如果通過這些數據發現了額外的信息,我們是否應該考慮更改或重新定義目標?
+
+## 處理
+
+生命週期的處理階段專注於發現數據中的模式以及建模。在處理階段使用的一些技術需要統計方法來揭示模式。對於人類來說,處理大型數據集通常是一項繁瑣的任務,因此需要依賴計算機來加速這一過程。這一階段也是數據科學與機器學習交叉的地方。正如你在第一課中學到的,機器學習是構建模型以理解數據的過程。模型是數據中變量之間關係的表示,有助於預測結果。
+
+本階段常用的技術在《機器學習初學者》課程中有介紹。點擊以下鏈接了解更多:
+
+- [分類](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification):將數據組織成類別以提高使用效率。
+- [聚類](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering):將數據分組為相似的群組。
+- [回歸](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression):確定變量之間的關係以預測或預測值。
+
+## 維護
+
+在生命週期的圖示中,你可能注意到維護位於捕獲和處理之間。維護是一個持續的過程,涉及在項目過程中管理、存儲和保護數據,並且應該在整個項目中加以考慮。
+
+### 數據存儲
+數據存儲的方式和位置可能會影響存儲成本以及數據訪問的速度。這些決策通常不僅由數據科學家單獨做出,但他們可能需要根據數據的存儲方式來決定如何處理數據。
+
+以下是現代數據存儲系統的一些方面,可能會影響這些選擇:
+
+**本地 vs 非本地 vs 公有或私有雲**
+
+本地指的是在自己的設備上托管和管理數據,例如擁有一台存儲數據的服務器,而非本地則依賴於你不擁有的設備,例如數據中心。公有雲是一種流行的數據存儲選擇,無需了解數據的具體存儲方式或位置,其中“公有”指的是所有使用雲服務的人共享統一的基礎設施。一些組織有嚴格的安全政策,要求完全訪問存儲數據的設備,因此會依賴於提供自有雲服務的私有雲。你將在[後續課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud)中學到更多關於雲端數據的內容。
+
+**冷數據 vs 熱數據**
+
+在訓練模型時,你可能需要更多的訓練數據。如果你對模型感到滿意,仍然會有更多數據到來以支持模型的運行。無論如何,隨著數據的積累,存儲和訪問數據的成本將會增加。將很少使用的數據(稱為冷數據)與經常訪問的數據(稱為熱數據)分開存儲,可能是一種更便宜的存儲選擇,無論是通過硬件還是軟件服務。如果需要訪問冷數據,可能會比熱數據花費更長的時間來檢索。
+
+### 數據管理
+在處理數據時,你可能會發現需要使用[數據準備](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation)課程中介紹的一些技術來清理數據,以構建準確的模型。當新數據到來時,也需要應用相同的技術來保持質量的一致性。一些項目會使用自動化工具來進行清理、聚合和壓縮,然後將數據移動到最終位置。Azure Data Factory 就是一個這樣的工具。
+
+### 數據安全
+數據安全的主要目標之一是確保數據的收集和使用處於可控範圍內。保持數據安全包括限制只有需要的人才能訪問數據,遵守當地法律和法規,以及維持道德標準,這些內容在[倫理課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics)中有介紹。
+
+以下是團隊可能採取的一些安全措施:
+- 確保所有數據都已加密
+- 向客戶提供有關其數據使用方式的信息
+- 移除已離開項目成員的數據訪問權限
+- 僅允許特定項目成員修改數據
+
+## 🚀 挑戰
+
+數據科學生命週期有許多不同的版本,每個步驟可能有不同的名稱和階段數量,但都包含本課程中提到的相同過程。
+
+探索 [團隊數據科學過程生命週期](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle) 和 [跨行業數據挖掘標準過程](https://www.datascience-pm.com/crisp-dm-2/)。列出兩者的三個相似點和不同點。
+
+|團隊數據科學過程 (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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## 回顧與自學
+
+應用數據科學生命週期涉及多個角色和任務,其中一些可能專注於每個階段的特定部分。團隊數據科學過程提供了一些資源,解釋了某人在項目中可能擔任的角色和任務類型。
+
+* [團隊數據科學過程的角色與任務](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [執行數據科學任務:探索、建模和部署](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## 作業
+
+[評估數據集](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。如涉及關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..0fa4252b
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,35 @@
+
+# 評估數據集
+
+一位客戶向你的團隊尋求幫助,調查紐約市計程車乘客的季節性消費習慣。
+
+他們想知道:**紐約市的黃計程車乘客在冬季或夏季是否給司機更多小費?**
+
+你的團隊目前處於數據科學生命周期的[捕捉](Readme.md#Capturing)階段,而你負責處理數據集。你已獲得一個筆記本和[數據](../../../../data/taxi.csv)供你探索。
+
+在此目錄中有一個[筆記本](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb),使用 Python 從[紐約市計程車與豪華車委員會](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)載入黃計程車行程數據。
+你也可以使用文字編輯器或像 Excel 這樣的電子表格軟件打開計程車數據文件。
+
+## 指引
+
+- 評估此數據集中的數據是否能幫助回答問題。
+- 探索[紐約市開放數據目錄](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93)。識別一個可能有助於回答客戶問題的額外數據集。
+- 撰寫三個問題,向客戶提出以獲得更多澄清並更好地理解問題。
+
+參考[數據集字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[使用指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)以獲取更多關於數據的信息。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/hk/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..bd369e6b
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,60 @@
+
+# 數據科學生命周期:分析
+
+| ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| 數據科學生命周期:分析 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## 課前測驗
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+在數據生命周期中的分析階段,確認數據是否能回答所提出的問題或解決特定問題。這個步驟也可以用來確認模型是否正確地解決了這些問題。本課重點是探索性數據分析(Exploratory Data Analysis,EDA),這是一種用於定義數據特徵和關係的技術,並可用於為建模準備數據。
+
+我們將使用 [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) 的示例數據集,展示如何使用 Python 和 Pandas 庫應用這些技術。這個數據集包含一些常見詞彙在電子郵件中的出現次數,這些電子郵件的來源是匿名的。使用此目錄中的 [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) 跟隨學習。
+
+## 探索性數據分析
+
+在生命周期的捕獲階段,數據被收集,同時也確定了問題和相關問題,但我們如何知道數據能否支持最終結果呢?
+回想一下,數據科學家在獲取數據時可能會問以下問題:
+- 我是否有足夠的數據來解決這個問題?
+- 這些數據的質量是否足以解決這個問題?
+- 如果通過這些數據發現了額外的信息,我們是否應該考慮更改或重新定義目標?
+
+探索性數據分析是一個了解數據的過程,可以用來回答這些問題,並識別處理數據集的挑戰。讓我們來看看一些用於實現這些目標的技術。
+
+## 數據剖析、描述性統計和 Pandas
+我們如何評估是否有足夠的數據來解決這個問題?數據剖析可以通過描述性統計技術來總結和收集數據集的一些整體信息。數據剖析幫助我們了解可用的數據,而描述性統計幫助我們了解數據的數量。
+
+在之前的一些課程中,我們使用 Pandas 的 [`describe()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html) 提供了一些描述性統計。它可以提供數量、最大值和最小值、平均值、標準差以及數據的分位數。使用像 `describe()` 函數這樣的描述性統計可以幫助你評估數據的數量以及是否需要更多數據。
+
+## 抽樣和查詢
+探索大型數據集中的所有內容可能非常耗時,通常由計算機完成。然而,抽樣是一種理解數據的有用工具,能幫助我們更好地了解數據集的內容及其代表的意義。通過抽樣,你可以應用概率和統計來對數據得出一些一般性的結論。雖然沒有明確的規則規定應抽取多少數據,但需要注意的是,抽取的數據越多,對數據的概括就越精確。
+
+Pandas 提供了 [`sample()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html),你可以傳遞一個參數來指定希望獲取的隨機樣本數量。
+
+對數據進行一般性查詢可以幫助你回答一些普遍的問題和假設。與抽樣不同,查詢允許你控制並專注於數據中你感興趣的特定部分。
+Pandas 庫中的 [`query()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) 允許你選擇列並通過檢索的行獲得關於數據的簡單答案。
+
+## 使用可視化進行探索
+你不需要等到數據完全清理和分析後才開始創建可視化。事實上,在探索過程中使用可視化可以幫助識別數據中的模式、關係和問題。此外,可視化為那些未參與數據管理的人提供了一種溝通方式,並且可以是一個分享和澄清捕獲階段未解決問題的機會。請參考 [可視化部分](../../../../../../../../../3-Data-Visualization) 了解更多流行的可視化探索方法。
+
+## 探索以識別不一致性
+本課中的所有主題都可以幫助識別缺失或不一致的值,但 Pandas 提供了一些函數來檢查這些問題。[isna() 或 isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) 可以檢查缺失值。探索這些值在數據中出現的原因是一個重要的步驟,這可以幫助你決定 [採取哪些措施來解決它們](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## 作業
+
+[探索答案](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/hk/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..c3aba2bd
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,34 @@
+
+# 探索答案
+
+這是上一課[作業](../14-Introduction/assignment.md)的延續,我們之前簡單地查看了數據集。現在,我們將更深入地分析這些數據。
+
+再次重申,客戶想知道的問題是:**紐約市的黃色計程車乘客在冬季還是夏季給司機的小費更多?**
+
+您的團隊目前處於數據科學生命周期的[分析](README.md)階段,負責對數據集進行探索性數據分析。您已獲得一個筆記本和數據集,其中包含2019年1月和7月的200筆計程車交易記錄。
+
+## 指引
+
+在此目錄中,有一個[筆記本](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb)和來自[計程車與豪華轎車委員會](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)的數據。請參考[數據集字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[用戶指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)以獲取更多關於數據的信息。
+
+使用本課中的一些技術,在筆記本中進行自己的探索性數據分析(如有需要可新增單元格),並回答以下問題:
+
+- 數據中還有哪些其他因素可能影響小費金額?
+- 哪些欄位最有可能不需要用來回答客戶的問題?
+- 根據目前提供的數據,是否有任何證據顯示季節性的小費行為?
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | ---
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/16-communication/README.md b/translations/hk/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..68a58e28
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,220 @@
+
+# 數據科學生命周期:溝通
+
+|](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| 數據科學生命周期:溝通 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+透過上方的課前測驗來測試你對即將學習內容的了解!
+
+# 簡介
+
+### 什麼是溝通?
+讓我們從定義溝通開始這節課。**溝通是傳遞或交換信息的過程。** 信息可以是想法、思考、感受、訊息、隱秘信號、數據——任何一個**_發送者_**(傳遞信息的人)希望**_接收者_**(接收信息的人)理解的內容。在這節課中,我們將把發送者稱為溝通者,而接收者稱為受眾。
+
+### 數據溝通與故事講述
+我們知道溝通的目的是傳遞或交換信息。但在溝通數據時,目標不應僅僅是向受眾傳遞數字,而是要講述一個由數據支持的故事——有效的數據溝通與故事講述是密不可分的。受眾更可能記住你講述的故事,而不是你提供的數字。在這節課的後半部分,我們將探討一些方法,幫助你更有效地利用故事講述來溝通數據。
+
+### 溝通的類型
+在這節課中,我們將討論兩種不同的溝通類型:單向溝通和雙向溝通。
+
+**單向溝通**是指發送者向接收者傳遞信息,而不需要任何反饋或回應。我們每天都能看到單向溝通的例子——例如群發電子郵件、新聞報導最新事件,或者電視廣告告訴你他們的產品有多好。在這些情況下,發送者並不尋求信息的交換,他們只是希望傳遞或提供信息。
+
+**雙向溝通**是指所有參與方既是發送者也是接收者。發送者首先向接收者溝通,接收者則提供反饋或回應。雙向溝通是我們通常所理解的溝通方式。我們通常想到的是人們進行的對話——無論是面對面、電話交談、社交媒體互動,還是短信交流。
+
+在溝通數據時,有些情況下你會使用單向溝通(例如在會議或大型群體中進行演示,且不會直接回答問題),而有些情況下你會使用雙向溝通(例如用數據說服幾位利益相關者支持某項提案,或說服同事投入時間和精力開發新項目)。
+
+# 有效溝通
+
+### 作為溝通者的責任
+在溝通時,你的責任是確保接收者能夠理解你希望他們接收到的信息。在溝通數據時,你不僅希望接收者記住數字,更希望他們能理解由數據支持的故事。一位優秀的數據溝通者也是一位優秀的故事講述者。
+
+如何用數據講述故事?方法無窮無盡——但以下是我們在這節課中將討論的六種方法:
+1. 理解你的受眾、溝通渠道和溝通方式
+2. 從結果出發
+3. 像講述真正的故事一樣進行溝通
+4. 使用有意義的詞語和短語
+5. 善用情感
+
+以下是每種策略的詳細解釋。
+
+### 1. 理解你的受眾、溝通渠道和溝通方式
+你與家人溝通的方式可能與你與朋友溝通的方式不同。你可能會使用不同的詞語和短語,讓對方更容易理解。同樣的原則也適用於溝通數據。思考你正在與誰溝通,思考他們的目標以及他們對你所描述情況的背景知識。
+
+你可以將大多數受眾分為以下幾類。在 _哈佛商業評論_ 的文章“[如何用數據講故事](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)”中,戴爾的執行策略師 Jim Stikeleather 提出了五種受眾類型:
+
+- **初學者**:首次接觸該主題,但不希望過於簡化
+- **普通人**:對主題有所了解,但希望獲得概述和主要內容
+- **管理者**:深入了解細節和相互關係,並能採取行動
+- **專家**:更注重探索和發現,較少需要故事講述,並希望獲得詳細信息
+- **高管**:只關注重要性和結論,並希望快速了解加權概率
+
+這些類型可以幫助你決定如何向受眾展示數據。
+
+除了考慮受眾的類型,你還應該考慮你用來與受眾溝通的渠道。如果你是寫備忘錄或電子郵件,與開會或在會議上演示的方式應有所不同。
+
+此外,了解你將如何與受眾溝通(使用單向溝通或雙向溝通)也至關重要。
+
+如果你的受眾主要是初學者,且你使用的是單向溝通,你必須先教育受眾並提供適當的背景知識。然後,你需要向他們展示你的數據,並解釋數據的含義以及數據的重要性。在這種情況下,你可能需要專注於提高清晰度,因為你的受眾無法直接向你提問。
+
+如果你的受眾主要是管理者,且你使用的是雙向溝通,你可能不需要教育受眾或提供太多背景知識。你可以直接討論你收集的數據及其重要性。然而,在這種情況下,你需要專注於時間管理和控制你的演示。使用雙向溝通時(尤其是面對管理者,他們尋求“可行的細節和相互關係的深入理解”),可能會出現一些問題,導致討論偏離你想要講述的故事。當這種情況發生時,你可以採取行動,將討論拉回到你的故事主題。
+
+### 2. 從結果出發
+從結果出發意味著在開始溝通之前,先了解你希望受眾獲得的主要信息。提前思考你希望受眾記住的內容,可以幫助你構建一個受眾能夠跟隨的故事。從結果出發適用於單向溝通和雙向溝通。
+
+如何從結果出發?在溝通數據之前,先寫下你的主要信息。然後,在準備用數據講述的故事的每一步,都問自己:“這如何融入我正在講述的故事?”
+
+需要注意的是——雖然從結果出發是理想的,但你不應只溝通支持你主要信息的數據。這種做法被稱為挑選性溝通,即溝通者只傳遞支持自己觀點的數據,而忽略其他數據。
+
+如果你收集的所有數據都清楚地支持你的主要信息,那很好。但如果有些數據不支持你的主要信息,甚至支持反對你的主要信息的觀點,你也應該溝通這些數據。如果出現這種情況,坦誠地告訴受眾,並解釋為什麼即使所有數據並不完全支持你的故事,你仍然選擇堅持自己的故事。
+
+### 3. 像講述真正的故事一樣進行溝通
+傳統的故事分為五個階段。你可能聽過這些階段被表述為:背景介紹、情節升級、高潮、情節下降和結局。或者更容易記住的:背景、衝突、高潮、結束和結論。在溝通你的數據和故事時,你可以採用類似的方法。
+
+你可以從背景開始,設置場景並確保受眾都在同一頁面上。然後介紹衝突。為什麼需要收集這些數據?你試圖解決什麼問題?接下來是高潮。數據是什麼?數據的含義是什麼?數據告訴我們需要解決什麼問題?然後是結束,你可以重申問題和提出的解決方案。最後是結論,你可以總結你的主要信息以及你建議團隊採取的下一步行動。
+
+### 4. 使用有意義的詞語和短語
+如果我們一起開發一款產品,我對你說“我們的用戶花了很長時間才完成平台的註冊流程”,你會估計“很長時間”是多久?一小時?一周?很難知道。如果我對整個受眾說這句話呢?每個人可能會對“很長時間”有不同的理解。
+
+但如果我說“我們的用戶平均花了3分鐘完成平台的註冊流程”,那就清晰多了。
+
+在溝通數據時,很容易認為受眾的思維方式和你一樣。但事實並非總是如此。清晰地傳達你的數據及其含義是你作為溝通者的責任。如果數據或故事不清晰,受眾就很難跟隨,也更難理解你的主要信息。
+
+你可以通過使用有意義的詞語和短語,而不是模糊的表述來更清晰地溝通數據。以下是一些例子:
+
+- 我們今年的表現*令人印象深刻*!
+ - 一個人可能認為“令人印象深刻”意味著收入增長2%-3%,而另一個人可能認為是50%-60%的增長。
+- 我們用戶的成功率*顯著*提高。
+ - “顯著提高”具體是多少?
+- 這項工作需要*大量*努力。
+ - “大量努力”具體是多少?
+
+使用模糊的詞語可能在引入更多數據或總結故事時有用,但請確保你的演示的每一部分對受眾都是清晰的。
+
+### 5. 善用情感
+情感是故事講述的關鍵。在用數據講述故事時,情感更為重要。當你溝通數據時,所有內容都圍繞你希望受眾獲得的主要信息。喚起受眾的情感有助於他們產生共鳴,並更可能採取行動。情感也能增加受眾記住你的信息的可能性。
+
+你可能在電視廣告中遇到過這種情況。一些廣告非常沉重,利用悲傷的情感與受眾建立聯繫,讓他們更關注所展示的數據。或者,一些廣告非常歡快,讓你將他們的數據與快樂的感覺聯繫起來。
+
+如何在溝通數據時使用情感?以下是幾種方法:
+
+- 使用見證和個人故事
+ - 在收集數據時,嘗試收集定量和定性數據,並在溝通時整合這兩種類型的數據。如果你的數據主要是定量的,尋找個人故事來了解他們的經歷。
+- 使用圖像
+ - 圖像幫助受眾將自己代入情境。使用圖像可以引導受眾產生你希望他們對數據的情感。
+- 使用顏色
+ - 不同的顏色會喚起不同的情感。以下是一些常見顏色及其喚起的情感。需要注意的是,顏色在不同文化中可能有不同的含義。
+ - 藍色通常喚起和平和信任的情感
+ - 綠色通常與自然和環境相關
+ - 紅色通常代表激情和興奮
+ - 黃色通常代表樂觀和快樂
+
+# 溝通案例研究
+Emerson 是一款移動應用的產品經理。Emerson 注意到客戶在週末提交的投訴和錯誤報告多了42%。Emerson 還注意到,提交投訴後48小時內未得到回應的客戶更有可能給應用商店的評分為1或2,概率增加了32%。
+
+經過研究,Emerson 提出了幾個解決方案來解決這個問題。Emerson 與公司三位主管安排了一個30分鐘的會議,溝通數據和提出的解決方案。
+
+在這次會議中,Emerson 的目標是讓公司主管理解以下兩個解決方案可以改善應用的評分,這可能會轉化為更高的收入。
+
+**解決方案 1.** 聘請客服人員在週末工作
+
+**解決方案 2.** 購買新的客服工單系統,讓客服人員能輕鬆識別隊列中等待時間最長的投訴——以便優先處理。
+在會議中,Emerson花了5分鐘解釋為何在應用程式商店中獲得低評分是件壞事,10分鐘解釋研究過程及如何識別趨勢,10分鐘討論一些近期的客戶投訴,最後5分鐘簡略提及兩個潛在解決方案。
+
+Emerson在這次會議中的溝通方式是否有效?
+
+在會議中,一位公司主管專注於Emerson所提到的10分鐘客戶投訴。會議結束後,這些投訴成為該主管唯一記得的內容。另一位公司主管主要關注Emerson描述的研究過程。第三位公司主管記得Emerson提出的解決方案,但不確定如何實施這些方案。
+
+在上述情況中,可以看到Emerson希望公司主管們從會議中獲得的重點與他們實際記住的內容之間存在顯著差距。以下是Emerson可以考慮的另一種方法。
+
+Emerson如何改進這種方法?
+背景、衝突、高潮、結尾、結論
+**背景** - Emerson可以花前5分鐘介紹整個情況,確保公司主管們了解問題如何影響公司關鍵指標,例如收入。
+
+可以這樣表述:「目前,我們的應用程式在商店中的評分是2.5。應用程式商店中的評分對應用程式商店優化至關重要,這會影響有多少用戶在搜索中看到我們的應用程式,以及潛在用戶如何看待我們的應用程式。而且,當然,我們的用戶數量直接與收入掛鉤。」
+
+**衝突** Emerson接著可以花5分鐘左右談論衝突。
+
+可以這樣表述:「用戶在週末提交的投訴和錯誤報告多了42%。提交投訴後48小時內未得到回覆的客戶,給我們應用程式評分超過2的可能性降低了32%。將我們應用程式的評分提高到4,將提升我們的可見度20-30%,我預計這將使收入增加10%。」當然,Emerson應該準備好為這些數據提供依據。
+
+**高潮** 在奠定基礎後,Emerson可以花5分鐘左右進入高潮。
+
+Emerson可以介紹提出的解決方案,說明這些方案如何解決所列出的問題,如何融入現有工作流程,解決方案的成本是多少,投資回報率(ROI)如何,甚至可以展示一些解決方案實施後的截圖或線框圖。Emerson還可以分享一些用戶的感言,例如那些超過48小時才收到投訴回覆的用戶,以及公司內部現有客戶服務代表對目前工單系統的評論。
+
+**結尾** 接下來,Emerson可以花5分鐘重申公司面臨的問題,重溫提出的解決方案,並回顧為何這些方案是正確的選擇。
+
+**結論** 由於這是一場與少數利益相關者的會議,會使用雙向溝通,Emerson可以計劃留出10分鐘供提問,以確保公司主管們在會議結束前能夠澄清任何困惑的地方。
+
+如果Emerson採用方法#2,主管們更有可能從會議中獲得Emerson希望他們記住的重點——即投訴和錯誤處理方式可以改進,並且有兩個解決方案可以實施以實現這些改進。這種方法將更有效地傳達Emerson希望溝通的數據和故事。
+
+# 結論
+### 主要要點摘要
+- 溝通是傳遞或交換信息。
+- 在溝通數據時,目標不應僅僅是向觀眾傳遞數字,而應該是傳達一個由數據支持的故事。
+- 溝通有兩種類型:單向溝通(信息傳遞無意圖回應)和雙向溝通(信息來回交流)。
+- 有許多策略可以用來講述數據故事,我們討論了以下五種策略:
+ - 了解你的觀眾、媒介和溝通方式
+ - 從結果開始思考
+ - 像講述真正的故事一樣處理
+ - 使用有意義的詞語和短語
+ - 善用情感
+
+### 自學推薦資源
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+透過上方的課後測驗回顧你剛學到的內容!
+
+## 作業
+
+[市場研究](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/hk/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..8f49e34c
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# 講述一個故事
+
+## 指引
+
+數據科學的核心在於講故事。選擇任何一個數據集,撰寫一篇短文,講述你可以從中挖掘出的故事。你希望你的數據集能揭示什麼?如果它的揭示結果令人困擾,你會怎樣處理?如果你的數據無法輕易解開它的秘密,你又會怎樣應對?思考你的數據集可能呈現的情境,並將它們記錄下來。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+
+一篇完整的文章以 .doc 格式呈現,清楚解釋、記錄並標註數據集,並以數據中的詳細例子講述一個連貫的故事。| 一篇較短的文章,細節較少 | 文章在上述某些細節方面有所欠缺。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/4-Data-Science-Lifecycle/README.md b/translations/hk/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..907526d3
--- /dev/null
+++ b/translations/hk/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# 數據科學生命周期
+
+
+> 圖片由 Headway 提供,來自 Unsplash
+
+在這些課程中,你將探索數據科學生命周期的一些方面,包括數據的分析和溝通。
+
+### 主題
+
+1. [簡介](14-Introduction/README.md)
+2. [分析](15-analyzing/README.md)
+3. [溝通](16-communication/README.md)
+
+### 致謝
+
+這些課程由 [Jalen McGee](https://twitter.com/JalenMCG) 和 [Jasmine Greenaway](https://twitter.com/paladique) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/hk/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..9d327346
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,114 @@
+
+# 雲端中的數據科學簡介
+
+| 繪製的手繪筆記 ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的數據科學:簡介 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+在這節課中,你將學習雲端的基本原則,了解為什麼使用雲端服務來運行數據科學項目對你可能有吸引力,並且我們還會看看一些在雲端運行的數據科學項目範例。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## 什麼是雲端?
+
+雲端,或稱雲端運算,是一種通過互聯網提供多種按需付費的運算服務的方式,這些服務基於一個基礎設施。服務包括存儲、數據庫、網絡、軟件、分析和智能服務等解決方案。
+
+我們通常將雲端分為以下幾種類型:
+
+* 公有雲:公有雲由第三方雲端服務提供商擁有和運營,並通過互聯網向公眾提供其運算資源。
+* 私有雲:私有雲是指僅供單一企業或組織使用的雲端運算資源,其服務和基礎設施維護在一個私有網絡上。
+* 混合雲:混合雲是一種結合了公有雲和私有雲的系統。用戶可以選擇使用內部數據中心,同時允許數據和應用程序在一個或多個公有雲上運行。
+
+大多數雲端運算服務可分為三種類別:基礎設施即服務 (IaaS)、平台即服務 (PaaS) 和軟件即服務 (SaaS)。
+
+* 基礎設施即服務 (IaaS):用戶租用 IT 基礎設施,例如伺服器和虛擬機 (VM)、存儲、網絡和操作系統。
+* 平台即服務 (PaaS):用戶租用一個用於開發、測試、交付和管理軟件應用程序的環境。用戶無需擔心設置或管理開發所需的伺服器、存儲、網絡和數據庫等基礎設施。
+* 軟件即服務 (SaaS):用戶按需通過互聯網訪問軟件應用程序,通常以訂閱方式提供。用戶無需擔心託管和管理軟件應用程序、基礎設施或維護(如軟件升級和安全補丁)。
+
+一些最大的雲端提供商包括 Amazon Web Services、Google Cloud Platform 和 Microsoft Azure。
+
+## 為什麼選擇雲端進行數據科學?
+
+開發者和 IT 專業人士選擇使用雲端的原因有很多,包括以下幾點:
+
+* 創新:你可以通過將雲端提供商創建的創新服務直接整合到你的應用程序中來提升應用程序的功能。
+* 靈活性:你只需支付所需的服務費用,並且可以從多種服務中進行選擇。通常採用按需付費模式,並根據不斷變化的需求調整服務。
+* 預算:你無需進行初期投資來購買硬件和軟件,設置和運行內部數據中心,只需支付實際使用的費用。
+* 可擴展性:你的資源可以根據項目的需求進行擴展,這意味著你的應用程序可以根據外部因素隨時調整計算能力、存儲和帶寬。
+* 生產力:你可以專注於業務,而不是花時間處理可以由他人管理的任務,例如管理數據中心。
+* 可靠性:雲端運算提供多種方式來持續備份數據,並且你可以設置災難恢復計劃,即使在危機時期也能保持業務和服務的運行。
+* 安全性:你可以受益於加強項目安全性的政策、技術和控制措施。
+
+這些是人們選擇使用雲端服務的一些常見原因。現在我們對雲端的基本概念和主要優勢有了更好的了解,接下來我們將更具體地探討數據科學家和處理數據的開發者的工作,以及雲端如何幫助他們應對可能面臨的多種挑戰:
+
+* 存儲大量數據:與其購買、管理和保護大型伺服器,不如直接將數據存儲在雲端,例如使用 Azure Cosmos DB、Azure SQL Database 和 Azure Data Lake Storage 等解決方案。
+* 執行數據整合:數據整合是數據科學的重要組成部分,它使你能夠從數據收集過渡到採取行動。通過雲端提供的數據整合服務,你可以使用 Data Factory 從多個來源收集、轉換和整合數據到一個單一的數據倉庫中。
+* 處理數據:處理大量數據需要大量的計算能力,而並非每個人都能獲得足夠強大的機器,因此許多人選擇直接利用雲端的強大計算能力來運行和部署解決方案。
+* 使用數據分析服務:雲端服務如 Azure Synapse Analytics、Azure Stream Analytics 和 Azure Databricks 可以幫助你將數據轉化為可行的洞察。
+* 使用機器學習和數據智能服務:與其從零開始,你可以使用雲端提供商提供的機器學習算法,例如 AzureML。你還可以使用認知服務,例如語音轉文字、文字轉語音、計算機視覺等。
+
+## 雲端中的數據科學範例
+
+讓我們通過幾個場景來更具體地了解這些應用。
+
+### 實時社交媒體情感分析
+
+我們從一個常見的機器學習入門場景開始:實時社交媒體情感分析。
+
+假設你運營一個新聞媒體網站,並希望利用實時數據來了解讀者可能感興趣的內容。為了更好地了解這一點,你可以構建一個程序,對 Twitter 上與讀者相關的主題進行實時情感分析。
+
+你需要關注的關鍵指標是特定主題(標籤)的推文數量和情感,情感是通過使用分析工具對指定主題進行情感分析來確定的。
+
+創建這個項目所需的步驟如下:
+
+* 創建一個事件中心來流式輸入,收集來自 Twitter 的數據
+* 配置並啟動一個 Twitter 客戶端應用程序,調用 Twitter Streaming APIs
+* 創建一個 Stream Analytics 任務
+* 指定任務輸入和查詢
+* 創建一個輸出接收器並指定任務輸出
+* 啟動任務
+
+要查看完整過程,請參閱[文檔](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)。
+
+### 科學論文分析
+
+讓我們再看一個由本課程作者之一 [Dmitry Soshnikov](http://soshnikov.com) 創建的項目範例。
+
+Dmitry 創建了一個分析 COVID 論文的工具。通過回顧這個項目,你將了解如何創建一個工具來從科學論文中提取知識、獲取洞察,並幫助研究人員高效地瀏覽大量論文。
+
+以下是使用的不同步驟:
+
+* 使用 [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 提取和預處理信息
+* 使用 [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 進行並行處理
+* 使用 [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 存儲和查詢信息
+* 使用 Power BI 創建一個交互式儀表板,用於數據探索和可視化
+
+要查看完整過程,請訪問 [Dmitry 的博客](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)。
+
+正如你所見,我們可以以多種方式利用雲端服務來進行數據科學。
+
+## 備註
+
+來源:
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## 課後測驗
+
+[課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## 作業
+
+[市場調查](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/hk/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..b5b3669f
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# 市場調查
+
+## 指引
+
+在這節課中,你學到有幾個重要的雲端服務供應商。進行一些市場調查,了解每個供應商能為數據科學家提供什麼服務。這些服務是否具有可比性?撰寫一篇文章,描述三個或以上這些雲端供應商的服務內容。
+
+## 評分標準
+
+優秀 | 合格 | 需改進
+--- | --- | -- |
+一篇一頁的文章描述了三個雲端供應商的數據科學服務,並區分它們之間的差異。 | 提交了一篇較短的文章 | 提交了一篇文章,但未完成分析
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。如涉及關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..59d4ae3e
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,347 @@
+
+# 雲端中的數據科學:「低代碼/無代碼」方式
+
+| 繪製的速記筆記](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的數據科學:低代碼 - _由 [@nitya](https://twitter.com/nitya) 繪製的速記筆記_ |
+
+目錄:
+
+- [雲端中的數據科學:「低代碼/無代碼」方式](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [課前測驗](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. 簡介](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 什麼是 Azure Machine Learning?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 心臟衰竭預測項目:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 心臟衰竭數據集:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. 在 Azure ML Studio 中進行低代碼/無代碼模型訓練](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 創建 Azure ML 工作區](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 計算資源](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 選擇適合的計算資源選項](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 創建計算集群](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 加載數據集](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 使用 AutoML 進行低代碼/無代碼訓練](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. 低代碼/無代碼模型部署及端點使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 模型部署](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 端點使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 挑戰](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [課後測驗](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [回顧與自學](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [作業](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+## 1. 簡介
+### 1.1 什麼是 Azure Machine Learning?
+
+Azure 雲端平台包含超過 200 種產品和雲端服務,旨在幫助您實現新的解決方案。數據科學家通常需要花費大量精力來探索和預處理數據,並嘗試各種模型訓練算法以生成準確的模型。這些任務耗時且可能導致昂貴的計算硬件使用效率低下。
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 是一個基於雲端的平台,用於在 Azure 中構建和運行機器學習解決方案。它包含多種功能和能力,幫助數據科學家準備數據、訓練模型、發布預測服務並監控其使用情況。最重要的是,它通過自動化許多與模型訓練相關的耗時任務來提高效率;並且它能夠使用可有效擴展的雲端計算資源來處理大量數據,僅在實際使用時產生成本。
+
+Azure ML 提供了開發者和數據科學家所需的所有工具,用於其機器學習工作流程。這些工具包括:
+
+- **Azure Machine Learning Studio**:Azure Machine Learning 的網頁入口,提供低代碼和無代碼選項,用於模型訓練、部署、自動化、跟蹤和資產管理。Studio 與 Azure Machine Learning SDK 集成,提供無縫體驗。
+- **Jupyter Notebooks**:快速原型設計和測試 ML 模型。
+- **Azure Machine Learning Designer**:允許拖放模塊以構建實驗,並在低代碼環境中部署管道。
+- **自動化機器學習界面 (AutoML)**:自動化機器學習模型開發的迭代任務,能以高效和高生產力的方式構建 ML 模型,同時保持模型質量。
+- **數據標籤**:一種輔助 ML 工具,用於自動標籤數據。
+- **Visual Studio Code 的機器學習擴展**:提供完整的開發環境,用於構建和管理 ML 項目。
+- **機器學習 CLI**:提供命令行管理 Azure ML 資源的命令。
+- **與開源框架集成**:如 PyTorch、TensorFlow、Scikit-learn 等,用於訓練、部署和管理端到端的機器學習過程。
+- **MLflow**:一個開源庫,用於管理機器學習實驗的生命周期。**MLFlow Tracking** 是 MLflow 的一個組件,用於記錄和跟蹤訓練運行的指標和模型工件,無論實驗環境如何。
+
+### 1.2 心臟衰竭預測項目:
+
+毫無疑問,製作和構建項目是檢驗技能和知識的最佳方式。在本課程中,我們將探索兩種不同的方式來構建一個心臟衰竭攻擊預測的數據科學項目,分別是通過低代碼/無代碼方式和通過 Azure ML SDK,如下圖所示:
+
+
+
+每種方式都有其優缺點。低代碼/無代碼方式更容易入門,因為它涉及與 GUI(圖形用戶界面)交互,無需事先了解代碼。此方法能快速測試項目的可行性並創建 POC(概念驗證)。然而,隨著項目規模的擴大並需要進入生產階段,通過 GUI 創建資源的方式將不再可行。我們需要以編程方式自動化所有內容,從資源的創建到模型的部署。這時,了解如何使用 Azure ML SDK 就變得至關重要。
+
+| | 低代碼/無代碼 | Azure ML SDK |
+|-------------------|------------------|---------------------------|
+| 代碼專業知識 | 不需要 | 需要 |
+| 開發時間 | 快速且簡單 | 取決於代碼專業知識 |
+| 生產準備 | 否 | 是 |
+
+### 1.3 心臟衰竭數據集:
+
+心血管疾病(CVDs)是全球死亡的首要原因,佔全球死亡人數的 31%。環境和行為風險因素,如吸煙、不健康飲食和肥胖、缺乏運動以及有害的酒精使用,可以用作估算模型的特徵。能夠估算 CVD 發展的概率對於預防高風險人群的攻擊非常有用。
+
+Kaggle 提供了一個[心臟衰竭數據集](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data),我們將在此項目中使用該數據集。您現在可以下載該數據集。這是一個包含 13 列(12 個特徵和 1 個目標變量)和 299 行的表格數據集。
+
+| | 變量名稱 | 類型 | 描述 | 示例 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 1 | age | 數值型 | 患者年齡 | 25 |
+| 2 | anaemia | 布爾型 | 紅細胞或血紅蛋白減少 | 0 或 1 |
+| 3 | creatinine_phosphokinase | 數值型 | 血液中 CPK 酶的水平 | 542 |
+| 4 | diabetes | 布爾型 | 患者是否患有糖尿病 | 0 或 1 |
+| 5 | ejection_fraction | 數值型 | 每次心臟收縮時血液排出的百分比 | 45 |
+| 6 | high_blood_pressure | 布爾型 | 患者是否患有高血壓 | 0 或 1 |
+| 7 | platelets | 數值型 | 血液中的血小板數量 | 149000 |
+| 8 | serum_creatinine | 數值型 | 血液中的血清肌酐水平 | 0.5 |
+| 9 | serum_sodium | 數值型 | 血液中的血清鈉水平 | jun |
+| 10 | sex | 布爾型 | 女性或男性 | 0 或 1 |
+| 11 | smoking | 布爾型 | 患者是否吸煙 | 0 或 1 |
+| 12 | time | 數值型 | 隨訪期(天) | 4 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [目標] | 布爾型 | 患者是否在隨訪期內死亡 | 0 或 1 |
+
+獲取數據集後,我們就可以在 Azure 中開始項目了。
+
+## 2. 在 Azure ML Studio 中進行低代碼/無代碼模型訓練
+### 2.1 創建 Azure ML 工作區
+要在 Azure ML 中訓練模型,您首先需要創建一個 Azure ML 工作區。工作區是 Azure Machine Learning 的頂級資源,提供了一個集中式位置,用於管理您使用 Azure Machine Learning 創建的所有工件。工作區會保留所有訓練運行的歷史記錄,包括日誌、指標、輸出以及腳本的快照。您可以使用這些信息來確定哪次訓練運行生成了最佳模型。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+建議使用與您的操作系統兼容的最新瀏覽器。支持以下瀏覽器:
+
+- Microsoft Edge(最新版本的新 Microsoft Edge,不是 Microsoft Edge 遺留版)
+- Safari(最新版本,僅限 Mac)
+- Chrome(最新版本)
+- Firefox(最新版本)
+
+要使用 Azure Machine Learning,請在您的 Azure 訂閱中創建工作區。然後,您可以使用此工作區來管理與機器學習工作負載相關的數據、計算資源、代碼、模型和其他工件。
+
+> **_注意:_** 您的 Azure 訂閱將因數據存儲而產生少量費用,只要 Azure Machine Learning 工作區存在於您的訂閱中。因此,我們建議在不再使用工作區時刪除它。
+
+1. 使用與您的 Azure 訂閱相關的 Microsoft 賬戶登錄 [Azure 入口網站](https://ms.portal.azure.com/)。
+2. 選擇 **+創建資源**
+
+ 
+
+ 搜索 Machine Learning 並選擇 Machine Learning 磚塊
+
+ 
+
+ 點擊創建按鈕
+
+ 
+
+ 按以下方式填寫設置:
+ - 訂閱:您的 Azure 訂閱
+ - 資源組:創建或選擇一個資源組
+ - 工作區名稱:輸入工作區的唯一名稱
+ - 地區:選擇離您最近的地理區域
+ - 存儲帳戶:注意將為您的工作區創建的默認新存儲帳戶
+ - 密鑰保管庫:注意將為您的工作區創建的默認新密鑰保管庫
+ - 應用洞察:注意將為您的工作區創建的默認新應用洞察資源
+ - 容器註冊表:無(第一次將模型部署到容器時會自動創建一個)
+
+ 
+
+ - 點擊創建 + 審核,然後點擊創建按鈕
+3. 等待您的工作區創建完成(這可能需要幾分鐘)。然後在入口網站中找到它。您可以通過 Machine Learning Azure 服務找到它。
+4. 在工作區的概覽頁面,啟動 Azure Machine Learning Studio(或打開新的瀏覽器標籤並導航到 https://ml.azure.com),並使用您的 Microsoft 賬戶登錄 Azure Machine Learning Studio。如果提示,選擇您的 Azure 目錄和訂閱,以及您的 Azure Machine Learning 工作區。
+
+
+
+5. 在 Azure Machine Learning Studio 中,切換左上角的 ☰ 圖標以查看界面中的各個頁面。您可以使用這些頁面來管理工作區中的資源。
+
+
+
+您可以使用 Azure 入口網站管理您的工作區,但對於數據科學家和機器學習運營工程師來說,Azure Machine Learning Studio 提供了一個更專注的用戶界面,用於管理工作區資源。
+
+### 2.2 計算資源
+
+計算資源是基於雲端的資源,您可以在其上運行模型訓練和數據探索過程。您可以創建四種類型的計算資源:
+
+- **計算實例**:數據科學家用於處理數據和模型的開發工作站。這涉及創建虛擬機(VM)並啟動筆記本實例。然後,您可以通過筆記本調用計算集群來訓練模型。
+- **計算集群**:可擴展的虛擬機集群,用於按需處理實驗代碼。訓練模型時需要使用它。計算集群還可以使用專門的 GPU 或 CPU 資源。
+- **推理集群**:用於部署使用您訓練模型的預測服務的目標。
+- **附加計算**:連結到現有的 Azure 計算資源,例如虛擬機器或 Azure Databricks 群集。
+
+#### 2.2.1 為您的計算資源選擇合適的選項
+
+在建立計算資源時需要考慮一些重要因素,這些選擇可能是關鍵的決策。
+
+**您需要 CPU 還是 GPU?**
+
+CPU(中央處理器)是執行計算機程式指令的電子電路。GPU(圖形處理器)是一種專門的電子電路,可以以非常高的速度執行與圖形相關的代碼。
+
+CPU 和 GPU 架構的主要區別在於,CPU 設計用於快速處理廣泛的任務(以 CPU 時鐘速度衡量),但在同時執行的任務數量上有限。GPU 則設計用於平行計算,因此在深度學習任務上表現更佳。
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| 價格較低 | 價格較高 |
+| 並行性較低 | 並行性較高 |
+| 深度學習模型訓練速度較慢 | 深度學習的最佳選擇 |
+
+**群集大小**
+
+較大的群集成本較高,但響應速度更快。因此,如果您有時間但預算有限,應該從小型群集開始。相反,如果您有預算但時間有限,應該從大型群集開始。
+
+**虛擬機器大小**
+
+根據您的時間和預算限制,您可以調整 RAM、磁碟、核心數量和時鐘速度的大小。增加這些參數會提高成本,但性能也會更好。
+
+**專用或低優先級實例?**
+
+低優先級實例意味著它是可中斷的:基本上,Microsoft Azure 可以將這些資源分配給其他任務,從而中斷作業。專用實例(不可中斷)則意味著作業不會在未經您允許的情況下被終止。
+這是另一個時間與金錢的考量,因為可中斷的實例比專用實例便宜。
+
+#### 2.2.2 建立計算群集
+
+在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,進入計算部分,您將能看到我們剛剛討論的不同計算資源(例如計算實例、計算群集、推理群集和附加計算)。在這個專案中,我們需要一個計算群集來進行模型訓練。在 Studio 中,點擊 "Compute" 菜單,然後選擇 "Compute cluster" 標籤,點擊 "+ New" 按鈕以建立計算群集。
+
+
+
+1. 選擇您的選項:專用 vs 低優先級,CPU 或 GPU,虛擬機器大小和核心數量(您可以保留此專案的預設設定)。
+2. 點擊 "Next" 按鈕。
+
+
+
+3. 為群集命名。
+4. 選擇您的選項:最小/最大節點數量、閒置秒數後縮減、SSH 存取。請注意,如果最小節點數量為 0,當群集閒置時您可以節省成本。請注意,最大節點數量越高,訓練時間越短。建議的最大節點數量為 3。
+5. 點擊 "Create" 按鈕。此步驟可能需要幾分鐘。
+
+
+
+太棒了!現在我們有了一個計算群集,接下來需要將數據加載到 Azure ML Studio。
+
+### 2.3 加載數據集
+
+1. 在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,點擊左側菜單中的 "Datasets",然後點擊 "+ Create dataset" 按鈕以建立數據集。選擇 "From local files" 選項並選擇我們之前下載的 Kaggle 數據集。
+
+ 
+
+2. 為您的數據集命名、選擇類型並添加描述。點擊 "Next"。從文件中上傳數據。點擊 "Next"。
+
+ 
+
+3. 在 Schema 中,將以下特徵的數據類型更改為 Boolean:anaemia、diabetes、高血壓、性別、吸煙和 DEATH_EVENT。點擊 "Next" 並點擊 "Create"。
+
+ 
+
+太棒了!現在數據集已準備好,計算群集也已建立,我們可以開始訓練模型了!
+
+### 2.4 使用 AutoML 進行低代碼/無代碼訓練
+
+傳統的機器學習模型開發資源密集,需具備大量的領域知識並花費時間來生成和比較多個模型。
+自動化機器學習(AutoML)是一種自動化機器學習模型開發中耗時且反覆的任務的過程。它使數據科學家、分析師和開發者能夠以高效能和生產力建立 ML 模型,同時保持模型質量。它減少了生成可投入生產的 ML 模型所需的時間,並且操作簡便高效。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. 在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,點擊左側菜單中的 "Automated ML",選擇您剛剛上傳的數據集。點擊 "Next"。
+
+ 
+
+2. 輸入新的實驗名稱、目標列(DEATH_EVENT)以及我們建立的計算群集。點擊 "Next"。
+
+ 
+
+3. 選擇 "Classification" 並點擊 "Finish"。此步驟可能需要 30 分鐘到 1 小時,具體取決於您的計算群集大小。
+
+ 
+
+4. 一旦運行完成,點擊 "Automated ML" 標籤,點擊您的運行,然後在 "Best model summary" 卡片中點擊算法。
+
+ 
+
+在這裡,您可以看到 AutoML 生成的最佳模型的詳細描述。您還可以在 "Models" 標籤中探索其他生成的模型。花幾分鐘時間探索 "Explanations (preview)" 按鈕中的模型。一旦您選擇了要使用的模型(在此我們選擇 AutoML 選擇的最佳模型),接下來我們將了解如何部署它。
+
+## 3. 低代碼/無代碼模型部署及端點使用
+### 3.1 模型部署
+
+自動化機器學習界面允許您將最佳模型部署為網絡服務,僅需幾個步驟。部署是模型的整合,使其能夠基於新數據進行預測並識別潛在的機會領域。對於此專案,部署到網絡服務意味著醫療應用程序將能夠使用該模型進行患者心臟病風險的即時預測。
+
+在最佳模型描述中,點擊 "Deploy" 按鈕。
+
+
+
+15. 為其命名、添加描述、選擇計算類型(Azure Container Instance),啟用身份驗證並點擊 "Deploy"。此步驟可能需要約 20 分鐘完成。部署過程包括註冊模型、生成資源並配置它們以供網絡服務使用。部署狀態下會顯示狀態消息。定期點擊 "Refresh" 檢查部署狀態。當狀態顯示 "Healthy" 時,表示已部署並運行。
+
+
+
+16. 部署完成後,點擊 "Endpoint" 標籤並點擊您剛剛部署的端點。在這裡,您可以找到有關端點的所有詳細信息。
+
+
+
+太棒了!現在我們已部署模型,可以開始使用端點。
+
+### 3.2 端點使用
+
+點擊 "Consume" 標籤。在這裡,您可以找到 REST 端點以及消費選項中的 Python 腳本。花些時間閱讀 Python 代碼。
+
+此腳本可以直接從您的本地機器運行,並使用您的端點。
+
+
+
+花些時間檢查以下兩行代碼:
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+`url` 變數是消費標籤中找到的 REST 端點,而 `api_key` 變數是消費標籤中找到的主密鑰(僅在啟用了身份驗證的情況下)。這就是腳本如何使用端點。
+
+18. 運行腳本,您應該看到以下輸出:
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+這意味著給定數據的心臟衰竭預測為真。這是合理的,因為如果您仔細查看腳本中自動生成的數據,所有值默認為 0 和 false。您可以使用以下輸入樣本更改數據:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+腳本應返回:
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+恭喜!您剛剛使用 Azure ML 訓練並部署了模型,並成功使用了端點!
+
+> **_注意:_** 完成專案後,請記得刪除所有資源。
+## 🚀 挑戰
+
+仔細查看 AutoML 為頂級模型生成的模型解釋和詳細信息。嘗試理解為什麼最佳模型比其他模型更好。比較了哪些算法?它們之間有什麼差異?為什麼最佳模型在此情況下表現更佳?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## 回顧與自學
+
+在本課中,您學習了如何在雲端以低代碼/無代碼方式訓練、部署和使用模型來預測心臟衰竭風險。如果您尚未完成,請深入研究 AutoML 為頂級模型生成的模型解釋,並嘗試理解為什麼最佳模型比其他模型更好。
+
+您可以通過閱讀此 [文件](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 進一步了解低代碼/無代碼 AutoML。
+
+## 作業
+
+[Azure ML 上的低代碼/無代碼數據科學專案](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..378e8978
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# Azure ML 上的低代碼/無代碼數據科學項目
+
+## 指引
+
+我們已經學習了如何使用 Azure ML 平台以低代碼/無代碼的方式進行模型的訓練、部署和使用。現在,請尋找一些可以用來訓練其他模型的數據,並將其部署和使用。你可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上尋找數據集。
+
+## 評分標準
+
+| 卓越 | 合格 | 需要改進 |
+|------|------|----------|
+|在上傳數據時,你注意到了是否需要更改特徵的類型。如果需要,你也清理了數據。你使用 AutoML 在數據集上進行了訓練,並檢查了模型解釋。你部署了最佳模型並成功使用了它。 | 在上傳數據時,你注意到了是否需要更改特徵的類型。你使用 AutoML 在數據集上進行了訓練,部署了最佳模型並成功使用了它。 | 你部署了由 AutoML 訓練的最佳模型並成功使用了它。 |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/hk/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..79b92c0f
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,310 @@
+
+# 雲端中的數據科學:Azure ML SDK 的方法
+
+| ](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的數據科學:Azure ML SDK - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+目錄:
+
+- [雲端中的數據科學:Azure ML SDK 的方法](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [課前測驗](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. 簡介](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 什麼是 Azure ML SDK?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 心臟衰竭預測項目及數據集介紹](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. 使用 Azure ML SDK 訓練模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 創建 Azure ML 工作區](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 創建計算實例](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 加載數據集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 創建筆記本](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 訓練模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 設置工作區、實驗、計算集群和數據集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 AutoML 配置和訓練](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. 使用 Azure ML SDK 部署模型及消費端點](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 保存最佳模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 模型部署](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 消費端點](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 挑戰](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [課後測驗](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [回顧與自學](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [作業](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. 簡介
+
+### 1.1 什麼是 Azure ML SDK?
+
+數據科學家和人工智能開發者使用 Azure Machine Learning SDK 與 Azure Machine Learning 服務一起構建和運行機器學習工作流。您可以在任何 Python 環境中與該服務交互,包括 Jupyter Notebooks、Visual Studio Code 或您喜愛的 Python IDE。
+
+SDK 的主要功能包括:
+
+- 探索、準備和管理機器學習實驗中使用的數據集的生命周期。
+- 管理雲端資源以監控、記錄和組織您的機器學習實驗。
+- 在本地或使用雲端資源(包括 GPU 加速的模型訓練)訓練模型。
+- 使用自動化機器學習,該功能接受配置參數和訓練數據,並自動迭代算法和超參數設置以找到最佳模型進行預測。
+- 部署 Web 服務,將訓練好的模型轉換為可在任何應用中消費的 RESTful 服務。
+
+[了解更多關於 Azure Machine Learning SDK 的信息](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+在[上一課](../18-Low-Code/README.md)中,我們學習了如何以低代碼/無代碼方式訓練、部署和消費模型。我們使用了心臟衰竭數據集來生成心臟衰竭預測模型。在本課中,我們將使用 Azure Machine Learning SDK 完成相同的任務。
+
+
+
+### 1.2 心臟衰竭預測項目及數據集介紹
+
+查看[此處](../18-Low-Code/README.md)了解心臟衰竭預測項目及數據集介紹。
+
+## 2. 使用 Azure ML SDK 訓練模型
+### 2.1 創建 Azure ML 工作區
+
+為了簡化操作,我們將在 Jupyter Notebook 中工作。這意味著您已經擁有一個工作區和計算實例。如果您已經擁有工作區,可以直接跳到 2.3 筆記本創建部分。
+
+如果沒有,請按照[上一課](../18-Low-Code/README.md)中 **2.1 創建 Azure ML 工作區** 部分的指示創建工作區。
+
+### 2.2 創建計算實例
+
+在我們之前創建的 [Azure ML 工作區](https://ml.azure.com/) 中,進入計算菜單,您將看到不同的計算資源。
+
+
+
+讓我們創建一個計算實例來提供 Jupyter Notebook。
+1. 點擊 + New 按鈕。
+2. 為您的計算實例命名。
+3. 選擇您的選項:CPU 或 GPU、VM 大小和核心數量。
+4. 點擊 Create 按鈕。
+
+恭喜,您剛剛創建了一個計算實例!我們將在[創建筆記本部分](../../../../5-Data-Science-In-Cloud/19-Azure)中使用此計算實例。
+
+### 2.3 加載數據集
+如果您尚未上傳數據集,請參考[上一課](../18-Low-Code/README.md)中的 **2.3 加載數據集** 部分。
+
+### 2.4 創建筆記本
+
+> **_注意:_** 接下來的步驟,您可以選擇從頭創建一個新的筆記本,或者上傳我們之前創建的 [筆記本](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb) 到您的 Azure ML Studio。要上傳,只需點擊 "Notebook" 菜單並上傳筆記本。
+
+筆記本是數據科學過程中非常重要的一部分。它們可以用於進行探索性數據分析(EDA)、調用計算集群訓練模型、調用推理集群部署端點。
+
+要創建筆記本,我們需要一個提供 Jupyter Notebook 實例的計算節點。返回 [Azure ML 工作區](https://ml.azure.com/) 並點擊計算實例。在計算實例列表中,您應該看到我們之前創建的[計算實例](../../../../5-Data-Science-In-Cloud/19-Azure)。
+
+1. 在 Applications 部分,點擊 Jupyter 選項。
+2. 勾選 "Yes, I understand" 框並點擊 Continue 按鈕。
+
+3. 這將在瀏覽器中打開一個新的標籤頁,顯示您的 Jupyter Notebook 實例。點擊 "New" 按鈕創建筆記本。
+
+
+
+現在我們有了一個筆記本,可以開始使用 Azure ML SDK 訓練模型。
+
+### 2.5 訓練模型
+
+首先,如果您有任何疑問,請參考 [Azure ML SDK 文檔](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。它包含了理解我們在本課中將看到的模塊所需的所有信息。
+
+#### 2.5.1 設置工作區、實驗、計算集群和數據集
+
+您需要使用以下代碼從配置文件加載 `workspace`:
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+這將返回一個表示工作區的 `Workspace` 類型的對象。接著,您需要使用以下代碼創建一個 `experiment`:
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+要從工作區獲取或創建實驗,您需要使用實驗名稱請求實驗。實驗名稱必須是 3-36 個字符,並以字母或數字開頭,只能包含字母、數字、下劃線和連字符。如果在工作區中找不到實驗,則會創建一個新的實驗。
+
+現在,您需要使用以下代碼創建一個計算集群進行訓練。請注意,此步驟可能需要幾分鐘。
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+您可以通過數據集名稱從工作區獲取數據集,如下所示:
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+#### 2.5.2 AutoML 配置和訓練
+
+要設置 AutoML 配置,請使用 [AutoMLConfig 類](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。
+
+如文檔所述,有許多參數可以進行調整。對於本項目,我們將使用以下參數:
+
+- `experiment_timeout_minutes`:實驗允許運行的最大時間(以分鐘為單位),超時後將自動停止並提供結果。
+- `max_concurrent_iterations`:實驗允許的最大並發訓練迭代次數。
+- `primary_metric`:用於確定實驗狀態的主要指標。
+- `compute_target`:運行自動化機器學習實驗的 Azure Machine Learning 計算目標。
+- `task`:要運行的任務類型。值可以是 'classification'、'regression' 或 'forecasting',具體取決於要解決的自動化機器學習問題類型。
+- `training_data`:實驗中使用的訓練數據。它應包含訓練特徵和標籤列(可選的樣本權重列)。
+- `label_column_name`:標籤列的名稱。
+- `path`:Azure Machine Learning 項目文件夾的完整路徑。
+- `enable_early_stopping`:是否啟用早期終止,如果短期內分數沒有改善。
+- `featurization`:指示是否應自動進行特徵化步驟,或使用自定義特徵化。
+- `debug_log`:寫入調試信息的日誌文件。
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+現在您已設置好配置,可以使用以下代碼訓練模型。此步驟可能需要一小時,具體取決於集群大小。
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+您可以運行 RunDetails widget 來顯示不同的實驗。
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+## 3. 使用 Azure ML SDK 部署模型及消費端點
+
+### 3.1 保存最佳模型
+
+`remote_run` 是 [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 類型的對象。該對象包含 `get_output()` 方法,該方法返回最佳運行及相應的擬合模型。
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+您可以通過打印 fitted_model 查看最佳模型使用的參數,並使用 [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法查看最佳模型的屬性。
+
+```python
+best_run.get_properties()
+```
+
+現在使用 [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法註冊模型。
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+### 3.2 模型部署
+
+保存最佳模型後,我們可以使用 [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) 類進行部署。InferenceConfig 表示用於部署的自定義環境的配置設置。[AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) 類表示部署為 Azure 容器實例上的 Web 服務端點的機器學習模型。部署的服務由模型、腳本和相關文件創建。生成的 Web 服務是一個負載均衡的 HTTP 端點,具有 REST API。您可以向此 API 發送數據並接收模型返回的預測。
+
+使用 [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法部署模型。
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+此步驟可能需要幾分鐘。
+
+### 3.3 消費端點
+
+您可以通過創建一個樣本輸入來消費您的端點:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+然後,您可以將此輸入發送到您的模型進行預測:
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+這應該輸出 `'{"result": [false]}'`。這表示我們傳送到端點的病人輸入生成了預測結果 `false`,即此人不太可能會有心臟病發作。
+
+恭喜!你剛剛使用 Azure ML SDK 成功消耗了在 Azure ML 上部署和訓練的模型!
+
+> **_NOTE:_** 完成專案後,別忘了刪除所有資源。
+
+## 🚀 挑戰
+
+透過 SDK 你還可以做很多其他事情,可惜我們無法在這節課中全部涵蓋。但好消息是,學會如何快速瀏覽 SDK 文件可以幫助你在學習路上走得更遠。看看 Azure ML SDK 文件,找到允許你建立管道的 `Pipeline` 類別。管道是一系列可以作為工作流程執行的步驟集合。
+
+**提示:** 前往 [SDK 文件](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109),在搜尋欄中輸入關鍵字如 "Pipeline"。你應該可以在搜尋結果中找到 `azureml.pipeline.core.Pipeline` 類別。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## 回顧與自學
+
+在這節課中,你學會了如何使用 Azure ML SDK 在雲端訓練、部署並消耗模型來預測心臟衰竭風險。查看這份 [文件](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 以獲取更多關於 Azure ML SDK 的資訊。試著使用 Azure ML SDK 建立你自己的模型。
+
+## 作業
+
+[使用 Azure ML SDK 的數據科學專案](assignment.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/hk/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..528e3b72
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# 使用 Azure ML SDK 的數據科學項目
+
+## 指引
+
+我們已經學習了如何使用 Azure ML 平台通過 Azure ML SDK 進行模型的訓練、部署和使用。現在,請尋找一些可以用來訓練其他模型的數據,並將其部署和使用。你可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上尋找數據集。
+
+## 評分標準
+
+| 卓越 | 合格 | 需要改進 |
+|------|------|----------|
+|在進行 AutoML 配置時,你查閱了 SDK 文檔以了解可以使用的參數。你通過 Azure ML SDK 使用 AutoML 在數據集上進行了訓練,並檢查了模型解釋。你部署了最佳模型,並能通過 Azure ML SDK 使用該模型。 | 你通過 Azure ML SDK 使用 AutoML 在數據集上進行了訓練,並檢查了模型解釋。你部署了最佳模型,並能通過 Azure ML SDK 使用該模型。 | 你通過 Azure ML SDK 使用 AutoML 在數據集上進行了訓練。你部署了最佳模型,並能通過 Azure ML SDK 使用該模型。 |
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/5-Data-Science-In-Cloud/README.md b/translations/hk/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..f3e32ef7
--- /dev/null
+++ b/translations/hk/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,32 @@
+
+# 雲端中的數據科學
+
+
+
+> 圖片來源:[Jelleke Vanooteghem](https://unsplash.com/@ilumire) 來自 [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
+
+當涉及到使用大數據進行數據科學時,雲端可以成為改變遊戲規則的關鍵。在接下來的三節課中,我們將了解什麼是雲端以及為什麼它非常有用。我們還將探索一個心臟衰竭數據集,並建立一個模型來幫助評估某人發生心臟衰竭的可能性。我們將利用雲端的強大功能來訓練、部署和以兩種不同的方式使用模型。一種方式是僅使用用戶界面,以低代碼/無代碼的方式進行;另一種方式是使用 Azure 機器學習軟件開發工具包 (Azure ML SDK)。
+
+
+
+### 主題
+
+1. [為什麼在數據科學中使用雲端?](17-Introduction/README.md)
+2. [雲端中的數據科學:「低代碼/無代碼」方式](18-Low-Code/README.md)
+3. [雲端中的數據科學:「Azure ML SDK」方式](19-Azure/README.md)
+
+### 鳴謝
+這些課程由 [Maud Levy](https://twitter.com/maudstweets) 和 [Tiffany Souterre](https://twitter.com/TiffanySouterre) 帶著 ☁️ 和 💕 編寫。
+
+心臟衰竭預測項目的數據來源於 [Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data) 上的 [Larxel](https://www.kaggle.com/andrewmvd)。該數據根據 [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) 授權。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..f1e98247
--- /dev/null
+++ b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# 真實世界中的數據科學
+
+|  繪製的手繪筆記 ](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| 真實世界中的數據科學 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+我們的學習旅程即將接近尾聲!
+
+我們從數據科學和倫理的定義開始,探索了各種數據分析和可視化的工具與技術,回顧了數據科學的生命周期,並了解了如何利用雲端計算服務擴展和自動化數據科學工作流程。所以,你可能會想:_「我該如何將這些學到的知識應用到真實世界的情境中?」_
+
+在這節課中,我們將探索數據科學在各行業中的真實應用,並深入研究在研究、數字人文和可持續性等領域的具體案例。我們還會探討學生項目機會,並以一些有用的資源作結,幫助你繼續學習之旅!
+
+## 課前測驗
+
+[課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## 數據科學 + 行業
+
+隨著人工智能的普及化,開發者現在更容易設計和整合基於人工智能的決策和數據驅動的洞察到用戶體驗和開發工作流程中。以下是數據科學在行業中「應用」於真實世界的一些例子:
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends/) 使用數據科學將搜索詞與流感趨勢相關聯。儘管這種方法存在缺陷,但它提高了人們對數據驅動的醫療預測可能性(和挑戰)的認識。
+
+ * [UPS 路線預測](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - 解釋了 UPS 如何利用數據科學和機器學習來預測最佳配送路線,考慮天氣條件、交通模式、配送截止時間等因素。
+
+ * [紐約市計程車路線可視化](http://chriswhong.github.io/nyctaxi/) - 使用[信息自由法](https://chriswhong.com/open-data/foil_nyc_taxi/)收集的數據幫助可視化紐約市計程車一天的運作情況,讓我們了解它們如何穿梭於繁忙的城市、賺取的收入以及每24小時內行程的時長。
+
+ * [Uber 數據科學工作台](https://eng.uber.com/dsw/) - 利用每天從數百萬次 Uber 行程中收集的數據(如接送地點、行程時長、偏好路線等),構建數據分析工具,用於定價、安全、欺詐檢測和導航決策。
+
+ * [體育分析](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - 專注於_預測分析_(球隊和球員分析,例如 [Moneyball](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/))和_數據可視化_(球隊和粉絲儀表板、比賽等),應用於人才挖掘、體育博彩和場地管理等。
+
+ * [銀行業中的數據科學](https://data-flair.training/blogs/data-science-in-banking/) - 強調數據科學在金融行業的價值,應用範圍包括風險建模、欺詐檢測、客戶分群、實時預測和推薦系統。預測分析還推動了[信用評分](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit)等關鍵措施。
+
+ * [醫療保健中的數據科學](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/)
+
+該圖展示了其他領域和應用數據科學技術的例子。想探索更多應用?請查看下方的[回顧與自學](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)部分。
+
+## 數據科學 + 研究
+
+|  繪製的手繪筆記 ](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與研究 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+雖然真實世界的應用通常專注於大規模的行業案例,_研究_應用和項目則可以從兩個角度提供價值:
+
+* _創新機會_ - 探索先進概念的快速原型設計,並測試下一代應用的用戶體驗。
+* _部署挑戰_ - 調查數據科學技術在真實世界情境中可能帶來的危害或意外後果。
+
+對於學生來說,這些研究項目可以提供學習和合作的機會,幫助你加深對主題的理解,並拓寬你與相關領域專家或團隊的接觸和參與。那麼,研究項目是什麼樣的?它們如何產生影響?
+
+讓我們來看一個例子——[MIT Gender Shades Study](http://gendershades.org/overview.html),由 Joy Buolamwini(MIT 媒體實驗室)主導,並與 Timnit Gebru(當時在微軟研究院)共同撰寫了一篇[標誌性研究論文](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf),該研究聚焦於:
+
+ * **什麼:** 該研究項目的目的是_評估基於性別和膚色的自動化面部分析算法和數據集中的偏差_。
+ * **為什麼:** 面部分析被用於執法、機場安檢、招聘系統等領域——這些情境中,由於偏差導致的不準確分類可能對受影響的個人或群體造成潛在的經濟和社會損害。理解(並消除或減輕)偏差是公平使用的關鍵。
+ * **如何:** 研究人員發現現有的基準數據集主要使用膚色較淺的受試者,於是策劃了一個_性別和膚色更平衡_的新數據集(1000 多張圖片)。該數據集被用來評估三個性別分類產品(來自微軟、IBM 和 Face++)的準確性。
+
+結果顯示,儘管整體分類準確性良好,但不同子群體之間的錯誤率存在明顯差異——對女性或深膚色人群的**性別錯誤分類**更高,表明存在偏差。
+
+**關鍵成果:** 提高了對數據科學需要更多_代表性數據集_(平衡的子群體)和更多_包容性團隊_(多元背景)的認識,以便在 AI 解決方案中更早地識別並消除或減輕這些偏差。像這樣的研究努力對於許多組織制定_負責任 AI_的原則和實踐以提高其 AI 產品和流程的公平性也至關重要。
+
+**想了解微軟相關的研究工作嗎?**
+
+* 查看 [Microsoft Research Projects](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project) 中的人工智能研究項目。
+* 探索 [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/) 的學生項目。
+* 查看 [Fairlearn](https://fairlearn.org/) 項目和 [Responsible AI](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) 的相關倡議。
+
+## 數據科學 + 人文
+
+|  繪製的手繪筆記 ](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與數字人文 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+數字人文[被定義為](https://digitalhumanities.stanford.edu/about-dh-stanford)「結合計算方法與人文探究的一系列實踐和方法」。[斯坦福大學的項目](https://digitalhumanities.stanford.edu/projects)如_「重啟歷史」_和_「詩意思維」_展示了[數字人文與數據科學](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science)之間的聯繫——強調了網絡分析、信息可視化、空間和文本分析等技術,這些技術可以幫助我們重新審視歷史和文學數據集,從而獲得新的見解和視角。
+
+*想探索並擴展這一領域的項目嗎?*
+
+查看 ["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671)——這是 [Jen Looper](https://twitter.com/jenlooper) 的一個精彩案例,探討我們如何利用數據科學重新審視熟悉的詩歌,並在新的情境下重新評估其意義及作者的貢獻。例如,_我們能否通過分析詩歌的語氣或情感來預測其創作的季節_——這又能告訴我們作者在相關時期的心境如何?
+
+為了回答這個問題,我們遵循數據科學生命周期的步驟:
+ * [`數據獲取`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - 收集相關的數據集進行分析。選項包括使用 API(例如 [Poetry DB API](https://poetrydb.org/index.html))或使用工具(如 [Scrapy](https://scrapy.org/))抓取網頁(例如 [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm))。
+ * [`數據清理`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - 解釋如何使用基本工具(如 Visual Studio Code 和 Microsoft Excel)對文本進行格式化、清理和簡化。
+ * [`數據分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - 解釋如何將數據集導入「筆記本」中,使用 Python 包(如 pandas、numpy 和 matplotlib)組織和可視化數據。
+ * [`情感分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - 解釋如何使用低代碼工具(如 [Power Automate](https://flow.microsoft.com/en-us/))集成雲服務(如文本分析)進行自動化數據處理工作流程。
+
+通過這一工作流程,我們可以探索季節對詩歌情感的影響,並幫助我們形成對作者的獨特見解。試試看,然後擴展筆記本以提出其他問題或以新的方式可視化數據!
+
+> 你可以使用 [Digital Humanities Toolkit](https://github.com/Digital-Humanities-Toolkit) 中的一些工具來進行這些探究。
+
+## 數據科學 + 可持續性
+
+|  繪製的手繪筆記 ](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與可持續性 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+[2030 年可持續發展議程](https://sdgs.un.org/2030agenda)——由所有聯合國成員於 2015 年通過——確立了 17 項目標,其中包括專注於**保護地球**免受退化和氣候變化影響的目標。[微軟可持續性](https://www.microsoft.com/en-us/sustainability)倡議支持這些目標,探索技術解決方案如何支持並構建更可持續的未來,並專注於[四大目標](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh):到 2030 年實現碳負排放、正水影響、零廢棄物和生物多樣性。
+
+以可擴展和及時的方式應對這些挑戰需要雲端規模的思維——以及大規模數據。[Planetary Computer](https://planetarycomputer.microsoft.com/) 項目為數據科學家和開發者提供了四個組件來支持這一努力:
+
+ * [數據目錄](https://planetarycomputer.microsoft.com/catalog) - 包含數百萬兆字節的地球系統數據(免費且託管於 Azure)。
+ * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - 幫助用戶在空間和時間範圍內搜索相關數據。
+ * [Hub](https://planetarycomputer.microsoft.com/docs/overview/environment/) - 為科學家提供處理大規模地理空間數據集的管理環境。
+ * [應用](https://planetarycomputer.microsoft.com/applications) - 展示可持續性洞察的用例和工具。
+**Planetary Computer 計劃目前處於預覽階段(截至 2021 年 9 月)** - 以下是如何利用數據科學開始為可持續發展解決方案作出貢獻。
+
+* [申請訪問權限](https://planetarycomputer.microsoft.com/account/request),開始探索並與同行建立聯繫。
+* [瀏覽文件](https://planetarycomputer.microsoft.com/docs/overview/about),了解支持的數據集和 API。
+* 探索像 [生態系統監測](https://analytics-lab.org/ecosystemmonitoring/) 這樣的應用,從中獲取應用靈感。
+
+思考如何利用數據可視化揭示或放大與氣候變化和森林砍伐等相關的洞察力。或者,思考如何利用這些洞察力創造新的用戶體驗,從而激發行為改變,實現更可持續的生活方式。
+
+## 數據科學 + 學生
+
+我們已經討論了行業和研究中的實際應用,並探索了數字人文和可持續發展領域的數據科學應用示例。那麼,作為數據科學初學者,你如何提升技能並分享專業知識呢?
+
+以下是一些數據科學學生項目示例,供你參考。
+
+* [MSR 數據科學暑期學校](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects) 的 GitHub [項目](https://github.com/msr-ds3),探索以下主題:
+ - [警察使用武力中的種族偏見](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [紐約地鐵系統的可靠性](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+* [數字化物質文化:探索 Sirkap 的社會經濟分佈](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - 來自 [Ornella Altunyan](https://twitter.com/ornelladotcom) 和 Claremont 團隊,使用 [ArcGIS StoryMaps](https://storymaps.arcgis.com/)。
+
+## 🚀 挑戰
+
+搜尋推薦適合初學者的數據科學項目文章,例如 [這 50 個主題領域](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/)、[這 21 個項目點子](https://www.intellspot.com/data-science-project-ideas) 或 [這 16 個帶源代碼的項目](https://data-flair.training/blogs/data-science-project-ideas/),你可以拆解並重新組合這些項目。別忘了記錄你的學習過程,並與我們分享你的洞察。
+
+## 課後測驗
+
+[課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## 回顧與自學
+
+想探索更多用例嗎?以下是一些相關文章:
+* [17 個數據科學應用與示例](https://builtin.com/data-science/data-science-applications-examples) - 2021 年 7 月
+* [11 個令人驚嘆的現實世界數據科學應用](https://myblindbird.com/data-science-applications-real-world/) - 2021 年 5 月
+* [現實世界中的數據科學](https://towardsdatascience.com/data-science-in-the-real-world/home) - 文章合集
+* 數據科學在:[教育](https://data-flair.training/blogs/data-science-in-education/)、[農業](https://data-flair.training/blogs/data-science-in-agriculture/)、[金融](https://data-flair.training/blogs/data-science-in-finance/)、[電影](https://data-flair.training/blogs/data-science-at-movies/) 等領域的應用。
+
+## 作業
+
+[探索一個 Planetary Computer 數據集](assignment.md)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
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
new file mode 100644
index 00000000..511e59ed
--- /dev/null
+++ b/translations/hk/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# 探索行星電腦數據集
+
+## 指引
+
+在這節課中,我們討論了多個數據科學應用領域,並深入探討了與研究、可持續性和數字人文相關的例子。在這次作業中,你將更詳細地探索其中一個例子,並應用你在數據可視化和分析方面的學習,從可持續性數據中獲取洞察。
+
+[行星電腦](https://planetarycomputer.microsoft.com/)項目提供了數據集和API,這些可以通過註冊帳戶來訪問——如果你想嘗試作業的額外步驟,可以申請一個帳戶。該網站還提供了一個[Explorer](https://planetarycomputer.microsoft.com/explore)功能,即使不創建帳戶也可以使用。
+
+`步驟:`
+Explorer界面(如下圖所示)允許你選擇一個數據集(從提供的選項中),一個預設查詢(用於篩選數據)和一個渲染選項(用於創建相關的可視化)。在這次作業中,你的任務是:
+
+ 1. 閱讀[Explorer文檔](https://planetarycomputer.microsoft.com/docs/overview/explorer/)——了解選項。
+ 2. 探索數據集[目錄](https://planetarycomputer.microsoft.com/catalog)——了解每個數據集的用途。
+ 3. 使用Explorer——選擇一個感興趣的數據集,選擇相關的查詢和渲染選項。
+
+
+
+`你的任務:`
+現在,研究瀏覽器中渲染的可視化,並回答以下問題:
+ * 該數據集有哪些_特徵_?
+ * 該可視化提供了哪些_洞察_或結果?
+ * 這些洞察對於該項目的可持續性目標有什麼_影響_?
+ * 該可視化的_局限性_是什麼(即,你未能獲得哪些洞察)?
+ * 如果你能獲取原始數據,你會創建哪些_替代可視化_,為什麼?
+
+`額外加分:`
+申請一個帳戶——並在獲批後登錄。
+ * 使用 _Launch Hub_ 選項在Notebook中打開原始數據。
+ * 交互式地探索數據,並實現你想到的替代可視化。
+ * 現在分析你的自定義可視化——你是否能夠獲得之前錯過的洞察?
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+回答了所有五個核心問題。學生清楚地指出了當前和替代可視化如何提供對可持續性目標或結果的洞察。| 學生詳細回答了至少前三個問題,表明他們對Explorer有實際操作經驗。| 學生未能回答多個問題,或提供的細節不足——表明未對該項目進行有意義的嘗試 |
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/6-Data-Science-In-Wild/README.md b/translations/hk/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..c8a31a0f
--- /dev/null
+++ b/translations/hk/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# 野外數據科學
+
+數據科學在各行業中的實際應用。
+
+### 主題
+
+1. [現實世界中的數據科學](20-Real-World-Examples/README.md)
+
+### 致謝
+
+由 [Nitya Narasimhan](https://twitter.com/nitya) 用 ❤️ 撰寫
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/CODE_OF_CONDUCT.md b/translations/hk/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..a3942f67
--- /dev/null
+++ b/translations/hk/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# Microsoft 開源行為準則
+
+此項目已採用 [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)。
+
+資源:
+
+- [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)
+- [Microsoft 行為準則常見問題](https://opensource.microsoft.com/codeofconduct/faq/)
+- 如有疑問或關注,請聯絡 [opencode@microsoft.com](mailto:opencode@microsoft.com)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/CONTRIBUTING.md b/translations/hk/CONTRIBUTING.md
new file mode 100644
index 00000000..809345bc
--- /dev/null
+++ b/translations/hk/CONTRIBUTING.md
@@ -0,0 +1,19 @@
+
+# 貢獻
+
+此項目歡迎各種貢獻和建議。大多數貢獻需要您同意一份貢獻者許可協議 (CLA),聲明您有權並確實授予我們使用您貢獻的權利。詳情請訪問 https://cla.microsoft.com。
+
+當您提交一個 pull request 時,CLA-bot 會自動判斷您是否需要提供 CLA,並適當地標記 PR(例如,添加標籤或評論)。只需按照機器人提供的指示操作即可。您只需在所有使用我們 CLA 的倉庫中執行一次此操作。
+
+此項目採用了 [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)。如需更多資訊,請參閱 [行為準則常見問題](https://opensource.microsoft.com/codeofconduct/faq/) 或通過 [opencode@microsoft.com](mailto:opencode@microsoft.com) 聯繫我們提出其他問題或意見。
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/README.md b/translations/hk/README.md
new file mode 100644
index 00000000..5fe5f035
--- /dev/null
+++ b/translations/hk/README.md
@@ -0,0 +1,161 @@
+
+# 初學者的數據科學課程
+
+Azure Cloud Advocates 團隊很高興為大家提供一個為期10週、共20課的數據科學課程。每節課包括課前和課後測驗、完成課程的書面指導、解決方案以及作業。我們的項目式教學法讓你在實踐中學習,這是一種能讓新技能更牢固掌握的有效方法。
+
+**衷心感謝我們的作者:** [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)。
+
+**🙏 特別感謝 🙏 我們的 [Microsoft 學生大使](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/)。
+
+| 繪製的速寫筆記](./sketchnotes/00-Title.png)|
+|:---:|
+| 初學者的數據科學 - _速寫筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## 公告 - 新的生成式 AI 課程已發布!
+
+我們剛剛發布了一個包含12課的生成式 AI 課程。來學習以下內容:
+
+- 提示和提示工程
+- 文本和圖像應用生成
+- 搜索應用
+
+和往常一樣,每節課都有課程、作業、知識檢查和挑戰。
+
+查看課程:
+
+> https://aka.ms/genai-beginners
+
+# 你是學生嗎?
+
+可以從以下資源開始:
+
+- [學生中心頁面](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) 在這個頁面,你可以找到初學者資源、學生包,甚至有機會獲得免費證書兌換券。這是一個值得收藏並定期查看的頁面,因為我們至少每月更新一次內容。
+- [Microsoft Learn 學生大使](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) 加入全球學生大使社群,這可能是你進入 Microsoft 的途徑。
+
+# 開始學習
+
+> **教師們**:我們已[提供一些建議](for-teachers.md)來幫助您使用這個課程。我們期待您在[討論論壇](https://github.com/microsoft/Data-Science-For-Beginners/discussions)中的反饋!
+
+> **[學生們](https://aka.ms/student-page)**:如果您想自行使用這個課程,可以 fork 整個 repo 並自行完成練習,從課前測驗開始。然後閱讀課程並完成其餘活動。嘗試通過理解課程內容來創建項目,而不是直接複製解決方案代碼;不過,代碼可以在每個項目課程的 /solutions 文件夾中找到。另一個建議是與朋友組成學習小組,一起學習內容。進一步學習,我們推薦 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum)。
+
+## 認識團隊
+
+[](https://youtu.be/8mzavjQSMM4 "宣傳視頻")
+
+**Gif 作者** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
+
+> 🎥 點擊上方圖片觀看關於這個項目及其創作者的視頻!
+
+## 教學法
+
+我們在設計這個課程時選擇了兩個教學原則:確保課程是基於項目的,並且包含頻繁的測驗。到本系列結束時,學生將學習到數據科學的基本原則,包括倫理概念、數據準備、不同的數據處理方式、數據可視化、數據分析、數據科學的實際應用案例等。
+
+此外,課前的低壓測驗可以幫助學生集中注意力學習某個主題,而課後的第二次測驗則能進一步鞏固知識。這個課程設計靈活有趣,可以完整學習,也可以部分學習。項目從簡單開始,到10週課程結束時逐漸變得複雜。
+
+> 查看我們的 [行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯指南](TRANSLATIONS.md)。我們歡迎您的建設性反饋!
+
+## 每節課包括:
+
+- 可選的速寫筆記
+- 可選的補充視頻
+- 課前熱身測驗
+- 書面課程
+- 對於基於項目的課程,提供逐步指南來構建項目
+- 知識檢查
+- 挑戰
+- 補充閱讀
+- 作業
+- 課後測驗
+
+> **關於測驗的說明**:所有測驗都包含在 Quiz-App 文件夾中,共有40個測驗,每個測驗包含三個問題。測驗在課程中有鏈接,但測驗應用可以在本地運行或部署到 Azure;請按照 `quiz-app` 文件夾中的指示進行操作。測驗正在逐步本地化。
+
+## 課程
+
+| 繪製的速寫筆記](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| 初學者的數據科學:路線圖 - _速寫筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+| 課程編號 | 主題 | 課程分組 | 學習目標 | 課程鏈接 | 作者 |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | 定義數據科學 | [介紹](1-Introduction/README.md) | 學習數據科學的基本概念及其與人工智能、機器學習和大數據的關係。 | [課程](1-Introduction/01-defining-data-science/README.md) [視頻](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | 數據科學倫理 | [介紹](1-Introduction/README.md) | 數據倫理概念、挑戰及框架。 | [課程](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | 定義數據 | [介紹](1-Introduction/README.md) | 數據的分類及其常見來源。 | [課程](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | 統計與概率入門 | [介紹](1-Introduction/README.md) | 使用概率和統計的數學技術來理解數據。 | [課程](1-Introduction/04-stats-and-probability/README.md) [視頻](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | 使用關聯數據 | [數據處理](2-Working-With-Data/README.md) | 介紹關聯數據及使用結構化查詢語言(SQL,讀作“see-quell”)探索和分析關聯數據的基礎知識。 | [課程](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
+| 06 | 使用 NoSQL 數據 | [數據處理](2-Working-With-Data/README.md) | 介紹非關聯數據及其各種類型,以及探索和分析文檔數據庫的基礎知識。 | [課程](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
+| 07 | 使用 Python | [數據處理](2-Working-With-Data/README.md) | 使用 Python 進行數據探索的基礎知識,包括使用 Pandas 等庫。建議具備 Python 編程的基礎知識。 | [課程](2-Working-With-Data/07-python/README.md) [視頻](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | 數據準備 | [處理數據](2-Working-With-Data/README.md) | 有關清理和轉換數據的技術主題,以應對缺失、不準確或不完整數據的挑戰。 | [課程](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | 數量可視化 | [數據可視化](3-Data-Visualization/README.md) | 學習如何使用 Matplotlib 可視化鳥類數據 🦆 | [課程](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | 數據分佈可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化區間內的觀察和趨勢。 | [課程](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | 比例可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化離散和分組百分比。 | [課程](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | 關係可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化數據集及其變量之間的連接和相關性。 | [課程](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | 有意義的可視化 | [數據可視化](3-Data-Visualization/README.md) | 提供技術和指導,讓您的可視化在解決問題和洞察方面更具價值。 | [課程](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | 數據科學生命周期介紹 | [生命周期](4-Data-Science-Lifecycle/README.md) | 介紹數據科學生命周期及其第一步:獲取和提取數據。 | [課程](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | 分析 | [生命周期](4-Data-Science-Lifecycle/README.md) | 數據科學生命周期的這一階段專注於分析數據的技術。 | [課程](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | 溝通 | [生命周期](4-Data-Science-Lifecycle/README.md) | 數據科學生命周期的這一階段專注於以易於決策者理解的方式呈現數據洞察。 | [課程](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 這系列課程介紹雲端中的數據科學及其優勢。 | [課程](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 18 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 使用低代碼工具訓練模型。 | [課程](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 19 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 使用 Azure Machine Learning Studio 部署模型。 | [課程](5-Data-Science-In-Cloud/19-Azure/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 20 | 野外的數據科學 | [野外應用](6-Data-Science-In-Wild/README.md) | 現實世界中的數據科學驅動項目。 | [課程](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+按照以下步驟在 Codespace 中打開此範例:
+1. 點擊 Code 下拉菜單,選擇 Open with Codespaces 選項。
+2. 在面板底部選擇 + New codespace。
+如需更多資訊,請查看 [GitHub 文檔](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace)。
+
+## VSCode Remote - Containers
+按照以下步驟使用本地機器和 VSCode 的 VS Code Remote - Containers 擴展在容器中打開此倉庫:
+
+1. 如果您是第一次使用開發容器,請確保您的系統符合前置要求(例如已安裝 Docker),請參考 [入門文檔](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started)。
+
+要使用此倉庫,您可以選擇以下方式之一:
+
+**注意**:在底層,這將使用 Remote-Containers: **Clone Repository in Container Volume...** 命令將源代碼克隆到 Docker 卷中,而不是本地文件系統。[卷](https://docs.docker.com/storage/volumes/) 是持久化容器數據的首選機制。
+
+或者打開本地克隆或下載的倉庫版本:
+
+- 將此倉庫克隆到您的本地文件系統。
+- 按 F1 並選擇 **Remote-Containers: Open Folder in Container...** 命令。
+- 選擇此文件夾的克隆副本,等待容器啟動,然後嘗試操作。
+
+## 離線訪問
+
+您可以使用 [Docsify](https://docsify.js.org/#/) 離線運行此文檔。Fork 此倉庫,在您的本地機器上 [安裝 Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫的根文件夾中輸入 `docsify serve`。網站將在您的本地主機的 3000 端口上提供服務:`localhost:3000`。
+
+> 注意,筆記本文件不會通過 Docsify 渲染,因此當您需要運行筆記本時,請在 VS Code 中使用 Python kernel 單獨運行。
+
+## 尋求幫助!
+
+如果您希望翻譯全部或部分課程,請遵循我們的 [翻譯指南](TRANSLATIONS.md)。
+
+## 其他課程
+
+我們的團隊還製作了其他課程!查看以下內容:
+
+- [生成式 AI 初學者課程](https://aka.ms/genai-beginners)
+- [生成式 AI 初學者課程 .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [使用 JavaScript 的生成式 AI](https://github.com/microsoft/generative-ai-with-javascript)
+- [使用 Java 的生成式 AI](https://aka.ms/genaijava)
+- [AI 初學者課程](https://aka.ms/ai-beginners)
+- [數據科學初學者課程](https://aka.ms/datascience-beginners)
+- [機器學習初學者課程](https://aka.ms/ml-beginners)
+- [網絡安全初學者課程](https://github.com/microsoft/Security-101)
+- [Web 開發初學者課程](https://aka.ms/webdev-beginners)
+- [物聯網初學者課程](https://aka.ms/iot-beginners)
+- [XR 開發初學者課程](https://github.com/microsoft/xr-development-for-beginners)
+- [掌握 GitHub Copilot 進行配對編程](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [掌握 GitHub Copilot 用於 C#/.NET 開發者](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [選擇您的 Copilot 冒險](https://github.com/microsoft/CopilotAdventures)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/SECURITY.md b/translations/hk/SECURITY.md
new file mode 100644
index 00000000..ff15f3ed
--- /dev/null
+++ b/translations/hk/SECURITY.md
@@ -0,0 +1,49 @@
+
+## 安全性
+
+Microsoft 非常重視我們軟件產品和服務的安全性,包括所有透過我們 GitHub 組織管理的原始碼庫,這些組織包括 [Microsoft](https://github.com/Microsoft)、[Azure](https://github.com/Azure)、[DotNet](https://github.com/dotnet)、[AspNet](https://github.com/aspnet)、[Xamarin](https://github.com/xamarin) 以及 [我們的 GitHub 組織](https://opensource.microsoft.com/)。
+
+如果您認為在任何 Microsoft 擁有的原始碼庫中發現了符合 [Microsoft 安全漏洞定義](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) 的安全漏洞,請按照以下描述向我們報告。
+
+## 報告安全問題
+
+**請勿透過公開的 GitHub 問題報告安全漏洞。**
+
+相反,請透過 Microsoft Security Response Center (MSRC) 報告安全漏洞:[https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report)。
+
+如果您希望在不登入的情況下提交報告,請發送電子郵件至 [secure@microsoft.com](mailto:secure@microsoft.com)。如果可能,請使用我們的 PGP 密鑰加密您的訊息;您可以從 [Microsoft Security Response Center PGP Key 頁面](https://www.microsoft.com/en-us/msrc/pgp-key-msrc) 下載密鑰。
+
+您應該在 24 小時內收到回覆。如果因某些原因未收到回覆,請透過電子郵件跟進,以確保我們收到您的原始訊息。更多資訊可參考 [microsoft.com/msrc](https://www.microsoft.com/msrc)。
+
+請提供以下所需資訊(盡可能提供完整),以幫助我們更好地了解問題的性質和範圍:
+
+ * 問題類型(例如:緩衝區溢出、SQL 注入、跨站腳本攻擊等)
+ * 與問題表現相關的原始碼文件完整路徑
+ * 受影響原始碼的位置(標籤/分支/提交或直接 URL)
+ * 重現問題所需的任何特殊配置
+ * 重現問題的逐步指引
+ * 概念驗證或漏洞利用代碼(如果可能)
+ * 問題的影響,包括攻擊者可能如何利用該問題
+
+這些資訊將幫助我們更快速地處理您的報告。
+
+如果您是為漏洞賞金計劃報告,提供更完整的報告可能會獲得更高的賞金獎勵。請訪問我們的 [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) 頁面,了解更多有關我們現行計劃的詳情。
+
+## 優先語言
+
+我們希望所有的溝通均使用英文。
+
+## 政策
+
+Microsoft 遵循 [協調漏洞披露](https://www.microsoft.com/en-us/msrc/cvd) 的原則。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/SUPPORT.md b/translations/hk/SUPPORT.md
new file mode 100644
index 00000000..35ab2575
--- /dev/null
+++ b/translations/hk/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# 支援
+## 如何提交問題和獲取幫助
+
+此項目使用 GitHub Issues 來追蹤錯誤和功能請求。在提交新問題之前,請先搜尋現有問題以避免重複。對於新問題,請將您的錯誤或功能請求提交為一個新問題。
+
+如需有關使用此項目的幫助和問題,請提交一個問題。
+
+## Microsoft 支援政策
+
+對於此存儲庫的支援僅限於上述列出的資源。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/docs/_sidebar.md b/translations/hk/docs/_sidebar.md
new file mode 100644
index 00000000..a25552fa
--- /dev/null
+++ b/translations/hk/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- 介紹
+ - [定義數據科學](../1-Introduction/01-defining-data-science/README.md)
+ - [數據科學的倫理](../1-Introduction/02-ethics/README.md)
+ - [定義數據](../1-Introduction/03-defining-data/README.md)
+ - [概率與統計](../1-Introduction/04-stats-and-probability/README.md)
+- 數據處理
+ - [關聯式數據庫](../2-Working-With-Data/05-relational-databases/README.md)
+ - [非關聯式數據庫](../2-Working-With-Data/06-non-relational/README.md)
+ - [Python](../2-Working-With-Data/07-python/README.md)
+ - [數據準備](../2-Working-With-Data/08-data-preparation/README.md)
+- 數據可視化
+ - [可視化數量](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [可視化分佈](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [可視化比例](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [可視化關係](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [有意義的可視化](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- 數據科學生命周期
+ - [介紹](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [分析](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [溝通](../4-Data-Science-Lifecycle/16-communication/README.md)
+- 雲端中的數據科學
+ - [介紹](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [低代碼](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- 野外的數據科學
+ - [野外的數據科學](../6-Data-Science-In-Wild/README.md)
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。
\ No newline at end of file
diff --git a/translations/hk/for-teachers.md b/translations/hk/for-teachers.md
new file mode 100644
index 00000000..d52df061
--- /dev/null
+++ b/translations/hk/for-teachers.md
@@ -0,0 +1,76 @@
+
+## 給教育工作者
+
+想在課堂上使用這套課程嗎?請隨意使用!
+
+事實上,你可以直接在 GitHub 上使用 GitHub Classroom 來進行。
+
+要做到這一點,請 fork 此 repo。你需要為每一課建立一個 repo,因此需要將每個文件夾提取到一個獨立的 repo。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 就可以分別處理每一課。
+
+這些[完整指引](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以幫助你了解如何設置你的課堂。
+
+## 按原樣使用此 repo
+
+如果你希望直接使用目前的 repo,而不使用 GitHub Classroom,也可以做到。你需要與學生溝通,告訴他們一起學習哪一課。
+
+在網上教學形式(例如 Zoom、Teams 或其他平台)中,你可以為測驗設置分組討論室,並指導學生準備學習。然後邀請學生參加測驗,並在指定時間以 "issues" 的形式提交答案。如果你希望學生公開合作完成作業,也可以採用同樣的方式。
+
+如果你更喜歡私密的形式,可以要求學生逐課 fork 課程到他們自己的 GitHub 私人 repo,並授予你訪問權限。然後他們可以私下完成測驗和作業,並通過 classroom repo 的 issues 提交給你。
+
+在網上教學中有很多方法可以使這套課程運作起來。請告訴我們哪種方式最適合你!
+
+## 課程內容包括:
+
+20 篇課程、40 個測驗和 20 個作業。課程配有手繪筆記,適合視覺型學習者。許多課程提供 Python 和 R 版本,可以使用 VS Code 中的 Jupyter notebooks 完成。了解更多關於如何設置課堂以使用這些技術堆疊:https://code.visualstudio.com/docs/datascience/jupyter-notebooks。
+
+所有手繪筆記,包括一張大幅海報,都在[此文件夾](../../sketchnotes)中。
+
+整套課程可[作為 PDF](../../pdf/readme.pdf)下載。
+
+你也可以使用 [Docsify](https://docsify.js.org/#/) 將此課程作為獨立的、離線友好的網站運行。[安裝 Docsify](https://docsify.js.org/#/quickstart)到你的本地機器,然後在本地 repo 的根文件夾中輸入 `docsify serve`。網站將在本地端口 3000 上運行:`localhost:3000`。
+
+課程的離線友好版本將以獨立網頁形式打開:https://localhost:3000
+
+課程分為 6 部分:
+
+- 1: 簡介
+ - 1: 定義數據科學
+ - 2: 倫理
+ - 3: 定義數據
+ - 4: 概率與統計概述
+- 2: 數據處理
+ - 5: 關係型數據庫
+ - 6: 非關係型數據庫
+ - 7: Python
+ - 8: 數據準備
+- 3: 數據可視化
+ - 9: 數量的可視化
+ - 10: 分佈的可視化
+ - 11: 比例的可視化
+ - 12: 關係的可視化
+ - 13: 有意義的可視化
+- 4: 數據科學生命周期
+ - 14: 簡介
+ - 15: 分析
+ - 16: 溝通
+- 5: 雲端中的數據科學
+ - 17: 簡介
+ - 18: 低代碼選項
+ - 19: Azure
+- 6: 真實世界中的數據科學
+ - 20: 概述
+
+## 請分享你的想法!
+
+我們希望這套課程能夠幫助你和你的學生。請在討論區提供反饋!也可以在討論區為你的學生創建一個課堂專區。
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議使用專業的人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/quiz-app/README.md b/translations/hk/quiz-app/README.md
new file mode 100644
index 00000000..cf8fce52
--- /dev/null
+++ b/translations/hk/quiz-app/README.md
@@ -0,0 +1,137 @@
+
+# 測驗
+
+這些測驗是數據科學課程的課前和課後測驗,課程網址:https://aka.ms/datascience-beginners
+
+## 添加翻譯的測驗集
+
+要添加測驗翻譯,請在 `assets/translations` 文件夾中創建相應的測驗結構。原始測驗位於 `assets/translations/en`。測驗分為幾個組別。請確保編號與正確的測驗部分對齊。整個課程共有 40 個測驗,編號從 0 開始。
+
+編輯翻譯後,請編輯翻譯文件夾中的 index.js 文件,按照 `en` 中的約定導入所有文件。
+
+接著,編輯 `assets/translations` 中的 `index.js` 文件以導入新的翻譯文件。
+
+然後,編輯此應用中的 `App.vue` 文件中的下拉選單,添加您的語言。將本地化縮寫與您的語言文件夾名稱匹配。
+
+最後,編輯翻譯課程中的所有測驗鏈接(如果存在),以包含本地化查詢參數,例如:`?loc=fr`。
+
+## 項目設置
+
+```
+npm install
+```
+
+### 編譯並熱重載以進行開發
+
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境
+
+```
+npm run build
+```
+
+### 檢查並修復文件
+
+```
+npm run lint
+```
+
+### 自定義配置
+
+請參閱 [配置參考](https://cli.vuejs.org/config/)。
+
+致謝:感謝此測驗應用的原始版本:https://github.com/arpan45/simple-quiz-vue
+
+## 部署到 Azure
+
+以下是幫助您開始的逐步指南:
+
+1. Fork GitHub 儲存庫
+確保您的靜態網頁應用程式代碼在您的 GitHub 儲存庫中。Fork 此儲存庫。
+
+2. 創建 Azure 靜態網頁應用
+- 創建 [Azure 帳戶](http://azure.microsoft.com)
+- 前往 [Azure 入口網站](https://portal.azure.com)
+- 點擊“創建資源”,然後搜索“靜態網頁應用”。
+- 點擊“創建”。
+
+3. 配置靜態網頁應用
+- 基本信息:
+ - 訂閱:選擇您的 Azure 訂閱。
+ - 資源組:創建新的資源組或使用現有的資源組。
+ - 名稱:為您的靜態網頁應用提供一個名稱。
+ - 地區:選擇最接近您的用戶的地區。
+
+- #### 部署詳情:
+ - 資源:選擇“GitHub”。
+ - GitHub 帳戶:授權 Azure 訪問您的 GitHub 帳戶。
+ - 組織:選擇您的 GitHub 組織。
+ - 儲存庫:選擇包含靜態網頁應用的儲存庫。
+ - 分支:選擇您要部署的分支。
+
+- #### 構建詳情:
+ - 構建預設:選擇您的應用所使用的框架(例如 React、Angular、Vue 等)。
+ - 應用位置:指定包含應用代碼的文件夾(例如,如果在根目錄,則為 /)。
+ - API 位置:如果有 API,請指定其位置(可選)。
+ - 輸出位置:指定生成構建輸出的文件夾(例如 build 或 dist)。
+
+4. 審核並創建
+審核您的設置並點擊“創建”。Azure 會設置必要的資源並在您的儲存庫中創建 GitHub Actions 工作流程。
+
+5. GitHub Actions 工作流程
+Azure 會自動在您的儲存庫中創建 GitHub Actions 工作流程文件(.github/workflows/azure-static-web-apps-.yml)。此工作流程將處理構建和部署過程。
+
+6. 監控部署
+前往 GitHub 儲存庫中的“Actions”標籤。
+您應該看到一個工作流程正在運行。此工作流程將構建並部署您的靜態網頁應用到 Azure。
+工作流程完成後,您的應用將在提供的 Azure URL 上線。
+
+### 示例工作流程文件
+
+以下是 GitHub Actions 工作流程文件的示例:
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### 其他資源
+- [Azure 靜態網頁應用文檔](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [GitHub Actions 文檔](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**免責聲明**:
+本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/hk/sketchnotes/README.md b/translations/hk/sketchnotes/README.md
new file mode 100644
index 00000000..eaf0d7b1
--- /dev/null
+++ b/translations/hk/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+在這裡可以找到所有的手繪筆記!
+
+## 致謝
+
+Nitya Narasimhan,藝術家
+
+
+
+**免責聲明**:
+本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/01-defining-data-science/README.md b/translations/ja/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..1854d33b
--- /dev/null
+++ b/translations/ja/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,78 @@
+
+## データの種類
+
+すでに述べたように、データは至る所に存在しています。ただし、適切な方法で収集する必要があります!データには**構造化データ**と**非構造化データ**を区別することが有用です。構造化データは通常、表や複数の表の形式で整理されており、非構造化データは単なるファイルの集合です。また、**半構造化データ**についても話すことがあり、これはある程度の構造を持ちながらもその形式が大きく異なる場合があります。
+
+| 構造化データ | 半構造化データ | 非構造化データ |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------- |
+| 人々の電話番号リスト | リンク付きのWikipediaページ | ブリタニカ百科事典のテキスト |
+| 過去20年間の建物内の各部屋の毎分の温度 | 著者、出版日、要約を含むJSON形式の科学論文のコレクション | 企業文書が保存されたファイル共有 |
+| 建物に入るすべての人々の年齢と性別のデータ | インターネットページ | 監視カメラの生のビデオフィード |
+
+## データの入手先
+
+データの入手先は非常に多岐にわたり、すべてを挙げることは不可能です!しかし、典型的なデータの入手先をいくつか挙げてみましょう。
+
+* **構造化データ**
+ - **IoT(モノのインターネット)**:温度センサーや圧力センサーなど、さまざまなセンサーからのデータは非常に有用です。例えば、オフィスビルがIoTセンサーで装備されている場合、暖房や照明を自動的に制御してコストを最小化することができます。
+ - **アンケート**:購入後やウェブサイト訪問後にユーザーに回答を求めるアンケート。
+ - **行動分析**:例えば、ユーザーがサイト内でどれだけ深く進むか、またはサイトを離れる典型的な理由を理解するのに役立ちます。
+* **非構造化データ**
+ - **テキスト**:全体的な**感情スコア**やキーワード抽出、意味の解析など、豊富な洞察を提供します。
+ - **画像**や**ビデオ**:監視カメラのビデオは道路の交通量を推定し、交通渋滞の可能性を人々に知らせるのに役立ちます。
+ - ウェブサーバーの**ログ**:サイトのどのページが最も頻繁に訪問されているか、またその滞在時間を理解するのに役立ちます。
+* **半構造化データ**
+ - **ソーシャルネットワーク**のグラフ:ユーザーの性格や情報拡散の効果を知るための優れたデータ源となります。
+ - パーティーで撮影された写真の集合から、写真を撮り合った人々のグラフを構築し、**グループダイナミクス**データを抽出することができます。
+
+さまざまなデータの入手先を知ることで、データサイエンス技術を適用して状況をよりよく理解し、ビジネスプロセスを改善するためのシナリオを考えることができます。
+
+## データでできること
+
+データサイエンスでは、データの旅の以下のステップに焦点を当てます:
+
+もちろん、実際のデータに応じて、いくつかのステップが省略される場合があります(例:すでにデータがデータベースにある場合や、モデルのトレーニングが不要な場合)。また、いくつかのステップが何度も繰り返される場合もあります(例:データ処理)。
+
+## デジタル化とデジタルトランスフォーメーション
+
+過去10年間、多くの企業がビジネスの意思決定におけるデータの重要性を理解し始めました。データサイエンスの原則をビジネス運営に適用するには、まずデータを収集し、つまりビジネスプロセスをデジタル形式に変換する必要があります。これを**デジタル化**と呼びます。このデータにデータサイエンス技術を適用して意思決定を導くことで、生産性の大幅な向上(またはビジネスの方向転換)を実現することができ、これを**デジタルトランスフォーメーション**と呼びます。
+
+例を考えてみましょう。オンラインで学生に提供するデータサイエンスコース(このコースのようなもの)があり、それを改善するためにデータサイエンスを活用したいとします。どのようにすればよいでしょうか?
+
+まず、「何をデジタル化できるか?」を考えることから始めます。最も簡単な方法は、各モジュールを完了するのにかかる時間を測定し、各モジュールの終了時に選択式テストを実施して得られる知識を測定することです。すべての学生の平均完了時間を計算することで、学生にとって最も難しいモジュールを特定し、それを簡素化するために取り組むことができます。
+モジュールの長さが異なる場合があるため、このアプローチが理想的ではないと主張するかもしれません。モジュールの長さ(文字数)で時間を割り、その値を比較する方がより公平である可能性があります。
+複数選択式テストの結果を分析し始めると、学生が理解に苦労している概念を特定し、その情報を使って内容を改善することができます。そのためには、各質問が特定の概念や知識の塊に対応するようにテストを設計する必要があります。
+
+さらに複雑にしたい場合は、各モジュールにかかる時間を学生の年齢カテゴリと比較してプロットすることができます。ある年齢カテゴリではモジュールを完了するのに不適切に長い時間がかかる、または完了する前に学生が離脱してしまうことが分かるかもしれません。これにより、モジュールに対する年齢推奨を提供し、誤った期待による不満を最小限に抑えることができます。
+
+## 🚀 チャレンジ
+
+このチャレンジでは、テキストを調べることでデータサイエンス分野に関連する概念を見つけようとします。データサイエンスに関するWikipediaの記事を取得し、テキストを処理して、以下のようなワードクラウドを作成します:
+
+
+
+[`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') を訪れてコードを読んでみてください。また、コードを実行して、データ変換がリアルタイムでどのように行われるかを確認することもできます。
+
+> Jupyter Notebookでコードを実行する方法が分からない場合は、[この記事](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)を参照してください。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## 課題
+
+* **タスク 1**: 上記のコードを修正して、**ビッグデータ**と**機械学習**の分野に関連する概念を見つけてください。
+* **タスク 2**: [データサイエンスのシナリオを考える](assignment.md)
+
+## クレジット
+
+このレッスンは [Dmitry Soshnikov](http://soshnikov.com) によって ♥️ を込めて作成されました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/01-defining-data-science/assignment.md b/translations/ja/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..a2d5ff8a
--- /dev/null
+++ b/translations/ja/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# 課題: データサイエンスのシナリオ
+
+この最初の課題では、現実のプロセスや問題について考え、それをデータサイエンスのプロセスを使ってどのように改善できるかを考えてもらいます。以下の点について考えてみてください:
+
+1. どのようなデータを収集できるか?
+1. どのようにデータを収集するか?
+1. データをどのように保存するか?データの規模はどのくらいになりそうか?
+1. このデータからどのような洞察を得られるか?データに基づいてどのような意思決定が可能か?
+
+3つの異なる問題やプロセスについて考え、それぞれの問題領域について上記のポイントを説明してください。
+
+以下は、考え始めるための問題領域と問題の例です:
+
+1. 学校で子どもたちの教育プロセスを改善するために、データをどのように活用できるか?
+1. パンデミック中のワクチン接種を管理するために、データをどのように活用できるか?
+1. 仕事で生産性を確保するために、データをどのように活用できるか?
+
+## 指示
+
+以下の表を埋めてください(必要に応じて、提案された問題領域を自分のものに置き換えてください):
+
+| 問題領域 | 問題 | 収集するデータ | データの保存方法 | 得られる洞察/意思決定 |
+|----------|------|----------------|------------------|-----------------------|
+| 教育 | | | | |
+| ワクチン接種 | | | | |
+| 生産性 | | | | |
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+すべての問題領域について、合理的なデータソース、データの保存方法、可能な意思決定/洞察を特定できている | 解決策の一部が詳細に欠けている、データ保存について議論されていない、少なくとも2つの問題領域が記述されている | データソリューションの一部のみが記述されている、1つの問題領域しか考慮されていない
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/ja/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..378a390e
--- /dev/null
+++ b/translations/ja/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# 課題: データサイエンスのシナリオ
+
+この最初の課題では、現実のプロセスや問題について考え、それをデータサイエンスのプロセスを使ってどのように改善できるかを考えてもらいます。以下の点について考えてみてください:
+
+1. どのようなデータを収集できるか?
+1. どのようにデータを収集するか?
+1. データをどのように保存するか?データの規模はどのくらいになりそうか?
+1. このデータからどのような洞察を得られるか?そのデータに基づいてどのような意思決定が可能か?
+
+3つの異なる問題やプロセスについて考え、それぞれの問題領域について上記のポイントを説明してください。
+
+以下は、考え始めるための問題領域と問題の例です:
+
+1. 学校で子どもたちの教育プロセスを改善するために、データをどのように活用できるか?
+1. パンデミック中のワクチン接種を管理するために、データをどのように活用できるか?
+1. 職場での生産性を確保するために、データをどのように活用できるか?
+
+## 指示
+
+以下の表を埋めてください(必要に応じて、提案された問題領域を自分のものに置き換えてください):
+
+| 問題領域 | 問題 | 収集するデータ | データの保存方法 | 得られる洞察/意思決定 |
+|----------|------|----------------|------------------|-----------------------|
+| 教育 | 大学では講義への出席率が低い傾向があり、講義に出席する学生の方が平均的に試験で良い成績を収めるという仮説があります。出席率を向上させ、この仮説を検証したいと考えています。 | 教室内で撮影された防犯カメラの写真や、教室内での学生のモバイル端末のBluetooth/Wi-Fiアドレスを追跡することで出席を記録できます。試験データはすでに大学のデータベースに存在します。 | 防犯カメラの画像を追跡する場合、授業中に数枚(5~10枚)の写真を保存する必要があります(非構造化データ)。その後、AIを使用して学生の顔を識別し、データを構造化形式に変換します。 | 各学生の平均出席データを計算し、それが試験の成績と相関があるかどうかを確認できます。相関については[確率と統計](../../04-stats-and-probability/README.md)のセクションで詳しく説明します。出席率を向上させるために、毎週の出席率ランキングを学校のポータルに公開し、出席率が最も高い学生の中から抽選で賞品を提供することができます。 |
+| ワクチン接種 | | | | |
+| 生産性 | | | | |
+
+> *この課題で期待される内容を理解してもらうために、1つの回答例を提供しています。*
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+すべての問題領域について、合理的なデータソース、データの保存方法、可能な意思決定/洞察を特定できている | 解決策の一部が詳細に欠けている、データ保存についての議論がない、少なくとも2つの問題領域が説明されている | データソリューションの一部のみが説明されている、1つの問題領域しか考慮されていない
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/02-ethics/README.md b/translations/ja/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..990e1b76
--- /dev/null
+++ b/translations/ja/1-Introduction/02-ethics/README.md
@@ -0,0 +1,249 @@
+
+# データ倫理の導入
+
+| ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| データサイエンス倫理 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+私たちはデータ化された世界に生きるデータ市民です。
+
+市場の動向によると、2022年までに大企業の3分の1がオンラインの[マーケットプレイスや取引所](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/)を通じてデータを売買するようになると言われています。**アプリ開発者**として、データ駆動型の洞察やアルゴリズム駆動型の自動化を日常のユーザー体験に統合することが、より簡単で安価になります。しかし、AIが広く普及するにつれて、そのようなアルゴリズムが大規模に[武器化](https://www.youtube.com/watch?v=TQHs8SA1qpk)されることで生じる潜在的な害についても理解する必要があります。
+
+また、2025年までに[180ゼタバイト](https://www.statista.com/statistics/871513/worldwide-data-created/)以上のデータを生成・消費するという予測もあります。**データサイエンティスト**として、これにより個人データへのアクセスがかつてないほど容易になります。これにより、ユーザーの行動プロファイルを構築し、自由選択の[幻想](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice)を作り出しながら、私たちが望む結果にユーザーを誘導することが可能になります。しかし、これによりデータプライバシーやユーザー保護に関する広範な問題も浮上します。
+
+データ倫理は、データサイエンスやエンジニアリングにおける潜在的な害や意図しない結果を最小限に抑えるための_必要なガードレール_となります。[ガートナーのAIハイプサイクル](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/)は、デジタル倫理、責任あるAI、AIガバナンスに関連するトレンドを、AIの_民主化_と_産業化_を推進する主要なメガトレンドとして特定しています。
+
+
+
+このレッスンでは、データ倫理の魅力的な分野を探求します。基本的な概念や課題から、ケーススタディやガバナンスのような応用AIの概念まで、データやAIを扱うチームや組織に倫理文化を確立する方法を学びます。
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## 基本的な定義
+
+まずは基本的な用語を理解することから始めましょう。
+
+「倫理」という言葉は、[ギリシャ語の「ethikos」](https://en.wikipedia.org/wiki/Ethics)(その語源である「ethos」)に由来し、_性格や道徳的性質_を意味します。
+
+**倫理**とは、社会における行動を支配する共有価値観や道徳的原則のことです。倫理は法律ではなく、「正しい vs. 間違っている」という広く受け入れられた規範に基づいています。しかし、倫理的な考慮事項は、企業統治の取り組みや政府規制に影響を与え、コンプライアンスのためのインセンティブを増やすことがあります。
+
+**データ倫理**は、_データ、アルゴリズム、およびそれに関連する実践_に関する道徳的問題を「研究し評価する」[新しい倫理の分野](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1)です。ここで、**「データ」**は生成、記録、キュレーション、処理、普及、共有、使用に関連する行動に焦点を当て、**「アルゴリズム」**はAI、エージェント、機械学習、ロボットに焦点を当て、**「実践」**は責任あるイノベーション、プログラミング、ハッキング、倫理コードなどのトピックに焦点を当てます。
+
+**応用倫理**は、_現実世界の行動、製品、プロセス_の文脈で倫理的問題を積極的に調査し、定義された倫理的価値観に沿った状態を維持するために是正措置を講じる[道徳的考慮事項の実践的応用](https://en.wikipedia.org/wiki/Applied_ethics)です。
+
+**倫理文化**は、組織全体で倫理的原則と実践が一貫してスケーラブルに採用されるようにするために、応用倫理を[_運用化_](https://hbr.org/2019/05/how-to-design-an-ethical-organization)することです。成功する倫理文化は、組織全体の倫理的原則を定義し、コンプライアンスのための意味のあるインセンティブを提供し、望ましい行動を奨励し増幅することで、組織のあらゆるレベルで倫理規範を強化します。
+
+## 倫理の概念
+
+このセクションでは、データ倫理における**共有価値観**(原則)や**倫理的課題**(問題)について議論し、これらの概念を現実世界の文脈で理解するための**ケーススタディ**を探ります。
+
+### 1. 倫理原則
+
+すべてのデータ倫理戦略は、_倫理原則_を定義することから始まります。これは、データとAIプロジェクトにおける許容される行動を記述し、コンプライアンス行動を導く「共有価値観」です。これらは個人やチームレベルで定義することができます。しかし、ほとんどの大企業は、企業レベルで定義され、すべてのチームに一貫して適用される_倫理的AI_ミッションステートメントやフレームワークにこれをまとめています。
+
+**例:** Microsoftの[責任あるAI](https://www.microsoft.com/en-us/ai/responsible-ai)ミッションステートメントは、_「私たちは、人々を第一に考える倫理原則によって推進されるAIの進歩にコミットしています」_と述べ、以下の6つの倫理原則を特定しています。
+
+
+
+これらの原則を簡単に探ってみましょう。_透明性_と_責任_は他の原則の基盤となる価値観であるため、まずそこから始めます:
+
+* [**責任**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)は、実践者がデータとAIの運用に対して_責任_を持ち、これらの倫理原則に準拠することを保証します。
+* [**透明性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)は、データとAIの行動がユーザーにとって_理解可能_(解釈可能)であり、決定の背後にある内容と理由を説明することを保証します。
+* [**公平性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)は、AIが_すべての人々_を公平に扱い、データやシステムにおける体系的または暗黙的な社会技術的バイアスに対処することに焦点を当てます。
+* [**信頼性と安全性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)は、AIが定義された価値観に_一貫して_従い、潜在的な害や意図しない結果を最小限に抑えることを保証します。
+* [**プライバシーとセキュリティ**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)は、データの系譜を理解し、ユーザーに_データプライバシーと関連する保護_を提供することに焦点を当てます。
+* [**包括性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)は、AIソリューションを意図的に設計し、_幅広い人間のニーズ_と能力に対応するように適応させることに焦点を当てます。
+
+> 🚨 あなたのデータ倫理ミッションステートメントはどのようなものになるでしょうか。他の組織の倫理的AIフレームワークを探ってみましょう。ここには[IBM](https://www.ibm.com/cloud/learn/ai-ethics)、[Google](https://ai.google/principles)、[Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/)の例があります。これらの共有価値観にはどのような共通点がありますか?これらの原則は、それぞれのAI製品や業界にどのように関連していますか?
+
+### 2. 倫理的課題
+
+倫理原則を定義した後、次のステップは、データとAIの行動がこれらの共有価値観に一致しているかどうかを評価することです。あなたの行動を_データ収集_と_アルゴリズム設計_の2つのカテゴリで考えてみてください。
+
+データ収集では、行動は**個人データ**や個人を特定できる情報(PII)に関わる可能性があります。これには、個人を_集合的に_特定する[多様な非個人データ](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en)が含まれます。倫理的課題は、_データプライバシー_、_データ所有権_、および_インフォームドコンセント_や_知的財産権_などの関連トピックに関するものです。
+
+アルゴリズム設計では、行動は**データセット**を収集・キュレーションし、それを使用して**データモデル**をトレーニング・展開し、現実世界の文脈で結果を予測したり意思決定を自動化したりします。倫理的課題は、_データセットのバイアス_、_データ品質_の問題、_不公平性_、およびアルゴリズムの_誤表現_に関連する可能性があります。これには、体系的な問題も含まれます。
+
+どちらの場合も、倫理的課題は、行動が共有価値観と衝突する可能性のある領域を強調します。これらの懸念を検出、軽減、最小化、または排除するためには、行動に関連する道徳的な「はい/いいえ」の質問を行い、必要に応じて是正措置を講じる必要があります。倫理的課題とそれが提起する道徳的質問をいくつか見てみましょう。
+
+#### 2.1 データ所有権
+
+データ収集は、データ主体を特定できる個人データを含むことがよくあります。[データ所有権](https://permission.io/blog/data-ownership)は、データの作成、処理、普及に関連する_コントロール_と[_ユーザー権利_](https://permission.io/blog/data-ownership)に関するものです。
+
+道徳的な質問は以下の通りです:
+ * データの所有者は誰ですか?(ユーザーまたは組織)
+ * データ主体にはどのような権利がありますか?(例:アクセス、消去、移植性)
+ * 組織にはどのような権利がありますか?(例:悪意のあるユーザーレビューの修正)
+
+#### 2.2 インフォームドコンセント
+
+[インフォームドコンセント](https://legaldictionary.net/informed-consent/)は、ユーザーが目的、潜在的リスク、代替案を含む関連事実を_完全に理解_した上で、行動(例:データ収集)に同意する行為を定義します。
+
+ここで探るべき質問は:
+ * ユーザー(データ主体)はデータの収集と使用に許可を与えましたか?
+ * ユーザーはそのデータが収集された目的を理解しましたか?
+ * ユーザーは参加による潜在的リスクを理解しましたか?
+
+#### 2.3 知的財産
+
+[知的財産](https://en.wikipedia.org/wiki/Intellectual_property)は、人間のイニシアチブから生じる無形の創造物であり、個人や企業にとって_経済的価値_を持つ可能性があります。
+
+ここで探るべき質問は:
+ * 収集されたデータはユーザーや企業にとって経済的価値を持っていましたか?
+ * **ユーザー**には知的財産がありますか?
+ * **組織**には知的財産がありますか?
+ * これらの権利が存在する場合、どのように保護していますか?
+
+#### 2.4 データプライバシー
+
+[データプライバシー](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/)または情報プライバシーは、個人を特定できる情報に関して、ユーザーのプライバシーを維持し、ユーザーの身元を保護することを指します。
+
+ここで探るべき質問は:
+ * ユーザーの(個人)データはハッキングや漏洩から保護されていますか?
+ * ユーザーのデータは許可されたユーザーやコンテキストにのみアクセス可能ですか?
+ * データが共有または普及される際にユーザーの匿名性は維持されていますか?
+ * 匿名化されたデータセットからユーザーを特定することは可能ですか?
+
+#### 2.5 忘れられる権利
+
+[忘れられる権利](https://en.wikipedia.org/wiki/Right_to_be_forgotten)または[消去権](https://www.gdpreu.org/right-to-be-forgotten/)は、ユーザーに追加の個人データ保護を提供します。具体的には、特定の状況下でインターネット検索やその他の場所から個人データの削除を要求する権利をユーザーに与え、過去の行動が将来にわたって不利に働かないようにします。
+
+ここで探るべき質問は:
+ * システムはデータ主体が消去を要求することを許可していますか?
+ * ユーザーの同意の撤回が自動消去を引き起こすべきですか?
+ * データは同意なしまたは違法な手段で収集されましたか?
+ * データプライバシーに関する政府規制に準拠していますか?
+
+#### 2.6 データセットのバイアス
+
+データセットまたは[収集バイアス](http://researcharticles.com/index.php/bias-in-data-collection-in-research/)は、アルゴリズム開発のために_非代表的な_データのサブセットを選択することで、多様なグループに対して結果の不公平性を生じさせることを指します。バイアスの種類には、選択またはサンプリングバイアス、ボランティアバイアス、機器バイアスがあります。
+
+ここで探るべき質問は:
+ * 代表的なデータ主体のセットを募集しましたか?
+ * 収集またはキュレーションされたデータセットをさまざまなバイアスについてテストしましたか?
+ * 発見されたバイアスを軽減または除去することは可能ですか?
+
+#### 2.7 データ品質
+
+[データ品質](https://lake
+[Algorithm Fairness](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f) は、アルゴリズムの設計が特定のデータ主体のサブグループに対して体系的に差別を行い、_配分_(そのグループにリソースが拒否または提供されない)や_サービスの質_(AIがあるサブグループに対して他のグループほど正確でない)における[潜在的な被害](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml)を引き起こしていないかを確認するものです。
+
+ここで検討すべき質問は以下の通りです:
+ * 多様なサブグループや条件に対してモデルの精度を評価しましたか?
+ * 潜在的な被害(例:ステレオタイプ化)についてシステムを精査しましたか?
+ * 特定された被害を軽減するためにデータを修正したり、モデルを再学習させたりできますか?
+
+[AI Fairness チェックリスト](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA)のようなリソースを活用して、さらに学びましょう。
+
+#### 2.9 誤った表現
+
+[データの誤表現](https://www.sciencedirect.com/topics/computer-science/misrepresentation)とは、正直に報告されたデータから得られた洞察を、望ましいストーリーを支持するために欺瞞的に伝えていないかを問うことです。
+
+ここで検討すべき質問は以下の通りです:
+ * 不完全または不正確なデータを報告していませんか?
+ * 誤解を招く結論を導くような方法でデータを可視化していませんか?
+ * 結果を操作するために選択的な統計手法を使用していませんか?
+ * 別の結論を導く可能性のある代替説明はありませんか?
+
+#### 2.10 自由選択
+
+[自由選択の錯覚](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice)は、システムの「選択アーキテクチャ」が意思決定アルゴリズムを使用して、人々を好ましい結果に誘導しつつ、選択肢やコントロールを与えているように見せかける場合に発生します。これらの[ダークパターン](https://www.darkpatterns.org/)は、ユーザーに社会的および経済的な被害をもたらす可能性があります。ユーザーの意思決定が行動プロファイルに影響を与えるため、これらの行動は将来の選択に影響を与え、被害の影響を拡大または延長する可能性があります。
+
+ここで検討すべき質問は以下の通りです:
+ * ユーザーはその選択を行うことの影響を理解していましたか?
+ * ユーザーは(代替の)選択肢とそれぞれの利点と欠点を認識していましたか?
+ * ユーザーは自動化された選択や影響を受けた選択を後から取り消すことができますか?
+
+### 3. ケーススタディ
+
+これらの倫理的課題を現実世界の文脈で考えるには、倫理違反が見過ごされた場合に個人や社会に与える潜在的な被害や結果を強調するケーススタディを検討することが役立ちます。
+
+以下はいくつかの例です:
+
+| 倫理的課題 | ケーススタディ |
+|--- |--- |
+| **インフォームドコンセント** | 1972年 - [タスキギー梅毒研究](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - 研究に参加したアフリカ系アメリカ人男性は無料の医療ケアを約束されましたが、研究者は被験者に診断や治療の利用可能性を知らせずに欺きました。多くの被験者が死亡し、パートナーや子供にも影響が及びました。この研究は40年間続きました。 |
+| **データプライバシー** | 2007年 - [Netflixデータ賞](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/)では、研究者に_50,000人の顧客からの1,000万件の匿名化された映画評価_が提供され、推薦アルゴリズムの改善が試みられました。しかし、研究者は匿名化されたデータを外部データセット(例:IMDbのコメント)と照合することで、Netflixの一部の加入者を「再識別」することができました。|
+| **収集バイアス** | 2013年 - ボストン市は[Street Bump](https://www.boston.gov/transportation/street-bump)というアプリを開発し、市民が道路の穴を報告できるようにしました。これにより、市は道路データを改善し、問題を特定して修正することができました。しかし、[低所得層の人々は車や携帯電話へのアクセスが少ない](https://hbr.org/2013/04/the-hidden-biases-in-big-data)ため、彼らの道路問題はこのアプリでは見えなくなりました。開発者は公平性のために_アクセスの平等性とデジタル格差_の問題に取り組むため、学術関係者と協力しました。 |
+| **アルゴリズムの公平性** | 2018年 - MITの[Gender Shades Study](http://gendershades.org/overview.html)は、性別分類AI製品の精度を評価し、女性や有色人種に対する精度のギャップを明らかにしました。[2019年のApple Card](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/)では、男性よりも女性に対してクレジットが少なく提供されるように見えました。これらは、アルゴリズムバイアスが社会経済的な被害を引き起こす例を示しています。|
+| **データの誤表現** | 2020年 - [ジョージア州公衆衛生局が発表したCOVID-19チャート](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening)は、x軸の非時系列順序によって、確認された症例の傾向について市民を誤解させるように見えました。これは、視覚化トリックによる誤表現を示しています。 |
+| **自由選択の錯覚** | 2020年 - 学習アプリ[ABCmouseがFTCの苦情を解決するために1,000万ドルを支払った](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/)ケースでは、親がキャンセルできないサブスクリプションを支払うように追い込まれました。これは、ユーザーが潜在的に有害な選択に誘導される選択アーキテクチャにおけるダークパターンを示しています。 |
+| **データプライバシーとユーザーの権利** | 2021年 - Facebookの[データ漏洩](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users)では、5億3,000万人のユーザーのデータが漏洩し、FTCに50億ドルの和解金を支払う結果となりました。しかし、Facebookは漏洩についてユーザーに通知することを拒否し、データの透明性とアクセスに関するユーザーの権利を侵害しました。|
+
+さらにケーススタディを探したいですか?以下のリソースをチェックしてください:
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - 多様な業界における倫理的ジレンマ。
+* [Data Science Ethics course](https://www.coursera.org/learn/data-science-ethics#syllabus) - 代表的なケーススタディを探求。
+* [Where things have gone wrong](https://deon.drivendata.org/examples/) - Deonチェックリストの例。
+
+> 🚨 あなたが見たケーススタディについて考えてみてください。これまでに似たような倫理的課題を経験したり、影響を受けたりしたことがありますか?このセクションで議論した倫理的課題の1つを示す別のケーススタディを少なくとも1つ考えることができますか?
+
+## 応用倫理
+
+これまでに倫理の概念、課題、そして現実世界の文脈でのケーススタディについて話してきました。しかし、プロジェクトで倫理的な原則や実践をどのように_適用_するのでしょうか?また、これらの実践をどのように_運用化_してより良いガバナンスを実現するのでしょうか?いくつかの現実的な解決策を探ってみましょう:
+
+### 1. プロフェッショナルコード
+
+プロフェッショナルコードは、組織が倫理的原則やミッションステートメントを支持するようメンバーを「奨励」するための1つの選択肢を提供します。コードはプロフェッショナルな行動のための_道徳的ガイドライン_であり、従業員やメンバーが組織の原則に沿った意思決定を行うのを助けます。これらはメンバーの自主的な遵守に依存しますが、多くの組織は遵守を促すために追加の報酬や罰則を提供しています。
+
+例:
+ * [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/) 倫理規範
+ * [Data Science Association](http://datascienceassn.org/code-of-conduct.html) 行動規範(2013年作成)
+ * [ACM Code of Ethics and Professional Conduct](https://www.acm.org/code-of-ethics)(1993年以降)
+
+> 🚨 あなたはプロフェッショナルなエンジニアリングまたはデータサイエンス組織に所属していますか?そのサイトを調べて、プロフェッショナルコードが定義されているか確認してください。それはどのような倫理的原則を示していますか?メンバーがコードを遵守するようにどのように「奨励」しているのでしょうか?
+
+### 2. 倫理チェックリスト
+
+プロフェッショナルコードは実践者に求められる_倫理的行動_を定義しますが、大規模プロジェクトにおける[実施の限界](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md)が知られています。その代わりに、多くのデータサイエンスの専門家は[チェックリスト](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md)を推奨しています。これにより、原則を実践に結び付け、より決定論的で実行可能な方法を提供します。
+
+チェックリストは質問を「はい/いいえ」のタスクに変換し、標準的な製品リリースワークフローの一部として追跡可能にします。
+
+例:
+ * [Deon](https://deon.drivendata.org/) - [業界の推奨事項](https://deon.drivendata.org/#checklist-citations)に基づいて作成された汎用データ倫理チェックリストで、コマンドラインツールを使用して簡単に統合可能。
+ * [プライバシー監査チェックリスト](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - 法的および社会的な観点から情報取り扱いの一般的なガイダンスを提供。
+ * [AI Fairness チェックリスト](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - AI開発サイクルに公平性チェックを統合するためにAI実践者によって作成。
+ * [データとAIにおける倫理のための22の質問](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - 設計、実装、組織的文脈における倫理的問題の初期探求のためのよりオープンなフレームワーク。
+
+### 3. 倫理規制
+
+倫理は共有価値を定義し、自発的に正しいことを行うことに関するものです。一方、**コンプライアンス**は、定義された法律を_遵守する_ことに関するものです。**ガバナンス**は、組織が倫理的原則を実施し、確立された法律を遵守するために運営するすべての方法を広くカバーします。
+
+今日、ガバナンスは組織内で2つの形を取ります。1つ目は、**倫理的AI**の原則を定義し、組織内のすべてのAI関連プロジェクトで採用を運用化するための実践を確立することです。2つ目は、組織が運営する地域での政府が義務付けた**データ保護規制**を遵守することです。
+
+データ保護およびプライバシー規制の例:
+
+ * `1974年`、[米国プライバシー法](https://www.justice.gov/opcl/privacy-act-1974) - _連邦政府_による個人情報の収集、使用、開示を規制。
+ * `1996年`、[米国医療保険の携行性と責任に関する法律(HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - 個人の健康データを保護。
+ * `1998年`、[米国児童オンラインプライバシー保護法(COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - 13歳未満の子供のデータプライバシーを保護。
+ * `2018年`、[一般データ保護規則(GDPR)](https://gdpr-info.eu/) - ユーザーの権利、データ保護、プライバシーを提供。
+ * `2018年`、[カリフォルニア州消費者プライバシー法(CCPA)](https://www.oag.ca.gov/privacy/ccpa) - 消費者に(個人)データに関するより多くの_権利_を付与。
+ * `2021年`、中国の[個人情報保護法](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/) - 世界で最も強力なオンラインデータプライバシー規制の1つを制定。
+
+> 🚨 欧州連合が定義したGDPR(一般データ保護規則)は、今日最も影響力のあるデータプライバシー規制の1つです。GDPRは市民のデジタルプライバシーと個人データを保護するための[8つのユーザー権利](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr)も定義していることをご存知ですか?これらが何であるか、そしてなぜ重要なのかを学びましょう。
+
+### 4. 倫理文化
+
+_コンプライアンス_(「法律の文言」を満たすために十分なことを行う)と、AIの武器化を加速させる可能性のある[システム的な問題](https://www.coursera.org/learn/data-science-ethics/home/week/4)(硬直化、情報の非対称性、分配の不公平性など)に対処することの間には、依然として無形のギャップがあります。
+
+後者には、業界全体で一貫した共有価値と感情的なつながりを構築する[倫理文化を定義するための協力的アプローチ](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f)が必要です。これには、組織内でより[正式化されたデータ倫理文化](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/)を構築することが求められます。これにより、_誰でも_(プロセスの早い段階で倫理的
+* [責任あるAIの原則](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - Microsoft Learnの無料学習パス。
+* [倫理とデータサイエンス](https://resources.oreilly.com/examples/0636920203964) - O'Reillyの電子書籍 (M. Loukides, H. Mason 他)
+* [データサイエンス倫理](https://www.coursera.org/learn/data-science-ethics#syllabus) - ミシガン大学のオンラインコース。
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - テキサス大学のケーススタディ。
+
+# 課題
+
+[データ倫理のケーススタディを書く](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤訳について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/02-ethics/assignment.md b/translations/ja/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..f0e6dc54
--- /dev/null
+++ b/translations/ja/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## データ倫理のケーススタディを書く
+
+## 指示
+
+これまでに、さまざまな[データ倫理の課題](README.md#2-ethics-challenges)について学び、現実世界の文脈でデータ倫理の課題を反映した[ケーススタディ](README.md#3-case-studies)の例を見てきました。
+
+この課題では、自分の経験や知っている関連する現実世界の文脈からデータ倫理の課題を反映したケーススタディを作成します。以下の手順に従ってください:
+
+1. `データ倫理の課題を選ぶ`。[レッスンの例](README.md#2-ethics-challenges)を見たり、[Deon Checklist](https://deon.drivendata.org/examples/)のようなオンラインの例を探してインスピレーションを得てください。
+
+2. `現実世界の例を説明する`。特定の課題が発生した状況について考えてみてください(ニュース記事、研究論文などで聞いたことがあるもの、または地域社会で経験したもの)。その課題に関連するデータ倫理の問題について考え、その問題が引き起こす可能性のある害や意図しない結果について議論してください。ボーナスポイント:この課題の悪影響を排除または軽減するために適用できる可能性のある解決策やプロセスについて考えてみてください。
+
+3. `関連するリソースのリストを提供する`。この記事、個人のブログ投稿や画像、オンラインの研究論文など、これが現実世界で発生したことを証明するためのリソースを1つ以上共有してください。ボーナスポイント:その事件から生じる可能性のある害や結果を示すリソース、またはその再発を防ぐために取られた前向きな措置を強調するリソースを共有してください。
+
+
+
+## 採点基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+1つ以上のデータ倫理の課題が特定されている。
ケーススタディはその課題を反映した現実世界の事件を明確に説明し、その課題が引き起こした望ましくない結果や害を強調している。
これが発生したことを証明するためのリンクされたリソースが少なくとも1つある。 | 1つのデータ倫理の課題が特定されている。
少なくとも1つの関連する害や結果が簡単に議論されている。
ただし、議論が限定的であるか、現実世界での発生を証明するものが欠けている。 | データ倫理の課題が特定されている。
ただし、説明やリソースが課題を十分に反映していない、または現実世界での発生を証明していない。 |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/03-defining-data/README.md b/translations/ja/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..b79f46b4
--- /dev/null
+++ b/translations/ja/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,82 @@
+
+# データの定義
+
+| ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|データの定義 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+データとは、発見を行い、情報に基づいた意思決定を支えるために使用される事実、情報、観察、測定値のことです。データポイントとは、データセット内の単一のデータ単位のことで、データポイントの集合がデータセットです。データセットはさまざまな形式や構造で提供されることがあり、その形式は通常、データの出所や由来に基づいています。例えば、企業の月次収益はスプレッドシートに記録されるかもしれませんが、スマートウォッチからの毎時の心拍数データは[JSON](https://stackoverflow.com/a/383699)形式で記録されるかもしれません。データサイエンティストがデータセット内で異なる種類のデータを扱うことは一般的です。
+
+このレッスンでは、データの特性や出所に基づいてデータを識別し分類することに焦点を当てます。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+## データの記述方法
+
+### 生データ
+生データとは、出所から得られた初期状態のデータで、まだ分析や整理が行われていないものを指します。データセットの内容を理解するためには、人間や分析に使用する技術が理解できる形式に整理する必要があります。データセットの構造はその整理方法を示し、構造化データ、非構造化データ、半構造化データに分類されます。これらの構造の種類は出所によって異なりますが、最終的にはこれら3つのカテゴリに収まります。
+
+### 定量データ
+定量データは、データセット内の数値的な観察値であり、通常、分析、測定、数学的に使用することができます。定量データの例としては、国の人口、個人の身長、企業の四半期収益などがあります。追加の分析を行うことで、定量データは大気質指数(AQI)の季節的な傾向を発見したり、通常の平日のラッシュアワーの交通量の確率を推定したりするのに使用できます。
+
+### 定性データ
+定性データ(カテゴリカルデータとも呼ばれる)は、定量データのように客観的に測定することができないデータです。一般的に、製品やプロセスの質を捉える主観的なデータのさまざまな形式を指します。時には、定性データが数値であっても、通常は数学的に使用されない場合があります(例:電話番号やタイムスタンプ)。定性データの例としては、ビデオコメント、車のメーカーとモデル、親しい友人の好きな色などがあります。定性データは、消費者が最も好む製品を理解したり、求人応募履歴書で人気のあるキーワードを特定したりするのに使用できます。
+
+### 構造化データ
+構造化データは、行と列に整理されたデータであり、各行が同じセットの列を持ちます。列は特定のタイプの値を表し、その値が何を表しているかを説明する名前で識別されます。一方、行には実際の値が含まれます。列には、値が正確に列を表すようにするための特定のルールや制限が設けられることがよくあります。例えば、顧客のスプレッドシートを想像してみてください。各行には電話番号が必要であり、電話番号にはアルファベット文字が含まれないというルールがあるかもしれません。電話番号の列が空でなく、数字のみを含むようにするルールが適用される場合があります。
+
+構造化データの利点は、他の構造化データと関連付けられるように整理できることです。しかし、データが特定の方法で整理されるように設計されているため、その全体的な構造を変更するには多大な労力が必要になる場合があります。例えば、顧客スプレッドシートに空欄のないメールアドレス列を追加する場合、既存の顧客行にこれらの値をどのように追加するかを考える必要があります。
+
+構造化データの例:スプレッドシート、リレーショナルデータベース、電話番号、銀行明細書
+
+### 非構造化データ
+非構造化データは、通常、行や列に分類できず、特定の形式やルールに従わないデータです。非構造化データは構造に関する制約が少ないため、構造化データと比較して新しい情報を追加しやすいという特徴があります。例えば、2分ごとに気圧データを記録するセンサーが、温度を測定して記録する機能を追加した場合、非構造化データであれば既存のデータを変更する必要はありません。しかし、このようなデータを分析したり調査したりするのに時間がかかる場合があります。例えば、センサーのデータから先月の平均気温を求めたい科学者が、センサーが壊れていたことを示す「e」という記録が含まれていることを発見した場合、データが不完全であることがわかります。
+
+非構造化データの例:テキストファイル、テキストメッセージ、ビデオファイル
+
+### 半構造化データ
+半構造化データは、構造化データと非構造化データの特徴を併せ持つデータです。通常、行や列の形式には従いませんが、構造化されていると見なされる方法で整理されており、固定された形式やルールに従う場合があります。構造は出所によって異なり、明確に定義された階層から、より柔軟で新しい情報を簡単に統合できるものまでさまざまです。メタデータは、データがどのように整理され保存されるかを決定する指標であり、データの種類に応じてさまざまな名前が付けられます。メタデータの一般的な名前には、タグ、要素、エンティティ、属性などがあります。例えば、典型的な電子メールメッセージには件名、本文、受信者のセットが含まれており、送信者や送信日時で整理することができます。
+
+半構造化データの例:HTML、CSVファイル、JavaScript Object Notation (JSON)
+
+## データの出所
+
+データソースとは、データが生成された初期の場所、または「存在している」場所のことで、収集方法や時期によって異なります。ユーザーによって生成されたデータは一次データと呼ばれ、一般的な使用のために収集されたデータは二次データと呼ばれます。例えば、熱帯雨林で観察を行う科学者のグループが収集したデータは一次データと見なされ、他の科学者と共有する場合、それを使用する人々にとっては二次データと見なされます。
+
+データベースは一般的なデータソースであり、データベース管理システムを使用してデータをホストおよび管理します。ユーザーはクエリと呼ばれるコマンドを使用してデータを探索します。データソースとしてのファイルには、音声、画像、ビデオファイル、Excelのようなスプレッドシートが含まれます。インターネットソースはデータをホストする一般的な場所であり、データベースやファイルが見つかることがあります。アプリケーションプログラミングインターフェース(API)は、プログラマーがインターネットを介して外部ユーザーとデータを共有する方法を作成することを可能にします。一方、ウェブスクレイピングはウェブページからデータを抽出するプロセスです。[データの操作に関するレッスン](../../../../../../../../../2-Working-With-Data)では、さまざまなデータソースの使用方法に焦点を当てています。
+
+## 結論
+
+このレッスンでは以下を学びました:
+
+- データとは何か
+- データの記述方法
+- データの分類とカテゴリ化
+- データの入手先
+
+## 🚀 チャレンジ
+
+Kaggleはオープンデータセットの優れたソースです。[データセット検索ツール](https://www.kaggle.com/datasets)を使用して興味深いデータセットをいくつか見つけ、以下の基準で3~5個のデータセットを分類してください:
+
+- データは定量的か定性的か?
+- データは構造化、非構造化、または半構造化のどれか?
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## 復習と自己学習
+
+- Microsoft Learnのユニット[データを分類する](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data)では、構造化データ、半構造化データ、非構造化データの詳細な内訳が説明されています。
+
+## 課題
+
+[データセットの分類](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/03-defining-data/assignment.md b/translations/ja/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..e919af2c
--- /dev/null
+++ b/translations/ja/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# データセットの分類
+
+## 指示
+
+この課題の指示に従い、以下の各データタイプのいずれかでデータを識別し分類してください:
+
+**構造タイプ**: 構造化、半構造化、非構造化
+
+**値のタイプ**: 定性的または定量的
+
+**ソースタイプ**: 一次または二次
+
+1. ある会社が買収され、親会社ができました。データサイエンティストは親会社から顧客の電話番号が記載されたスプレッドシートを受け取りました。
+
+構造タイプ:
+
+値のタイプ:
+
+ソースタイプ:
+
+---
+
+2. スマートウォッチが着用者の心拍数データを収集しており、生データはJSON形式で保存されています。
+
+構造タイプ:
+
+値のタイプ:
+
+ソースタイプ:
+
+---
+
+3. 従業員の士気に関する職場調査がCSVファイルに保存されています。
+
+構造タイプ:
+
+値のタイプ:
+
+ソースタイプ:
+
+---
+
+4. 宇宙物理学者が宇宙探査機によって収集された銀河のデータベースにアクセスしています。このデータには各銀河内の惑星の数が含まれています。
+
+構造タイプ:
+
+値のタイプ:
+
+ソースタイプ:
+
+---
+
+5. 個人財務アプリがAPIを使用してユーザーの金融口座に接続し、純資産を計算します。ユーザーはすべての取引を行と列の形式で確認でき、スプレッドシートに似た形式で表示されます。
+
+構造タイプ:
+
+値のタイプ:
+
+ソースタイプ:
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+構造、値、ソースをすべて正確に識別 | 構造、値、ソースを3つ正確に識別 | 構造、値、ソースを2つ以下正確に識別 |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。元の言語で記載された文書が公式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/04-stats-and-probability/README.md b/translations/ja/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..11864a3d
--- /dev/null
+++ b/translations/ja/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# 統計学と確率論の簡単な紹介
+
+| ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| 統計学と確率論 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+統計学と確率論は、データサイエンスにおいて非常に関連性の高い数学の分野です。数学の深い知識がなくてもデータを扱うことは可能ですが、基本的な概念を少しでも理解しておくことが望ましいです。ここでは、始めるための簡単な紹介を行います。
+
+[](https://youtu.be/Z5Zy85g4Yjw)
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## 確率とランダム変数
+
+**確率**とは、ある**事象**がどれだけ起こりやすいかを表す0から1の間の数値です。これは、事象を引き起こすポジティブな結果の数を、全ての結果の数で割ったものとして定義されます。ただし、全ての結果が等しく起こりやすい場合に限ります。例えば、サイコロを振ったとき、偶数が出る確率は3/6 = 0.5です。
+
+事象について話す際には、**ランダム変数**を使用します。例えば、サイコロを振ったときに得られる数を表すランダム変数は1から6の値を取ります。この1から6の数の集合は**標本空間**と呼ばれます。ランダム変数が特定の値を取る確率について話すことができます。例えば、P(X=3)=1/6です。
+
+前述の例のランダム変数は**離散型**と呼ばれます。これは、標本空間が数えられる値で構成されているためです。つまり、列挙可能な個別の値が存在します。一方で、標本空間が実数の範囲や実数全体である場合もあります。このような変数は**連続型**と呼ばれます。良い例としては、バスが到着する時間があります。
+
+## 確率分布
+
+離散型ランダム変数の場合、各事象の確率を関数P(X)で簡単に記述できます。標本空間*S*の各値*s*に対して、0から1の間の数値を与え、全ての事象に対するP(X=s)の値の合計が1になるようにします。
+
+最もよく知られている離散分布は**一様分布**で、標本空間がN個の要素で構成され、それぞれの確率が1/Nであるものです。
+
+連続型変数の確率分布を記述するのはより難しいです。例えば、バスの到着時間のように、値が[a,b]の区間や実数全体ℝから取られる場合です。実際には、特定の到着時間*t*にバスが到着する確率は0です!
+
+> 確率が0の事象が起こることがある、しかも頻繁に!少なくともバスが到着するたびに!
+
+変数が特定の値の範囲に収まる確率についてのみ話すことができます。例えば、P(t1≤X2)です。この場合、確率分布は**確率密度関数**p(x)によって記述されます。
+
+![P(t_1\le X1, x2, ..., xn。**平均**(または**算術平均**)値は、伝統的な方法で(x1+x2+...+xn)/nとして定義できます。サンプルサイズを増やしていくと(n→∞の極限を取ると)、分布の平均(**期待値**とも呼ばれる)を得ることができます。期待値は**E**(x)で表します。
+
+> 離散分布で値が{x1, x2, ..., xN}、対応する確率がp1, p2, ..., pNの場合、期待値はE(X)=x1p1+x2p2+...+xNpNとなります。
+
+値がどれだけ広がっているかを特定するために、分散σ2 = ∑(xi - μ)2/nを計算できます。ここでμはシーケンスの平均です。値σは**標準偏差**と呼ばれ、σ2は**分散**と呼ばれます。
+
+## モード、中央値、四分位数
+
+平均がデータの「典型的な」値を十分に表さない場合があります。例えば、範囲外の極端な値がいくつかある場合、それらが平均に影響を与えることがあります。もう一つの良い指標は**中央値**で、データポイントの半分がその値より低く、残りの半分がその値より高い値です。
+
+データの分布を理解するために、**四分位数**について話すことが役立ちます:
+
+* 第一四分位数(Q1)は、データの25%がその値より低い値
+* 第三四分位数(Q3)は、データの75%がその値より低い値
+
+中央値と四分位数の関係を図で表すと、**箱ひげ図**と呼ばれるものになります:
+
+
+
+ここでは**四分位範囲**IQR=Q3-Q1を計算し、**外れ値**と呼ばれる値を特定します。これらは[Q1-1.5*IQR,Q3+1.5*IQR]の範囲外にある値です。
+
+可能な値が少数しか含まれない有限分布の場合、最も頻繁に現れる値が「典型的な」値として良い指標となります。これを**モード**と呼びます。モードは色などのカテゴリーデータに適用されることが多いです。例えば、赤を強く好む人々と青を好む人々の2つのグループがある状況を考えてみてください。色を数字でコード化すると、好きな色の平均値はオレンジや緑のスペクトルに位置するかもしれませんが、これはどちらのグループの実際の好みも示していません。しかし、モードは赤または青のいずれか、または両方(両方の色を好む人数が同じ場合は**多峰性**と呼ばれます)を示します。
+
+## 実世界のデータ
+
+実世界のデータを分析する際、それらは未知の結果を伴う実験を行うという意味で、厳密にはランダム変数ではないことがよくあります。例えば、野球選手のチームとその身体データ(身長、体重、年齢)を考えてみてください。これらの数値は完全にランダムではありませんが、同じ数学的概念を適用することができます。例えば、人々の体重のシーケンスは、あるランダム変数から引き出された値のシーケンスと見なすことができます。以下は[メジャーリーグベースボール](http://mlb.mlb.com/index.jsp)の実際の野球選手の体重のシーケンスで、[このデータセット](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)から取得したものです(便宜上、最初の20値のみを表示しています):
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **Note**: このデータセットを使用した例を見るには、[付属のノートブック](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)を参照してください。このレッスンにはいくつかの課題が含まれており、それらをノートブックにコードを追加することで完了できます。データ操作方法がわからない場合は心配しないでください。後でPythonを使用してデータを操作する方法に戻ります。Jupyter Notebookでコードを実行する方法がわからない場合は、[この記事](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)を参照してください。
+
+以下は、データの平均、中央値、四分位数を示す箱ひげ図です:
+
+
+
+データには異なる選手の**役割**に関する情報が含まれているため、役割ごとに箱ひげ図を作成することもできます。これにより、パラメータ値が役割ごとにどのように異なるかを把握できます。今回は身長を考慮します:
+
+
+
+この図から、平均的に一塁手の身長が二塁手の身長より高いことが示唆されます。このレッスンの後半では、この仮説をより正式に検証する方法と、データが統計的に有意であることを示す方法を学びます。
+
+> 実世界のデータを扱う際、すべてのデータポイントがある確率分布から引き出されたサンプルであると仮定します。この仮定により、機械学習技術を適用し、予測モデルを構築することが可能になります。
+
+データの分布を確認するために、**ヒストグラム**と呼ばれるグラフをプロットすることができます。X軸には異なる体重区間(**ビン**)を含め、縦軸にはランダム変数のサンプルが特定の区間内に収まった回数を示します。
+
+
+
+このヒストグラムから、すべての値が特定の平均体重の周りに集中しており、その平均体重から離れるほど、その値の体重が観測される頻度が減少することがわかります。つまり、野球選手の体重が平均体重から大きく異なることは非常に起こりにくいです。体重の分散は、体重が平均からどの程度異なる可能性があるかを示します。
+
+> 他の人々(例えば大学生)の体重を取ると、分布は異なる可能性があります。ただし、分布の形状は同じですが、平均と分散が変化します。そのため、野球選手を対象にモデルを訓練すると、大学生に適用した場合には誤った結果を出す可能性があります。これは基礎となる分布が異なるためです。
+
+## 正規分布
+
+上記で見た体重の分布は非常に典型的であり、実世界の多くの測定値が同じタイプの分布に従いますが、平均と分散は異なります。この分布は**正規分布**と呼ばれ、統計学において非常に重要な役割を果たします。
+
+正規分布を使用することで、潜在的な野球選手のランダムな体重を生成することができます。平均体重`mean`と標準偏差`std`がわかれば、以下の方法で1000個の体重サンプルを生成できます:
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+生成されたサンプルのヒストグラムをプロットすると、上記の図に非常に似たものが表示されます。サンプル数とビン数を増やすと、理想に近い正規分布の図を生成することができます:
+
+
+
+*平均=0、標準偏差=1の正規分布*
+
+## 信頼区間
+
+野球選手の体重について話すとき、すべての野球選手の理想的な体重分布(**母集団**と呼ばれる)に対応する**ランダム変数W**が存在すると仮定します。私たちの体重のシーケンスは、すべての野球選手のサブセット(**サンプル**と呼ばれる)に対応します。興味深い質問は、Wの分布のパラメータ、つまり母集団の平均と分散を知ることができるかどうかです。
+
+最も簡単な答えは、サンプルの平均と分散を計算することです。しかし、ランダムサンプルが完全な母集団を正確に表していない可能性があります。そのため、**信頼区間**について話すことが理にかなっています。
+> **信頼区間**とは、サンプルに基づいて母集団の真の平均を推定するもので、ある確率(または**信頼水準**)でその推定が正確であることを示します。
+仮に、分布からサンプル X1, ..., Xn を取得したとします。分布からサンプルを取得するたびに、異なる平均値 μ が得られることになります。このため、μ はランダム変数とみなすことができます。信頼度 p の **信頼区間** は (Lp, Rp) という値のペアであり、**P**(Lp ≤ μ ≤ Rp) = p、つまり測定された平均値がその区間内に収まる確率が p であることを意味します。
+
+これらの信頼区間がどのように計算されるかを詳細に説明することは、この短いイントロの範囲を超えています。詳細については [Wikipedia](https://en.wikipedia.org/wiki/Confidence_interval) を参照してください。簡単に言えば、母集団の真の平均に対する計算されたサンプル平均の分布を定義します。これを **スチューデント分布** と呼びます。
+
+> **興味深い事実**: スチューデント分布は数学者ウィリアム・シーリー・ゴセットにちなんで名付けられました。彼は「スチューデント」というペンネームで論文を発表しました。彼はギネス醸造所で働いており、ある説によれば、彼の雇用主は統計的テストを使用して原材料の品質を判断していることを一般に知られたくなかったそうです。
+
+母集団の平均 μ を信頼度 p で推定したい場合、スチューデント分布 A の *(1-p)/2 パーセンタイル* を取得する必要があります。これは統計ソフトウェア(例: Python、R など)の組み込み関数を使用して計算するか、表から取得することができます。その後、μ の区間は X±A*D/√n で与えられます。ここで X はサンプルの得られた平均値、D は標準偏差です。
+
+> **注意**: スチューデント分布に関連する重要な概念である [自由度](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)) の議論も省略しています。この概念をより深く理解するには、統計学に関するより完全な書籍を参照してください。
+
+体重と身長の信頼区間を計算する例は [付属のノートブック](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) に記載されています。
+
+| p | 体重の平均 |
+|-----|-----------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+信頼確率が高くなるほど、信頼区間が広くなることに注意してください。
+
+## 仮説検定
+
+野球選手のデータセットには、以下のようにまとめられる異なる選手の役割があります(この表がどのように計算されるかは [付属のノートブック](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) を参照してください)。
+
+| 役割 | 身長 | 体重 | 数 |
+|------|--------|--------|-------|
+| 捕手 | 72.723684 | 204.328947 | 76 |
+| 指名打者 | 74.222222 | 220.888889 | 18 |
+| 一塁手 | 74.000000 | 213.109091 | 55 |
+| 外野手 | 73.010309 | 199.113402 | 194 |
+| 救援投手 | 74.374603 | 203.517460 | 315 |
+| 二塁手 | 71.362069 | 184.344828 | 58 |
+| 遊撃手 | 71.903846 | 182.923077 | 52 |
+| 先発投手 | 74.719457 | 205.163636 | 221 |
+| 三塁手 | 73.044444 | 200.955556 | 45 |
+
+一塁手の平均身長が二塁手の平均身長より高いことに気づくことができます。このため、**一塁手は二塁手よりも身長が高い**と結論付けたくなるかもしれません。
+
+> この主張は **仮説** と呼ばれます。なぜなら、この事実が実際に真実かどうかはわからないからです。
+
+しかし、この結論を出せるかどうかは常に明らかではありません。上記の議論から、各平均値には関連する信頼区間があり、この差が単なる統計的誤差である可能性があることがわかります。仮説を検証するためには、より正式な方法が必要です。
+
+一塁手と二塁手の身長について、それぞれの信頼区間を計算してみましょう。
+
+| 信頼度 | 一塁手 | 二塁手 |
+|------------|---------------|----------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+どの信頼度でも区間が重ならないことがわかります。これにより、一塁手が二塁手よりも身長が高いという仮説が証明されます。
+
+より正式には、私たちが解決しようとしている問題は、**2つの確率分布が同じかどうか**、または少なくとも同じパラメータを持っているかどうかを確認することです。分布に応じて、異なるテストを使用する必要があります。分布が正規分布であることがわかっている場合、**[スチューデントの t 検定](https://en.wikipedia.org/wiki/Student%27s_t-test)** を適用できます。
+
+スチューデントの t 検定では、分散を考慮した平均値の差を示す **t値** を計算します。t値は **スチューデント分布** に従うことが示されており、これにより、指定された信頼度 **p** の閾値を取得できます(これを計算するか、数値表で確認できます)。その後、t値をこの閾値と比較して仮説を承認または棄却します。
+
+Python では、**SciPy** パッケージを使用できます。このパッケージには `ttest_ind` 関数が含まれており(他にも多くの便利な統計関数があります!)、t値を計算し、信頼度 p値の逆引きも行います。そのため、信頼度を確認するだけで結論を導き出すことができます。
+
+例えば、一塁手と二塁手の身長の比較では、以下の結果が得られます:
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+この場合、p値が非常に低いため、一塁手が二塁手よりも身長が高いという強い証拠があることを示しています。
+
+また、以下のような他の種類の仮説を検証することもできます:
+* サンプルが特定の分布に従うことを証明する。今回の場合、身長が正規分布していると仮定しましたが、それには正式な統計的検証が必要です。
+* サンプルの平均値が事前に定義された値に対応していることを証明する
+* 複数のサンプルの平均値を比較する(例: 異なる年齢層間の幸福度の違い)
+
+## 大数の法則と中心極限定理
+
+正規分布が重要である理由の1つは、**中心極限定理** と呼ばれるものです。独立した N 個の値 X1, ..., XN を、平均 μ と分散 σ2 を持つ任意の分布からサンプリングしたとします。このとき、十分に大きな N(つまり N→∞ の場合)では、平均 ΣiXi は平均 μ と分散 σ2/N を持つ正規分布になります。
+
+> 中心極限定理を別の方法で解釈すると、分布に関係なく、任意のランダム変数値の合計の平均を計算すると、最終的に正規分布になると言えます。
+
+中心極限定理から、N→∞ の場合、サンプル平均が μ に等しくなる確率が 1 になることも導き出されます。これを **大数の法則** と呼びます。
+
+## 共分散と相関
+
+データサイエンスが行うことの1つは、データ間の関係を見つけることです。2つの系列が同時に似たような挙動を示す場合、つまり同時に上昇/下降するか、1つの系列が上昇するともう1つが下降する場合、これらの系列は **相関** していると言います。言い換えれば、2つの系列間に何らかの関係があるように見えます。
+
+> 相関は必ずしも2つの系列間の因果関係を示すわけではありません。時には両方の変数が外部の原因に依存している場合や、単なる偶然で2つの系列が相関している場合もあります。しかし、強い数学的相関は2つの変数が何らかの形で関連している良い指標となります。
+
+数学的には、2つのランダム変数間の関係を示す主な概念は **共分散** です。これは次のように計算されます:Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]。両方の変数の平均値からの偏差を計算し、それらの偏差の積を求めます。両方の変数が一緒に偏差する場合、積は常に正の値となり、正の共分散に加算されます。両方の変数が同期していない場合(つまり、1つが平均値を下回るときにもう1つが平均値を上回る場合)、常に負の数が得られ、負の共分散に加算されます。偏差が依存していない場合、それらはほぼゼロに加算されます。
+
+共分散の絶対値は、相関がどれほど大きいかを示すものではありません。実際の値の大きさに依存するためです。これを正規化するために、共分散を両方の変数の標準偏差で割ることで **相関** を得ることができます。相関は常に [-1,1] の範囲内にあり、1 は値間の強い正の相関を示し、-1 は強い負の相関を示し、0 は全く相関がない(変数が独立している)ことを示します。
+
+**例**: 野球選手の体重と身長の相関を計算してみましょう:
+```python
+print(np.corrcoef(weights,heights))
+```
+結果として、以下のような **相関行列** が得られます:
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> 相関行列 C は、任意の数の入力系列 S1, ..., Sn に対して計算できます。Cij の値は Si と Sj の相関を示し、対角要素は常に 1(これは Si の自己相関でもあります)です。
+
+この場合、値 0.53 は、体重と身長の間にある程度の相関があることを示しています。また、1つの値をもう1つの値に対して散布図としてプロットすることで、関係を視覚的に確認することができます:
+
+
+
+> 相関と共分散のさらなる例は [付属のノートブック](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) に記載されています。
+
+## 結論
+
+このセクションでは以下を学びました:
+
+* 平均、分散、最頻値、四分位数などのデータの基本的な統計的性質
+* 正規分布を含むランダム変数のさまざまな分布
+* 異なる特性間の相関を見つける方法
+* 仮説を証明するために数学と統計の健全な手法を使用する方法
+* データサンプルを基にランダム変数の信頼区間を計算する方法
+
+確率と統計に存在するトピックの完全なリストではありませんが、このコースを始めるのに十分な基礎を提供するはずです。
+
+## 🚀 チャレンジ
+
+ノートブックのサンプルコードを使用して、以下の仮説を検証してください:
+1. 一塁手は二塁手よりも年齢が高い
+2. 一塁手は三塁手よりも身長が高い
+3. 遊撃手は二塁手よりも身長が高い
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## 復習と自己学習
+
+確率と統計は非常に広範なトピックであり、それ自体でコースを構成する価値があります。理論をさらに深く掘り下げたい場合は、以下の書籍を読むことをお勧めします:
+
+1. ニューヨーク大学の [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/) による素晴らしい講義ノート [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf)(オンラインで利用可能)
+1. [Peter and Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[R のサンプルコード](https://github.com/andrewgbruce/statistics-for-data-scientists)]
+1. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[R のサンプルコード](https://github.com/PacktPublishing/Statistics-for-Data-Science)]
+
+## 課題
+
+[小規模糖尿病研究](assignment.md)
+
+## クレジット
+
+このレッスンは [Dmitry Soshnikov](http://soshnikov.com) によって ♥️ を込めて作成されました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/04-stats-and-probability/assignment.md b/translations/ja/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..0d4bcecc
--- /dev/null
+++ b/translations/ja/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# 小規模な糖尿病研究
+
+この課題では、[こちら](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html)から取得した糖尿病患者の小規模なデータセットを使用します。
+
+| | 年齢 (AGE) | 性別 (SEX) | BMI | 血圧 (BP) | S1 | S2 | S3 | S4 | S5 | S6 | Y |
+|---|------------|------------|-----|-----------|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1| 101. | 157| 93.2| 38.0| 4. | 4.8598| 87 | 151 |
+| 1 | 48 | 1 | 21.6| 87.0 | 183| 103.2| 70. | 3. | 3.8918| 69 | 75 |
+| 2 | 72 | 2 | 30.5| 93.0 | 156| 93.6| 41.0| 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ... | ...| ... | ... | ... | ... | ...| ... |
+
+## 指示
+
+* [assignment notebook](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb) をjupyter notebook環境で開いてください。
+* ノートブックに記載されているすべてのタスクを完了してください。具体的には以下の内容です:
+ * [ ] すべての値の平均値と分散を計算する
+ * [ ] 性別ごとにBMI、BP、Yのボックスプロットを作成する
+ * [ ] 年齢、性別、BMI、Y変数の分布を調べる
+ * [ ] 各変数と病気の進行度 (Y) の相関をテストする
+ * [ ] 糖尿病の進行度が男性と女性で異なるという仮説を検証する
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+すべての必要なタスクが完了し、グラフで視覚化され、説明が付いている | ほとんどのタスクが完了しているが、グラフや得られた値からの説明や考察が不足している | 平均値や分散の計算、基本的なプロットなどの基本的なタスクのみが完了しており、データからの結論がない
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/1-Introduction/README.md b/translations/ja/1-Introduction/README.md
new file mode 100644
index 00000000..eadb5519
--- /dev/null
+++ b/translations/ja/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# データサイエンス入門
+
+
+> 写真提供:Stephen Dawson(Unsplash)
+
+このレッスンでは、データサイエンスの定義について学び、データサイエンティストが考慮すべき倫理的な問題について理解します。また、データの定義や、データサイエンスの主要な学問分野である統計学と確率論について少し学びます。
+
+### トピック
+
+1. [データサイエンスの定義](01-defining-data-science/README.md)
+2. [データサイエンスの倫理](02-ethics/README.md)
+3. [データの定義](03-defining-data/README.md)
+4. [統計学と確率論の入門](04-stats-and-probability/README.md)
+
+### クレジット
+
+これらのレッスンは、[Nitya Narasimhan](https://twitter.com/nitya) と [Dmitry Soshnikov](https://twitter.com/shwars) によって ❤️ を込めて作成されました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/05-relational-databases/README.md b/translations/ja/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..eeb0c370
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# データの操作: リレーショナルデータベース
+
+| ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| データの操作: リレーショナルデータベース - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+過去にスプレッドシートを使って情報を保存したことがあるかもしれません。スプレッドシートには行と列があり、行には情報(データ)が、列にはその情報を説明する内容(メタデータと呼ばれることもあります)が含まれています。リレーショナルデータベースは、この行と列のテーブルという基本原則に基づいて構築されており、複数のテーブルに情報を分散させることができます。これにより、より複雑なデータを扱い、重複を避け、データを柔軟に探索することが可能になります。それでは、リレーショナルデータベースの概念を見ていきましょう。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## すべてはテーブルから始まる
+
+リレーショナルデータベースの中心にはテーブルがあります。スプレッドシートと同様に、テーブルは列と行の集合です。行には、都市名や降水量など、扱いたいデータや情報が含まれています。列は、保存されるデータを説明します。
+
+都市に関する情報を保存するテーブルを作成するところから始めましょう。都市名と国名を保存することから始めると、次のようなテーブルを作成できます。
+
+| City | Country |
+| -------- | ------------- |
+| Tokyo | Japan |
+| Atlanta | United States |
+| Auckland | New Zealand |
+
+**city**、**country**、**population** という列名が保存されるデータを説明しており、各行には1つの都市に関する情報が含まれています。
+
+## 単一テーブルアプローチの欠点
+
+上記のテーブルは、比較的馴染みのあるものに見えるかもしれません。では、成長中のデータベースに年間降水量(ミリメートル単位)を追加してみましょう。2018年、2019年、2020年のデータに焦点を当てます。東京のデータを追加すると、次のようになります。
+
+| City | Country | Year | Amount |
+| ----- | ------- | ---- | ------ |
+| Tokyo | Japan | 2020 | 1690 |
+| Tokyo | Japan | 2019 | 1874 |
+| Tokyo | Japan | 2018 | 1445 |
+
+このテーブルで何に気づきますか?都市名と国名が何度も繰り返されていることに気づくかもしれません。これはかなりのストレージを消費し、複数のコピーを持つ必要がないため、非効率的です。結局のところ、東京には私たちが興味を持つ名前は1つだけです。
+
+では、別の方法を試してみましょう。各年のデータを新しい列として追加してみます。
+
+| City | Country | 2018 | 2019 | 2020 |
+| -------- | ------------- | ---- | ---- | ---- |
+| Tokyo | Japan | 1445 | 1874 | 1690 |
+| Atlanta | United States | 1779 | 1111 | 1683 |
+| Auckland | New Zealand | 1386 | 942 | 1176 |
+
+これにより行の重複は避けられますが、他の課題が発生します。新しい年が追加されるたびにテーブルの構造を変更する必要があります。また、データが増えるにつれて、年を列として扱うと値の取得や計算が難しくなります。
+
+これが、複数のテーブルとリレーションシップが必要な理由です。データを分割することで、重複を避け、データを操作する際の柔軟性を高めることができます。
+
+## リレーションシップの概念
+
+データに戻り、どのように分割するかを決定しましょう。都市の名前と国名を保存したいことはわかっているので、これは1つのテーブルにまとめるのが最適です。
+
+| City | Country |
+| -------- | ------------- |
+| Tokyo | Japan |
+| Atlanta | United States |
+| Auckland | New Zealand |
+
+しかし、次のテーブルを作成する前に、各都市を参照する方法を考える必要があります。何らかの識別子、ID、または(技術的なデータベース用語で言うと)主キーが必要です。主キーは、テーブル内の特定の行を識別するために使用される値です。これは値自体に基づく場合もあります(たとえば、都市名を使用することもできます)が、ほとんどの場合、数値やその他の識別子であるべきです。IDが変更されるとリレーションシップが壊れるためです。ほとんどの場合、主キーやIDは自動生成される数値になります。
+
+> ✅ 主キーは「PK」と略されることがよくあります
+
+### cities
+
+| city_id | City | Country |
+| ------- | -------- | ------------- |
+| 1 | Tokyo | Japan |
+| 2 | Atlanta | United States |
+| 3 | Auckland | New Zealand |
+
+> ✅ このレッスンでは、「id」と「主キー」という用語を同じ意味で使用します。ここでの概念は、後で学ぶDataFrameにも適用されます。DataFrameでは「主キー」という用語は使用されませんが、ほぼ同じように動作することに気づくでしょう。
+
+都市のテーブルが作成されたので、降水量を保存しましょう。都市に関する完全な情報を重複させる代わりに、IDを使用します。また、新しく作成したテーブルにも*id*列を追加する必要があります。すべてのテーブルにはIDまたは主キーが必要です。
+
+### rainfall
+
+| rainfall_id | city_id | Year | Amount |
+| ----------- | ------- | ---- | ------ |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+新しく作成した**rainfall**テーブル内の**city_id**列に注目してください。この列には、**cities**テーブル内のIDを参照する値が含まれています。技術的なリレーショナルデータ用語では、これを**外部キー**と呼びます。他のテーブルの主キーです。単に参照またはポインタと考えることができます。**city_id** 1は東京を参照しています。
+
+> [!NOTE] 外部キーは「FK」と略されることがよくあります
+
+## データの取得
+
+データを2つのテーブルに分割した状態で、どのようにデータを取得するのか疑問に思うかもしれません。MySQL、SQL Server、Oracleなどのリレーショナルデータベースを使用している場合、SQL(Structured Query Language)と呼ばれる言語を使用します。SQL(シークエルと発音されることもあります)は、リレーショナルデータベース内のデータを取得および変更するための標準言語です。
+
+データを取得するには、`SELECT`コマンドを使用します。基本的には、**表示したい列を選択し**、それらが含まれるテーブルを**指定**します。都市名だけを表示したい場合、次のように記述します。
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT`は表示したい列をリストし、`FROM`はテーブルをリストします。
+
+> [NOTE] SQLの構文は大文字小文字を区別しません。つまり、`select`と`SELECT`は同じ意味です。ただし、使用しているデータベースの種類によっては、列名やテーブル名が大文字小文字を区別する場合があります。そのため、プログラミングではすべてを大文字小文字を区別するものとして扱うのがベストプラクティスです。SQLクエリを書く際の一般的な慣習として、キーワードはすべて大文字で記述します。
+
+上記のクエリはすべての都市を表示します。ニュージーランドの都市だけを表示したいと想像してみてください。何らかのフィルターが必要です。SQLのキーワードでこれを行うのが`WHERE`、つまり「条件が真である場合」です。
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## データの結合
+
+これまで、単一のテーブルからデータを取得してきました。次に、**cities**と**rainfall**の両方からデータを結合して取得します。これは、*結合*することで実現します。2つのテーブルの間にシームを作成し、それぞれのテーブルの列の値を一致させます。
+
+この例では、**rainfall**の**city_id**列と**cities**の**city_id**列を一致させます。これにより、降水量の値がそれぞれの都市と一致します。ここで行う結合の種類は、*内部結合*と呼ばれるもので、他のテーブルと一致しない行は表示されません。この場合、すべての都市に降水量データがあるため、すべてが表示されます。
+
+すべての都市の2019年の降水量を取得してみましょう。
+
+これを段階的に行います。最初のステップは、**city_id**列を指定してデータを結合することです。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+結合したい2つの列と、**city_id**でテーブルを結合したいことを指定しました。次に、`WHERE`文を追加して2019年のデータだけをフィルタリングします。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## まとめ
+
+リレーショナルデータベースは、情報を複数のテーブルに分割し、それを表示や分析のために再結合することを中心にしています。これにより、計算を行ったり、データを操作したりする際に高い柔軟性が得られます。リレーショナルデータベースの基本概念と、2つのテーブル間で結合を行う方法を学びました。
+
+## 🚀 チャレンジ
+
+インターネット上には多数のリレーショナルデータベースがあります。ここで学んだスキルを使ってデータを探索してみてください。
+
+## 講義後クイズ
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## 復習と自己学習
+
+SQLやリレーショナルデータベースの概念をさらに探求するために、[Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum)にはいくつかのリソースがあります。
+
+- [リレーショナルデータの概念を説明する](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [Transact-SQLでクエリを始める](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum)(Transact-SQLはSQLのバージョンです)
+- [Microsoft LearnのSQLコンテンツ](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## 課題
+
+[課題タイトル](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/05-relational-databases/assignment.md b/translations/ja/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..04e564f2
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# 空港データの表示
+
+[SQLite](https://sqlite.org/index.html) を使用して構築された [データベース](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) が提供されています。このデータベースには空港に関する情報が含まれています。スキーマは以下に示されています。[Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) の [SQLite 拡張機能](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) を使用して、さまざまな都市の空港情報を表示します。
+
+## 手順
+
+この課題を始めるには、いくつかのステップを実行する必要があります。ツールをインストールし、サンプルデータベースをダウンロードしてください。
+
+### システムのセットアップ
+
+Visual Studio Code と SQLite 拡張機能を使用してデータベースと対話できます。
+
+1. [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) にアクセスし、指示に従って Visual Studio Code をインストールします
+1. [SQLite 拡張機能](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) を Marketplace ページの指示に従ってインストールします
+
+### データベースのダウンロードとオープン
+
+次に、データベースをダウンロードして開きます。
+
+1. [GitHub からデータベースファイル](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) をダウンロードし、任意のディレクトリに保存します
+1. Visual Studio Code を開きます
+1. **Ctl-Shift-P**(Mac の場合は **Cmd-Shift-P**)を押して `SQLite: Open database` と入力し、SQLite 拡張機能でデータベースを開きます
+1. **Choose database from file** を選択し、先ほどダウンロードした **airports.db** ファイルを開きます
+1. データベースを開いた後(画面に更新は表示されません)、**Ctl-Shift-P**(Mac の場合は **Cmd-Shift-P**)を押して `SQLite: New query` と入力し、新しいクエリウィンドウを作成します
+
+新しいクエリウィンドウを開くと、データベースに対して SQL ステートメントを実行できます。**Ctl-Shift-Q**(Mac の場合は **Cmd-Shift-Q**)を使用してクエリを実行できます。
+
+> [!NOTE] SQLite 拡張機能の詳細については、[ドキュメント](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) を参照してください
+
+## データベーススキーマ
+
+データベースのスキーマとは、テーブルの設計と構造のことです。**airports** データベースには 2 つのテーブルがあります。`cities` はイギリスとアイルランドの都市のリストを含み、`airports` はすべての空港のリストを含みます。一部の都市には複数の空港がある可能性があるため、情報を保存するために 2 つのテーブルが作成されました。この演習では、結合を使用してさまざまな都市の情報を表示します。
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK to id in **Cities**) |
+
+## 課題
+
+以下の情報を返すクエリを作成してください:
+
+1. `Cities` テーブル内のすべての都市名
+1. `Cities` テーブル内のアイルランドのすべての都市
+1. 各空港名とその都市および国
+1. ロンドン(イギリス)のすべての空港
+
+## 評価基準
+
+| 優秀 | 適切 | 改善が必要 |
+| ---- | ---- | ---------- |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/06-non-relational/README.md b/translations/ja/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..0ada4bf6
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# データの操作: 非リレーショナルデータ
+
+| ](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|NoSQLデータの操作 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+データはリレーショナルデータベースに限定されません。このレッスンでは、非リレーショナルデータに焦点を当て、スプレッドシートとNoSQLの基本を学びます。
+
+## スプレッドシート
+
+スプレッドシートは、セットアップや開始に手間がかからないため、データを保存して探索するための一般的な方法です。このレッスンでは、スプレッドシートの基本的な構成要素、数式や関数について学びます。例はMicrosoft Excelを使用して説明しますが、他のスプレッドシートソフトウェアと比較しても、ほとんどの部分やトピックは似た名前や手順を持っています。
+
+
+
+スプレッドシートはファイルであり、コンピュータ、デバイス、またはクラウドベースのファイルシステムのファイルシステムでアクセス可能です。ソフトウェア自体はブラウザベースの場合もあれば、コンピュータにインストールする必要があるアプリケーションやアプリとしてダウンロードする必要がある場合もあります。Excelでは、これらのファイルは**ワークブック**として定義されており、このレッスンではこの用語を使用します。
+
+ワークブックには1つ以上の**ワークシート**が含まれ、それぞれのワークシートはタブでラベル付けされています。ワークシート内には**セル**と呼ばれる長方形があり、実際のデータが含まれます。セルは行と列の交差点であり、列はアルファベット文字で、行は数字でラベル付けされています。一部のスプレッドシートでは、セル内のデータを説明するために最初の数行にヘッダーが含まれています。
+
+Excelワークブックのこれらの基本要素を使用して、[Microsoft Templates](https://templates.office.com/)の在庫管理に焦点を当てた例を使い、スプレッドシートの追加部分を見ていきます。
+
+### 在庫管理
+
+"InventoryExample"という名前のスプレッドシートファイルは、在庫内のアイテムをフォーマットしたスプレッドシートで、"Inventory List"、"Inventory Pick List"、"Bin Lookup"という3つのワークシートが含まれています。"Inventory List"ワークシートの4行目はヘッダーで、ヘッダー列内の各セルの値を説明しています。
+
+
+
+セルが他のセルの値に依存してその値を生成する場合があります。在庫リストスプレッドシートは、在庫内の各アイテムのコストを追跡していますが、在庫全体の価値を知りたい場合はどうすればよいでしょうか?[**数式**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263)はセルデータに対して操作を行い、この例では在庫の価値を計算するために使用されます。このスプレッドシートでは、"Inventory Value"列に数式を使用して、"QTY"ヘッダーの下の数量と"COST"ヘッダーの下のコストを掛け合わせて各アイテムの価値を計算しています。セルをダブルクリックまたはハイライトすると数式が表示されます。数式は等号(=)で始まり、その後に計算や操作が続きます。
+
+
+
+在庫価値のすべての値を合計してその総価値を求めるために、別の数式を使用することもできます。これは各セルを加算して合計を生成することで計算できますが、それは手間のかかる作業です。Excelには[**関数**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89)と呼ばれる、セル値に対して計算を行うための事前定義された数式があります。関数には引数が必要で、これらは計算を行うために必要な値です。関数が複数の引数を必要とする場合、特定の順序でリストする必要があり、そうしないと関数が正しい値を計算できない可能性があります。この例ではSUM関数を使用し、"Inventory Value"の値を引数として使用して、B3(3行目、B列)にリストされている合計を生成しています。
+
+## NoSQL
+
+NoSQLは、非リレーショナルデータを保存するさまざまな方法を指す包括的な用語であり、「非SQL」、「非リレーショナル」、または「SQLだけではない」と解釈されることがあります。この種のデータベースシステムは、4つのタイプに分類できます。
+
+
+> 出典: [Michał Białecki Blog](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/)に保存されます。
+
+
+> 出典: [Microsoft](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)データベースはデータの関係を記述し、ノードとエッジのコレクションとして表されます。ノードは、学生や銀行の明細書など、現実世界に存在するエンティティを表します。エッジは2つのエンティティ間の関係を表します。各ノードとエッジには、それぞれの追加情報を提供するプロパティがあります。
+
+
+
+[カラム型](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores)データストアは、リレーショナルデータ構造のようにデータを列と行に整理しますが、各列は「カラムファミリー」と呼ばれるグループに分けられます。同じカラム内のすべてのデータは関連しており、一つの単位として取得および変更できます。
+
+### Azure Cosmos DBを使用したドキュメントデータストア
+
+[ドキュメント](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores)データストアは、キー値データストアの概念を基に構築されており、一連のフィールドとオブジェクトで構成されています。このセクションでは、Cosmos DBエミュレーターを使用してドキュメントデータベースを探ります。
+
+Cosmos DBデータベースは「SQLだけではない」という定義に当てはまり、Cosmos DBのドキュメントデータベースはSQLを使用してデータをクエリします。[前回のレッスン](../05-relational-databases/README.md)ではSQLの基本を学びましたが、ここではドキュメントデータベースに同じクエリを適用できます。Cosmos DBエミュレーターを使用して、ローカルコンピュータ上でドキュメントデータベースを作成し、探索します。エミュレーターについての詳細は[こちら](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)をご覧ください。
+
+ドキュメントはフィールドとオブジェクト値のコレクションであり、フィールドはオブジェクト値が何を表しているかを説明します。以下はドキュメントの例です。
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+このドキュメントで注目すべきフィールドは、`firstname`、`id`、`age`です。アンダースコア付きの他のフィールドはCosmos DBによって生成されました。
+
+#### Cosmos DBエミュレーターを使用したデータの探索
+
+エミュレーターは[Windows用はこちら](https://aka.ms/cosmosdb-emulator)からダウンロードしてインストールできます。macOSおよびLinuxでエミュレーターを実行する方法については、この[ドキュメント](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos)を参照してください。
+
+エミュレーターを起動するとブラウザウィンドウが開き、Explorerビューでドキュメントを探索できます。
+
+
+
+一緒に進めている場合は、「Start with Sample」をクリックしてSampleDBというサンプルデータベースを生成してください。SampleDBを展開すると、`Persons`というコンテナが見つかります。コンテナはアイテムのコレクションを保持しており、これらはコンテナ内のドキュメントです。`Items`の下にある4つの個別のドキュメントを探索できます。
+
+
+
+#### Cosmos DBエミュレーターを使用したドキュメントデータのクエリ
+
+新しいSQLクエリボタン(左から2番目のボタン)をクリックすると、サンプルデータをクエリすることもできます。
+
+`SELECT * FROM c`はコンテナ内のすべてのドキュメントを返します。where句を追加して、40歳未満の人を見つけてみましょう。
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+クエリは2つのドキュメントを返します。それぞれのドキュメントのage値が40未満であることに注目してください。
+
+#### JSONとドキュメント
+
+JavaScript Object Notation (JSON)に慣れている場合、ドキュメントがJSONに似ていることに気付くでしょう。このディレクトリには`PersonsData.json`というファイルがあり、エミュレーターのPersonsコンテナにアップロードできます。`Upload Item`ボタンを使用してください。
+
+多くの場合、JSONデータを返すAPIは、直接ドキュメントデータベースに転送して保存できます。以下は別のドキュメントで、MicrosoftのTwitterアカウントからTwitter APIを使用して取得され、Cosmos DBに挿入されたツイートを表しています。
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+このドキュメントで注目すべきフィールドは、`created_at`、`id`、`text`です。
+
+## 🚀 チャレンジ
+
+`TwitterData.json`というファイルがあり、SampleDBデータベースにアップロードできます。別のコンテナに追加することをお勧めします。以下の手順で行えます:
+
+1. 右上の新しいコンテナボタンをクリック
+1. 既存のデータベース(SampleDB)を選択し、コンテナIDを作成
+1. パーティションキーを`/id`に設定
+1. OKをクリック(このビューの他の情報は無視して構いません。これはローカルマシン上で動作する小さなデータセットです)
+1. 新しいコンテナを開き、`Upload Item`ボタンでTwitter Dataファイルをアップロード
+
+いくつかのSELECTクエリを実行して、textフィールドにMicrosoftが含まれるドキュメントを見つけてみてください。ヒント:[LIKEキーワード](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character)を使用してみてください。
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## 復習と自己学習
+
+- このレッスンではカバーしていない、スプレッドシートに追加されたフォーマットや機能があります。Excelについてもっと学びたい場合は、Microsoftの[豊富なドキュメントとビデオライブラリ](https://support.microsoft.com/excel)をご覧ください。
+
+- 非リレーショナルデータのさまざまなタイプの特性については、このアーキテクチャドキュメントをご覧ください:[非リレーショナルデータとNoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)
+
+- Cosmos DBは、ここで説明したさまざまなNoSQLタイプを保存できるクラウドベースの非リレーショナルデータベースです。この[Cosmos DB Microsoft Learn Module](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/)でこれらのタイプについてさらに学びましょう。
+
+## 課題
+
+[Soda Profits](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/06-non-relational/assignment.md b/translations/ja/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..b6661ed6
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# ソーダの利益
+
+## 指示
+
+[Coca Cola Co スプレッドシート](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx)にはいくつかの計算が欠けています。あなたの課題は以下を行うことです:
+
+1. FY '15, '16, '17, '18 の総利益を計算する
+ - 総利益 = 営業収益 - 売上原価
+1. すべての総利益の平均を計算する。これを関数を使って試してみてください。
+ - 平均 = 総利益の合計 ÷ 会計年度数 (10)
+ - [AVERAGE関数](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6)に関するドキュメント
+1. これはExcelファイルですが、任意のスプレッドシートプラットフォームで編集可能です
+
+[データソースのクレジット: Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/07-python/README.md b/translations/ja/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..fd02ea49
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,292 @@
+
+# データの操作: PythonとPandasライブラリ
+
+|  ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| Pythonでの操作 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+データベースはデータを効率的に保存し、クエリ言語を使って検索する方法を提供しますが、最も柔軟なデータ処理方法は、自分でプログラムを書いてデータを操作することです。多くの場合、データベースクエリを使用する方が効果的ですが、より複雑なデータ処理が必要な場合、SQLでは簡単に実現できないことがあります。
+データ処理はどのプログラミング言語でもプログラムできますが、データ操作に特化した高レベルな言語がいくつかあります。データサイエンティストは通常、以下の言語のいずれかを好みます:
+
+* **[Python](https://www.python.org/)**: 汎用プログラミング言語で、そのシンプルさから初心者に最適とされています。Pythonには多くの追加ライブラリがあり、ZIPアーカイブからデータを抽出したり、画像をグレースケールに変換したりといった実用的な問題を解決できます。データサイエンスだけでなく、ウェブ開発にもよく使用されます。
+* **[R](https://www.r-project.org/)**: 統計データ処理を目的に開発された伝統的なツールボックスです。大規模なライブラリリポジトリ(CRAN)を持ち、データ処理に適しています。ただし、Rは汎用プログラミング言語ではなく、データサイエンス以外の分野で使用されることは稀です。
+* **[Julia](https://julialang.org/)**: データサイエンス専用に開発された言語で、Pythonよりも高いパフォーマンスを提供することを目的としています。科学的実験に適したツールです。
+
+このレッスンでは、Pythonを使ったシンプルなデータ処理に焦点を当てます。Pythonの基本的な知識があることを前提としています。Pythonをより深く学びたい場合は、以下のリソースを参照してください:
+
+* [Learn Python in a Fun Way with Turtle Graphics and Fractals](https://github.com/shwars/pycourse) - GitHubベースのPythonプログラミング入門コース
+* [Take your First Steps with Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) - [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)の学習パス
+
+データはさまざまな形式で存在します。このレッスンでは、**表形式データ**、**テキスト**、**画像**の3つの形式を扱います。
+
+関連するすべてのライブラリを網羅するのではなく、いくつかのデータ処理の例に焦点を当てます。これにより、可能性の概要を理解し、必要なときに問題解決の方法を見つけるための手がかりを得ることができます。
+
+> **最も役立つアドバイス**: データに対して特定の操作を行いたいが方法がわからない場合、インターネットで検索してみてください。[Stackoverflow](https://stackoverflow.com/)には、Pythonでの多くの典型的なタスクに関する有用なコードサンプルが多数掲載されています。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## 表形式データとデータフレーム
+
+リレーショナルデータベースについて話したときに、表形式データに触れました。大量のデータがあり、それが多くの異なるリンクされたテーブルに含まれている場合、SQLを使用して操作するのが理にかなっています。しかし、データの分布や値間の相関関係など、このデータについての**理解**や**洞察**を得る必要がある場合があります。データサイエンスでは、元のデータを変換し、その後に可視化を行う必要があるケースが多くあります。これらのステップは、Pythonを使用することで簡単に実行できます。
+
+Pythonで表形式データを扱うのに役立つ最も有用なライブラリは次の2つです:
+* **[Pandas](https://pandas.pydata.org/)**: **データフレーム**と呼ばれるものを操作できます。データフレームはリレーショナルテーブルに類似しており、名前付きの列を持ち、行や列、データフレーム全体に対してさまざまな操作を行うことができます。
+* **[Numpy](https://numpy.org/)**: **テンソル**、つまり多次元**配列**を操作するためのライブラリです。配列は同じ型の値を持ち、データフレームよりもシンプルですが、より多くの数学的操作を提供し、オーバーヘッドが少なくなります。
+
+また、知っておくべき他のライブラリもいくつかあります:
+* **[Matplotlib](https://matplotlib.org/)**: データの可視化やグラフのプロットに使用されるライブラリ
+* **[SciPy](https://www.scipy.org/)**: 追加の科学的関数を提供するライブラリ。確率や統計について話したときにこのライブラリに触れました。
+
+以下は、Pythonプログラムの冒頭でこれらのライブラリをインポートする際に通常使用するコードの一例です:
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandasは、いくつかの基本的な概念を中心に構築されています。
+
+### Series
+
+**Series**は、リストやnumpy配列に似た値のシーケンスです。主な違いは、Seriesには**インデックス**があり、Seriesを操作する際(例: 加算する際)にインデックスが考慮されることです。インデックスは、単純な整数の行番号(リストや配列からSeriesを作成する際のデフォルトのインデックス)である場合もあれば、日付間隔のような複雑な構造を持つ場合もあります。
+
+> **Note**: 付属のノートブック [`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb) にPandasの入門コードが含まれています。ここではいくつかの例を概説するだけですが、ぜひ完全なノートブックを確認してください。
+
+例を考えてみましょう: アイスクリームショップの売上を分析したいとします。一定期間の売上数(1日に売れたアイテム数)のSeriesを生成します:
+
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+2つのSeriesを加算すると、合計数が得られます:
+```python
+total_items = items_sold.add(additional_items,fill_value=0)
+total_items.plot()
+```
+
+
+> **Note**: 単純な構文 `total_items+additional_items` を使用していないことに注意してください。この場合、結果のSeriesに多くの`NaN`(*Not a Number*)値が含まれることになります。これは、`additional_items` Seriesの一部のインデックスポイントに値が欠けているためであり、`NaN`に何かを加算すると`NaN`になります。そのため、加算時に`fill_value`パラメータを指定する必要があります。
+
+時系列データでは、異なる時間間隔で**リサンプリング**することもできます。たとえば、月ごとの平均売上量を計算したい場合、次のコードを使用できます:
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### DataFrame
+
+DataFrameは、同じインデックスを持つSeriesのコレクションです。複数のSeriesを組み合わせてDataFrameを作成できます:
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+これにより、次のような横向きのテーブルが作成されます:
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+また、Seriesを列として使用し、辞書を使って列名を指定することもできます:
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+これにより、次のようなテーブルが得られます:
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**Note**: 前のテーブルを転置することで、このレイアウトを得ることもできます。たとえば、次のように書くことで実現できます:
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+ここで`.T`はDataFrameを転置する操作(行と列を入れ替える操作)を意味し、`rename`操作を使用して列名を前の例に一致させることができます。
+
+以下は、DataFrameで実行できる最も重要な操作のいくつかです:
+
+**列の選択**: 個々の列を選択するには、`df['A']`と書きます。この操作はSeriesを返します。また、別のDataFrameに列のサブセットを選択するには、`df[['B','A']]`と書きます。これにより別のDataFrameが返されます。
+
+**特定の条件に基づく行のフィルタリング**: たとえば、列`A`が5より大きい行だけを残すには、`df[df['A']>5]`と書きます。
+
+> **Note**: フィルタリングの仕組みは次の通りです。式`df['A']<5`はブールSeriesを返し、元のSeries`df['A']`の各要素に対して式が`True`または`False`であるかを示します。ブールSeriesがインデックスとして使用されると、DataFrameの行のサブセットが返されます。そのため、任意のPythonブール式を使用することはできません。たとえば、`df[df['A']>5 and df['A']<7]`と書くのは間違いです。代わりに、ブールSeriesに対して特別な`&`演算子を使用し、`df[(df['A']>5) & (df['A']<7)]`と書く必要があります(*括弧が重要です*)。
+
+**新しい計算可能な列の作成**: 直感的な式を使用して、DataFrameに新しい計算可能な列を簡単に作成できます:
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+この例では、列Aの平均値からの乖離を計算しています。ここで実際に行われているのは、Seriesを計算し、それを左辺に割り当てて新しい列を作成することです。そのため、Seriesと互換性のない操作を使用することはできません。たとえば、次のコードは間違っています:
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+後者の例は構文的には正しいですが、意図した結果にはなりません。これは、列`B`のSeriesの長さを列全体に割り当ててしまい、個々の要素の長さを割り当てることができないためです。
+
+このような複雑な式を計算する必要がある場合は、`apply`関数を使用できます。最後の例は次のように書き直すことができます:
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+上記の操作を行った後、次のDataFrameが得られます:
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**行番号に基づく行の選択**は、`iloc`構文を使用して行うことができます。たとえば、DataFrameの最初の5行を選択するには:
+```python
+df.iloc[:5]
+```
+
+**グループ化**は、Excelの*ピボットテーブル*に似た結果を得るためによく使用されます。たとえば、`LenB`ごとに列`A`の平均値を計算したい場合、DataFrameを`LenB`でグループ化し、`mean`を呼び出します:
+```python
+df.groupby(by='LenB').mean()
+```
+グループ内の平均値と要素数を計算する必要がある場合は、より複雑な`aggregate`関数を使用できます:
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+これにより、次の表が得られます:
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### データの取得
+PythonオブジェクトからSeriesやDataFrameを構築するのがいかに簡単かを見てきました。しかし、データは通常、テキストファイルやExcelテーブルの形式で提供されます。幸いなことに、Pandasはディスクからデータを読み込むための簡単な方法を提供しています。例えば、CSVファイルを読み込むのは以下のように簡単です:
+```python
+df = pd.read_csv('file.csv')
+```
+「チャレンジ」セクションでは、外部ウェブサイトからデータを取得する例を含め、データの読み込みについてさらに詳しく見ていきます。
+
+
+### データの表示とプロット
+
+データサイエンティストはデータを探索する必要があるため、データを視覚化する能力が重要です。DataFrameが大きい場合、最初の数行を表示してすべてが正しく動作していることを確認したいことがよくあります。これは`df.head()`を呼び出すことで実現できます。Jupyter Notebookで実行している場合、DataFrameがきれいな表形式で表示されます。
+
+また、いくつかの列を視覚化するために`plot`関数を使用する方法も見てきました。`plot`は多くのタスクに非常に便利で、`kind=`パラメータを使用してさまざまなグラフタイプをサポートしていますが、より複雑なものをプロットしたい場合は、常に生の`matplotlib`ライブラリを使用することができます。データの視覚化については、別のコースレッスンで詳しく説明します。
+
+この概要ではPandasの最も重要な概念をカバーしていますが、このライブラリは非常に豊富で、できることに制限はありません!では、この知識を使って具体的な問題を解決してみましょう。
+
+## 🚀 チャレンジ1: COVIDの拡散を分析する
+
+最初に取り組む問題は、COVID-19の流行拡散のモデル化です。そのために、[ジョンズ・ホプキンス大学](https://jhu.edu/)の[システム科学工学センター](https://systems.jhu.edu/) (CSSE)が提供する、各国の感染者数に関するデータを使用します。このデータセットは[このGitHubリポジトリ](https://github.com/CSSEGISandData/COVID-19)で利用可能です。
+
+データの扱い方を示すために、[`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/notebook-covidspread.ipynb)を開き、上から下まで読んでみてください。また、セルを実行したり、最後に残しておいたチャレンジに取り組むこともできます。
+
+
+
+
+> Jupyter Notebookでコードを実行する方法がわからない場合は、[この記事](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)を参照してください。
+
+## 非構造化データの扱い
+
+データは非常に頻繁に表形式で提供されますが、場合によっては、テキストや画像など、あまり構造化されていないデータを扱う必要があります。この場合、上記で見たデータ処理技術を適用するために、何らかの方法で構造化データを**抽出**する必要があります。以下はその例です:
+
+* テキストからキーワードを抽出し、それらのキーワードがどのくらい頻繁に出現するかを確認する
+* ニューラルネットワークを使用して画像内のオブジェクトに関する情報を抽出する
+* ビデオカメラのフィードから人々の感情に関する情報を取得する
+
+## 🚀 チャレンジ2: COVID関連論文の分析
+
+このチャレンジでは、COVIDパンデミックのテーマを続け、関連する科学論文の処理に焦点を当てます。[CORD-19データセット](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge)には、COVIDに関する7000以上(執筆時点)の論文が、メタデータや要約とともに提供されています(約半分には全文も含まれています)。
+
+このデータセットを分析する完全な例は、[Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum)コグニティブサービスを使用して[このブログ記事](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)で説明されています。ここでは、この分析の簡略版を議論します。
+
+> **NOTE**: このリポジトリにはデータセットのコピーは含まれていません。まず、[このKaggleデータセット](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv)から[`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv)ファイルをダウンロードする必要があります。Kaggleへの登録が必要になる場合があります。また、登録なしで[こちら](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html)からデータセットをダウンロードすることもできますが、メタデータファイルに加えて全文も含まれます。
+
+[`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/notebook-papers.ipynb)を開き、上から下まで読んでみてください。また、セルを実行したり、最後に残しておいたチャレンジに取り組むこともできます。
+
+
+
+## 画像データの処理
+
+最近、画像を理解するための非常に強力なAIモデルが開発されています。事前学習済みのニューラルネットワークやクラウドサービスを使用して解決できるタスクは多数あります。以下はその例です:
+
+* **画像分類**:画像を事前定義されたクラスのいずれかに分類することができます。[Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)などのサービスを使用して独自の画像分類器を簡単にトレーニングできます。
+* **オブジェクト検出**:画像内のさまざまなオブジェクトを検出します。[Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum)などのサービスは多くの一般的なオブジェクトを検出でき、[Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)モデルをトレーニングして特定の関心オブジェクトを検出することもできます。
+* **顔検出**:年齢、性別、感情の検出を含みます。[Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)を使用して実現できます。
+
+これらのクラウドサービスは[Python SDK](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum)を使用して呼び出すことができるため、データ探索ワークフローに簡単に組み込むことができます。
+
+以下は画像データソースからデータを探索する例です:
+* [How to Learn Data Science without Coding](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/)というブログ記事では、Instagramの写真を探索し、人々が写真に多くの「いいね」を付ける理由を理解しようとしています。まず、[Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum)を使用して写真から可能な限り多くの情報を抽出し、その後[Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum)を使用して解釈可能なモデルを構築します。
+* [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies)では、[Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)を使用してイベントの写真に写っている人々の感情を抽出し、人々を幸せにする要因を理解しようとしています。
+
+## 結論
+
+構造化データでも非構造化データでも、Pythonを使用すればデータ処理と理解に関連するすべてのステップを実行できます。Pythonはおそらく最も柔軟なデータ処理方法であり、そのため多くのデータサイエンティストがPythonを主要なツールとして使用しています。データサイエンスの旅を本格的に進めたい場合は、Pythonを深く学ぶことをお勧めします。
+
+
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## 復習と自己学習
+
+**書籍**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**オンラインリソース**
+* 公式の[10 minutes to Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html)チュートリアル
+* [Pandas Visualizationのドキュメント](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**Python学習**
+* [Learn Python in a Fun Way with Turtle Graphics and Fractals](https://github.com/shwars/pycourse)
+* [Take your First Steps with Python](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) Microsoft Learnの学習パス
+
+## 課題
+
+[上記のチャレンジについてより詳細なデータ研究を行う](assignment.md)
+
+## クレジット
+
+このレッスンは[Dmitry Soshnikov](http://soshnikov.com)によって♥️を込めて作成されました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知おきください。元の言語で記載された文書が公式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/07-python/assignment.md b/translations/ja/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..c571d647
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# Pythonによるデータ処理課題
+
+この課題では、これまでのチャレンジで開発を始めたコードをさらに詳しく説明していただきます。課題は以下の2つの部分で構成されています。
+
+## COVID-19の拡散モデル化
+
+ - [ ] 比較のために5〜6か国の*R*グラフを1つのプロットに描画するか、複数のプロットを並べて表示する
+ - [ ] 死亡者数と回復者数が感染者数とどのように相関しているかを確認する
+ - [ ] 感染率と死亡率を視覚的に相関させ、いくつかの異常を探すことで、典型的な病気の期間を調べる。これを調べるために異なる国を参照する必要があるかもしれません。
+ - [ ] 致死率を計算し、それが時間とともにどのように変化するかを確認する。*病気の期間(日数)を考慮して、計算前に時系列をシフトさせる必要があるかもしれません*
+
+## COVID-19論文の分析
+
+- [ ] 複数の薬剤の共起行列を構築し、どの薬剤が一緒に頻繁に出現するか(つまり、1つの要旨で言及されるか)を確認する。薬剤と診断の共起行列を構築するコードを修正することができます。
+- [ ] この行列をヒートマップで視覚化する。
+- [ ] ストレッチゴールとして、[コードダイアグラム](https://en.wikipedia.org/wiki/Chord_diagram)を使用して薬剤の共起を視覚化する。[このライブラリ](https://pypi.org/project/chord/)がコードダイアグラムの描画に役立つかもしれません。
+- [ ] 別のストレッチゴールとして、正規表現を使用して異なる薬剤の投与量(例:*毎日400mgのクロロキンを服用*の**400mg**など)を抽出し、異なる薬剤の投与量を示すデータフレームを構築する。**注意**: 薬剤名の近くにある数値を考慮してください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+すべてのタスクが完了し、グラフで示され説明されており、ストレッチゴールのうち少なくとも1つが含まれている | 5つ以上のタスクが完了しているが、ストレッチゴールは試みられていない、または結果が明確でない | 3つ以上5つ未満のタスクが完了しており、視覚化がポイントを示すのに役立っていない
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な表現が含まれる可能性があることをご承知おきください。原文(元の言語で記載された文書)が公式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。本翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いかねます。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/08-data-preparation/README.md b/translations/ja/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..8f3a483a
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,344 @@
+
+# データの取り扱い: データ準備
+
+| ](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|データ準備 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+データの出所によっては、生データに一貫性のない部分が含まれており、分析やモデリングにおいて課題を引き起こすことがあります。言い換えれば、このようなデータは「汚れている」と分類され、クリーンアップが必要です。このレッスンでは、欠損、不正確、または不完全なデータの課題に対処するためのデータのクリーニングと変換の手法に焦点を当てます。このレッスンで取り上げるトピックは、PythonとPandasライブラリを使用し、このディレクトリ内の[ノートブック](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)で実演されます。
+
+## データをクリーンにする重要性
+
+- **使いやすさと再利用性**: データが適切に整理され正規化されていると、検索、使用、他者との共有が容易になります。
+
+- **一貫性**: データサイエンスでは、複数のデータセットを扱うことがよくあります。異なるソースからのデータセットを結合する際、各データセットが共通の標準化を持つことで、すべてを1つのデータセットに統合した際にも有用性が保たれます。
+
+- **モデルの精度**: クリーンなデータは、それに依存するモデルの精度を向上させます。
+
+## 一般的なクリーニングの目標と戦略
+
+- **データセットの探索**: データ探索は、[後のレッスン](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing)で取り上げますが、クリーンアップが必要なデータを発見するのに役立ちます。データセット内の値を視覚的に観察することで、他の部分がどのように見えるかの期待値を設定したり、解決可能な問題のアイデアを得ることができます。探索には、基本的なクエリ、可視化、サンプリングが含まれます。
+
+- **フォーマットの統一**: データの出所によっては、提示方法に一貫性がない場合があります。これにより、データセット内で値が見えていても、可視化やクエリ結果で正しく表現されない問題が生じることがあります。一般的なフォーマットの問題には、空白、日付、データ型の解決が含まれます。フォーマットの問題を解決するのは、通常データを使用する人々の責任です。例えば、日付や数字の表現方法に関する標準は国によって異なる場合があります。
+
+- **重複データ**: 同じデータが複数回出現すると、不正確な結果を生む可能性があり、通常は削除する必要があります。これは、2つ以上のデータセットを結合する際によく見られる現象です。ただし、結合されたデータセット内の重複が追加情報を提供する場合があり、その場合は保持する必要があることもあります。
+
+- **欠損データ**: 欠損データは、不正確な結果や偏った結果を引き起こす可能性があります。これらは、データの「再読み込み」、Pythonのようなコードを使用した計算による補完、または単に値と対応するデータを削除することで解決できる場合があります。データが欠損している理由はさまざまであり、それを解決するためのアクションは、データがどのように、なぜ欠損したのかに依存することがあります。
+
+## DataFrame情報の探索
+> **学習目標:** このセクションの終わりまでに、pandas DataFrameに格納されたデータの一般的な情報を見つけることに慣れることができます。
+
+データをpandasにロードすると、それはほぼ間違いなくDataFrameに格納されます(詳細な概要については、前の[レッスン](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe)を参照してください)。しかし、DataFrame内のデータセットが60,000行と400列ある場合、どのようにして扱うデータの概要を把握すればよいのでしょうか?幸いなことに、[pandas](https://pandas.pydata.org/)は、DataFrameの全体的な情報をすばやく確認するための便利なツールを提供しています。これにより、最初と最後の数行を確認することができます。
+
+この機能を探索するために、Pythonのscikit-learnライブラリをインポートし、象徴的なデータセットである**Irisデータセット**を使用します。
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |sepal length (cm)|sepal width (cm)|petal length (cm)|petal width (cm)|
+|----------------------------------------|-----------------|----------------|-----------------|----------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info**: 最初に、`info()`メソッドを使用して、`DataFrame`に含まれる内容の概要を出力します。このデータセットを見てみましょう。
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+これにより、*Iris*データセットには4つの列に150件のエントリがあり、欠損エントリがないことがわかります。すべてのデータは64ビット浮動小数点数として格納されています。
+
+- **DataFrame.head()**: 次に、`DataFrame`の実際の内容を確認するために、`head()`メソッドを使用します。`iris_df`の最初の数行を見てみましょう。
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()**: 逆に、`DataFrame`の最後の数行を確認するには、`tail()`メソッドを使用します。
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **ポイント:** DataFrameのメタデータや最初と最後の数値を見るだけでも、扱っているデータのサイズ、形状、内容について即座に把握することができます。
+
+## 欠損データの処理
+> **学習目標:** このセクションの終わりまでに、DataFrameからnull値を置き換えたり削除したりする方法を理解できるようになります。
+
+使用したい(または使用しなければならない)データセットには、ほとんどの場合、欠損値が含まれています。欠損データの処理方法には微妙なトレードオフがあり、最終的な分析や現実世界の結果に影響を与える可能性があります。
+
+Pandasは欠損値を2つの方法で処理します。1つ目は、以前のセクションで見た`NaN`(Not a Number)です。これは、IEEE浮動小数点仕様の一部であり、欠損浮動小数点値を示すためにのみ使用される特別な値です。
+
+浮動小数点以外の欠損値については、pandasはPythonの`None`オブジェクトを使用します。これら2つの値が本質的に同じことを示しているにもかかわらず、異なる種類の値として扱われるのは混乱を招くかもしれませんが、この設計選択には合理的なプログラム上の理由があります。実際には、この方法を採用することで、pandasは大多数のケースにおいて良好な妥協点を提供しています。それにもかかわらず、`None`と`NaN`の両方には、それらの使用方法に関して注意すべき制限があります。
+
+`NaN`と`None`についての詳細は、[ノートブック](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)を参照してください!
+
+- **null値の検出**: `pandas`では、`isnull()`と`notnull()`メソッドがnullデータを検出するための主な方法です。どちらもデータに対してブールマスクを返します。`NaN`値には`numpy`を使用します。
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+出力をよく見てください。何か驚くことはありますか?`0`は算術的にはnullですが、それでも完全に有効な整数であり、pandasはそれをそのように扱います。`''`は少し微妙です。セクション1では空の文字列値を表すために使用しましたが、それでも文字列オブジェクトであり、pandasにとってはnullの表現ではありません。
+
+次に、これらのメソッドを実際に使用する方法に近い形で使用してみましょう。ブールマスクを直接`Series`や`DataFrame`のインデックスとして使用することができ、欠損値(または存在する値)を分離して操作する際に便利です。
+
+> **ポイント**: `isnull()`と`notnull()`メソッドの両方は、`DataFrame`で使用すると似たような結果を生成します。それらは結果とそのインデックスを表示し、データを扱う際に非常に役立ちます。
+
+- **null値の削除**: 欠損値を特定するだけでなく、pandasは`Series`や`DataFrame`からnull値を削除する便利な方法を提供します。(特に大規模なデータセットでは、分析から欠損値[NA]を単に削除する方が、他の方法で対処するよりも望ましい場合が多いです。)これを実際に見てみましょう。
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+この出力は、`example3[example3.notnull()]`の出力と同じように見えるはずです。ここでの違いは、マスクされた値をインデックス化するのではなく、`dropna`が`Series` `example1`から欠損値を削除したことです。
+
+`DataFrame`は2次元であるため、データを削除するためのオプションが増えます。
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(pandasが2つの列を`NaN`に対応するために浮動小数点にアップキャストしたことに気づきましたか?)
+
+`DataFrame`から単一の値を削除することはできないため、行または列全体を削除する必要があります。状況に応じて、どちらかを選択することができ、pandasはその両方のオプションを提供します。データサイエンスでは、列が変数を表し、行が観測値を表すことが一般的であるため、データの行を削除する方が一般的です。`dropna()`のデフォルト設定は、null値を含むすべての行を削除することです。
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+必要に応じて、列からNA値を削除することもできます。`axis=1`を使用して行います。
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+特に小規模なデータセットでは、保持したいデータが多く削除される可能性があります。すべてのnull値を含む行や列だけを削除したい場合はどうすればよいでしょうか?その場合、`dropna`の`how`および`thresh`パラメータを指定します。
+
+デフォルトでは、`how='any'`です(自分で確認したり、メソッドの他のパラメータを確認したい場合は、コードセルで`example4.dropna?`を実行してください)。代わりに`how='all'`を指定して、すべてのnull値を含む行や列だけを削除することもできます。この動作を確認するために、例の`DataFrame`を拡張してみましょう。
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+`thresh`パラメータを使用すると、より細かい制御が可能になります。保持する行や列に必要な*非null*値の数を設定します。
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+ここでは、最初と最後の行が削除されています。なぜなら、それらは非null値が2つしか含まれていないからです。
+
+- **null値の補完**: データセットによっては、null値を削除するよりも有効な値で補完する方が理にかなっている場合があります。これをインプレースで行うために`isnull`を使用することもできますが、多くの値を補完する必要がある場合は手間がかかります。このため、データサイエンスで非常に一般的なタスクであるため、pandasは`fillna`を提供しています。これにより、欠損値を選択した値で置き換えた`Series`または`DataFrame`のコピーが返されます。これを実際に確認するために、別の例の`Series`を作成してみましょう。
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+すべてのnullエントリを単一の値(例えば`0`)で補完することができます。
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+null値を**前方補完**することもできます。これは、最後の有効な値を使用してnullを補完する方法です。
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+また、**後方補完**を行い、次の有効な値を後方に伝播させてnullを補完することもできます。
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+予想通り、これは`DataFrame`でも同じように機能しますが、null値を補完する軸を指定することもできます。以前使用した`example2`を再度使用します。
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+前方補完のための前の値が利用できない場合、null値はそのまま残ることに注意してください。
+> **ポイント:** データセット内の欠損値を処理する方法は複数あります。使用する具体的な戦略(削除、置換、または置換方法)は、そのデータの特性によって決まります。データセットを扱い、操作する経験を積むことで、欠損値への対処方法に関する感覚が磨かれていきます。
+
+## 重複データの削除
+
+> **学習目標:** このセクションを終える頃には、DataFrameから重複値を特定し削除することに慣れている状態になることを目指します。
+
+欠損データに加えて、現実世界のデータセットでは重複データに遭遇することがよくあります。幸いなことに、`pandas`は重複エントリを検出し削除する簡単な方法を提供しています。
+
+- **重複の特定: `duplicated`**: pandasの`duplicated`メソッドを使用すると、簡単に重複値を特定できます。このメソッドは、`DataFrame`内のエントリが以前のエントリと重複しているかどうかを示すブールマスクを返します。これを実際に試すために、別の例の`DataFrame`を作成してみましょう。
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |letters|numbers|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **重複の削除: `drop_duplicates`**: `duplicated`値がすべて`False`であるデータのコピーを返します。
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+`duplicated`と`drop_duplicates`はデフォルトですべての列を考慮しますが、`DataFrame`内の特定の列のみに限定して検査するよう指定することもできます。
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **ポイント:** 重複データの削除は、ほぼすべてのデータサイエンスプロジェクトにおいて重要なステップです。重複データは分析結果を変えてしまい、不正確な結果をもたらす可能性があります!
+
+
+## 🚀 チャレンジ
+
+このセクションで説明した内容はすべて[Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb)として提供されています。また、各セクションの後には練習問題が用意されていますので、ぜひ挑戦してみてください!
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+
+
+## 復習と自己学習
+
+データを分析やモデリングのために準備する方法を発見し、アプローチする方法は数多くあります。データをクリーンアップすることは重要なステップであり、「実践的な」経験が求められます。このレッスンで触れなかった技術を探求するために、Kaggleの以下のチャレンジに挑戦してみてください。
+
+- [データクリーニングチャレンジ: 日付の解析](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [データクリーニングチャレンジ: データのスケールと正規化](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+
+## 課題
+
+[フォームからのデータ評価](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてお考えください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/08-data-preparation/assignment.md b/translations/ja/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..b8a5bf51
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# フォームからのデータ評価
+
+クライアントは、顧客層に関する基本的なデータを収集するための[小さなフォーム](../../../../2-Working-With-Data/08-data-preparation/index.html)をテストしてきました。彼らは収集したデータを検証するためにその結果を持ってきました。ブラウザで`index.html`ページを開いてフォームを確認することができます。
+
+また、フォームからのエントリーを含む[CSV形式のデータセット](../../../../data/form.csv)といくつかの基本的な可視化が提供されています。クライアントは、いくつかの可視化が正しくないように見えると指摘しましたが、どのように解決すればよいか分からないようです。[課題ノートブック](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb)でこれを探索することができます。
+
+## 手順
+
+このレッスンで学んだ技術を使用して、フォームが正確で一貫性のある情報を収集できるようにするための提案を行ってください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/2-Working-With-Data/README.md b/translations/ja/2-Working-With-Data/README.md
new file mode 100644
index 00000000..14dd1dcc
--- /dev/null
+++ b/translations/ja/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# データの活用
+
+
+> 写真提供: Alexander Sinn on Unsplash
+
+このレッスンでは、データを管理、操作、そしてアプリケーションで活用する方法について学びます。リレーショナルデータベースと非リレーショナルデータベースについて学び、それらにデータを保存する方法を理解します。また、Pythonを使ったデータ管理の基本を学び、Pythonを活用してデータを管理・分析するさまざまな方法を発見します。
+
+### トピック
+
+1. [リレーショナルデータベース](05-relational-databases/README.md)
+2. [非リレーショナルデータベース](06-non-relational/README.md)
+3. [Pythonの活用](07-python/README.md)
+4. [データの準備](08-data-preparation/README.md)
+
+### クレジット
+
+これらのレッスンは、[Christopher Harrison](https://twitter.com/geektrainer)、[Dmitry Soshnikov](https://twitter.com/shwars)、[Jasmine Greenaway](https://twitter.com/paladique) によって ❤️ を込めて書かれました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/09-visualization-quantities/README.md b/translations/ja/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..f699b72b
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,220 @@
+
+# 数量の可視化
+
+| ](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 数量の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+このレッスンでは、Pythonの多くのライブラリの1つを使用して、数量の概念に基づいた興味深い可視化を作成する方法を学びます。ミネソタ州の鳥に関するクリーンなデータセットを使用して、地元の野生生物について多くの興味深い事実を学ぶことができます。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## Matplotlibで翼幅を観察する
+
+[Matplotlib](https://matplotlib.org/stable/index.html)は、さまざまな種類のシンプルで洗練されたプロットやチャートを作成するのに優れたライブラリです。一般的に、これらのライブラリを使用してデータをプロットするプロセスには、データフレームのターゲット部分を特定し、そのデータに必要な変換を行い、x軸とy軸の値を割り当て、表示するプロットの種類を決定し、プロットを表示することが含まれます。Matplotlibは多種多様な可視化を提供しますが、このレッスンでは数量を可視化するのに最も適したもの、つまり折れ線グラフ、散布図、棒グラフに焦点を当てます。
+
+> ✅ データの構造や伝えたいストーリーに最適なチャートを使用しましょう。
+> - 時間の経過による傾向を分析するには: 折れ線グラフ
+> - 値を比較するには: 棒グラフ、縦棒グラフ、円グラフ、散布図
+> - 部分が全体とどのように関連しているかを示すには: 円グラフ
+> - データの分布を示すには: 散布図、棒グラフ
+> - 傾向を示すには: 折れ線グラフ、縦棒グラフ
+> - 値間の関係を示すには: 折れ線グラフ、散布図、バブルチャート
+
+データセットを持っていて、特定の項目がどれだけ含まれているかを調べる必要がある場合、最初のタスクはその値を確認することです。
+
+✅ Matplotlibの非常に便利な「チートシート」が[こちら](https://matplotlib.org/cheatsheets/cheatsheets.pdf)にあります。
+
+## 鳥の翼幅値について折れ線グラフを作成する
+
+このレッスンフォルダのルートにある`notebook.ipynb`ファイルを開き、セルを追加してください。
+
+> 注: データはこのリポジトリのルートにある`/data`フォルダに保存されています。
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+このデータはテキストと数値が混在しています:
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+これらの興味深い鳥の最大翼幅を視覚化するために、基本的な折れ線グラフをプロットしてみましょう。
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+何がすぐに目に留まりますか?少なくとも1つの外れ値があるようです。これはかなりの翼幅ですね!2300センチメートルの翼幅は23メートルに相当します。ミネソタ州にプテロダクティルスがいるのでしょうか?調査してみましょう。
+
+Excelで外れ値を素早くソートすることもできますが、プロット内で作業を続けて可視化プロセスを進めてみましょう。
+
+x軸にラベルを追加して、どの種類の鳥が対象であるかを表示します:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+ラベルを45度回転させても、読み取るには多すぎます。別の戦略を試してみましょう。外れ値だけにラベルを付け、チャート内にラベルを設定します。散布図を使用してラベル付けのスペースを確保できます:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+ここで何が起こっているのでしょうか?`tick_params`を使用して下部のラベルを非表示にし、鳥のデータセットをループしました。`bo`を使用して小さな青い丸の点でチャートをプロットし、最大翼幅が500を超える鳥をチェックして、該当する場合は点の横にラベルを表示しました。ラベルをy軸で少しオフセットし(`y * (1 - 0.05)`)、鳥の名前をラベルとして使用しました。
+
+何がわかりましたか?
+
+
+
+## データをフィルタリングする
+
+ハクトウワシとプレーリーハヤブサは、おそらく非常に大きな鳥ですが、最大翼幅に余分な`0`が追加されているようです。翼幅が25メートルのハクトウワシに出会う可能性は低いですが、もしそうならぜひ教えてください!これら2つの外れ値を除外した新しいデータフレームを作成しましょう:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+外れ値を除外することで、データがより一貫性があり理解しやすくなりました。
+
+
+
+少なくとも翼幅に関してクリーンなデータセットが得られたので、これらの鳥についてさらに詳しく調べてみましょう。
+
+折れ線グラフや散布図はデータ値やその分布に関する情報を表示できますが、このデータセットに内在する値について考えてみましょう。以下のような数量に関する質問に答えるための可視化を作成できます:
+
+> 鳥のカテゴリはいくつあり、それぞれの数はどれくらいですか?
+> 絶滅、絶滅危惧、希少、または一般的な鳥はどれくらいいますか?
+> リンネの分類法におけるさまざまな属や目の数はどれくらいですか?
+
+## 棒グラフを探る
+
+棒グラフは、データのグループを表示する必要がある場合に実用的です。このデータセットに存在する鳥のカテゴリを調べて、どのカテゴリが最も一般的であるかを確認してみましょう。
+
+ノートブックファイルで基本的な棒グラフを作成します。
+
+✅ 前のセクションで特定した2つの外れ値の鳥を除外するか、翼幅のタイプミスを修正するか、またはこれらの演習に依存しないためそのままにしておくことができます。
+
+棒グラフを作成するには、焦点を当てたいデータを選択します。棒グラフは生データから作成できます:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+ただし、この棒グラフは非グループ化されたデータが多すぎて読み取れません。プロットしたいデータだけを選択する必要があります。鳥のカテゴリに基づいて長さを調べてみましょう。
+
+データをフィルタリングして、鳥のカテゴリだけを含めます。
+
+✅ Pandasを使用してデータを管理し、Matplotlibにチャート作成を任せることに注意してください。
+
+カテゴリが多いため、このチャートを縦に表示し、すべてのデータを考慮するために高さを調整できます:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+この棒グラフは、各カテゴリの鳥の数をよく示しています。一目で、この地域で最も多い鳥がカモ/ガチョウ/水鳥のカテゴリに属していることがわかります。ミネソタ州は「1万の湖の地」として知られているので、これは驚くべきことではありません!
+
+✅ このデータセットで他のカウントを試してみてください。何か驚くことはありますか?
+
+## データの比較
+
+新しい軸を作成して、グループ化されたデータのさまざまな比較を試すことができます。鳥のカテゴリに基づいて鳥の最大長を比較してみましょう:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+ここでは驚くことはありません。ハチドリはペリカンやガチョウと比較して最大長が最も短いです。データが論理的に意味をなすのは良いことです!
+
+棒グラフのデータを重ね合わせることで、より興味深い可視化を作成できます。鳥のカテゴリごとに最小長と最大長を重ね合わせてみましょう:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+このプロットでは、鳥のカテゴリごとの最小長と最大長の範囲を見ることができます。このデータに基づいて、鳥が大きいほどその長さの範囲も広いと言えます。興味深いですね!
+
+
+
+## 🚀 チャレンジ
+
+この鳥のデータセットは、特定の生態系内のさまざまな種類の鳥に関する豊富な情報を提供します。インターネットで他の鳥に関するデータセットを探してみてください。これらの鳥に関するチャートやグラフを作成して、知らなかった事実を発見してみましょう。
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 復習と自己学習
+
+この最初のレッスンでは、Matplotlibを使用して数量を可視化する方法についての情報をいくつか提供しました。データセットを可視化するための他の方法について調査してみてください。[Plotly](https://github.com/plotly/plotly.py)はこのレッスンでは取り上げませんが、その提供内容を確認してみてください。
+
+## 課題
+
+[折れ線、散布図、棒グラフ](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/ja/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..7180575b
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 線グラフ、散布図、棒グラフ
+
+## 手順
+
+このレッスンでは、線グラフ、散布図、棒グラフを使用して、このデータセットに関する興味深い事実を示しました。この課題では、データセットをさらに掘り下げて、特定の鳥の種類に関する事実を発見してください。例えば、Snow Geese(ハクガン)に関する興味深いデータをすべて視覚化するノートブックを作成してください。上記の3つのプロットを使用して、ノートブック内でストーリーを伝えましょう。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+良好な注釈、しっかりしたストーリーテリング、魅力的なグラフを備えたノートブックが提示されている | ノートブックにこれらの要素のうち1つが欠けている | ノートブックにこれらの要素のうち2つが欠けている
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてお考えください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/10-visualization-distributions/README.md b/translations/ja/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..0556945a
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,214 @@
+
+# 分布の可視化
+
+| ](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 分布の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+前のレッスンでは、ミネソタ州の鳥に関するデータセットについていくつか興味深い事実を学びました。外れ値を可視化することで誤ったデータを見つけ、鳥のカテゴリ間の最大長の違いを確認しました。
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 鳥のデータセットを探索する
+
+データを掘り下げるもう一つの方法は、その分布、つまりデータが軸に沿ってどのように整理されているかを見ることです。例えば、このデータセットでミネソタ州の鳥の最大翼幅や最大体重の一般的な分布について知りたいと思うかもしれません。
+
+このデータセットの分布に関するいくつかの事実を発見してみましょう。このレッスンフォルダのルートにある _notebook.ipynb_ ファイルで、Pandas、Matplotlib、およびデータをインポートします:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+一般的に、前のレッスンで行ったように散布図を使用することで、データがどのように分布しているかをすばやく確認できます:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+これにより、鳥の「Order」ごとの体長の一般的な分布が概観できますが、真の分布を表示する最適な方法ではありません。このタスクは通常、ヒストグラムを作成することで処理されます。
+## ヒストグラムの操作
+
+Matplotlibはヒストグラムを使用してデータ分布を視覚化する非常に優れた方法を提供します。このタイプのチャートは棒グラフのようなもので、棒の上昇と下降を通じて分布を見ることができます。ヒストグラムを作成するには数値データが必要です。ヒストグラムを作成するには、チャートの種類を「hist」と定義してプロットします。このチャートは、データセット全体の数値データ範囲における `MaxBodyMass` の分布を示します。与えられたデータ配列を小さなビンに分割することで、データ値の分布を表示できます:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+ご覧のように、このデータセットに含まれる400以上の鳥のほとんどは、最大体重が2000未満の範囲に収まっています。`bins` パラメータを30などの高い数値に変更して、データについてさらに洞察を得てみましょう:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+このチャートは、より細かい粒度で分布を示しています。左に偏りすぎないチャートを作成するには、特定の範囲内のデータのみを選択するようにします:
+
+体重が60未満の鳥のみをフィルタリングし、40の `bins` を表示します:
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 他のフィルタやデータポイントを試してみましょう。データの完全な分布を表示するには、`['MaxBodyMass']` フィルタを削除してラベル付き分布を表示します。
+
+ヒストグラムには、色やラベルの強化機能もあります:
+
+2Dヒストグラムを作成して、2つの分布間の関係を比較します。`MaxBodyMass` と `MaxLength` を比較してみましょう。Matplotlibは、明るい色を使用して収束を表示する組み込みの方法を提供します:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+これら2つの要素間には予想される軸に沿った相関関係があるようで、特に強い収束点が1つあります:
+
+
+
+ヒストグラムはデフォルトで数値データに適しています。では、テキストデータに基づいて分布を見る必要がある場合はどうでしょうか?
+## テキストデータを使用したデータセットの分布を探索する
+
+このデータセットには、鳥のカテゴリ、属、種、科、および保全状況に関する良い情報も含まれています。この保全情報を掘り下げてみましょう。鳥の保全状況に応じた分布はどのようになっていますか?
+
+> ✅ データセットでは、保全状況を説明するためにいくつかの略語が使用されています。これらの略語は、種の状況をカタログ化する組織である [IUCNレッドリストカテゴリ](https://www.iucnredlist.org/) に由来します。
+>
+> - CR: 絶滅危惧種
+> - EN: 危急種
+> - EX: 絶滅種
+> - LC: 軽度懸念
+> - NT: 準絶滅危惧種
+> - VU: 危惧種
+
+これらはテキストベースの値なので、ヒストグラムを作成するには変換が必要です。`filteredBirds` データフレームを使用して、その保全状況と最小翼幅を表示します。何が見えますか?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+最小翼幅と保全状況の間には良い相関関係がないようです。この方法を使用してデータセットの他の要素をテストしてください。異なるフィルタも試してみてください。何か相関関係が見つかりますか?
+
+## 密度プロット
+
+これまで見てきたヒストグラムは「段階的」であり、滑らかな弧を描いていないことに気付いたかもしれません。より滑らかな密度チャートを表示するには、密度プロットを試してみることができます。
+
+密度プロットを操作するには、新しいプロットライブラリ [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) に慣れる必要があります。
+
+Seabornを読み込み、基本的な密度プロットを試してみましょう:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+このプロットが最小翼幅データに対して以前のものを反映していることがわかります。ただし、少し滑らかになっています。Seabornのドキュメントによると、「ヒストグラムに比べて、KDEは複数の分布を描画する際に、よりすっきりと解釈しやすいプロットを生成できます。ただし、基礎となる分布が境界付きまたは滑らかでない場合、歪みを引き起こす可能性があります。ヒストグラムと同様に、表現の品質は良いスムージングパラメータの選択にも依存します。」[source](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) つまり、外れ値は常にチャートの動作を悪化させる可能性があります。
+
+2番目に作成したギザギザの `MaxBodyMass` ラインを再訪したい場合、この方法を使用して非常に滑らかにすることができます:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+滑らかすぎないラインを作成したい場合は、`bw_adjust` パラメータを編集します:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ このタイプのプロットで利用可能なパラメータについて調べて、実験してみましょう!
+
+このタイプのチャートは非常に説明的な視覚化を提供します。例えば、数行のコードで鳥の「Order」ごとの最大体重密度を表示できます:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+また、1つのチャートで複数の変数の密度をマッピングすることもできます。鳥の最大長と最小長を保全状況と比較してみましょう:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+「危惧種」の鳥の長さに基づくクラスターが意味を持つかどうかを調査する価値があるかもしれません。
+
+## 🚀 チャレンジ
+
+ヒストグラムは、基本的な散布図、棒グラフ、折れ線グラフよりも洗練されたタイプのチャートです。インターネットでヒストグラムの良い例を探してみましょう。それらはどのように使用されているか、何を示しているか、どの分野や調査領域で使用される傾向があるかを調べてください。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 復習と自己学習
+
+このレッスンでは、Matplotlibを使用し、Seabornを使い始めて、より洗練されたチャートを表示しました。Seabornの `kdeplot` について調査し、「1次元または複数次元の連続確率密度曲線」を理解してください。[ドキュメント](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) を読んでその仕組みを理解しましょう。
+
+## 課題
+
+[スキルを活用する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤訳について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/ja/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..0b5130ea
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# スキルを活用しよう
+
+## 手順
+
+これまで、ミネソタ州の鳥類データセットを使って、鳥の数や個体数密度に関する情報を調べてきました。この技術を応用する練習として、[Kaggle](https://www.kaggle.com/)などから別のデータセットを選んで試してみましょう。このデータセットについてのストーリーを伝えるノートブックを作成し、議論の際にはヒストグラムを使用することを忘れないでください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+このデータセットに関する注釈(その出典を含む)が記載されたノートブックが提示され、少なくとも5つのヒストグラムを使用してデータに関する事実を発見している。 | 注釈が不完全またはバグが含まれるノートブックが提示されている。 | 注釈がなく、バグが含まれるノートブックが提示されている。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/11-visualization-proportions/README.md b/translations/ja/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..d522036b
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,203 @@
+
+# 比率の可視化
+
+| ](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|比率の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+このレッスンでは、自然に焦点を当てた別のデータセットを使用して、キノコに関するデータセット内でどのくらいの種類の菌類が存在するかなど、比率を可視化します。Audubonから提供されたデータセットを使用して、Agaricus(ハラタケ属)とLepiota(ハラタケモドキ属)の23種のひだのあるキノコに関する詳細を探ります。以下のような魅力的な可視化を試してみましょう:
+
+- 円グラフ 🥧
+- ドーナツグラフ 🍩
+- ワッフルチャート 🧇
+
+> 💡 Microsoft Researchによる[Charticulator](https://charticulator.com)という非常に興味深いプロジェクトでは、データ可視化のための無料のドラッグ&ドロップインターフェースを提供しています。彼らのチュートリアルの1つでもこのキノコのデータセットが使用されています!データを探索しながらライブラリの使い方を学ぶことができます:[Charticulator tutorial](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## キノコを知ろう 🍄
+
+キノコはとても興味深い存在です。データセットをインポートして調べてみましょう:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+以下のような分析に適したデータがテーブルとして出力されます:
+
+| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
+| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
+| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+
+すぐに気づくのは、すべてのデータがテキスト形式であることです。このデータをチャートで使用できるように変換する必要があります。実際、このデータの多くはオブジェクトとして表現されています:
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+出力は以下の通りです:
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+このデータを使用して、'class'列をカテゴリに変換します:
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+これで、キノコのデータを印刷すると、毒性/食用のクラスに基づいてカテゴリにグループ化されたことがわかります:
+
+| | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | ... | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| class | | | | | | | | | | | | | | | | | | | | | |
+| Edible | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| Poisonous | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+このテーブルの順序に従ってクラスカテゴリラベルを作成すれば、円グラフを作成できます。
+
+## 円グラフ!
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+このデータを2つのキノコクラスに基づいて比率を示す円グラフとして表示します。特にここではラベルの順序が重要なので、ラベル配列の順序を確認してください!
+
+
+
+## ドーナツグラフ!
+
+円グラフを少し視覚的に面白くしたものがドーナツグラフです。これは中央に穴がある円グラフです。この方法でデータを見てみましょう。
+
+キノコが生育するさまざまな生息地を見てみましょう:
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+ここではデータを生息地ごとにグループ化しています。7つの生息地がリストされているので、それらをドーナツグラフのラベルとして使用します:
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+このコードはチャートと中央の円を描画し、その後その中央の円をチャートに追加します。中央の円の幅を変更するには、`0.40`を別の値に変更してください。
+
+ドーナツグラフはラベルを変更するなど、いくつかの方法で調整できます。特にラベルは読みやすさのために強調表示できます。詳細は[ドキュメント](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut)をご覧ください。
+
+データをグループ化して円グラフやドーナツグラフとして表示する方法を学んだので、他の種類のチャートも試してみましょう。次はワッフルチャートです。これは数量を別の方法で探索するものです。
+
+## ワッフルチャート!
+
+ワッフルチャートは、数量を2Dの正方形の配列として視覚化する方法です。このデータセット内のキノコの傘の色の異なる数量を視覚化してみましょう。そのためには、[PyWaffle](https://pypi.org/project/pywaffle/)というヘルパーライブラリをインストールし、Matplotlibを使用します:
+
+```python
+pip install pywaffle
+```
+
+データの一部を選択してグループ化します:
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+ラベルを作成し、データをグループ化してワッフルチャートを作成します:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+ワッフルチャートを使用すると、このキノコのデータセットの傘の色の比率がはっきりとわかります。興味深いことに、緑色の傘を持つキノコが多く存在します!
+
+
+
+✅ PyWaffleは、[Font Awesome](https://fontawesome.com/)で利用可能なアイコンを使用して、チャート内にアイコンを表示することをサポートしています。アイコンを正方形の代わりに使用して、さらに面白いワッフルチャートを作成する実験をしてみてください。
+
+このレッスンでは、比率を可視化する3つの方法を学びました。まず、データをカテゴリにグループ化し、次にデータを表示する最適な方法(円グラフ、ドーナツグラフ、またはワッフルチャート)を決定します。どれも魅力的で、データセットのスナップショットを瞬時に提供します。
+
+## 🚀 チャレンジ
+
+[Charticulator](https://charticulator.com)でこれらの美味しいチャートを再現してみてください。
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 復習と自己学習
+
+円グラフ、ドーナツグラフ、ワッフルチャートのどれを使用するべきかは、時には明確ではありません。このトピックに関する以下の記事を読んでみてください:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+さらに情報を探して、この難しい選択について調査してみてください。
+
+## 課題
+
+[Excelで試してみる](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/ja/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..cf2d10ac
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# Excelで試してみよう
+
+## 手順
+
+Excelでドーナツ、円グラフ、ワッフルチャートを作成できることをご存知ですか?お好きなデータセットを使用して、これら3種類のチャートをExcelスプレッドシート内で作成してみましょう。
+
+## 評価基準
+
+| 優秀 | 適切 | 改善が必要 |
+| ------------------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------- |
+| 3種類のチャートが含まれたExcelスプレッドシートが提出されている | 2種類のチャートが含まれたExcelスプレッドシートが提出されている | 1種類のチャートのみが含まれたExcelスプレッドシートが提出されている |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md b/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..db8dcdcc
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,184 @@
+
+# 関係の可視化: ハチミツについて 🍯
+
+| ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|関係の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+私たちの研究の自然に焦点を当てたテーマを続けて、[アメリカ合衆国農務省](https://www.nass.usda.gov/About_NASS/index.php)から得られたデータセットに基づいて、さまざまな種類のハチミツの関係を示す興味深い可視化を探ってみましょう。
+
+この約600項目のデータセットは、アメリカの多くの州におけるハチミツ生産を示しています。例えば、1998年から2012年までの各州の1年ごとのデータとして、コロニー数、コロニーあたりの収量、総生産量、在庫、1ポンドあたりの価格、そして生産されたハチミツの価値を確認することができます。
+
+特定の州の年間生産量とその州のハチミツの価格との関係を可視化するのは興味深いでしょう。または、州ごとのコロニーあたりのハチミツ収量の関係を可視化することもできます。この期間には、2006年に初めて確認された「コロニー崩壊症候群(CCD)」(http://npic.orst.edu/envir/ccd.html) が含まれており、研究するには感慨深いデータセットです。🐝
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+このレッスンでは、以前使用したSeabornを使って、変数間の関係を可視化する方法を学びます。特に興味深いのは、Seabornの`relplot`関数を使用して、散布図や折れ線グラフを作成し、データサイエンティストが変数間の関係をよりよく理解できるようにする「[統計的関係](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)」を迅速に可視化することです。
+
+## 散布図
+
+散布図を使用して、州ごとのハチミツの価格が年々どのように変化しているかを示しましょう。Seabornの`relplot`を使用すると、州ごとのデータをグループ化し、カテゴリカルデータと数値データの両方のデータポイントを表示できます。
+
+まず、データとSeabornをインポートしましょう:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+ハチミツデータには、年や1ポンドあたりの価格など、いくつかの興味深い列が含まれていることに気づくでしょう。このデータをアメリカの州ごとにグループ化して調べてみましょう:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+1ポンドあたりのハチミツの価格とその州の関係を示す基本的な散布図を作成しましょう。`y`軸を十分に高くして、すべての州を表示できるようにします:
+
+```python
+sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
+```
+
+
+次に、ハチミツの色合いを使って、価格が年々どのように変化しているかを示しましょう。これを行うには、`hue`パラメータを追加して、年ごとの変化を表示します:
+
+> ✅ [Seabornで使用できるカラーパレット](https://seaborn.pydata.org/tutorial/color_palettes.html)についてもっと学びましょう - 美しい虹色のカラースキームを試してみてください!
+
+```python
+sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
+```
+
+
+このカラースキームの変更により、1ポンドあたりのハチミツの価格が年々明らかに上昇していることがわかります。実際、データのサンプルセットを確認すると(例えばアリゾナ州を選んでみると)、例外はあるものの、価格が年々上昇しているパターンが見られます:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+色ではなくサイズを使ってこの進行を可視化する別の方法もあります。色覚異常のユーザーにとっては、こちらの方が良い選択肢かもしれません。ドットの円周を増やすことで価格の上昇を示すように可視化を編集しましょう:
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+ドットのサイズが徐々に大きくなっているのがわかります。
+
+
+
+これは単純な需要と供給の問題でしょうか?気候変動やコロニー崩壊などの要因により、年々購入可能なハチミツが減少し、その結果価格が上昇しているのでしょうか?
+
+このデータセット内のいくつかの変数間の相関を発見するために、折れ線グラフを探ってみましょう。
+
+## 折れ線グラフ
+
+質問:1ポンドあたりのハチミツの価格は年々明確に上昇しているのでしょうか?これを最も簡単に発見する方法は、1本の折れ線グラフを作成することです:
+
+```python
+sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
+```
+答え:はい、2003年頃を除いて上昇しています:
+
+
+
+✅ Seabornはデフォルトで「各x値での複数の測定値を平均値とその周りの95%信頼区間をプロットすることで表示」します。[出典](https://seaborn.pydata.org/tutorial/relational.html)。この時間のかかる動作は、`ci=None`を追加することで無効にできます。
+
+質問:では、2003年にはハチミツの供給量の急増も見られるのでしょうか?年ごとの総生産量を見てみましょう:
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+答え:そうではありません。総生産量を見ると、実際にはその年に増加しているように見えますが、一般的にはこれらの年に生産量が減少していることがわかります。
+
+質問:その場合、2003年頃のハチミツ価格の急上昇の原因は何だったのでしょうか?
+
+これを発見するために、ファセットグリッドを探ってみましょう。
+
+## ファセットグリッド
+
+ファセットグリッドは、データセットの1つの側面(この場合、'year'を選ぶと、生成されるファセットが多すぎるのを避けられます)を取り、Seabornが選択したx座標とy座標のプロットを各ファセットごとに作成します。これにより、比較が容易になります。2003年はこのような比較で際立っているでしょうか?
+
+Seabornの[ドキュメント](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid)で推奨されているように、`relplot`を使い続けてファセットグリッドを作成しましょう。
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+この可視化では、コロニーあたりの収量とコロニー数を年ごとに比較し、列を3つに設定して並べて表示します:
+
+
+
+このデータセットでは、州ごとのコロニー数や収量に関して、年ごとに特に目立つものはありません。これら2つの変数間の相関を見つける別の方法はあるでしょうか?
+
+## デュアルラインプロット
+
+Seabornの`despine`を使用して上部と右側のスパインを削除し、Matplotlibから派生した`ax.twinx`を使用して2つの折れ線グラフを重ねてみましょう。Twixはx軸を共有し、2つのy軸を表示することができます。これにより、コロニーあたりの収量とコロニー数を重ねて表示します:
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+sns.despine(right=False)
+plt.ylabel('colony yield')
+ax.figure.legend();
+```
+
+
+2003年頃に目立つものはありませんが、全体的にコロニー数が減少している一方で、コロニー数が安定していることがわかります。コロニーあたりの収量は減少しているものの、少し明るいニュースでこのレッスンを終えることができます。
+
+がんばれ、ミツバチたち!
+
+🐝❤️
+## 🚀 チャレンジ
+
+このレッスンでは、散布図やライングリッドの他の使い方、特にファセットグリッドについて少し学びました。これまでのレッスンで使用した別のデータセットを使ってファセットグリッドを作成してみましょう。それらを作成するのにどれくらい時間がかかるか、またこれらの技術を使用する際に描画するグリッドの数に注意する必要があるかを確認してください。
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 復習と自己学習
+
+折れ線グラフはシンプルなものから非常に複雑なものまであります。[Seabornのドキュメント](https://seaborn.pydata.org/generated/seaborn.lineplot.html)を読んで、折れ線グラフを構築するさまざまな方法について学んでみましょう。このレッスンで作成した折れ線グラフを、ドキュメントに記載されている他の方法で強化してみてください。
+## 課題
+
+[ハチの巣に飛び込もう](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/ja/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..b8db0039
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# 蜂の巣を探る
+
+## 手順
+
+このレッスンでは、蜂とその蜂蜜生産に関するデータセットを見始めました。この期間中、蜂群の全体的な減少が見られました。このデータセットをさらに深く掘り下げ、州ごと、年ごとに蜂の群れの健康状態を物語るノートブックを作成してください。このデータセットについて何か興味深い発見はありますか?
+
+## 評価基準
+
+| 優秀 | 適切 | 改善が必要 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------- |
+| データセットの州ごと、年ごとの側面を示す少なくとも3つの異なるチャートで注釈付きの物語がノートブックに提示されている | ノートブックにこれらの要素の1つが欠けている | ノートブックにこれらの要素の2つが欠けている |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..090b1a30
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# 意味のあるデータビジュアライゼーションを作る
+
+| ](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 意味のあるデータビジュアライゼーション - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+> 「データを十分に拷問すれば、何でも白状する」 -- [ロナルド・コース](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+データサイエンティストの基本的なスキルの一つは、質問に答えるのに役立つ意味のあるデータビジュアライゼーションを作成する能力です。データを可視化する前に、前のレッスンで行ったように、データをクリーンアップし準備する必要があります。その後、データを最適に提示する方法を決定することができます。
+
+このレッスンでは以下を学びます:
+
+1. 適切なチャートタイプの選び方
+2. 誤解を招くチャートを避ける方法
+3. 色の使い方
+4. 読みやすさのためのチャートのスタイリング方法
+5. アニメーションや3Dチャートソリューションの構築方法
+6. 創造的なビジュアライゼーションの構築方法
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 適切なチャートタイプを選ぶ
+
+前のレッスンでは、MatplotlibやSeabornを使ってさまざまな興味深いデータビジュアライゼーションを作成する実験をしました。一般的に、以下の表を使って質問に応じた[適切なチャートタイプ](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)を選ぶことができます:
+
+| 必要なこと | 使用すべきもの |
+| -------------------------- | ------------------------------- |
+| 時間経過によるデータの傾向を示す | 折れ線グラフ |
+| カテゴリーを比較する | 棒グラフ、円グラフ |
+| 合計を比較する | 円グラフ、積み上げ棒グラフ |
+| 関係性を示す | 散布図、折れ線グラフ、ファセット、二重折れ線グラフ |
+| 分布を示す | 散布図、ヒストグラム、箱ひげ図 |
+| 比率を示す | 円グラフ、ドーナツグラフ、ワッフルグラフ |
+
+> ✅ データの構成によっては、特定のチャートをサポートするためにテキストデータを数値データに変換する必要がある場合があります。
+
+## 誤解を招くことを避ける
+
+データサイエンティストが適切なチャートを選んだとしても、データを誤解を招く形で表示する方法はたくさんあります。これにより、データそのものを損なうことがあります。誤解を招くチャートやインフォグラフィックの例は数多く存在します!
+
+[](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)を収集しています。
+
+誤解を招くチャートによって目が簡単に欺かれる方法を理解することが重要です。データサイエンティストの意図が良くても、例えば多すぎるカテゴリーを示す円グラフのような悪いタイプのチャートを選ぶと、誤解を招く可能性があります。
+
+## 色
+
+上記の「フロリダ銃暴力」チャートでは、色がチャートに追加の意味を与える方法を示しています。特にMatplotlibやSeabornのようなライブラリで設計されていないチャートでは、これらのライブラリにはさまざまな検証済みのカラーパレットが含まれています。手作業でチャートを作成する場合は、[色彩理論](https://colormatters.com/color-and-design/basic-color-theory)を少し学んでみてください。
+
+> ✅ チャートを設計する際には、アクセシビリティが重要な側面であることを認識してください。一部のユーザーは色覚異常を持っているかもしれません。視覚障害を持つユーザーにとってもチャートが適切に表示されるか確認してください。
+
+チャートの色を選ぶ際には注意が必要です。色は意図しない意味を伝える可能性があります。上記の「身長」チャートの「ピンクの女性」は、明確に「女性的」とされる意味を伝え、チャート自体の奇妙さを増しています。
+
+[色の意味](https://colormatters.com/color-symbolism/the-meanings-of-colors)は地域によって異なる場合があり、色の濃淡によって意味が変わる傾向があります。一般的に、色の意味は以下の通りです:
+
+| 色 | 意味 |
+| ------ | ------------------- |
+| 赤 | 力 |
+| 青 | 信頼、忠誠 |
+| 黄色 | 幸せ、注意 |
+| 緑 | 環境、幸運、嫉妬 |
+| 紫 | 幸せ |
+| オレンジ | 活気 |
+
+カスタムカラーでチャートを作成する場合、チャートがアクセシブルであり、選んだ色が伝えたい意味と一致していることを確認してください。
+
+## 読みやすさのためのチャートのスタイリング
+
+チャートは読みやすくなければ意味がありません!チャートの幅と高さをデータに合わせてスケールするようにスタイリングすることを検討してください。例えば、50州すべてを表示する必要がある場合、可能であればY軸に縦に表示して、横スクロールのチャートを避けてください。
+
+軸にラベルを付け、必要に応じて凡例を提供し、データの理解を深めるためにツールチップを提供してください。
+
+データがX軸でテキストとして表示される場合、読みやすさを向上させるためにテキストを角度をつけて表示することができます。[Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html)は、データが対応している場合に3Dプロットを提供します。`mpl_toolkits.mplot3d`を使用して高度なデータビジュアライゼーションを作成することができます。
+
+
+
+## アニメーションと3Dチャート表示
+
+今日の最高のデータビジュアライゼーションの中には、アニメーション化されたものがあります。Shirley WuはD3を使って素晴らしいものを作成しています。例えば、'[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'では、各花が映画のビジュアライゼーションを表しています。Guardianの例では「bussed out」というインタラクティブな体験があり、GreensockとD3を使用してNYCがホームレス問題をどのように扱っているかを示すスクロール型の記事形式のビジュアライゼーションを提供しています。
+
+
+
+> 「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)。ビジュアライゼーション by Nadieh Bremer & Shirley Wu
+
+このレッスンではこれらの強力なビジュアライゼーションライブラリを深く学ぶことはできませんが、D3を使用してVue.jsアプリで「危険な関係」という本のアニメーション化されたソーシャルネットワークのビジュアライゼーションを表示するライブラリを試してみてください。
+
+> 「Les Liaisons Dangereuses」は書簡形式の小説で、手紙のシリーズとして提示される小説です。1782年にChoderlos de Laclosによって書かれ、18世紀後半のフランス貴族の二人の主人公、Vicomte de ValmontとMarquise de Merteuilの悪意ある社会的操作を描いています。両者は最終的に破滅しますが、社会的な損害を大いに与えます。この小説は、復讐を企てたり単に問題を起こしたりするために彼らの周囲の人々に送られた手紙のシリーズとして展開します。これらの手紙のビジュアライゼーションを作成して、物語の主要な中心人物を視覚的に発見してください。
+
+このソーシャルネットワークのアニメーションビューを表示するウェブアプリを完成させます。このアプリは、Vue.jsとD3を使用して[ネットワークのビジュアル](https://github.com/emiliorizzo/vue-d3-network)を作成するために構築されたライブラリを使用します。アプリが実行されると、画面上でノードを引っ張ってデータをシャッフルすることができます。
+
+
+
+## プロジェクト: D3.jsを使ってネットワークを示すチャートを作成する
+
+> このレッスンフォルダには、完成したプロジェクトを参照できる`solution`フォルダが含まれています。
+
+1. スターターフォルダのルートにあるREADME.mdファイルの指示に従ってください。プロジェクトの依存関係をインストールする前に、マシンでNPMとNode.jsが実行されていることを確認してください。
+
+2. `starter/src`フォルダを開きます。そこには`assets`フォルダがあり、小説のすべての手紙が番号付きで「宛先」と「送信者」の注釈付きで記載された.jsonファイルが見つかります。
+
+3. `components/Nodes.vue`のコードを完成させてビジュアライゼーションを有効にします。`createLinks()`というメソッドを探し、以下のネストされたループを追加してください。
+
+.jsonオブジェクトをループして手紙の「宛先」と「送信者」のデータをキャプチャし、ビジュアライゼーションライブラリが消費できる`links`オブジェクトを構築します:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+ターミナルからアプリを実行(npm run serve)し、ビジュアライゼーションを楽しんでください!
+
+## 🚀 チャレンジ
+
+インターネットを巡って誤解を招くビジュアライゼーションを発見してください。作者はどのようにユーザーを欺いているのか、それは意図的なのか?ビジュアライゼーションを修正して、正しい表示方法を示してみてください。
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 復習と自己学習
+
+誤解を招くデータビジュアライゼーションについての記事を読んでみてください:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+歴史的な資産やアーティファクトに関する興味深いビジュアライゼーションを見てみてください:
+
+https://handbook.pubpub.org/
+
+アニメーションがビジュアライゼーションをどのように向上させるかについての記事を見てみてください:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 課題
+
+[カスタムビジュアライゼーションを作成する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..615f1616
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# 独自のカスタムビジュアルを作成しよう
+
+## 手順
+
+このプロジェクトのコードサンプルを使用して、ソーシャルネットワークを作成し、自分自身のソーシャルインタラクションのデータを模擬的に作成してください。ソーシャルメディアの利用状況をマッピングしたり、家族構成の図を作成したりすることができます。ソーシャルネットワークのユニークなビジュアルを表示する興味深いウェブアプリを作成してください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+GitHubリポジトリが提示され、コードが正しく動作する(静的ウェブアプリとしてデプロイしてみてください)こと、さらにプロジェクトを説明する注釈付きREADMEが含まれている | リポジトリが正しく動作しない、または十分にドキュメント化されていない | リポジトリが正しく動作せず、十分にドキュメント化されていない
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..23f035b0
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# 危険な関係 データビジュアライゼーションプロジェクト
+
+始めるには、マシンにNPMとNodeがインストールされていることを確認してください。依存関係をインストール(npm install)し、プロジェクトをローカルで実行します(npm run serve):
+
+## プロジェクトセットアップ
+```
+npm install
+```
+
+### 開発用のコンパイルとホットリロード
+```
+npm run serve
+```
+
+### 本番用のコンパイルと最小化
+```
+npm run build
+```
+
+### ファイルのリントと修正
+```
+npm run lint
+```
+
+### 設定のカスタマイズ
+[Configuration Reference](https://cli.vuejs.org/config/) を参照してください。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..5efb6b74
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# 危険な関係 データビジュアライゼーションプロジェクト
+
+始めるには、マシンにNPMとNodeがインストールされていることを確認してください。依存関係をインストール(npm install)し、その後プロジェクトをローカルで実行してください(npm run serve):
+
+## プロジェクトセットアップ
+```
+npm install
+```
+
+### 開発用のコンパイルとホットリロード
+```
+npm run serve
+```
+
+### 本番用のコンパイルと最小化
+```
+npm run build
+```
+
+### ファイルのリントと修正
+```
+npm run lint
+```
+
+### 設定のカスタマイズ
+[Configuration Reference](https://cli.vuejs.org/config/) を参照してください。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..186f3963
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,232 @@
+
+# 量を視覚化する
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 量を視覚化する - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+このレッスンでは、Rのさまざまなパッケージライブラリを使用して、量の概念に基づいた興味深い視覚化を作成する方法を学びます。ミネソタ州の鳥に関するクリーンなデータセットを使用して、地元の野生生物について多くの興味深い事実を学ぶことができます。
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## ggplot2で翼幅を観察する
+さまざまな種類のシンプルで洗練されたプロットやチャートを作成するのに優れたライブラリが[ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html)です。一般的に、これらのライブラリを使用してデータをプロットするプロセスは、ターゲットにしたいデータフレームの部分を特定し、必要に応じてそのデータを変換し、x軸とy軸の値を割り当て、表示するプロットの種類を決定し、プロットを表示するという手順を含みます。
+
+`ggplot2`は、The Grammar of Graphics(グラフィックスの文法)に基づいてグラフィックを宣言的に作成するためのシステムです。[The Grammar of Graphics](https://en.wikipedia.org/wiki/Ggplot2)は、スケールやレイヤーなどの意味的なコンポーネントにグラフを分解するデータ視覚化の一般的なスキームです。言い換えれば、少ないコードで単変量または多変量データのプロットやグラフを簡単に作成できるため、`ggplot2`はRで最も人気のある視覚化パッケージです。ユーザーは、`ggplot2`に変数を美的要素にマッピングする方法、使用するグラフィカルプリミティブを指示し、残りは`ggplot2`が処理します。
+
+> ✅ プロット = データ + 美的要素 + ジオメトリ
+> - データ: データセットを指します
+> - 美的要素: 調査対象の変数(x軸とy軸の変数)を示します
+> - ジオメトリ: プロットの種類(折れ線グラフ、棒グラフなど)を指します
+
+データとプロットを通じて伝えたいストーリーに応じて、最適なジオメトリ(プロットの種類)を選択してください。
+
+> - 傾向を分析するには: 折れ線グラフ、縦棒グラフ
+> - 値を比較するには: 棒グラフ、縦棒グラフ、円グラフ、散布図
+> - 全体に対する部分の関係を示すには: 円グラフ
+> - データの分布を示すには: 散布図、棒グラフ
+> - 値間の関係を示すには: 折れ線グラフ、散布図、バブルチャート
+
+✅ この説明的な[チートシート](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf)もチェックしてみてください。
+
+## 鳥の翼幅値に関する折れ線グラフを作成する
+
+Rコンソールを開き、データセットをインポートします。
+> 注: データセットはこのリポジトリのルートにある`/data`フォルダに保存されています。
+
+データセットをインポートし、データの先頭(最初の5行)を観察してみましょう。
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+データの先頭には、テキストと数値が混在しています。
+
+| | 名前 | 学名 | カテゴリ | 目 | 科 | 属 | 保全状況 | 最小長さ | 最大長さ | 最小体重 | 最大体重 | 最小翼幅 | 最大翼幅 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :---------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | クロハラアカガモ | Dendrocygna autumnalis | カモ/ガン/水鳥 | カモ目 | カモ科 | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | フルボアカガモ | Dendrocygna bicolor | カモ/ガン/水鳥 | カモ目 | カモ科 | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | ハクガン | Anser caerulescens | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | ロスガン | Anser rossii | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | マガン | Anser albifrons | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+これらの興味深い鳥の最大翼幅を視覚化するために、基本的な折れ線グラフをプロットしてみましょう。
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+ここでは、`ggplot2`パッケージをインストールし、`library("ggplot2")`コマンドを使用してワークスペースにインポートします。`ggplot`でプロットを作成するには、`ggplot()`関数を使用し、データセット、x軸とy軸の変数を属性として指定します。この場合、折れ線グラフをプロットするために`geom_line()`関数を使用します。
+
+
+
+何がすぐに目に留まりますか?少なくとも1つの外れ値があるようです。これはかなりの翼幅ですね!2000センチメートル以上の翼幅は20メートル以上に相当します。ミネソタ州にプテラノドンがいるのでしょうか?調査してみましょう。
+
+Excelで外れ値を簡単にソートすることもできますが、プロット内で作業を続けて視覚化プロセスを進めましょう。
+
+x軸にラベルを追加して、どの鳥が対象であるかを表示します。
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+`theme`で角度を指定し、`xlab()`と`ylab()`でx軸とy軸のラベルを指定します。`ggtitle()`でグラフ/プロットに名前を付けます。
+
+
+
+ラベルの回転を45度に設定しても、読み取るには多すぎます。別の戦略を試してみましょう。外れ値のみをラベル付けし、チャート内にラベルを設定します。散布図を使用してラベル付けのスペースを確保します。
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+ここでは、`geom_point()`関数を使用して散布点をプロットしました。これにより、`MaxWingspan > 500`の鳥にラベルを追加し、プロットを整理するためにx軸のラベルを非表示にしました。
+
+何がわかりますか?
+
+
+
+## データをフィルタリングする
+
+ハクトウワシとプレーリーハヤブサは非常に大きな鳥である可能性がありますが、最大翼幅に余分な0が追加されているようです。翼幅25メートルのハクトウワシに出会うことはまずないでしょうが、もしそうならぜひ教えてください!これら2つの外れ値を除外した新しいデータフレームを作成しましょう。
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+新しいデータフレーム`birds_filtered`を作成し、散布図をプロットしました。外れ値を除外することで、データがより一貫性があり理解しやすくなりました。
+
+
+
+翼幅に関して少なくともクリーンなデータセットが得られたので、これらの鳥についてさらに発見してみましょう。
+
+折れ線グラフや散布図はデータ値やその分布に関する情報を表示できますが、このデータセットに内在する値について考えてみましょう。このデータセットに基づいて以下のような量に関する質問に答える視覚化を作成できます。
+
+> 鳥のカテゴリはいくつあり、それぞれの数はどれくらいか?
+> 絶滅、絶滅危惧種、希少種、または一般的な鳥はどれくらいいるか?
+> リンネの分類学における属や目の数はどれくらいか?
+
+## 棒グラフを探る
+
+棒グラフはデータのグループを表示する必要がある場合に実用的です。このデータセットに存在する鳥のカテゴリを調べ、どのカテゴリが最も一般的かを確認してみましょう。
+
+フィルタリングされたデータに基づいて棒グラフを作成します。
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+以下のスニペットでは、データを操作してグループ化し、積み上げ棒グラフをプロットするために[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`パッケージを使用して棒グラフをプロットし、異なるカテゴリの色とラベルを指定します。
+
+
+
+この棒グラフは、グループ化されていないデータが多すぎるため、読み取りにくいです。プロットしたいデータのみを選択する必要があります。鳥のカテゴリに基づいて長さを調べてみましょう。
+
+データをフィルタリングして、鳥のカテゴリのみを含めます。
+
+カテゴリが多いため、このチャートを縦に表示し、その高さを調整してすべてのデータを表示できるようにします。
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
+```
+まず、`Category`列のユニークな値をカウントし、それを新しいデータフレーム`birds_count`にソートします。このソートされたデータを同じレベルでファクタリングし、ソートされた方法でプロットされるようにします。その後、`ggplot2`を使用して棒グラフをプロットします。`coord_flip()`を使用して水平棒をプロットします。
+
+
+
+この棒グラフは、各カテゴリの鳥の数をよく示しています。一目で、この地域で最も多い鳥がカモ/ガン/水鳥カテゴリに属していることがわかります。ミネソタ州は「1万の湖の地」として知られているので、これは驚くべきことではありません!
+
+✅ このデータセットで他のカウントを試してみてください。何か驚くことはありますか?
+
+## データの比較
+
+新しい軸を作成して、グループ化されたデータのさまざまな比較を試すことができます。鳥のカテゴリに基づいて鳥の最大長さを比較してみましょう。
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+`birds_filtered`データを`Category`でグループ化し、棒グラフをプロットします。
+
+
+
+ここには驚くことはありません。ハチドリの最大長さはペリカンやガンと比較して最も短いです。データが論理的に意味をなすのは良いことです!
+
+棒グラフをより興味深いものにするために、データを重ね合わせることができます。鳥のカテゴリに基づいて最小長さと最大長さを重ね合わせてみましょう。
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 チャレンジ
+
+この鳥のデータセットは、特定の生態系内のさまざまな種類の鳥に関する豊富な情報を提供します。インターネットで他の鳥に関するデータセットを探してみてください。これらの鳥に関するチャートやグラフを作成して、知らなかった事実を発見してみましょう。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 復習と自己学習
+
+この最初のレッスンでは、`ggplot2`を使用して量を視覚化する方法についての情報をいくつか提供しました。データセットを視覚化するための他の方法について調査してみてください。[Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html)や[Plotly](https://github.com/plotly/plotly.R#readme)などの他のパッケージを使用して視覚化できるデータセットを探してみてください。
+
+## 課題
+[折れ線、散布図、棒グラフ](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/ja/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..1416eeb0
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 線グラフ、散布図、棒グラフ
+
+## 課題
+
+このレッスンでは、線グラフ、散布図、棒グラフを使って、このデータセットに関する興味深い事実を示しました。この課題では、データセットをさらに深掘りして、特定の鳥に関する事実を発見してください。例えば、カナダガンに関する興味深いデータをすべて視覚化するスクリプトを作成してください。上記の3つのプロットを使用して、ノートブック内でストーリーを伝えてください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+スクリプトには適切な注釈、しっかりとしたストーリーテリング、魅力的なグラフが含まれている | スクリプトにこれらの要素のうち1つが欠けている | スクリプトにこれらの要素のうち2つが欠けている
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..b0e58ff9
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,181 @@
+
+# 分布の可視化
+
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 分布の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+前回のレッスンでは、ミネソタ州の鳥に関するデータセットについていくつか興味深い事実を学びました。外れ値を可視化することで誤ったデータを見つけ、鳥のカテゴリ間の最大長の違いを確認しました。
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 鳥のデータセットを探索する
+
+データを掘り下げるもう一つの方法は、その分布、つまりデータが軸に沿ってどのように整理されているかを見ることです。例えば、このデータセットでミネソタ州の鳥の最大翼幅や最大体重の一般的な分布について知りたいと思うかもしれません。
+
+このデータセットの分布に関するいくつかの事実を発見してみましょう。Rコンソールで`ggplot2`とデータベースをインポートします。前回のトピックと同様に、データベースから外れ値を削除してください。
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | 名前 | 学名 | カテゴリ | 目 | 科 | 属 | 保全状況 | 最小長さ | 最大長さ | 最小体重 | 最大体重 | 最小翼幅 | 最大翼幅 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | クロハラホシハジロ | Dendrocygna autumnalis | カモ/ガン/水鳥 | カモ目 | カモ科 | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | フルボホシハジロ | Dendrocygna bicolor | カモ/ガン/水鳥 | カモ目 | カモ科 | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | ハクガン | Anser caerulescens | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | ロスガン | Anser rossii | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | マガン | Anser albifrons | カモ/ガン/水鳥 | カモ目 | カモ科 | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+一般的に、前回のレッスンで行ったように散布図を使用することで、データがどのように分布しているかをすばやく確認できます。
+
+```r
+ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
+ geom_point() +
+ ggtitle("Max Length per order") + coord_flip()
+```
+
+
+これにより、鳥の目ごとの体長の一般的な分布が概観できますが、真の分布を表示する最適な方法ではありません。このタスクは通常、ヒストグラムを作成することで行われます。
+## ヒストグラムの操作
+
+`ggplot2`はヒストグラムを使用してデータ分布を視覚化する非常に優れた方法を提供します。このタイプのチャートは棒グラフのようなもので、バーの上昇と下降を通じて分布を見ることができます。ヒストグラムを作成するには数値データが必要です。ヒストグラムを作成するには、チャートの種類を「hist」と定義します。このチャートは、データセット全体の範囲における`MaxBodyMass`の分布を示します。データの配列を小さなビンに分割することで、データ値の分布を表示できます。
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=10)+ylab('Frequency')
+```
+
+
+ご覧のように、このデータセットに含まれる400以上の鳥のほとんどは、最大体重が2000未満の範囲に収まっています。`bins`パラメータを30などのより高い数値に変更して、データについてさらに洞察を得てみましょう。
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+このチャートは、より細かい粒度で分布を示しています。左に偏りすぎないチャートを作成するには、特定の範囲内のデータのみを選択するようにします。
+
+体重が60未満の鳥のみをフィルタリングし、30の`bins`を表示します。
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+✅ 他のフィルタやデータポイントを試してみてください。データの完全な分布を確認するには、`['MaxBodyMass']`フィルタを削除してラベル付き分布を表示してください。
+
+ヒストグラムには、色やラベルの強化機能もあります。
+
+2Dヒストグラムを作成して、2つの分布間の関係を比較してみましょう。`MaxBodyMass`と`MaxLength`を比較します。`ggplot2`には、明るい色を使用して収束を表示する組み込みの方法があります。
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+これら2つの要素間には予想される軸に沿った相関があり、特に強い収束点が1つあります。
+
+
+
+ヒストグラムは数値データに対してデフォルトでうまく機能します。テキストデータに基づいて分布を確認する必要がある場合はどうしますか?
+## テキストデータを使用したデータセットの分布を探索する
+
+このデータセットには、鳥のカテゴリ、属、種、科、および保全状況に関する良い情報も含まれています。この保全情報を掘り下げてみましょう。鳥の保全状況に応じた分布はどうなっていますか?
+
+> ✅ データセットには、保全状況を説明するいくつかの略語が使用されています。これらの略語は、種の状況をカタログ化する組織である[IUCNレッドリストカテゴリ](https://www.iucnredlist.org/)から来ています。
+>
+> - CR: 絶滅危惧種
+> - EN: 絶滅危惧種(危機)
+> - EX: 絶滅
+> - LC: 軽度懸念
+> - NT: 準絶滅危惧種
+> - VU: 危急種
+
+これらはテキストベースの値なので、ヒストグラムを作成するには変換が必要です。`filteredBirds`データフレームを使用して、その保全状況と最小翼幅を表示してください。何が見えますか?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
+```
+
+
+
+最小翼幅と保全状況の間に良い相関関係は見られないようです。この方法を使用してデータセットの他の要素をテストしてください。異なるフィルタを試すこともできます。何か相関関係が見つかりますか?
+
+## 密度プロット
+
+これまで見てきたヒストグラムは「段階的」であり、滑らかな弧を描いていないことに気付いたかもしれません。より滑らかな密度チャートを表示するには、密度プロットを試してみてください。
+
+では、密度プロットを操作してみましょう!
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
+ geom_density()
+```
+
+
+このプロットは、最小翼幅データに関する以前のプロットを反映していますが、少し滑らかになっています。2番目に作成したギザギザの`MaxBodyMass`ラインを再現することで、この方法を使用して非常に滑らかにすることができます。
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density()
+```
+
+
+滑らかすぎない線を作成したい場合は、`adjust`パラメータを編集してください。
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density(adjust = 1/5)
+```
+
+
+✅ このタイプのプロットで利用可能なパラメータについて調べて、実験してみてください!
+
+このタイプのチャートは、非常に説明的な視覚化を提供します。例えば、数行のコードで鳥の目ごとの最大体重密度を表示できます。
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 チャレンジ
+
+ヒストグラムは、基本的な散布図、棒グラフ、折れ線グラフよりも洗練されたタイプのチャートです。インターネットでヒストグラムの良い使用例を探してみてください。それらはどのように使用されているか、何を示しているか、どの分野や調査領域で使用される傾向があるかを調べてみましょう。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 復習と自己学習
+
+このレッスンでは、`ggplot2`を使用して、より洗練されたチャートを表示する作業を開始しました。`geom_density_2d()`について調査し、「1次元または複数次元の連続確率密度曲線」を理解してください。[ドキュメント](https://ggplot2.tidyverse.org/reference/geom_density_2d.html)を読み、どのように機能するかを理解してください。
+
+## 課題
+
+[スキルを活用する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/ja/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..563f32bd
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# スキルを活用しよう
+
+## 手順
+
+これまで、ミネソタ州の鳥類データセットを使用して、鳥の数や個体密度に関する情報を発見してきました。これらの技術を応用して、別のデータセットを試してみましょう。例えば、[Kaggle](https://www.kaggle.com/)からデータを取得してみてください。このデータセットについて物語を語るRスクリプトを作成し、ヒストグラムを使用してデータを説明することを忘れないでください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+このデータセットの出典を含む注釈付きスクリプトが提示され、少なくとも5つのヒストグラムを使用してデータに関する事実を発見している。 | 注釈が不完全またはバグが含まれるスクリプトが提示されている。 | 注釈がなく、バグが含まれるスクリプトが提示されている。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤訳について、当社は一切の責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..313e75c9
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,196 @@
+
+# 比率の可視化
+
+| によるスケッチノート ](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|比率の可視化 - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ |
+
+このレッスンでは、自然に焦点を当てた異なるデータセットを使用して、キノコに関するデータセット内でどれだけ異なる種類の菌類が存在するかなど、比率を可視化します。Audubonから提供されたデータセットを使用して、AgaricusおよびLepiota科に属する23種のひだ付きキノコの詳細を探ります。以下のような魅力的な可視化を試してみましょう:
+
+- 円グラフ 🥧
+- ドーナツグラフ 🍩
+- ワッフルチャート 🧇
+
+> 💡 Microsoft Researchによる[Charticulator](https://charticulator.com)という非常に興味深いプロジェクトでは、データ可視化のための無料のドラッグ&ドロップインターフェースを提供しています。彼らのチュートリアルの1つでもこのキノコのデータセットを使用しています!データを探索しながらライブラリを学ぶことができます:[Charticulatorチュートリアル](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## キノコについて知ろう 🍄
+
+キノコは非常に興味深い存在です。データセットをインポートして研究してみましょう:
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+以下のような分析に適したデータがテーブルとして表示されます:
+
+| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
+| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
+| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban
+| Edible | Convex |Smooth | Green | No Bruises| None |Free | Crowded | Broad | Black | Tapering | Equal | Smooth | Smooth | White | White | Partial | White | One | Evanescent | Brown | Abundant | Grasses
+|Edible | Convex | Scaly | Yellow | Bruises | Almond | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Numerous | Grasses
+
+すぐに気づくのは、すべてのデータがテキスト形式であることです。このデータをチャートで使用できるように変換する必要があります。実際、ほとんどのデータはオブジェクトとして表現されています:
+
+```r
+names(mushrooms)
+```
+
+出力は以下の通りです:
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+このデータを使用して、'class'列をカテゴリに変換します:
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+次に、キノコのデータを印刷すると、毒性/食用のクラスに従ってカテゴリにグループ化されていることがわかります:
+```r
+View(grouped)
+```
+
+| class | count |
+| --------- | --------- |
+| Edible | 4208 |
+| Poisonous| 3916 |
+
+このテーブルに示された順序に従ってクラスカテゴリラベルを作成すれば、円グラフを作成できます。
+
+## 円グラフ!
+
+```r
+pie(grouped$count,grouped$class, main="Edible?")
+```
+完成!この円グラフは、キノコのデータを毒性/食用の2つのクラスに基づいて比率を示しています。ラベルの順序が特に重要なので、ラベル配列の順序を必ず確認してください!
+
+
+
+## ドーナツグラフ!
+
+円グラフよりも視覚的に興味深いのがドーナツグラフです。これは中央に穴がある円グラフです。この方法でデータを見てみましょう。
+
+キノコが生育するさまざまな生息地を見てみましょう:
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+出力は以下の通りです:
+| habitat| count |
+| --------- | --------- |
+| Grasses | 2148 |
+| Leaves| 832 |
+| Meadows | 292 |
+| Paths| 1144 |
+| Urban | 368 |
+| Waste| 192 |
+| Wood| 3148 |
+
+ここではデータを生息地ごとにグループ化しています。7つの生息地がリストされているので、それらをドーナツグラフのラベルとして使用します:
+
+```r
+library(ggplot2)
+library(webr)
+PieDonut(habitat, aes(habitat, count=count))
+```
+
+
+
+このコードでは、ggplot2とwebrの2つのライブラリを使用しています。webrライブラリのPieDonut関数を使用すると、簡単にドーナツグラフを作成できます!
+
+Rでは、ggplot2ライブラリだけを使用してドーナツグラフを作成することも可能です。詳細は[こちら](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html)で学び、自分で試してみてください。
+
+データをグループ化して円グラフやドーナツグラフとして表示する方法を学んだので、他の種類のチャートも探索してみましょう。ワッフルチャートを試してみてください。これは数量を異なる方法で探索するものです。
+
+## ワッフルチャート!
+
+ワッフルチャートは、数量を2D配列の四角形として可視化する異なる方法です。このデータセット内のキノコの傘の色の異なる数量を可視化してみましょう。そのためには、[waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf)というヘルパーライブラリをインストールし、それを使用して可視化を生成します:
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+データのセグメントを選択してグループ化します:
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+ラベルを作成し、データをグループ化してワッフルチャートを作成します:
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+ワッフルチャートを使用すると、このキノコのデータセットの傘の色の比率がはっきりとわかります。興味深いことに、緑色の傘を持つキノコがたくさんあります!
+
+
+
+このレッスンでは、比率を可視化する3つの方法を学びました。まず、データをカテゴリにグループ化し、次にデータを表示する最適な方法を決定します - 円グラフ、ドーナツグラフ、またはワッフルチャート。どれも魅力的で、データセットのスナップショットを瞬時に提供します。
+
+## 🚀 チャレンジ
+
+[Charticulator](https://charticulator.com)でこれらの魅力的なチャートを再現してみてください。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 復習と自己学習
+
+円グラフ、ドーナツグラフ、ワッフルチャートをいつ使用するべきかは、必ずしも明確ではありません。このトピックに関する以下の記事を読んでみてください:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+さらに調査して、この難しい決定についての情報を見つけてください。
+
+## 課題
+
+[Excelで試してみる](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..89798df3
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,175 @@
+
+# 関係の可視化: ハチミツについて 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|関係の可視化 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+私たちの研究の自然に焦点を当てたテーマを続け、さまざまな種類のハチミツ間の関係を示す興味深い可視化を探ってみましょう。このデータセットは[アメリカ合衆国農務省](https://www.nass.usda.gov/About_NASS/index.php)から得られたものです。
+
+約600項目のデータセットには、アメリカの多くの州でのハチミツ生産が表示されています。例えば、州ごとのコロニー数、コロニーあたりの収量、総生産量、在庫、1ポンドあたりの価格、そして1998年から2012年までの各州のハチミツ生産価値を年ごとに確認できます。
+
+特定の州の年間生産量とその州のハチミツ価格の関係を可視化するのは興味深いでしょう。または、州ごとのコロニーあたりのハチミツ収量の関係を可視化することもできます。この期間には、2006年に初めて確認された「CCD(コロニー崩壊症候群)」(http://npic.orst.edu/envir/ccd.html)が含まれており、研究する価値のあるデータセットです。🐝
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+このレッスンでは、以前使用したことのあるggplot2を使って、変数間の関係を可視化する方法を学びます。特に興味深いのは、ggplot2の`geom_point`や`qplot`関数を使用して、散布図や折れ線グラフを作成し、データサイエンティストが変数間の関係をよりよく理解できるようにする「[統計的関係](https://ggplot2.tidyverse.org/)」を迅速に可視化することです。
+
+## 散布図
+
+散布図を使用して、州ごとのハチミツ価格が年々どのように変化しているかを示します。ggplot2の`ggplot`と`geom_point`を使用すると、州ごとのデータを便利にグループ化し、カテゴリカルデータと数値データの両方のデータポイントを表示できます。
+
+まず、データとSeabornをインポートしましょう:
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+ハチミツデータには、年や1ポンドあたりの価格など、いくつか興味深い列が含まれています。これをアメリカの州ごとにグループ化して探索してみましょう:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 |22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+ハチミツの1ポンドあたりの価格とその州の関係を示す基本的な散布図を作成しましょう。`y`軸を十分に高くしてすべての州を表示できるようにします:
+
+```r
+library(ggplot2)
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(colour = "blue")
+```
+
+
+次に、ハチミツの色合いを使用して、価格が年々どのように変化しているかを示します。これを行うには、'scale_color_gradientn'パラメータを追加して、年ごとの変化を表示します:
+
+> ✅ [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn)についてもっと学びましょう - 美しい虹色のカラースキームを試してみてください!
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
+ geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
+```
+
+
+このカラースキームの変更により、ハチミツの1ポンドあたりの価格が年々明らかに進行していることがわかります。実際、データのサンプルセットを確認すると(例えばアリゾナ州を選択)、年々価格が上昇するパターンがいくつかの例外を除いて見られます:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+色ではなくサイズを使用してこの進行を可視化する方法もあります。色覚異常のユーザーにとっては、これがより良い選択肢かもしれません。価格の増加を点の円周の増加で示すように可視化を編集しましょう:
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+点のサイズが徐々に大きくなっているのがわかります。
+
+
+
+これは単純な需要と供給の問題でしょうか?気候変動やコロニー崩壊などの要因により、年々購入可能なハチミツが減少し、その結果価格が上昇しているのでしょうか?
+
+このデータセットの変数間の相関関係を発見するために、折れ線グラフを探索してみましょう。
+
+## 折れ線グラフ
+
+質問: ハチミツの1ポンドあたりの価格は年々明確に上昇しているのでしょうか?これを最も簡単に発見する方法は、単一の折れ線グラフを作成することです:
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+答え: はい、ただし2003年付近にはいくつかの例外があります:
+
+
+
+質問: では、2003年にはハチミツ供給の急増も見られるのでしょうか?年々の総生産量を見てみるとどうでしょう?
+
+```python
+qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
+```
+
+
+
+答え: 実際にはそうではありません。総生産量を見ると、特定の年には増加しているように見えますが、一般的にはこの期間中のハチミツ生産量は減少しているようです。
+
+質問: その場合、2003年付近のハチミツ価格の急上昇の原因は何だったのでしょうか?
+
+これを発見するために、ファセットグリッドを探索してみましょう。
+
+## ファセットグリッド
+
+ファセットグリッドはデータセットの1つのファセット(この場合は「年」を選択して、生成されるファセットが多すぎないようにします)を取り、Seabornが選択したx座標とy座標のプロットを各ファセットごとに作成します。これにより、比較が容易になります。2003年はこのタイプの比較で際立っているでしょうか?
+
+[ggplot2のドキュメント](https://ggplot2.tidyverse.org/reference/facet_wrap.html)で推奨されているように、`facet_wrap`を使用してファセットグリッドを作成します。
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+この可視化では、コロニーあたりの収量とコロニー数を年々比較し、列を3に設定して並べて表示します:
+
+
+
+このデータセットでは、州ごとのコロニー数とその収量に関して、年々特に際立ったものは見られません。これら2つの変数間の相関関係を見つける別の方法はあるでしょうか?
+
+## デュアルラインプロット
+
+Rの`par`と`plot`関数を使用して、2つの折れ線グラフを重ね合わせたマルチラインプロットを試してみましょう。x軸に年をプロットし、2つのy軸を表示します。コロニーあたりの収量とコロニー数を重ね合わせて表示します:
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+axis(side = 4, at = pretty(range(y2)))
+mtext("colony yield", side = 4, line = 3)
+```
+
+
+2003年付近で目立つものはありませんが、全体的にコロニー数が減少している一方で、コロニー数が安定していることがわかります。コロニーあたりの収量は減少しているものの、少し明るいニュースでこのレッスンを締めくくることができます。
+
+がんばれ、ミツバチたち!
+
+🐝❤️
+## 🚀 チャレンジ
+
+このレッスンでは、散布図やライングリッドの他の用途について少し学びました。ファセットグリッドを使用して、以前のレッスンで使用したデータセットを使って挑戦してみましょう。これらの技術を使用してグリッドを作成する際の所要時間や注意点を確認してください。
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 復習と自己学習
+
+折れ線グラフはシンプルなものから非常に複雑なものまであります。[ggplot2のドキュメント](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together)を少し読んで、折れ線グラフを構築するさまざまな方法について学びましょう。このレッスンで作成した折れ線グラフを、ドキュメントに記載されている他の方法で強化してみてください。
+## 課題
+
+[ハチミツの巣に飛び込もう](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..1d18adf6
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# 意味のあるデータビジュアライゼーションを作る
+
+| ](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 意味のあるデータビジュアライゼーション - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+> 「データを十分に拷問すれば、何でも白状する」 -- [ロナルド・コース](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+データサイエンティストの基本的なスキルの一つは、質問に答えるのに役立つ意味のあるデータビジュアライゼーションを作成する能力です。データを可視化する前に、前のレッスンで行ったように、データをクリーニングし準備する必要があります。その後、データを最適に提示する方法を決定することができます。
+
+このレッスンでは以下を学びます:
+
+1. 適切なチャートタイプの選び方
+2. 誤解を招くチャートを避ける方法
+3. 色の使い方
+4. 読みやすさのためのチャートのスタイリング方法
+5. アニメーションや3Dチャートソリューションの構築方法
+6. 創造的なビジュアライゼーションの構築方法
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 適切なチャートタイプを選ぶ
+
+前のレッスンでは、MatplotlibやSeabornを使ってさまざまな興味深いデータビジュアライゼーションを作成する実験をしました。一般的に、以下の表を使って質問に応じた[適切なチャートタイプ](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)を選ぶことができます:
+
+| 必要なこと | 使用すべきチャートタイプ |
+| -------------------------- | ----------------------------- |
+| 時間経過によるデータの傾向を示す | 折れ線グラフ |
+| カテゴリーを比較する | 棒グラフ、円グラフ |
+| 合計を比較する | 円グラフ、積み上げ棒グラフ |
+| 関係性を示す | 散布図、折れ線グラフ、ファセット、二重折れ線グラフ |
+| 分布を示す | 散布図、ヒストグラム、箱ひげ図 |
+| 比率を示す | 円グラフ、ドーナツグラフ、ワッフルチャート |
+
+> ✅ データの構成によっては、特定のチャートをサポートするためにテキストデータを数値データに変換する必要がある場合があります。
+
+## 誤解を招くチャートを避ける
+
+データサイエンティストが適切なチャートを選んだとしても、データを誤解を招く形で表示する方法はたくさんあります。これにより、データそのものを損なうことがあります。誤解を招くチャートやインフォグラフィックの例は数多く存在します!
+
+[](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)を収集しています。
+
+目が誤解を招くチャートに簡単に欺かれる可能性があることを理解することが重要です。データサイエンティストの意図が良くても、例えば多すぎるカテゴリーを示す円グラフのような悪いタイプのチャートを選ぶと、誤解を招く可能性があります。
+
+## 色
+
+上記の「フロリダ銃暴力」のチャートでは、色がチャートに追加の意味を与える方法を示しています。特に、ggplot2やRColorBrewerのようなライブラリを使用して設計されていないチャートでは、これらのライブラリにはさまざまな検証済みのカラーパレットが含まれています。手作業でチャートを作成する場合は、[色彩理論](https://colormatters.com/color-and-design/basic-color-theory)を少し学んでみてください。
+
+> ✅ チャートを設計する際には、アクセシビリティが重要な側面であることを認識してください。ユーザーの中には色覚異常の方もいるかもしれません。視覚障害のあるユーザーにとってもチャートが適切に表示されるか確認してください。
+
+チャートの色を選ぶ際には注意が必要です。色は意図しない意味を伝える可能性があります。上記の「身長」チャートの「ピンクの女性」は、明らかに「女性的」という意味を伝え、チャート自体の奇妙さをさらに強調しています。
+
+[色の意味](https://colormatters.com/color-symbolism/the-meanings-of-colors)は地域によって異なる場合があり、色の濃淡によって意味が変わることがあります。一般的に、色の意味は以下の通りです:
+
+| 色 | 意味 |
+| ------- | ------------------- |
+| 赤 | 力 |
+| 青 | 信頼、忠誠 |
+| 黄色 | 幸せ、注意 |
+| 緑 | 環境、幸運、嫉妬 |
+| 紫 | 幸せ |
+| オレンジ | 活気 |
+
+カスタムカラーでチャートを作成する場合は、チャートがアクセシブルであり、選んだ色が伝えたい意味と一致していることを確認してください。
+
+## 読みやすさのためのチャートのスタイリング
+
+チャートは読みやすくなければ意味がありません!チャートの幅と高さをデータに合わせてスケールするようにスタイリングすることを検討してください。例えば、50州すべてを表示する必要がある場合は、可能であればY軸に縦に表示し、横スクロールのチャートを避けてください。
+
+軸にラベルを付け、必要に応じて凡例を提供し、データの理解を深めるためにツールチップを提供してください。
+
+データが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
+
+このレッスンでは、これらの強力なビジュアライゼーションライブラリを深く学ぶことはできませんが、D3を使ったVue.jsアプリで「危険な関係」という本をアニメーション化されたソーシャルネットワークとして表示するビジュアライゼーションを試してみてください。
+
+> 「Les Liaisons Dangereuses」は書簡形式の小説で、手紙のシリーズとして提示されます。1782年にChoderlos de Laclosによって書かれたこの小説は、18世紀後半のフランス貴族の2人の主人公、Vicomte de ValmontとMarquise de Merteuilの悪意ある社会的操作を描いています。両者は最終的に破滅しますが、社会的な損害を大きく与えます。この小説は、復讐を企てたり単に問題を起こしたりするために、彼らの周囲の人々に送られた手紙のシリーズとして展開されます。これらの手紙をビジュアライゼーション化して、物語の主要な中心人物を視覚的に発見してください。
+
+このソーシャルネットワークのアニメーション表示を行うウェブアプリを完成させます。このアプリは、Vue.jsとD3を使用して[ネットワークのビジュアル](https://github.com/emiliorizzo/vue-d3-network)を作成するために構築されたライブラリを使用します。アプリが実行されると、画面上でノードを引っ張ってデータをシャッフルすることができます。
+
+
+
+## プロジェクト: D3.jsを使ってネットワークを表示するチャートを作成する
+
+> このレッスンフォルダには、完成したプロジェクトを参照できる`solution`フォルダが含まれています。
+
+1. スターターフォルダのルートにあるREADME.mdファイルの指示に従ってください。プロジェクトの依存関係をインストールする前に、マシンでNPMとNode.jsが動作していることを確認してください。
+
+2. `starter/src`フォルダを開きます。そこには、すべての手紙が番号付きで「宛先」と「送信者」の注釈が付いた.jsonファイルが含まれている`assets`フォルダがあります。
+
+3. `components/Nodes.vue`のコードを完成させてビジュアライゼーションを有効にします。`createLinks()`というメソッドを探し、以下のネストされたループを追加してください。
+
+.jsonオブジェクトをループして手紙の「宛先」と「送信者」のデータを取得し、ビジュアライゼーションライブラリが消費できる`links`オブジェクトを構築します:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+ターミナルからアプリを実行(npm run serve)し、ビジュアライゼーションを楽しんでください!
+
+## 🚀 チャレンジ
+
+インターネットを巡って誤解を招くビジュアライゼーションを探してみましょう。作者はどのようにユーザーを欺いているのか、それは意図的なのか?ビジュアライゼーションを修正して、正しい表示方法を示してみてください。
+
+## [講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 復習と自己学習
+
+以下の記事を読んで、誤解を招くデータビジュアライゼーションについて学びましょう:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+歴史的な資産やアーティファクトに関する興味深いビジュアライゼーションを見てみましょう:
+
+https://handbook.pubpub.org/
+
+アニメーションがビジュアライゼーションをどのように向上させるかについての記事を見てみましょう:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 課題
+
+[カスタムビジュアライゼーションを作成する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/3-Data-Visualization/README.md b/translations/ja/3-Data-Visualization/README.md
new file mode 100644
index 00000000..3c291850
--- /dev/null
+++ b/translations/ja/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# ビジュアライゼーション
+
+
+> 写真提供: Jenna Lee on Unsplash
+
+データの可視化は、データサイエンティストにとって最も重要なタスクの1つです。画像は1000語に値すると言われるように、ビジュアライゼーションはデータの中に潜む興味深い部分、例えばスパイク、外れ値、グループ化、傾向などを特定し、データが語ろうとしているストーリーを理解する助けとなります。
+
+これらの5つのレッスンでは、自然から得られたデータを探求し、さまざまな手法を用いて興味深く美しいビジュアライゼーションを作成します。
+
+| トピック番号 | トピック | リンク先レッスン | 著者 |
+| :-----------: | :--: | :-----------: | :----: |
+| 1. | 数量の可視化 | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | 分布の可視化 | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | 比率の可視化 | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | 関係性の可視化 | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | 意味のあるビジュアライゼーションの作成 | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### クレジット
+
+これらのビジュアライゼーションレッスンは、[Jen Looper](https://twitter.com/jenlooper)、[Jasleen Sondhi](https://github.com/jasleen101010)、[Vidushi Gupta](https://github.com/Vidushi-Gupta) によって🌸作成されました。
+
+🍯 アメリカのハチミツ生産に関するデータは、[Jessica Li](https://www.kaggle.com/jessicali9530/honey-production)のプロジェクトから取得されました。この[データ](https://usda.library.cornell.edu/concern/publications/rn301137d)は、[アメリカ農務省](https://www.nass.usda.gov/About_NASS/index.php)から派生したものです。
+
+🍄 キノコに関するデータは、[Hatteras Dunton](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset)によって改訂された[データセット](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset)から取得されました。このデータセットには、Agaricus属とLepiota属に属する23種のひだのあるキノコの仮想サンプルの説明が含まれています。データは『The Audubon Society Field Guide to North American Mushrooms (1981)』から引用され、1987年にUCI ML 27に寄贈されました。
+
+🦆 ミネソタ州の鳥に関するデータは、[Hannah Collins](https://www.kaggle.com/hannahcollins/minnesota-birds)によって[Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota)からスクレイピングされたものです。
+
+これらのデータセットはすべて[CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/)としてライセンスされています。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..569ae93d
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,117 @@
+
+# データサイエンスライフサイクルの紹介
+
+| ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| データサイエンスライフサイクルの紹介 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+## [講義前クイズ](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+ここまでで、データサイエンスがプロセスであることに気づいたかもしれません。このプロセスは以下の5つの段階に分けることができます:
+
+- データの収集
+- 処理
+- 分析
+- コミュニケーション
+- 保守
+
+このレッスンでは、ライフサイクルの3つの部分、収集、処理、保守に焦点を当てます。
+
+
+> 写真提供 [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
+
+## データの収集
+
+ライフサイクルの最初の段階は非常に重要です。次の段階はこれに依存しているためです。この段階は、データの取得と目的や解決すべき問題の定義という2つのステージが組み合わさったものです。
+プロジェクトの目標を定義するには、問題や質問に対する深い理解が必要です。まず、問題を解決する必要がある人々を特定し、取得する必要があります。これらは、ビジネスの利害関係者やプロジェクトのスポンサーである可能性があり、プロジェクトが誰に、何に、なぜ役立つのかを特定する手助けをしてくれます。明確に定義された目標は、受け入れ可能な結果を定義するために測定可能で定量的であるべきです。
+
+データサイエンティストが尋ねる可能性のある質問:
+- この問題は以前に取り組まれたことがあるか?何が発見されたか?
+- 関係者全員が目的と目標を理解しているか?
+- 曖昧さはあるか?それをどう減らすか?
+- 制約は何か?
+- 最終的な結果はどのようなものになる可能性があるか?
+- 利用可能なリソース(時間、人員、計算能力)はどれくらいか?
+
+次に、目標を達成するために必要なデータを特定し、収集し、探索します。この取得の段階では、データサイエンティストはデータの量と質を評価する必要があります。これには、取得したデータが望ましい結果を達成するのに役立つかどうかを確認するためのデータ探索が含まれます。
+
+データに関してデータサイエンティストが尋ねる可能性のある質問:
+- すでに利用可能なデータは何か?
+- このデータの所有者は誰か?
+- プライバシーに関する懸念は何か?
+- この問題を解決するのに十分なデータがあるか?
+- この問題に対してデータの質は許容範囲か?
+- このデータを通じて追加情報を発見した場合、目標を変更または再定義するべきか?
+
+## 処理
+
+ライフサイクルの処理段階では、データ内のパターンを発見し、モデリングを行います。この段階で使用されるいくつかの技術は、統計的手法を用いてパターンを明らかにします。通常、大規模なデータセットでは人間が手作業で行うには非常に手間がかかるため、コンピュータを使用してプロセスを迅速化します。この段階は、データサイエンスと機械学習が交差する部分でもあります。最初のレッスンで学んだように、機械学習はデータを理解するためのモデルを構築するプロセスです。モデルは、データ内の変数間の関係を表現し、結果を予測するのに役立ちます。
+
+この段階で使用される一般的な技術は、ML for Beginnersカリキュラムで取り上げられています。以下のリンクから詳細を学ぶことができます:
+
+- [分類](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification): データをカテゴリに整理して効率的に利用する。
+- [クラスタリング](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering): データを類似したグループに分ける。
+- [回帰](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression): 変数間の関係を特定し、値を予測または予測する。
+
+## 保守
+
+ライフサイクルの図では、保守が収集と処理の間に位置していることに気づいたかもしれません。保守は、プロジェクトの過程でデータを管理、保存、保護する継続的なプロセスであり、プロジェクト全体を通じて考慮されるべきです。
+
+### データの保存
+データがどのように、どこに保存されるかの考慮は、保存コストやデータのアクセス速度に影響を与える可能性があります。このような決定はデータサイエンティストだけで行われることは少ないですが、データの保存方法に基づいてデータを扱う方法を選択することになる場合があります。
+
+現代のデータ保存システムのいくつかの側面:
+**オンプレミス vs オフプレミス vs 公共またはプライベートクラウド**
+
+オンプレミスは、自分の設備でデータを管理することを指します。例えば、サーバーを所有し、そのハードドライブにデータを保存することです。一方、オフプレミスは、自分が所有していない設備(例えばデータセンター)を利用することを指します。公共クラウドは、データがどこでどのように保存されているかを知らなくても利用できる人気の選択肢です。公共クラウドは、クラウドを利用するすべての人が共有する統一された基盤インフラを指します。一部の組織は厳格なセキュリティポリシーを持ち、データがホストされている設備に完全にアクセスできる必要があるため、独自のクラウドサービスを提供するプライベートクラウドを利用します。[後のレッスン](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud)でクラウド内のデータについてさらに学びます。
+
+**コールドデータ vs ホットデータ**
+
+モデルをトレーニングする際には、より多くのトレーニングデータが必要になる場合があります。モデルに満足している場合でも、モデルが目的を果たすために新しいデータが到着します。いずれの場合でも、データを蓄積するにつれて保存とアクセスのコストが増加します。あまり使用されないデータ(コールドデータ)を頻繁にアクセスされるデータ(ホットデータ)から分離することで、ハードウェアやソフトウェアサービスを通じて安価なデータ保存オプションを利用できます。コールドデータをアクセスする必要がある場合、ホットデータに比べて取得に少し時間がかかることがあります。
+
+### データの管理
+データを扱う中で、一部のデータをクリーンアップする必要があることに気づくかもしれません。これは、[データ準備](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation)に焦点を当てたレッスンで取り上げた技術を使用して正確なモデルを構築するためです。新しいデータが到着した場合、品質の一貫性を維持するために同じ技術を適用する必要があります。一部のプロジェクトでは、データを最終的な場所に移動する前に、クレンジング、集約、圧縮を自動化するツールを使用することがあります。Azure Data Factoryはそのようなツールの一例です。
+
+### データの保護
+データを保護する主な目標の1つは、データを扱う人々が収集される内容とその使用される文脈を管理できるようにすることです。データを安全に保つには、必要な人だけがアクセスできるように制限し、地域の法律や規制を遵守し、[倫理のレッスン](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics)で取り上げた倫理基準を維持することが含まれます。
+
+チームがセキュリティを考慮して行う可能性のあること:
+- すべてのデータが暗号化されていることを確認する
+- 顧客にデータの使用方法について情報を提供する
+- プロジェクトを離れた人からデータアクセスを削除する
+- 特定のプロジェクトメンバーだけがデータを変更できるようにする
+
+## 🚀 チャレンジ
+
+データサイエンスライフサイクルには多くのバージョンがあり、それぞれのステップには異なる名前や段階数があるかもしれませんが、このレッスンで述べたプロセスは含まれています。
+
+[Team Data Science Processライフサイクル](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle)と[データマイニングのための業界標準プロセス](https://www.datascience-pm.com/crisp-dm-2/)を調査し、3つの類似点と相違点を挙げてください。
+
+|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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## 復習と自己学習
+
+データサイエンスライフサイクルを適用するには、複数の役割とタスクが関与し、それぞれの段階の特定の部分に焦点を当てる場合があります。Team Data Science Processは、プロジェクトで誰がどのような役割やタスクを持つかを説明するいくつかのリソースを提供しています。
+
+* [Team Data Science Processの役割とタスク](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [データサイエンスタスクの実行:探索、モデリング、展開](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## 課題
+
+[データセットの評価](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..a4e1b42d
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,34 @@
+
+# データセットの評価
+
+クライアントが、ニューヨーク市のタクシー利用者の季節ごとの支出傾向を調査するための支援を求めています。
+
+彼らが知りたいのは次のことです:**ニューヨーク市のイエロータクシー利用者は、冬と夏のどちらで運転手にチップを多く渡しているのか?**
+
+あなたのチームはデータサイエンスライフサイクルの[Capturing](Readme.md#Capturing)段階にあり、あなたはデータセットの取り扱いを担当しています。ノートブックと[データ](../../../../data/taxi.csv)が提供されており、それを探索することができます。
+
+このディレクトリには、[NYC Taxi & Limousine Commission](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)からイエロータクシーの乗車データをPythonで読み込む[ノートブック](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb)があります。また、タクシーデータファイルをテキストエディタやExcelのようなスプレッドシートソフトウェアで開くことも可能です。
+
+## 手順
+
+- このデータセットのデータが質問に答えるのに役立つかどうかを評価してください。
+- [NYC Open Dataカタログ](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93)を探索し、クライアントの質問に答えるのに役立つ可能性のある追加のデータセットを特定してください。
+- 問題をより明確に理解するために、クライアントに尋ねたい3つの質問を作成してください。
+
+データに関する詳細情報については、[データセットの辞書](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)および[ユーザーガイド](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)を参照してください。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | ---
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/ja/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..171461a4
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,59 @@
+
+# データサイエンスライフサイクル: 分析
+
+| ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| データサイエンスライフサイクル: 分析 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+## 講義前クイズ
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+データライフサイクルにおける分析は、データが提案された質問に答えたり、特定の問題を解決したりできることを確認するプロセスです。このステップでは、モデルがこれらの質問や問題に正しく対応しているかを確認することにも焦点を当てます。このレッスンでは、探索的データ分析(EDA)に焦点を当てます。EDAは、データ内の特徴や関係性を定義するための手法であり、モデリングの準備に役立ちます。
+
+ここでは、[Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) の例のデータセットを使用して、PythonとPandasライブラリを使った適用方法を示します。このデータセットには、メール内でよく見られる単語の出現回数が含まれており、メールの送信元は匿名化されています。このディレクトリ内の [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) を使用して一緒に進めてください。
+
+## 探索的データ分析
+
+ライフサイクルのキャプチャフェーズでは、データの取得と問題や質問の特定が行われますが、そのデータが最終的な結果をサポートできるかどうかはどうやって確認するのでしょうか?
+データサイエンティストは、データを取得した際に以下のような質問をするかもしれません:
+- この問題を解決するのに十分なデータがあるか?
+- この問題に対してデータの品質は許容範囲内か?
+- このデータを通じて追加の情報を発見した場合、目標を変更または再定義すべきか?
+
+探索的データ分析は、データを理解するプロセスであり、これらの質問に答えるだけでなく、データセットを扱う上での課題を特定するのにも役立ちます。ここでは、この目的を達成するために使用されるいくつかの手法に焦点を当てます。
+
+## データプロファイリング、記述統計、およびPandas
+この問題を解決するのに十分なデータがあるかどうかをどのように評価するのでしょうか?データプロファイリングは、記述統計の手法を通じて、データセットに関する一般的な情報を要約し収集することができます。データプロファイリングは、利用可能なものを理解するのに役立ち、記述統計は、利用可能なものの量を理解するのに役立ちます。
+
+以前のいくつかのレッスンでは、Pandasを使用して [`describe()` 関数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html) を使い、記述統計を提供しました。この関数は、数値データに対して、件数、最大値と最小値、平均、標準偏差、分位点を提供します。`describe()` 関数のような記述統計を使用することで、データの量を評価し、追加が必要かどうかを判断できます。
+
+## サンプリングとクエリ
+大規模なデータセット全体を探索するのは非常に時間がかかる作業であり、通常はコンピュータに任せる作業です。しかし、サンプリングはデータを理解するための便利なツールであり、データセットに含まれる内容やその意味をよりよく理解するのに役立ちます。サンプルを使用することで、確率や統計を適用してデータに関する一般的な結論を導き出すことができます。サンプリングするデータの量に明確なルールはありませんが、サンプリングするデータが多いほど、データに関する一般化の精度が高まることに注意してください。
+Pandasには、[`sample()` 関数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html) があり、取得したいランダムサンプルの数を引数として渡すことができます。
+
+データの一般的なクエリは、持っているデータに関する一般的な質問や仮説に答えるのに役立ちます。サンプリングとは対照的に、クエリは特定の部分に焦点を当て、質問に答えるためのコントロールを提供します。
+Pandasライブラリの [`query()` 関数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) を使用すると、列を選択し、取得した行を通じてデータに関する簡単な回答を得ることができます。
+
+## 可視化を使った探索
+データが完全にクリーンアップされ、分析されるのを待つ必要はありません。実際、探索中に視覚的な表現を作成することで、データ内のパターン、関係性、問題を特定するのに役立ちます。さらに、可視化はデータ管理に関与していない人々とのコミュニケーション手段を提供し、キャプチャ段階で扱われなかった追加の質問を共有し明確にする機会を提供します。[可視化に関するセクション](../../../../../../../../../3-Data-Visualization) を参照して、視覚的に探索するための一般的な方法について学んでください。
+
+## 不整合を特定するための探索
+このレッスンのすべてのトピックは、欠損値や不整合な値を特定するのに役立ちますが、Pandasはこれらをチェックするための関数を提供しています。[isna() または isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) を使用して欠損値をチェックできます。データ内のこれらの値を探索する際に重要なのは、それらがなぜそのような状態になったのかを調べることです。これにより、それらを解決するためにどのような[アクションを取るべきか](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb) を決定するのに役立ちます。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## 課題
+
+[答えを探索する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/ja/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..d4a4fecb
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,35 @@
+
+# 答えを探る
+
+これは前回のレッスンの[課題](../14-Introduction/assignment.md)の続きで、データセットを簡単に見たところから始まります。今回はデータをさらに深く掘り下げていきます。
+
+再度、クライアントが知りたい質問は次のとおりです:
+**ニューヨーク市のイエロータクシーの乗客は、冬と夏のどちらで運転手にチップを多く渡すのか?**
+
+あなたのチームはデータサイエンスライフサイクルの[分析](README.md)段階にあり、データセットに対して探索的データ分析(EDA)を行う責任があります。2019年1月と7月の200件のタクシー取引が含まれたノートブックとデータセットが提供されています。
+
+## 手順
+
+このディレクトリには[ノートブック](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb)と[タクシー&リムジン委員会](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)からのデータが含まれています。データに関する詳細は、[データセットの辞書](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)および[ユーザーガイド](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)を参照してください。
+
+このレッスンで学んだいくつかの手法を使って、ノートブック内で独自のEDAを行い(必要に応じてセルを追加してください)、以下の質問に答えてください:
+
+- チップ額に影響を与える可能性のある他の要因は何ですか?
+- クライアントの質問に答えるために不要と思われる列はどれですか?
+- 現時点で提供されている情報に基づいて、季節ごとのチップ行動に関する証拠がデータに見られますか?
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | ---
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/16-communication/README.md b/translations/ja/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..7b77a041
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,216 @@
+
+# データサイエンスライフサイクル: コミュニケーション
+
+|](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| データサイエンスライフサイクル: コミュニケーション - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+## [事前講義クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+上記の事前講義クイズで、これから学ぶ内容についての知識をテストしてみましょう!
+
+# はじめに
+
+### コミュニケーションとは?
+このレッスンでは、まず「コミュニケーション」とは何かを定義することから始めます。**コミュニケーションとは、情報を伝達または交換することです。** 情報とは、アイデア、考え、感情、メッセージ、隠れた信号、データなど、**_送信者_**(情報を送る人)が**_受信者_**(情報を受け取る人)に理解してほしいと思うものすべてを指します。このレッスンでは、送信者をコミュニケーター、受信者をオーディエンスと呼びます。
+
+### データコミュニケーションとストーリーテリング
+コミュニケーションの目的が情報を伝達または交換することであることは理解しています。しかし、データを伝える際には、単に数字をオーディエンスに渡すだけでは不十分です。データに基づいたストーリーを伝えることが目的であるべきです。効果的なデータコミュニケーションとストーリーテリングは密接に関連しています。オーディエンスは、数字よりもストーリーを記憶する可能性が高いのです。このレッスンでは、データをより効果的に伝えるためにストーリーテリングを活用する方法についていくつか説明します。
+
+### コミュニケーションの種類
+このレッスンでは、一方向コミュニケーションと双方向コミュニケーションという2種類のコミュニケーションについて説明します。
+
+**一方向コミュニケーション**は、送信者が受信者に情報を送るだけで、フィードバックや応答がない場合に発生します。一方向コミュニケーションの例は日常的に見られます。大量のメール、ニュースが最新の話題を伝えるとき、テレビのコマーシャルが製品の良さを伝えるときなどです。これらの例では、送信者は情報の交換を求めているわけではありません。ただ情報を伝えることを目的としています。
+
+**双方向コミュニケーション**は、関与するすべての人が送信者と受信者の両方として行動する場合に発生します。送信者が受信者に情報を伝え、受信者がフィードバックや応答を提供します。双方向コミュニケーションは、通常、コミュニケーションについて考えるときに思い浮かべるものです。対面での会話、電話、ソーシャルメディア、テキストメッセージなどが含まれます。
+
+データを伝える際には、一方向コミュニケーションを使用する場合(例えば、会議や質問がすぐには行われない大規模なグループへのプレゼンテーション)もあれば、双方向コミュニケーションを使用する場合(例えば、少数のステークホルダーを説得して賛同を得たり、チームメイトを説得して新しいものを構築する時間と労力を費やすべきだと納得させたりする場合)もあります。
+
+# 効果的なコミュニケーション
+
+### コミュニケーターとしての責任
+コミュニケーションを行う際には、受信者があなたが伝えたい情報を正しく理解するようにする責任があります。データを伝える場合、受信者に単なる数字を伝えるだけでなく、データに基づいたストーリーを伝えることが重要です。優れたデータコミュニケーターは優れたストーリーテラーでもあります。
+
+データでストーリーを伝えるにはどうすればよいでしょうか?方法は無限にありますが、このレッスンでは以下の6つの方法について説明します。
+1. オーディエンス、媒体、コミュニケーション方法を理解する
+2. 結果を念頭に置いて始める
+3. 実際のストーリーのようにアプローチする
+4. 意味のある言葉やフレーズを使う
+5. 感情を活用する
+
+これらの戦略については、以下で詳しく説明します。
+
+### 1. オーディエンス、媒体、コミュニケーション方法を理解する
+家族と話す方法は、友人と話す方法とは異なることが多いでしょう。おそらく、話している相手が理解しやすい言葉やフレーズを使っているはずです。データを伝える際にも同じアプローチを取るべきです。誰に伝えるのかを考え、その人たちの目標や状況を考慮してください。
+
+オーディエンスを大まかにカテゴリー分けすることができるかもしれません。_ハーバード・ビジネス・レビュー_の記事「[データでストーリーを伝える方法](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)」では、DellのエグゼクティブストラテジストであるJim Stikeleatherがオーディエンスを以下の5つのカテゴリーに分類しています。
+
+- **初心者**: 初めてそのテーマに触れるが、過度な単純化は求めていない
+- **一般人**: テーマについての認識はあるが、概要や主要なテーマを求めている
+- **管理者**: 詳細な理解や複雑な関係性を求め、詳細へのアクセスを必要としている
+- **専門家**: ストーリーテリングよりも探索や発見を求め、詳細を重視している
+- **経営者**: 意義や結論を短時間で把握することを求めている
+
+これらのカテゴリーは、データをオーディエンスにどのように提示するかを考える際の参考になります。
+
+さらに、オーディエンスのカテゴリーを考慮するだけでなく、データを伝える際に使用する媒体も考慮する必要があります。メモやメールを書く場合と、会議やカンファレンスでプレゼンテーションを行う場合では、アプローチが少し異なるべきです。
+
+オーディエンスを理解することに加えて、一方向コミュニケーションを使用するのか双方向コミュニケーションを使用するのかを知ることも重要です。
+
+例えば、初心者が多いオーディエンスに一方向コミュニケーションを使用する場合、まずオーディエンスを教育し、適切な状況を提供する必要があります。その後、データを提示し、そのデータが何を意味するのか、なぜ重要なのかを説明します。この場合、オーディエンスが直接質問をすることができないため、明確さを重視する必要があります。
+
+一方、管理者が多いオーディエンスに双方向コミュニケーションを使用する場合、オーディエンスを教育したり、状況を提供したりする必要はほとんどありません。すぐに収集したデータとその重要性について話し始めることができるでしょう。しかし、この場合、タイミングとプレゼンテーションのコントロールに集中する必要があります。双方向コミュニケーションを使用する場合(特に「詳細な理解や複雑な関係性を求める」管理者がオーディエンスの場合)、質問が出てきて、伝えたいストーリーに関係のない方向に議論が進む可能性があります。このような場合には、行動を起こして議論をストーリーに戻すことができます。
+
+### 2. 結果を念頭に置いて始める
+結果を念頭に置いて始めるとは、コミュニケーションを始める前にオーディエンスに伝えたい内容を明確に理解することを意味します。事前にオーディエンスに伝えたい内容を考えることで、オーディエンスが理解しやすいストーリーを作ることができます。結果を念頭に置いて始めることは、一方向コミュニケーションにも双方向コミュニケーションにも適しています。
+
+結果を念頭に置いて始めるにはどうすればよいでしょうか?データを伝える前に、主要なポイントを書き出します。その後、データを使って伝えたいストーリーを準備する過程で、常に「これが私の伝えたいストーリーにどう関係しているのか?」と自問してください。
+
+注意点 – 結果を念頭に置いて始めることは理想的ですが、意図した結果を支持するデータだけを伝えるべきではありません。これを「チェリーピッキング」と呼びます。チェリーピッキングとは、伝えたいポイントを支持するデータだけを伝え、他のデータを無視することです。
+
+収集したデータがすべて意図した結果を明確に支持している場合は、それで問題ありません。しかし、収集したデータの中に意図した結果を支持しないものや、意図した結果に反対するものが含まれている場合は、それも伝えるべきです。このような場合には、オーディエンスに対して、すべてのデータがストーリーを支持しているわけではないにもかかわらず、なぜそのストーリーを選んでいるのかを率直に伝えるべきです。
+
+### 3. 実際のストーリーのようにアプローチする
+伝統的なストーリーは5つのフェーズで構成されています。これらのフェーズは、序章、上昇するアクション、クライマックス、下降するアクション、結末として表現されることがあります。または、より覚えやすい形で、状況、対立、クライマックス、解決、結論と表現されることもあります。データとストーリーを伝える際には、同様のアプローチを取ることができます。
+
+まず状況を説明し、オーディエンスが同じ理解を持つようにします。その後、対立を紹介します。なぜこのデータを収集する必要があったのか?どのような問題を解決しようとしていたのか?次にクライマックスです。データは何を示しているのか?データが示す解決策は何か?その後、解決に進み、問題と提案された解決策を再確認します。最後に結論として、主要なポイントとチームが取るべき次のステップを要約します。
+
+### 4. 意味のある言葉やフレーズを使う
+もし私たちが一緒に製品を開発していて、私が「私たちのユーザーはプラットフォームへのオンボーディングに時間がかかる」と言ったら、「時間がかかる」とはどれくらいの時間だと思いますか?1時間?1週間?それは分かりません。もし私がそれをオーディエンス全体に言ったら、オーディエンスの全員がプラットフォームへのオンボーディングにかかる時間について異なる考えを持つかもしれません。
+
+しかし、もし私が「私たちのユーザーは平均して3分でプラットフォームにサインアップしてオンボーディングを完了する」と言ったらどうでしょうか?
+
+そのメッセージはより明確です。データを伝える際には、オーディエンス全員が自分と同じように考えていると思いがちですが、必ずしもそうではありません。データとその意味を明確にすることは、コミュニケーターとしての責任の一つです。データやストーリーが明確でない場合、オーディエンスは理解しづらくなり、主要なポイントを理解する可能性が低くなります。
+
+意味のある言葉やフレーズを使うことで、データをより明確に伝えることができます。以下はその例です。
+
+- 私たちは*素晴らしい*年を迎えました!
+ - 一人は素晴らしい年が収益の2%~3%の増加を意味すると考え、別の人は50%~60%の増加を意味すると考えるかもしれません。
+- 私たちのユーザーの成功率は*劇的に*増加しました。
+ - 劇的な増加とはどれくらいの増加でしょうか?
+- この取り組みには*かなりの*努力が必要です。
+ - かなりの努力とはどれくらいの努力でしょうか?
+
+曖昧な言葉は、これから伝えるデータの導入や、伝えたストーリーの要約として役立つ場合があります。しかし、プレゼンテーションのすべての部分がオーディエンスにとって明確であることを確認することを検討してください。
+
+### 5. 感情を活用する
+感情はストーリーテリングにおいて重要です。データでストーリーを伝える際にはさらに重要です。データを伝える際には、オーディエンスに伝えたい主要なポイントに焦点を当てています。オーディエンスに感情を呼び起こすことで、共感を得やすくなり、行動を起こす可能性が高くなります。また、感情はオーディエンスがメッセージを記憶する可能性を高めます。
+
+テレビコマーシャルでこれを経験したことがあるかもしれません。一部のコマーシャルは非常に厳粛で、悲しい感情を使ってオーディエンスとつながり、提示されたデータを際立たせます。また、一部のコマーシャルは非常に明るく、幸せな感情を使ってデータをポジティブな感情と関連付けます。
+
+データを伝える際に感情を活用する方法は以下の通りです。
+
+- テスティモニアルや個人的なストーリーを使用する
+ - データを収集する際には、定量的データと定性的データの両方を収集し、伝える際には両方を統合するようにします。データが主に定量的である場合は、個人の経験を聞いてデータが伝える内容を補完するストーリーを探します。
+- イメージを使用する
+ - イメージはオーディエンスが状況に自分を重ね合わせるのを助けます。イメージを使用することで、データに対してオーディエンスが持つべき感情に近づけることができます。
+- 色を使用する
+ - 色は異なる感情を呼び起こします。一般的な色とそれが呼び起こす感情は以下の通りです。ただし、色の意味は文化によって異なる場合があります。
+ - 青は通常、平和や信頼の感情を呼び起こします
+ - 緑は通常、自然や環境に関連しています
+ - 赤は通常、情熱や興奮を表します
+ - 黄色は通常、楽観主義や幸福を表します
+
+# コミュニケーションのケーススタディ
+エマーソンはモバイルアプリのプロダクトマネージャーです。エマーソンは、週末に顧客が42%多くの苦情やバグ報告を提出していることに気づきました。また、苦情が48時間以内に回答されない場合、顧客がアプリストアで1または2の評価を付ける可能性が32%高くなることも発見しました。
+
+調査を行った結果、エマーソンは問題を解決するためのいくつかの解決策を見つけました。エマーソンは、データと提案された解決策を伝えるために、会社のリーダー3人との30分の会議を設定しました。
+
+この会議でのエマーソンの目標は、以下の2つの解決策がアプリの評価を向上させ、それが収益の増加につながる可能性があることを会社のリーダーに理解してもらうことです。
+
+**解決策1.** 週末に働くカスタマーサービス担当者を雇う
+
+**解決策2.** カスタマーサービス担当者が最
+エマーソンは会議で、アプリストアの評価が低いことがなぜ悪いのかを5分間説明し、調査プロセスとトレンドの特定方法について10分間説明しました。その後、最近の顧客からの苦情について10分間触れ、最後の5分間で2つの潜在的な解決策を簡単に説明しました。
+
+この会議で、エマーソンの伝え方は効果的だったでしょうか?
+
+会議中、ある会社のリーダーはエマーソンが説明した顧客の苦情の10分間に固執しました。会議後、このリーダーが覚えていたのはその苦情だけでした。別のリーダーは、エマーソンが説明した調査プロセスに主に焦点を当てていました。3人目のリーダーは、エマーソンが提案した解決策を覚えていましたが、それらの解決策をどのように実行すればよいのか確信が持てませんでした。
+
+上記の状況から、エマーソンがチームリーダーたちに伝えたかったことと、実際に彼らが会議から得たものとの間に大きなギャップがあったことがわかります。以下は、エマーソンが検討できる別のアプローチです。
+
+エマーソンはこのアプローチをどのように改善できるでしょうか?
+コンテキスト、コンフリクト、クライマックス、クロージャー、結論
+
+**コンテキスト**
+エマーソンは最初の5分間を使って、全体の状況を紹介し、問題が会社にとって重要な指標(例えば収益)にどのように影響を与えるかをチームリーダーたちに理解させるべきです。
+
+例えば、次のように説明できます:
+「現在、私たちのアプリのストア評価は2.5です。アプリストアの評価は、アプリストア最適化(ASO)にとって重要であり、これがどれだけのユーザーが検索で私たちのアプリを目にするか、また潜在的なユーザーにどのように見られるかに影響します。そしてもちろん、ユーザー数は収益に直接結びついています。」
+
+**コンフリクト**
+次に、エマーソンは5分程度を使って問題について話すべきです。
+
+例えば、次のように説明できます:
+「ユーザーは週末に42%多くの苦情やバグ報告を送信します。苦情を送信した顧客が48時間以内に対応されない場合、アプリストアで2以上の評価を付ける可能性が32%低くなります。アプリストアでの評価を4に改善することで、視認性が20~30%向上し、収益が10%増加すると予測しています。」もちろん、これらの数字を正当化する準備をしておく必要があります。
+
+**クライマックス**
+基盤を築いた後、エマーソンは次にクライマックスに移り、5分程度を使います。
+
+エマーソンは提案された解決策を紹介し、それらの解決策がどのように問題を解決するのか、既存のワークフローにどのように実装できるのか、それらの解決策のコスト、ROI(投資利益率)、さらには実装された場合のスクリーンショットやワイヤーフレームを示すことができます。また、48時間以上対応が遅れたユーザーの証言や、現在のチケットシステムについてコメントする社内のカスタマーサービス担当者の証言を共有することもできます。
+
+**クロージャー**
+ここでエマーソンは5分間を使って、会社が直面している問題を再確認し、提案された解決策を再訪し、それらの解決策がなぜ適切なのかをレビューします。
+
+**結論**
+この会議は少数のステークホルダーとの双方向のコミュニケーションが行われる場であるため、エマーソンは最後に10分間を質問のために確保し、チームリーダーたちが混乱した点を明確にできるように計画するべきです。
+
+エマーソンがアプローチ#2を採用した場合、チームリーダーたちが会議から得るものは、エマーソンが意図した内容により近くなる可能性が高いです。つまり、苦情やバグの対応方法を改善できること、そしてその改善を実現するために2つの解決策があるということです。このアプローチは、エマーソンが伝えたいデータとストーリーをより効果的に伝える方法となるでしょう。
+
+---
+
+# 結論
+### 主なポイントの要約
+- コミュニケーションとは、情報を伝達または交換することです。
+- データを伝える際の目的は、単に数字を伝えることではなく、データに基づいたストーリーを伝えることです。
+- コミュニケーションには2種類あります。一方向のコミュニケーション(応答を意図しない情報伝達)と双方向のコミュニケーション(情報が双方向にやり取りされるもの)です。
+- データを使ってストーリーを伝えるための多くの戦略がありますが、ここで紹介した5つの戦略は以下の通りです:
+ - 聴衆、媒体、コミュニケーション方法を理解する
+ - 結果を念頭に置いて始める
+ - 実際のストーリーのようにアプローチする
+ - 意味のある言葉やフレーズを使う
+ - 感情を活用する
+
+### 自習のための推奨リソース
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+---
+
+## [ポストレクチャークイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+上記のポストレクチャークイズで学んだ内容を復習してください!
+
+---
+
+## 課題
+
+[市場調査](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/ja/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..3bdc4d61
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# 物語を語る
+
+## 指示
+
+データサイエンスは物語を語ることが重要です。任意のデータセットを選び、そのデータセットを使って語れる短い物語について書いてください。あなたのデータセットが何を明らかにできることを期待していますか?その明らかにした内容が問題を引き起こす場合、どうしますか?データが簡単にその秘密を明かさない場合はどうしますか?データセットが提示する可能性のあるシナリオを考え、それを書き留めてください。
+
+## 採点基準
+
+優秀 | 十分 | 改善が必要
+--- | --- | --- |
+
+1ページのエッセイが.doc形式で提出され、データセットが説明され、文書化され、出典が明記され、データからの詳細な例を用いて一貫した物語が提示されている。| 短いエッセイが提出され、詳細がやや不足している。| 上記のいずれかの詳細が欠けている。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/4-Data-Science-Lifecycle/README.md b/translations/ja/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..c24fb433
--- /dev/null
+++ b/translations/ja/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# データサイエンスライフサイクル
+
+
+> 写真提供:Headway、Unsplash
+
+このレッスンでは、データサイエンスのライフサイクルのいくつかの側面、特にデータの分析やコミュニケーションについて学びます。
+
+### トピック
+
+1. [イントロダクション](14-Introduction/README.md)
+2. [分析](15-analyzing/README.md)
+3. [コミュニケーション](16-communication/README.md)
+
+### クレジット
+
+これらのレッスンは、[Jalen McGee](https://twitter.com/JalenMCG) と [Jasmine Greenaway](https://twitter.com/paladique) によって ❤️ を込めて作成されました。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/ja/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..8a69b937
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,112 @@
+
+# クラウドにおけるデータサイエンス入門
+
+| ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| クラウドにおけるデータサイエンス: 入門 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+このレッスンでは、クラウドの基本原則を学び、クラウドサービスを利用してデータサイエンスプロジェクトを実行することがなぜ興味深いのかを理解します。そして、クラウドで実行されるデータサイエンスプロジェクトのいくつかの例を見ていきます。
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## クラウドとは?
+
+クラウド、またはクラウドコンピューティングとは、インターネットを介して提供される幅広い従量課金型のコンピューティングサービスを指します。これには、ストレージ、データベース、ネットワーキング、ソフトウェア、分析、インテリジェントサービスなどのソリューションが含まれます。
+
+通常、クラウドは以下のようにパブリッククラウド、プライベートクラウド、ハイブリッドクラウドに分類されます:
+
+* **パブリッククラウド**: パブリッククラウドは、第三者のクラウドサービスプロバイダーによって所有・運営され、インターネットを介して一般にコンピューティングリソースを提供します。
+* **プライベートクラウド**: プライベートクラウドは、特定の企業や組織が専用で使用するクラウドコンピューティングリソースを指し、サービスやインフラはプライベートネットワーク上で維持されます。
+* **ハイブリッドクラウド**: ハイブリッドクラウドは、パブリッククラウドとプライベートクラウドを組み合わせたシステムです。ユーザーはオンプレミスのデータセンターを選択しながら、データやアプリケーションを1つ以上のパブリッククラウドで実行することができます。
+
+クラウドコンピューティングサービスの多くは、以下の3つのカテゴリに分類されます:IaaS、PaaS、SaaS。
+
+* **Infrastructure as a Service (IaaS)**: サーバーや仮想マシン(VM)、ストレージ、ネットワーク、オペレーティングシステムなどのITインフラをレンタルします。
+* **Platform as a Service (PaaS)**: ソフトウェアアプリケーションの開発、テスト、提供、管理のための環境をレンタルします。開発に必要なサーバー、ストレージ、ネットワーク、データベースなどの基盤インフラを設定・管理する必要はありません。
+* **Software as a Service (SaaS)**: インターネットを介してオンデマンドで、通常はサブスクリプションベースでソフトウェアアプリケーションにアクセスします。ホスティングや管理、ソフトウェアのアップグレードやセキュリティパッチなどのメンテナンスを心配する必要はありません。
+
+主要なクラウドプロバイダーには、Amazon Web Services、Google Cloud Platform、Microsoft Azureがあります。
+
+## データサイエンスにクラウドを選ぶ理由
+
+開発者やITプロフェッショナルがクラウドを選ぶ理由には、以下のようなものがあります:
+
+* **イノベーション**: クラウドプロバイダーが提供する革新的なサービスをアプリケーションに直接統合することで、アプリを強化できます。
+* **柔軟性**: 必要なサービスだけを利用し、幅広いサービスから選択できます。通常は従量課金制で、進化するニーズに応じてサービスを調整できます。
+* **予算**: ハードウェアやソフトウェアを購入し、オンサイトのデータセンターを設置・運営する初期投資が不要で、使用した分だけ支払えば済みます。
+* **スケーラビリティ**: プロジェクトのニーズに応じてリソースを拡張できるため、アプリは外部要因に応じてコンピューティングパワー、ストレージ、帯域幅を増減できます。
+* **生産性**: データセンターの管理など、他者に任せられるタスクに時間を費やすことなく、ビジネスに集中できます。
+* **信頼性**: クラウドコンピューティングはデータの継続的なバックアップ方法を提供し、災害復旧計画を設定して、危機時でもビジネスやサービスを継続できます。
+* **セキュリティ**: プロジェクトのセキュリティを強化するポリシー、技術、コントロールを利用できます。
+
+これらはクラウドサービスを選ぶ一般的な理由の一部です。クラウドの概要とその主な利点を理解したところで、データサイエンティストやデータを扱う開発者の仕事に焦点を当て、クラウドが彼らの直面する課題をどのように解決できるかを具体的に見ていきましょう:
+
+* **大量のデータの保存**: 大型サーバーを購入、管理、保護する代わりに、Azure Cosmos DB、Azure SQL Database、Azure Data Lake Storageなどのクラウドソリューションを利用してデータを直接クラウドに保存できます。
+* **データ統合の実行**: データ統合はデータサイエンスの重要な部分であり、データ収集からアクションへの移行を可能にします。クラウドが提供するデータ統合サービスを利用すれば、さまざまなソースからデータを収集、変換、統合し、単一のデータウェアハウスにまとめることができます(例:Data Factory)。
+* **データの処理**: 大量のデータを処理するには多くのコンピューティングパワーが必要ですが、すべての人が十分な性能を持つマシンを持っているわけではありません。そのため、多くの人がクラウドの膨大なコンピューティングパワーを直接活用してソリューションを実行・展開しています。
+* **データ分析サービスの利用**: Azure Synapse Analytics、Azure Stream Analytics、Azure Databricksなどのクラウドサービスを利用して、データを実用的な洞察に変えることができます。
+* **機械学習とデータインテリジェンスサービスの利用**: ゼロから始める代わりに、クラウドプロバイダーが提供する機械学習アルゴリズムを利用できます(例:AzureML)。また、音声認識、音声合成、コンピュータビジョンなどのコグニティブサービスも利用可能です。
+
+## クラウドにおけるデータサイエンスの例
+
+いくつかのシナリオを見て、具体的に理解を深めましょう。
+
+### リアルタイムのソーシャルメディア感情分析
+機械学習を始める人々がよく研究するシナリオとして、リアルタイムのソーシャルメディア感情分析があります。
+
+例えば、ニュースメディアのウェブサイトを運営しているとしましょう。ライブデータを活用して読者が興味を持つコンテンツを理解したい場合、Twitterの投稿データをリアルタイムで感情分析するプログラムを構築できます。
+
+注目すべき指標は、特定のトピック(ハッシュタグ)に関するツイートの量と感情です。感情は指定されたトピックに関する感情分析を行う分析ツールを使用して確立されます。
+
+このプロジェクトを作成するための手順は以下の通りです:
+
+* 入力ストリームを収集するイベントハブを作成
+* TwitterストリーミングAPIを呼び出すTwitterクライアントアプリケーションを設定・開始
+* Stream Analyticsジョブを作成
+* ジョブの入力とクエリを指定
+* 出力先を作成し、ジョブの出力を指定
+* ジョブを開始
+
+完全なプロセスを見るには、[ドキュメント](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)を参照してください。
+
+### 科学論文の分析
+このカリキュラムの著者の一人である[Dmitry Soshnikov](http://soshnikov.com)が作成したプロジェクトを例に取り上げます。
+
+DmitryはCOVID関連の論文を分析するツールを作成しました。このプロジェクトをレビューすることで、科学論文から知識を抽出し、洞察を得て、大量の論文コレクションを効率的にナビゲートするツールを作成する方法を学べます。
+
+使用された手順は以下の通りです:
+
+* [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を使用して情報を抽出・前処理
+* [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を使用して処理を並列化
+* [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を使用して情報を保存・クエリ
+* Power BIを使用してデータ探索と可視化のためのインタラクティブなダッシュボードを作成
+
+完全なプロセスを見るには、[Dmitryのブログ](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)を訪問してください。
+
+このように、クラウドサービスを活用してデータサイエンスを実行する方法は多岐にわたります。
+
+## 脚注
+
+出典:
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## 講義後クイズ
+
+[講義後クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## 課題
+
+[市場調査](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤訳について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/ja/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..56de6198
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# 市場調査
+
+## 指示
+
+このレッスンでは、いくつかの重要なクラウドプロバイダーが存在することを学びました。市場調査を行い、それぞれがデータサイエンティストに何を提供できるかを調べてください。それらの提供内容は比較可能ですか?これらのクラウドプロバイダーのうち3つ以上の提供内容を説明するレポートを書いてください。
+
+## ルーブリック
+
+優秀 | 適切 | 改善が必要
+--- | --- | --- |
+3つのクラウドプロバイダーのデータサイエンス向け提供内容を説明し、それらの違いを明確にした1ページのレポートが提出される。 | より短いレポートが提出される。 | 分析を完了せずにレポートが提出される。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..1ee46946
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,348 @@
+
+# クラウドでのデータサイエンス: 「ローコード/ノーコード」アプローチ
+
+| ](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| クラウドでのデータサイエンス: ローコード - _スケッチノート by [@nitya](https://twitter.com/nitya)_ |
+
+目次:
+
+- [クラウドでのデータサイエンス: 「ローコード/ノーコード」アプローチ](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [講義前のクイズ](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. はじめに](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 Azure Machine Learningとは?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 心不全予測プロジェクト:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 心不全データセット:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. Azure ML Studioでのローコード/ノーコードによるモデルのトレーニング](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 Azure MLワークスペースの作成](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 コンピュートリソース](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 コンピュートリソースの適切な選択](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 コンピュートクラスターの作成](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 データセットの読み込み](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 AutoMLによるローコード/ノーコードトレーニング](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. ローコード/ノーコードによるモデルのデプロイとエンドポイントの利用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 モデルのデプロイ](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 エンドポイントの利用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 チャレンジ](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [講義後のクイズ](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [レビューと自己学習](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [課題](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [講義前のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+## 1. はじめに
+### 1.1 Azure Machine Learningとは?
+
+Azureクラウドプラットフォームは、200以上の製品とクラウドサービスを提供し、新しいソリューションを実現するための支援を行います。
+データサイエンティストは、データの探索や前処理、さまざまなモデルトレーニングアルゴリズムの試行に多くの時間を費やします。これらの作業は時間がかかり、高価なコンピュートハードウェアを非効率的に使用することがよくあります。
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)は、Azure上で機械学習ソリューションを構築・運用するためのクラウドベースのプラットフォームです。データの準備、モデルのトレーニング、予測サービスの公開、使用状況の監視を支援する幅広い機能を備えています。特に、モデルトレーニングに関連する時間のかかる作業を自動化することで効率を向上させ、クラウドベースのコンピュートリソースを効果的にスケールさせ、大量のデータを処理しながら実際に使用した分だけのコストを発生させることができます。
+
+Azure MLは、開発者やデータサイエンティストが機械学習ワークフローを実行するために必要なツールをすべて提供します。これには以下が含まれます:
+
+- **Azure Machine Learning Studio**: モデルのトレーニング、デプロイ、オートメーション、トラッキング、資産管理をローコード/ノーコードで行うためのウェブポータル。Azure Machine Learning SDKと統合されています。
+- **Jupyter Notebooks**: MLモデルを迅速にプロトタイプ化し、テストするためのツール。
+- **Azure Machine Learning Designer**: モジュールをドラッグ&ドロップして実験を構築し、ローコード環境でパイプラインをデプロイ可能。
+- **自動化された機械学習UI (AutoML)**: 機械学習モデル開発の反復作業を自動化し、高いスケール、効率、生産性を維持しながらモデル品質を確保。
+- **データラベリング**: データを自動的にラベル付けする支援ツール。
+- **Visual Studio Code用機械学習拡張機能**: MLプロジェクトを構築・管理するためのフル機能の開発環境。
+- **機械学習CLI**: コマンドラインからAzure MLリソースを管理するためのコマンドを提供。
+- **PyTorch、TensorFlow、Scikit-learnなどのオープンソースフレームワークとの統合**: トレーニング、デプロイ、エンドツーエンドの機械学習プロセス管理をサポート。
+- **MLflow**: 機械学習実験のライフサイクルを管理するオープンソースライブラリ。**MLFlow Tracking**は、トレーニング実行のメトリクスやモデルアーティファクトをログ・トラッキングするコンポーネント。
+
+### 1.2 心不全予測プロジェクト:
+
+プロジェクトを作成・構築することは、スキルや知識を試す最良の方法であることは間違いありません。このレッスンでは、Azure ML Studioを使用して心不全発作を予測するデータサイエンスプロジェクトを構築する2つの異なる方法を探ります。ローコード/ノーコードとAzure ML SDKを以下のスキーマで示します:
+
+
+
+それぞれの方法には利点と欠点があります。ローコード/ノーコードの方法は、GUI(グラフィカルユーザーインターフェース)を使用するため、コードの事前知識が不要で、簡単に始められます。この方法はプロジェクトの実現可能性を迅速にテストし、POC(概念実証)を作成するのに適しています。しかし、プロジェクトが成長し、プロダクション対応が必要になると、GUIを使用してリソースを作成することは現実的ではありません。この場合、Azure ML SDKを使用して、リソースの作成からモデルのデプロイまでをプログラム的に自動化する方法を知ることが重要になります。
+
+| | ローコード/ノーコード | Azure ML SDK |
+|-------------------|------------------|---------------------------|
+| コードの専門知識 | 不要 | 必要 |
+| 開発時間 | 簡単で迅速 | コードの専門知識に依存 |
+| プロダクション対応 | いいえ | はい |
+
+### 1.3 心不全データセット:
+
+心血管疾患(CVD)は世界的に死因の第1位であり、全死亡の31%を占めています。タバコの使用、不健康な食事と肥満、身体活動の欠如、アルコールの有害な使用などの環境的および行動的リスク要因は、推定モデルの特徴として使用できます。CVDの発症確率を推定できることは、高リスクの人々の発作を予防するために非常に役立ちます。
+
+Kaggleでは、[心不全データセット](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data)が公開されており、このプロジェクトで使用します。このデータセットを今すぐダウンロードできます。このデータセットは13列(12の特徴量と1つのターゲット変数)と299行のタブ形式のデータです。
+
+| | 変数名 | 型 | 説明 | 例 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 1 | age | 数値型 | 患者の年齢 | 25 |
+| 2 | anaemia | ブール型 | 赤血球またはヘモグロビンの減少 | 0 または 1 |
+| 3 | creatinine_phosphokinase | 数値型 | 血中のCPK酵素のレベル | 542 |
+| 4 | diabetes | ブール型 | 患者が糖尿病かどうか | 0 または 1 |
+| 5 | ejection_fraction | 数値型 | 心臓の収縮ごとに心臓から出る血液の割合 | 45 |
+| 6 | high_blood_pressure | ブール型 | 患者が高血圧かどうか | 0 または 1 |
+| 7 | platelets | 数値型 | 血中の血小板数 | 149000 |
+| 8 | serum_creatinine | 数値型 | 血中の血清クレアチニンのレベル | 0.5 |
+| 9 | serum_sodium | 数値型 | 血中の血清ナトリウムのレベル | jun |
+| 10 | sex | ブール型 | 女性または男性 | 0 または 1 |
+| 11 | smoking | ブール型 | 患者が喫煙しているかどうか | 0 または 1 |
+| 12 | time | 数値型 | フォローアップ期間(日数) | 4 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [ターゲット] | ブール型 | フォローアップ期間中に患者が死亡したかどうか | 0 または 1 |
+
+データセットを取得したら、Azureでプロジェクトを開始できます。
+
+## 2. Azure ML Studioでのローコード/ノーコードによるモデルのトレーニング
+### 2.1 Azure MLワークスペースの作成
+Azure MLでモデルをトレーニングするには、まずAzure MLワークスペースを作成する必要があります。ワークスペースはAzure Machine Learningのトップレベルリソースであり、Azure Machine Learningを使用して作成するすべてのアーティファクトを集中管理する場所を提供します。ワークスペースはすべてのトレーニング実行履歴を保持し、ログ、メトリクス、出力、スクリプトのスナップショットを含みます。この情報を使用して、最良のモデルを生成するトレーニング実行を特定できます。[詳細はこちら](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+最も最新のブラウザを使用することを推奨します。以下のブラウザがサポートされています:
+
+- Microsoft Edge(新しいMicrosoft Edge、最新バージョン。Microsoft Edgeレガシーではありません)
+- Safari(最新バージョン、Macのみ)
+- Chrome(最新バージョン)
+- Firefox(最新バージョン)
+
+Azure Machine Learningを使用するには、Azureサブスクリプション内にワークスペースを作成します。このワークスペースを使用して、データ、コンピュートリソース、コード、モデル、その他の機械学習ワークロードに関連するアーティファクトを管理できます。
+
+> **_注意:_** Azure Machine Learningワークスペースがサブスクリプション内に存在する限り、データストレージに少額の料金が発生します。そのため、使用しなくなった場合はAzure Machine Learningワークスペースを削除することをお勧めします。
+
+1. [Azureポータル](https://ms.portal.azure.com/)にMicrosoftの資格情報でサインインします。
+2. **+リソースの作成**を選択します。
+
+ 
+
+ Machine Learningを検索し、Machine Learningタイルを選択します。
+
+ 
+
+ 作成ボタンをクリックします。
+
+ 
+
+ 以下の設定を入力します:
+ - サブスクリプション: Azureサブスクリプション
+ - リソースグループ: リソースグループを作成または選択
+ - ワークスペース名: ワークスペースの一意の名前を入力
+ - リージョン: 最も近い地理的リージョンを選択
+ - ストレージアカウント: ワークスペース用に作成される新しいストレージアカウントを確認
+ - キーボールト: ワークスペース用に作成される新しいキーボールトを確認
+ - Application Insights: ワークスペース用に作成される新しいApplication Insightsリソースを確認
+ - コンテナレジストリ: なし(モデルをコンテナにデプロイする際に自動的に作成されます)
+
+ 
+
+ - 作成+レビューをクリックし、その後作成ボタンをクリックします。
+3. ワークスペースが作成されるのを待ちます(数分かかる場合があります)。その後、ポータルでワークスペースに移動します。Machine Learning Azureサービスを通じて見つけることができます。
+4. ワークスペースの概要ページでAzure Machine Learning Studioを起動します(または新しいブラウザタブを開き、https://ml.azure.com に移動します)。MicrosoftアカウントでAzure Machine Learning Studioにサインインします。プロンプトが表示された場合は、Azureディレクトリとサブスクリプション、Azure Machine Learningワークスペースを選択します。
+
+
+
+5. Azure Machine Learning Studioで、左上の☰アイコンを切り替えてインターフェース内のさまざまなページを表示します。これらのページを使用してワークスペース内のリソースを管理できます。
+
+
+
+Azureポータルを使用してワークスペースを管理できますが、データサイエンティストや機械学習運用エンジニアにとっては、Azure Machine Learning Studioがワークスペースリソースを管理するためのより集中したユーザーインターフェースを提供します。
+
+### 2.2 コンピュートリソース
+
+コンピュートリソースは、モデルのトレーニングやデータ探索プロセスを実行するためのクラウドベースのリソースです。作成できるコンピュートリソースには以下の4種類があります:
+
+- **コンピュートインスタンス**: データサイエンティストがデータやモデルを操作するための開発用ワークステーション。これには仮想マシン(VM)の作成とノートブックインスタンスの起動が含まれます。その後、ノートブックからコンピュートクラスターを呼び出してモデルをトレーニングできます。
+- **コンピュートクラスター**: 実験コードのオンデマンド処理のためのスケーラブルなVMクラスター。モデルをトレーニングする際に必要です。コンピュートクラスターは、特殊なGPUやCPUリソースを利用することもできます。
+- **推論クラスター**: トレーニング済みモデルを使用する予測サービスのデプロイターゲット。
+- **接続されたコンピュート**: Azureの既存のコンピュートリソース(仮想マシンやAzure Databricksクラスターなど)へのリンク。
+
+#### 2.2.1 コンピュートリソースに適したオプションを選ぶ
+
+コンピュートリソースを作成する際に考慮すべき重要な要素がいくつかあります。これらの選択は重要な決定となる場合があります。
+
+**CPUが必要ですか、それともGPUが必要ですか?**
+
+CPU(中央処理装置)は、コンピュータプログラムを構成する命令を実行する電子回路です。GPU(グラフィックス処理装置)は、グラフィックス関連のコードを非常に高速で実行できる特殊な電子回路です。
+
+CPUとGPUのアーキテクチャの主な違いは、CPUは幅広いタスクを迅速に処理するよう設計されています(CPUクロックスピードで測定される)が、同時に実行できるタスクの数には制限があります。一方、GPUは並列計算に特化しており、深層学習タスクに非常に適しています。
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| 安価 | 高価 |
+| 同時実行性が低い | 同時実行性が高い |
+| 深層学習モデルのトレーニングが遅い | 深層学習に最適 |
+
+**クラスターサイズ**
+
+クラスターが大きいほど費用がかかりますが、応答性が向上します。そのため、時間はあるが予算が限られている場合は、小さなクラスターから始めるべきです。逆に、予算はあるが時間が限られている場合は、大きなクラスターから始めるべきです。
+
+**VMサイズ**
+
+時間と予算の制約に応じて、RAM、ディスク、コア数、クロックスピードのサイズを変更できます。これらのパラメータをすべて増やすと費用がかかりますが、パフォーマンスが向上します。
+
+**専用インスタンスか低優先度インスタンスか?**
+
+低優先度インスタンスは中断可能であることを意味します。つまり、Microsoft Azureがこれらのリソースを別のタスクに割り当てることができ、ジョブが中断される可能性があります。一方、専用インスタンス(中断不可)は、許可なしにジョブが終了することはありません。
+これは時間と費用のトレードオフのもう一つの考慮事項であり、中断可能なインスタンスは専用インスタンスよりも安価です。
+
+#### 2.2.2 コンピュートクラスターの作成
+
+以前に作成した[Azure MLワークスペース](https://ml.azure.com/)で、コンピュートに移動すると、先ほど説明したさまざまなコンピュートリソース(コンピュートインスタンス、コンピュートクラスター、推論クラスター、接続されたコンピュート)を確認できます。このプロジェクトでは、モデルトレーニング用にコンピュートクラスターが必要です。Studioで「Compute」メニューをクリックし、「Compute cluster」タブを選択して「+ New」ボタンをクリックし、コンピュートクラスターを作成します。
+
+
+
+1. オプションを選択します: 専用 vs 低優先度、CPUまたはGPU、VMサイズ、コア数(このプロジェクトではデフォルト設定を使用できます)。
+2. 「Next」ボタンをクリックします。
+
+
+
+3. クラスターに名前を付けます。
+4. オプションを選択します: ノードの最小/最大数、スケールダウンまでのアイドル秒数、SSHアクセス。最小ノード数が0の場合、クラスターがアイドル状態のときに費用を節約できます。最大ノード数が多いほどトレーニング時間が短くなります。推奨される最大ノード数は3です。
+5. 「Create」ボタンをクリックします。このステップには数分かかる場合があります。
+
+
+
+素晴らしい!これでコンピュートクラスターが作成されましたので、Azure ML Studioにデータをロードする必要があります。
+
+### 2.3 データセットのロード
+
+1. 以前に作成した[Azure MLワークスペース](https://ml.azure.com/)で、左メニューの「Datasets」をクリックし、「+ Create dataset」ボタンをクリックしてデータセットを作成します。「From local files」オプションを選択し、以前にダウンロードしたKaggleデータセットを選択します。
+
+ 
+
+2. データセットに名前、タイプ、説明を付けます。「Next」をクリックします。ファイルからデータをアップロードします。「Next」をクリックします。
+
+ 
+
+3. スキーマで、以下の特徴のデータ型をBooleanに変更します: anaemia、diabetes、high blood pressure、sex、smoking、DEATH_EVENT。「Next」をクリックし、「Create」をクリックします。
+
+ 
+
+素晴らしい!これでデータセットが準備され、コンピュートクラスターが作成されましたので、モデルのトレーニングを開始できます。
+
+### 2.4 AutoMLを使ったローコード/ノーコードトレーニング
+
+従来の機械学習モデルの開発はリソース集約型であり、ドメイン知識と時間を必要とし、数十のモデルを生成して比較する必要があります。
+自動化された機械学習(AutoML)は、機械学習モデル開発の時間のかかる反復的なタスクを自動化するプロセスです。これにより、データサイエンティスト、アナリスト、開発者が高いスケール、効率性、生産性でMLモデルを構築できるようになります。モデル品質を維持しながら、プロダクション対応のMLモデルを迅速に作成できるようになります。[詳細はこちら](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. 以前に作成した[Azure MLワークスペース](https://ml.azure.com/)で、左メニューの「Automated ML」をクリックし、アップロードしたデータセットを選択します。「Next」をクリックします。
+
+ 
+
+2. 新しい実験名、ターゲット列(DEATH_EVENT)、作成したコンピュートクラスターを入力します。「Next」をクリックします。
+
+ 
+
+3. 「Classification」を選択し、「Finish」をクリックします。このステップはコンピュートクラスターのサイズによって30分から1時間かかる場合があります。
+
+ 
+
+4. 実行が完了したら、「Automated ML」タブをクリックし、実行を選択して、「Best model summary」カードのアルゴリズムをクリックします。
+
+ 
+
+ここでは、AutoMLが生成した最適なモデルの詳細な説明を見ることができます。また、「Models」タブで他のモデルも探索できます。「Explanations(プレビュー)」ボタンでモデルを数分間探索してみてください。使用したいモデルを選択したら(ここではAutoMLが選択した最適なモデルを使用します)、次にそのモデルをデプロイする方法を見ていきます。
+
+## 3. ローコード/ノーコードモデルのデプロイとエンドポイントの利用
+### 3.1 モデルのデプロイ
+
+自動化された機械学習インターフェースを使用すると、最適なモデルを数ステップでWebサービスとしてデプロイできます。デプロイメントは、モデルを統合して新しいデータに基づいて予測を行い、潜在的な機会領域を特定できるようにするプロセスです。このプロジェクトでは、Webサービスへのデプロイメントにより、医療アプリケーションがモデルを利用して患者の心臓発作リスクをリアルタイムで予測できるようになります。
+
+最適なモデルの説明で「Deploy」ボタンをクリックします。
+
+
+
+15. 名前、説明、コンピュートタイプ(Azure Container Instance)、認証を有効にして「Deploy」をクリックします。このステップは約20分かかる場合があります。デプロイメントプロセスには、モデルの登録、リソースの生成、それらをWebサービス用に構成するステップが含まれます。「Deploy status」下にステータスメッセージが表示されます。「Refresh」を定期的に選択してデプロイメントステータスを確認してください。ステータスが「Healthy」になるとデプロイメントが完了し、実行中です。
+
+
+
+16. デプロイメントが完了したら、「Endpoint」タブをクリックし、デプロイしたエンドポイントを選択します。ここではエンドポイントに関するすべての詳細を確認できます。
+
+
+
+素晴らしい!これでモデルがデプロイされましたので、エンドポイントの利用を開始できます。
+
+### 3.2 エンドポイントの利用
+
+「Consume」タブをクリックします。ここでは、RESTエンドポイントと消費オプションのPythonスクリプトを確認できます。Pythonコードをよく読んでみてください。
+
+このスクリプトはローカルマシンから直接実行でき、エンドポイントを利用します。
+
+
+
+以下の2行のコードを確認してください:
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+`url`変数は「Consume」タブにあるRESTエンドポイントであり、`api_key`変数は認証を有効にした場合に「Consume」タブにあるプライマリキーです。このスクリプトはこの情報を使用してエンドポイントを利用します。
+
+18. スクリプトを実行すると、以下の出力が表示されるはずです:
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+これは、与えられたデータに基づいて心不全の予測が「true」であることを意味します。スクリプトに自動生成されたデータをよく見ると、すべてがデフォルトで0およびfalseであることがわかります。以下の入力サンプルでデータを変更できます:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+スクリプトは以下を返すはずです:
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+おめでとうございます!デプロイされたモデルを利用し、Azure MLでトレーニングを行いました!
+
+> **_注意:_** プロジェクトが完了したら、すべてのリソースを削除することを忘れないでください。
+## 🚀 チャレンジ
+
+AutoMLが生成したトップモデルの説明と詳細をよく見てください。最適なモデルが他のモデルより優れている理由を理解してみてください。どのアルゴリズムが比較されましたか?それらの違いは何ですか?このケースで最適なモデルがより良いパフォーマンスを発揮している理由は何ですか?
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## 復習と自己学習
+
+このレッスンでは、クラウドで心不全リスクを予測するモデルをローコード/ノーコードでトレーニング、デプロイ、利用する方法を学びました。まだ行っていない場合は、AutoMLが生成したトップモデルの説明をさらに深く掘り下げ、最適なモデルが他のモデルより優れている理由を理解してみてください。
+
+ローコード/ノーコードAutoMLについてさらに詳しく知りたい場合は、この[ドキュメント](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を読んでみてください。
+
+## 課題
+
+[Azure MLでのローコード/ノーコードデータサイエンスプロジェクト](assignment.md)
+
+**免責事項**:
+この文書はAI翻訳サービス[Co-op Translator](https://github.com/Azure/co-op-translator)を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..b1e499d4
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# Azure MLでのローコード/ノーコード データサイエンスプロジェクト
+
+## 手順
+
+Azure MLプラットフォームを使用して、ローコード/ノーコード形式でモデルをトレーニング、デプロイ、利用する方法を学びました。次に、別のモデルをトレーニングし、デプロイして利用するために使用できるデータを探してみましょう。[Kaggle](https://kaggle.com)や[Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)でデータセットを探すことができます。
+
+## 評価基準
+
+| 優秀 | 適切 | 改善が必要 |
+|------|------|------------|
+| データをアップロードする際、必要に応じて特徴量の型を変更しました。また、必要に応じてデータをクリーンアップしました。AutoMLを使用してデータセットでトレーニングを実行し、モデルの説明を確認しました。最適なモデルをデプロイし、それを利用することができました。 | データをアップロードする際、必要に応じて特徴量の型を変更しました。AutoMLを使用してデータセットでトレーニングを実行し、最適なモデルをデプロイして、それを利用することができました。 | AutoMLでトレーニングされた最適なモデルをデプロイし、それを利用することができました。 |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/ja/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..8e4a51eb
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,320 @@
+
+# クラウドでのデータサイエンス: "Azure ML SDK" の方法
+
+| によるスケッチノート](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| クラウドでのデータサイエンス: Azure ML SDK - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ |
+
+目次:
+
+- [クラウドでのデータサイエンス: "Azure ML SDK" の方法](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [講義前クイズ](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. はじめに](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 Azure ML SDKとは?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 心不全予測プロジェクトとデータセットの紹介](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. Azure ML SDKを使ったモデルのトレーニング](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 Azure ML ワークスペースの作成](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 コンピュートインスタンスの作成](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 データセットの読み込み](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 ノートブックの作成](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 モデルのトレーニング](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 ワークスペース、実験、コンピュートクラスター、データセットのセットアップ](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 AutoMLの設定とトレーニング](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. Azure ML SDKを使ったモデルのデプロイとエンドポイントの利用](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 最適なモデルの保存](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 モデルのデプロイ](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 エンドポイントの利用](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 チャレンジ](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [講義後クイズ](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [復習と自己学習](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [課題](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. はじめに
+
+### 1.1 Azure ML SDKとは?
+
+データサイエンティストやAI開発者は、Azure Machine Learning SDKを使用して、Azure Machine Learningサービスを利用した機械学習ワークフローを構築・実行します。このSDKは、Jupyter Notebooks、Visual Studio Code、またはお好みのPython IDEなど、任意のPython環境でサービスと連携できます。
+
+SDKの主な機能は以下の通りです:
+
+- 機械学習実験で使用するデータセットの探索、準備、ライフサイクル管理。
+- 機械学習実験の監視、ログ記録、整理のためのクラウドリソース管理。
+- ローカルまたはクラウドリソース(GPUを使用したモデルトレーニングを含む)を利用したモデルのトレーニング。
+- 自動機械学習(AutoML)の利用。設定パラメータとトレーニングデータを受け取り、アルゴリズムやハイパーパラメータ設定を自動的に試行して、予測に最適なモデルを見つけます。
+- トレーニング済みモデルをRESTfulサービスに変換し、任意のアプリケーションで利用可能なWebサービスとしてデプロイ。
+
+[Azure Machine Learning SDKについてさらに学ぶ](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+[前回のレッスン](../18-Low-Code/README.md)では、ローコード/ノーコード方式でモデルをトレーニング、デプロイ、利用する方法を学びました。心不全データセットを使用して心不全予測モデルを生成しました。このレッスンでは、Azure Machine Learning SDKを使用して同じことを行います。
+
+
+
+### 1.2 心不全予測プロジェクトとデータセットの紹介
+
+心不全予測プロジェクトとデータセットの紹介については[こちら](../18-Low-Code/README.md)をご覧ください。
+
+## 2. Azure ML SDKを使ったモデルのトレーニング
+
+### 2.1 Azure ML ワークスペースの作成
+
+簡単のため、Jupyter Notebookを使用します。これには、すでにワークスペースとコンピュートインスタンスがあることが前提です。すでにワークスペースがある場合は、直接[2.3 ノートブックの作成](../../../../5-Data-Science-In-Cloud/19-Azure)セクションに進んでください。
+
+まだワークスペースを作成していない場合は、[前回のレッスン](../18-Low-Code/README.md)の**2.1 Azure ML ワークスペースの作成**セクションに従ってワークスペースを作成してください。
+
+### 2.2 コンピュートインスタンスの作成
+
+以前に作成した[Azure ML ワークスペース](https://ml.azure.com/)に移動し、コンピュートメニューを開くと、利用可能なさまざまなコンピュートリソースが表示されます。
+
+
+
+Jupyter Notebookをプロビジョニングするためのコンピュートインスタンスを作成しましょう。
+1. 「+ New」ボタンをクリックします。
+2. コンピュートインスタンスに名前を付けます。
+3. CPUまたはGPU、VMサイズ、コア数を選択します。
+4. 「Create」ボタンをクリックします。
+
+おめでとうございます!コンピュートインスタンスが作成されました。このコンピュートインスタンスを使用して、[ノートブックの作成セクション](../../../../5-Data-Science-In-Cloud/19-Azure)でノートブックを作成します。
+
+### 2.3 データセットの読み込み
+
+まだデータセットをアップロードしていない場合は、[前回のレッスン](../18-Low-Code/README.md)の**2.3 データセットの読み込み**セクションを参照してください。
+
+### 2.4 ノートブックの作成
+
+> **_NOTE:_** 次のステップでは、新しいノートブックをゼロから作成するか、[作成済みのノートブック](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb)をAzure ML Studioにアップロードすることができます。アップロードするには、「Notebook」メニューをクリックしてノートブックをアップロードしてください。
+
+ノートブックはデータサイエンスプロセスにおいて非常に重要です。探索的データ分析(EDA)を実施したり、コンピュータクラスターを呼び出してモデルをトレーニングしたり、推論クラスターを呼び出してエンドポイントをデプロイしたりするために使用されます。
+
+ノートブックを作成するには、Jupyter Notebookインスタンスを提供するコンピュートノードが必要です。[Azure ML ワークスペース](https://ml.azure.com/)に戻り、コンピュートインスタンスをクリックします。作成した[コンピュートインスタンス](../../../../5-Data-Science-In-Cloud/19-Azure)がリストに表示されるはずです。
+
+1. 「Applications」セクションで「Jupyter」オプションをクリックします。
+2. 「Yes, I understand」にチェックを入れ、「Continue」ボタンをクリックします。
+
+3. 新しいブラウザタブが開き、以下のようにJupyter Notebookインスタンスが表示されます。「New」ボタンをクリックしてノートブックを作成します。
+
+
+
+これでノートブックが作成されました。Azure ML SDKを使用してモデルのトレーニングを開始できます。
+
+### 2.5 モデルのトレーニング
+
+まず、疑問がある場合は、[Azure ML SDK ドキュメント](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を参照してください。このレッスンで使用するモジュールに関する必要な情報がすべて記載されています。
+
+#### 2.5.1 ワークスペース、実験、コンピュートクラスター、データセットのセットアップ
+
+以下のコードを使用して、構成ファイルから`workspace`を読み込みます:
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+これにより、ワークスペースを表す`Workspace`型のオブジェクトが返されます。その後、以下のコードを使用して`experiment`を作成します:
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+ワークスペースから実験を取得または作成するには、実験名を指定してリクエストします。実験名は3〜36文字で、文字または数字で始まり、文字、数字、アンダースコア、ダッシュのみを含む必要があります。ワークスペースに実験が見つからない場合、新しい実験が作成されます。
+
+次に、以下のコードを使用してトレーニング用のコンピュートクラスターを作成します。このステップには数分かかる場合があります。
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+以下の方法で、ワークスペースからデータセットを取得できます:
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+
+#### 2.5.2 AutoMLの設定とトレーニング
+
+[AutoMLConfigクラス](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)を使用してAutoMLの設定を行います。
+
+ドキュメントに記載されているように、多くのパラメータを調整できます。このプロジェクトでは、以下のパラメータを使用します:
+
+- `experiment_timeout_minutes`: 実験が自動的に停止され、結果が利用可能になるまでの最大実行時間(分)。
+- `max_concurrent_iterations`: 実験で許可される同時トレーニングイテレーションの最大数。
+- `primary_metric`: 実験のステータスを決定するために使用される主要なメトリック。
+- `compute_target`: 自動機械学習実験を実行するAzure Machine Learningコンピュートターゲット。
+- `task`: 実行するタスクの種類。'classification'、'regression'、または'forecasting'のいずれか。
+- `training_data`: 実験内で使用されるトレーニングデータ。トレーニング特徴量とラベル列(オプションでサンプル重み列)を含む必要があります。
+- `label_column_name`: ラベル列の名前。
+- `path`: Azure Machine Learningプロジェクトフォルダーへのフルパス。
+- `enable_early_stopping`: スコアが短期間で改善しない場合に早期終了を有効にするかどうか。
+- `featurization`: 特徴量エンジニアリングステップを自動的に実行するか、カスタマイズされた特徴量エンジニアリングを使用するかの指標。
+- `debug_log`: デバッグ情報を書き込むログファイル。
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+
+設定が完了したら、以下のコードを使用してモデルをトレーニングできます。このステップはクラスターサイズによっては1時間ほどかかる場合があります。
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+
+RunDetailsウィジェットを実行して、さまざまな実験を表示できます。
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+
+## 3. Azure ML SDKを使ったモデルのデプロイとエンドポイントの利用
+
+### 3.1 最適なモデルの保存
+
+`remote_run`は[AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)型のオブジェクトです。このオブジェクトには`get_output()`メソッドが含まれており、最適な実行結果と対応するフィット済みモデルを返します。
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+
+最適なモデルで使用されたパラメータを確認するには、`fitted_model`を出力するだけで確認できます。また、[get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)メソッドを使用して最適なモデルのプロパティを確認できます。
+
+```python
+best_run.get_properties()
+```
+
+次に、[register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)メソッドを使用してモデルを登録します。
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+
+### 3.2 モデルのデプロイ
+
+最適なモデルが保存されたら、[InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109)クラスを使用してデプロイできます。InferenceConfigは、デプロイメントに使用されるカスタム環境の設定を表します。[AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py)クラスは、Azure Container Instances上でWebサービスエンドポイントとしてデプロイされた機械学習モデルを表します。デプロイされたサービスは、モデル、スクリプト、および関連ファイルから作成されます。結果として得られるWebサービスは、ロードバランスされたHTTPエンドポイントであり、REST APIを備えています。このAPIにデータを送信し、モデルによる予測結果を受け取ることができます。
+
+モデルは[deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)メソッドを使用してデプロイされます。
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+
+このステップには数分かかる場合があります。
+
+### 3.3 エンドポイントの利用
+
+エンドポイントを利用するには、サンプル入力を作成します:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+
+その後、この入力をモデルに送信して予測を取得できます:
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+これにより、`'{"result": [false]}'` が出力されるはずです。これは、エンドポイントに送信した患者データが予測結果として `false` を生成したことを意味します。つまり、この人が心臓発作を起こす可能性は低いということです。
+
+おめでとうございます!Azure ML SDK を使用して、Azure ML 上でトレーニングおよびデプロイされたモデルを利用することができました!
+
+> **_NOTE:_** プロジェクトが完了したら、すべてのリソースを忘れずに削除してください。
+
+## 🚀 チャレンジ
+
+SDK を使ってできることは他にもたくさんありますが、残念ながらこのレッスンですべてを網羅することはできません。ただし、良いニュースがあります。SDK ドキュメントを効率よく調べる方法を学べば、自分で多くのことを進められるようになります。Azure ML SDK ドキュメントを確認し、パイプラインを作成できる `Pipeline` クラスを探してみてください。パイプラインとは、ワークフローとして実行できる一連のステップの集合です。
+
+**ヒント:** [SDK ドキュメント](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) にアクセスし、検索バーに「Pipeline」などのキーワードを入力してください。検索結果に `azureml.pipeline.core.Pipeline` クラスが表示されるはずです。
+
+## [講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## 復習と自己学習
+
+このレッスンでは、Azure ML SDK を使用して、心不全リスクを予測するモデルをクラウド上でトレーニング、デプロイ、利用する方法を学びました。Azure ML SDK に関するさらなる情報は、この [ドキュメント](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) を確認してください。Azure ML SDK を使って、自分自身のモデルを作成してみてください。
+
+## 課題
+
+[Azure ML SDK を使用したデータサイエンスプロジェクト](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤訳について、当社は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/ja/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..b08fbcf1
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# Azure ML SDK を使用したデータサイエンスプロジェクト
+
+## 手順
+
+Azure ML プラットフォームを使用して、Azure ML SDK を使ったモデルのトレーニング、デプロイ、利用方法を学びました。次に、別のモデルをトレーニングし、デプロイして利用するためのデータを探してみましょう。[Kaggle](https://kaggle.com) や [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) でデータセットを探すことができます。
+
+## 評価基準
+
+| 優秀 | 適切 | 改善が必要 |
+|------|------|------------|
+| AutoML の設定を行う際、SDK のドキュメントを確認して使用可能なパラメータを調べました。Azure ML SDK を使用して AutoML でデータセットのトレーニングを実行し、モデルの説明を確認しました。最適なモデルをデプロイし、Azure ML SDK を通じて利用できました。 | Azure ML SDK を使用して AutoML でデータセットのトレーニングを実行し、モデルの説明を確認しました。最適なモデルをデプロイし、Azure ML SDK を通じて利用できました。 | Azure ML SDK を使用して AutoML でデータセットのトレーニングを実行しました。最適なモデルをデプロイし、Azure ML SDK を通じて利用できました。 |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/5-Data-Science-In-Cloud/README.md b/translations/ja/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..2c5551c2
--- /dev/null
+++ b/translations/ja/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,33 @@
+
+# クラウドでのデータサイエンス
+
+
+
+> 写真提供:[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)を使用する方法です。
+
+
+
+### トピック
+
+1. [なぜデータサイエンスにクラウドを使うのか?](17-Introduction/README.md)
+2. [クラウドでのデータサイエンス: "Low code/No code"の方法](18-Low-Code/README.md)
+3. [クラウドでのデータサイエンス: "Azure ML SDK"の方法](19-Azure/README.md)
+
+### クレジット
+これらのレッスンは☁️と💕を込めて[Maud Levy](https://twitter.com/maudstweets)と[Tiffany Souterre](https://twitter.com/TiffanySouterre)によって書かれました。
+
+心不全予測プロジェクトのデータは、[Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data)の[
+Larxel](https://www.kaggle.com/andrewmvd)から提供されています。このデータは[Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)のライセンスの下で提供されています。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..1e08f859
--- /dev/null
+++ b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# 現実世界におけるデータサイエンス
+
+|  ](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| 現実世界におけるデータサイエンス - _スケッチノート: [@nitya](https://twitter.com/nitya)_ |
+
+この学習の旅もいよいよ終盤です!
+
+データサイエンスと倫理の定義から始まり、データ分析と可視化のためのさまざまなツールや技術を探求し、データサイエンスのライフサイクルをレビューし、クラウドコンピューティングサービスを活用したスケーリングと自動化について学びました。ここで皆さんはこう思うかもしれません:「これらの学びを現実世界の文脈にどう結びつければいいのだろう?」
+
+このレッスンでは、業界におけるデータサイエンスの現実的な応用例を探り、研究、デジタル人文学、持続可能性といった具体的な文脈での例を掘り下げます。また、学生プロジェクトの機会を紹介し、学びを続けるための有用なリソースで締めくくります。
+
+## 講義前クイズ
+
+[講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## データサイエンス + 業界
+
+AIの民主化のおかげで、開発者はAI駆動の意思決定やデータ駆動の洞察をユーザー体験や開発ワークフローに組み込むことが以前よりも容易になっています。以下は、業界全体でデータサイエンスが「応用」されているいくつかの例です:
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends/) は、検索語とインフルエンザの流行を関連付けるためにデータサイエンスを使用しました。このアプローチには欠点がありましたが、データ駆動型の医療予測の可能性(および課題)についての認識を高めました。
+
+ * [UPSのルート予測](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - UPSがデータサイエンスと機械学習を使用して、天候、交通パターン、配達期限などを考慮した最適な配達ルートを予測する方法を説明しています。
+
+ * [NYCタクシールートの可視化](http://chriswhong.github.io/nyctaxi/) - [情報公開法](https://chriswhong.com/open-data/foil_nyc_taxi/)を使用して収集されたデータを活用し、ニューヨーク市のタクシーがどのように忙しい街を移動し、どれだけの収益を上げ、24時間の間にどのくらいの時間を費やしているかを可視化しました。
+
+ * [Uber Data Science Workbench](https://eng.uber.com/dsw/) - 毎日何百万ものUberの乗車データ(乗車・降車地点、乗車時間、好まれるルートなど)を使用して、価格設定、安全性、不正検出、ナビゲーションの意思決定を支援するデータ分析ツールを構築しています。
+
+ * [スポーツ分析](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - _予測分析_(チームや選手の分析 - 例えば[マネーボール](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/) - やファン管理)と_データ可視化_(チームやファンダッシュボード、ゲームなど)に焦点を当て、タレントスカウティング、スポーツ賭博、在庫/会場管理などに応用されています。
+
+ * [銀行業界におけるデータサイエンス](https://data-flair.training/blogs/data-science-in-banking/) - リスクモデリングや不正検出、顧客セグメンテーション、リアルタイム予測、レコメンダーシステムなど、金融業界におけるデータサイエンスの価値を強調しています。予測分析はまた、[信用スコア](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit)のような重要な指標を推進します。
+
+ * [医療分野におけるデータサイエンス](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/)
+
+この図は、データサイエンス技術を適用する他の分野と例を示しています。他の応用例を探りたいですか?以下の[レビューと自己学習](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)セクションをチェックしてください。
+
+## データサイエンス + 研究
+
+|  ](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| データサイエンスと研究 - _スケッチノート: [@nitya](https://twitter.com/nitya)_ |
+
+現実世界での応用がスケールの大きい業界のユースケースに焦点を当てる一方で、_研究_の応用やプロジェクトは以下の2つの観点から有益です:
+
+* _イノベーションの機会_ - 次世代アプリケーションのための高度なコンセプトの迅速なプロトタイピングとユーザー体験のテストを探求する。
+* _展開の課題_ - 現実世界の文脈でデータサイエンステクノロジーが引き起こす可能性のある害や意図しない結果を調査する。
+
+学生にとって、これらの研究プロジェクトはトピックの理解を深め、興味のある分野で活動する関連する人々やチームとの認識や関与を広げる学習と協力の機会を提供します。それでは、研究プロジェクトはどのようなもので、どのように影響を与えるのでしょうか?
+
+1つの例を見てみましょう - Joy Buolamwini(MITメディアラボ)による[MIT Gender Shades Study](http://gendershades.org/overview.html)です。この研究は、Timnit Gebru(当時Microsoft Research所属)との共著による[代表的な研究論文](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf)を伴っています。この研究は以下に焦点を当てています:
+
+ * **何を:** この研究プロジェクトの目的は、_性別や肌の色に基づく自動顔分析アルゴリズムとデータセットに存在するバイアスを評価する_ことでした。
+ * **なぜ:** 顔分析は、法執行機関、空港のセキュリティ、採用システムなどの分野で使用されており、バイアスによる不正確な分類が、影響を受ける個人やグループに経済的および社会的な害を引き起こす可能性があります。バイアスを理解し、それを排除または軽減することは、公平な使用の鍵です。
+ * **どのように:** 研究者たちは、既存のベンチマークが主に肌の色が明るい被験者を使用していることを認識し、性別と肌の色で_よりバランスの取れた_新しいデータセット(1000以上の画像)を作成しました。このデータセットを使用して、3つの性別分類製品(Microsoft、IBM、Face++)の精度を評価しました。
+
+結果は、全体的な分類精度は良好であるものの、さまざまなサブグループ間でエラー率に顕著な差があることを示しました。特に、女性や肌の色が濃い人々に対する**誤分類**が高く、バイアスの存在を示唆しています。
+
+**主な成果:** データサイエンスには、_代表的なデータセット_(バランスの取れたサブグループ)と_包括的なチーム_(多様な背景)が必要であり、AIソリューションにおけるバイアスを早期に認識し、排除または軽減することが重要であるという認識を高めました。このような研究努力は、多くの組織がAI製品やプロセスの公平性を向上させるための_責任あるAI_の原則と実践を定義する上で重要です。
+
+**Microsoftの関連する研究努力について学びたいですか?**
+
+* [Microsoft Research Projects](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project)でAIに関する研究プロジェクトをチェックしてください。
+* [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/)の学生プロジェクトを探ってみてください。
+* [Fairlearn](https://fairlearn.org/)プロジェクトや[責任あるAI](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)の取り組みをチェックしてください。
+
+## データサイエンス + 人文学
+
+|  ](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| データサイエンスとデジタル人文学 - _スケッチノート: [@nitya](https://twitter.com/nitya)_ |
+
+デジタル人文学は、「計算手法と人文学的探求を組み合わせた実践とアプローチの集合」と[定義されています](https://digitalhumanities.stanford.edu/about-dh-stanford)。スタンフォード大学のプロジェクト(例: _"歴史の再起動"_や_"詩的思考"_)は、[デジタル人文学とデータサイエンス](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science)の関連性を示しており、ネットワーク分析、情報可視化、空間およびテキスト分析などの技術を強調しています。これらは、歴史的および文学的データセットを再訪し、新たな洞察や視点を得るのに役立ちます。
+
+*この分野でプロジェクトを探求し、拡張したいですか?*
+
+["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671)をチェックしてください。これは、[Jen Looper](https://twitter.com/jenlooper)による素晴らしい例で、データサイエンスを使用して馴染みのある詩を再評価し、その意味や著者の貢献を新しい文脈で再考する方法を問うものです。例えば、_詩のトーンや感情を分析することで、その詩が書かれた季節を予測できるか_ - そして、それがその期間中の著者の心の状態について何を教えてくれるのか?
+
+この質問に答えるために、データサイエンスライフサイクルのステップをたどります:
+ * [`データ取得`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - 分析のための関連データセットを収集します。選択肢には、API(例: [Poetry DB API](https://poetrydb.org/index.html))の使用や、[Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm)のようなウェブページのスクレイピング(例: [Scrapy](https://scrapy.org/))が含まれます。
+ * [`データクリーニング`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - テキストをフォーマット、整理、簡素化する方法を、Visual Studio CodeやMicrosoft Excelのような基本的なツールを使用して説明します。
+ * [`データ分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - データセットを「ノートブック」にインポートし、Pythonパッケージ(pandas、numpy、matplotlibなど)を使用してデータを整理し、可視化する方法を説明します。
+ * [`感情分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - Text Analyticsのようなクラウドサービスを統合し、[Power Automate](https://flow.microsoft.com/en-us/)のようなローコードツールを使用してデータ処理ワークフローを自動化する方法を説明します。
+
+このワークフローを使用して、詩の感情に季節が与える影響を探り、著者に関する独自の視点を形成することができます。ぜひ試してみてください - その後、ノートブックを拡張して他の質問を投げかけたり、新しい方法でデータを可視化してみてください!
+
+> [Digital Humanities Toolkit](https://github.com/Digital-Humanities-Toolkit)のツールを使用して、これらの探求を進めることができます。
+
+## データサイエンス + 持続可能性
+
+|  ](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| データサイエンスと持続可能性 - _スケッチノート: [@nitya](https://twitter.com/nitya)_ |
+
+[2030年持続可能な開発アジェンダ](https://sdgs.un.org/2030agenda) - 2015年にすべての国連加盟国によって採択されたこのアジェンダは、気候変動の影響や地球の劣化から**地球を守る**ことに焦点を当てた17の目標を掲げています。[Microsoft Sustainability](https://www.microsoft.com/en-us/sustainability)の取り組みは、これらの目標をサポートし、より持続可能な未来を構築するために技術ソリューションを探求しています。特に、[4つの目標](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh) - 2030年までにカーボンネガティブ、水ポジティブ、ゼロ廃棄物、生物多様性を目指しています。
+
+これらの課題にスケーラブルかつタイムリーに取り組むには、クラウド規模の思考と大規模なデータが必要です。[Planetary Computer](https://planetarycomputer.microsoft.com/)の取り組みは、データサイエンティストや開発者を支援するために以下の4つのコンポーネントを提供しています:
+
+ * [データカタログ](https://planetarycomputer.microsoft.com/catalog) - 地球システムデータのペタバイト規模のデータセット(無料&Azureホスト)。
+ * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - ユーザーが空間と時間を超えて関連データを検索できるようにする。
+ * [ハブ](https://planetarycomputer.microsoft.com/docs/overview/environment/) - 科学者が大規模な地理空間データセットを処理するための管理環境。
+ * [アプリケーション](https://planetarycomputer.microsoft.com/applications) - 持続可能性に関する洞察を得るため
+**Planetary Computerプロジェクトは現在プレビュー中です(2021年9月時点)** - データサイエンスを活用して持続可能性の解決策に貢献する方法を始めましょう。
+
+* 探索を開始し、仲間とつながるために[アクセスをリクエスト](https://planetarycomputer.microsoft.com/account/request)してください。
+* サポートされているデータセットやAPIを理解するために[ドキュメントを探索](https://planetarycomputer.microsoft.com/docs/overview/about)してください。
+* [Ecosystem Monitoring](https://analytics-lab.org/ecosystemmonitoring/)のようなアプリケーションを参考に、アプリケーションのアイデアを探ってみましょう。
+
+データビジュアライゼーションを活用して、気候変動や森林破壊といった分野で関連する洞察を明らかにしたり強調したりする方法を考えてみてください。また、洞察を活用して、より持続可能な生活を促す行動変容を引き起こす新しいユーザー体験を創出する方法についても考えてみましょう。
+
+## データサイエンス + 学生
+
+私たちはこれまで、産業界や研究における実世界の応用について話し、デジタル人文学や持続可能性におけるデータサイエンスの応用例を探ってきました。それでは、データサイエンス初心者としてスキルを磨き、専門知識を共有するにはどうすればよいでしょうか?
+
+以下は、学生向けのデータサイエンスプロジェクトの例です。ぜひ参考にしてください。
+
+ * [MSR Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects)では、以下のようなトピックを探求するGitHub [プロジェクト](https://github.com/msr-ds3)があります:
+ - [警察の武力行使における人種的偏見](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [ニューヨーク市地下鉄システムの信頼性](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+ * [物質文化のデジタル化:Sirkapにおける社会経済的分布の探求](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - [Ornella Altunyan](https://twitter.com/ornelladotcom)とClaremontのチームによるプロジェクトで、[ArcGIS StoryMaps](https://storymaps.arcgis.com/)を使用。
+
+## 🚀 チャレンジ
+
+初心者向けのデータサイエンスプロジェクトを推奨する記事を探してみましょう。例えば、[これらの50のトピックエリア](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/)や[これらの21のプロジェクトアイデア](https://www.intellspot.com/data-science-project-ideas)、または[ソースコード付きの16のプロジェクト](https://data-flair.training/blogs/data-science-project-ideas/)などがあります。これらを分解して再構築してみてください。そして、学習の過程をブログに記録し、洞察を私たちと共有することを忘れないでください。
+
+## 講義後のクイズ
+
+[講義後のクイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## 復習と自主学習
+
+さらにユースケースを探求したいですか?以下の関連する記事をご覧ください:
+ * [17のデータサイエンスの応用例](https://builtin.com/data-science/data-science-applications-examples) - 2021年7月
+ * [実世界における11の驚くべきデータサイエンスの応用](https://myblindbird.com/data-science-applications-real-world/) - 2021年5月
+ * [実世界におけるデータサイエンス](https://towardsdatascience.com/data-science-in-the-real-world/home) - 記事コレクション
+ * データサイエンスの応用: [教育](https://data-flair.training/blogs/data-science-in-education/)、[農業](https://data-flair.training/blogs/data-science-in-agriculture/)、[金融](https://data-flair.training/blogs/data-science-in-finance/)、[映画](https://data-flair.training/blogs/data-science-at-movies/)など。
+
+## 課題
+
+[Planetary Computerデータセットを探索する](assignment.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
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
new file mode 100644
index 00000000..4890bfc9
--- /dev/null
+++ b/translations/ja/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# 惑星コンピューターのデータセットを探る
+
+## 手順
+
+このレッスンでは、データサイエンスのさまざまな応用分野について話し合いました。研究、持続可能性、デジタル人文学に関連する具体例を深く掘り下げました。この課題では、これらの例の1つをさらに詳しく調べ、データの視覚化や分析に関する学びを活用して、持続可能性データに関する洞察を導き出します。
+
+[Planetary Computer](https://planetarycomputer.microsoft.com/) プロジェクトには、アカウントを作成することでアクセスできるデータセットやAPIがあります。課題のボーナスステップを試したい場合は、アカウントをリクエストしてください。また、アカウントを作成せずに使用できる [Explorer](https://planetarycomputer.microsoft.com/explore) 機能も提供されています。
+
+`手順:`
+Explorerインターフェース(以下のスクリーンショット参照)では、データセット(提供されているオプションから選択)、プリセットクエリ(データをフィルタリングするため)、およびレンダリングオプション(関連する視覚化を作成するため)を選択できます。この課題では、以下を行います:
+
+ 1. [Explorerのドキュメント](https://planetarycomputer.microsoft.com/docs/overview/explorer/) を読む - オプションを理解する。
+ 2. データセットの [Catalog](https://planetarycomputer.microsoft.com/catalog) を調べる - 各データセットの目的を学ぶ。
+ 3. Explorerを使用する - 興味のあるデータセットを選び、関連するクエリとレンダリングオプションを選択する。
+
+
+
+`あなたの課題:`
+ブラウザに表示された視覚化を調べ、以下の質問に答えてください:
+ * データセットにはどのような _特徴_ が含まれていますか?
+ * 視覚化はどのような _洞察_ や結果を提供していますか?
+ * その洞察がプロジェクトの持続可能性目標にどのような _影響_ を与えますか?
+ * 視覚化の _限界_ は何ですか(つまり、どのような洞察が得られなかったか)?
+ * 生データを取得できた場合、どのような _代替視覚化_ を作成しますか?その理由は?
+
+`ボーナスポイント:`
+アカウントを申請し、承認されたらログインしてください。
+ * _Launch Hub_ オプションを使用して、生データをノートブックで開く。
+ * データを対話的に探り、考えた代替視覚化を実装する。
+ * カスタム視覚化を分析し、以前に得られなかった洞察を導き出せたかどうかを確認する。
+
+## 評価基準
+
+優秀 | 適切 | 改善が必要
+--- | --- | -- |
+5つの主要な質問すべてに回答している。現在の視覚化と代替視覚化が持続可能性の目標や成果にどのように洞察を提供するかを明確に特定している。| 上位3つの質問に十分な詳細で回答しており、Explorerを実際に使用した経験があることを示している。| 複数の質問に回答していない、または詳細が不十分であり、課題に対して意味のある取り組みが行われていないことを示している。 |
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/6-Data-Science-In-Wild/README.md b/translations/ja/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..7b9293a7
--- /dev/null
+++ b/translations/ja/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# 実社会でのデータサイエンス
+
+業界全体におけるデータサイエンスの実際の応用例。
+
+### トピック
+
+1. [実社会でのデータサイエンス](20-Real-World-Examples/README.md)
+
+### クレジット
+
+❤️ を込めて執筆: [Nitya Narasimhan](https://twitter.com/nitya)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/CODE_OF_CONDUCT.md b/translations/ja/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..ad2ba015
--- /dev/null
+++ b/translations/ja/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# マイクロソフト オープンソース行動規範
+
+このプロジェクトは、[マイクロソフト オープンソース行動規範](https://opensource.microsoft.com/codeofconduct/)を採用しています。
+
+リソース:
+
+- [マイクロソフト オープンソース行動規範](https://opensource.microsoft.com/codeofconduct/)
+- [マイクロソフト 行動規範 FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
+- 質問や懸念がある場合は [opencode@microsoft.com](mailto:opencode@microsoft.com) にお問い合わせください
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/CONTRIBUTING.md b/translations/ja/CONTRIBUTING.md
new file mode 100644
index 00000000..6b487ba9
--- /dev/null
+++ b/translations/ja/CONTRIBUTING.md
@@ -0,0 +1,20 @@
+
+# 貢献について
+
+このプロジェクトは、貢献や提案を歓迎しています。ほとんどの貢献には、Contributor License Agreement (CLA) に同意する必要があります。CLAでは、あなたがその貢献を使用する権利を私たちに与える権利を持っていること、そして実際にその権利を与えることを宣言します。詳細については、https://cla.microsoft.com をご覧ください。
+
+プルリクエストを送信すると、CLAボットが自動的にCLAが必要かどうかを判断し、PRに適切な装飾(例: ラベルやコメント)を行います。ボットの指示に従うだけで大丈夫です。この手続きは、CLAを使用しているすべてのリポジトリで一度だけ行えば済みます。
+
+このプロジェクトは[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)を採用しています。
+詳細については、[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)をご覧いただくか、追加の質問やコメントがある場合は[opencode@microsoft.com](mailto:opencode@microsoft.com)までお問い合わせください。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/README.md b/translations/ja/README.md
new file mode 100644
index 00000000..938b1f94
--- /dev/null
+++ b/translations/ja/README.md
@@ -0,0 +1,161 @@
+
+# 初心者のためのデータサイエンス - カリキュラム
+
+Azure Cloud Advocates at Microsoftは、データサイエンスに関する10週間、20レッスンのカリキュラムを提供します。各レッスンには、事前・事後のクイズ、レッスンを完了するための手順書、解答例、課題が含まれています。このプロジェクトベースの学習方法により、新しいスキルを実践的に学ぶことができます。
+
+**著者の皆さんに感謝します:** [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).
+
+**🙏 特別な感謝 🙏 を以下の[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/)
+
+| によるスケッチノート](./sketchnotes/00-Title.png)|
+|:---:|
+| 初心者のためのデータサイエンス - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ |
+
+## お知らせ - 新しい生成AIカリキュラムがリリースされました!
+
+生成AIに関する12レッスンのカリキュラムをリリースしました。以下の内容を学べます:
+
+- プロンプトとプロンプトエンジニアリング
+- テキストと画像アプリの生成
+- 検索アプリ
+
+いつものように、レッスン、課題、知識チェック、チャレンジが含まれています。
+
+ぜひご覧ください:
+
+> https://aka.ms/genai-beginners
+
+# 学生の皆さんへ
+
+以下のリソースから始めましょう:
+
+- [Student Hubページ](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) このページでは、初心者向けリソース、学生向けパック、さらには無料の認定試験バウチャーを取得する方法が見つかります。このページをブックマークして、定期的にチェックしてください。コンテンツは少なくとも月に一度更新されます。
+- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) グローバルな学生アンバサダーコミュニティに参加しましょう。これがMicrosoftへの道になるかもしれません。
+
+# 始めに
+
+> **教師の皆さん**: このカリキュラムの使用方法について[いくつかの提案](for-teachers.md)を含めています。フィードバックは[ディスカッションフォーラム](https://github.com/microsoft/Data-Science-For-Beginners/discussions)でお待ちしています!
+
+> **[学生の皆さん](https://aka.ms/student-page)**: このカリキュラムを自分で使用するには、リポジトリ全体をフォークし、事前クイズから始めて演習を完了してください。その後、レクチャーを読み、残りの活動を完了します。解答コードをコピーするのではなく、レッスンを理解しながらプロジェクトを作成することをお勧めします。ただし、解答コードは各プロジェクト指向のレッスンの/solutionsフォルダーにあります。また、友達と勉強グループを作り、一緒にコンテンツを進めるのも良いアイデアです。さらに学びたい場合は、[Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum)をお勧めします。
+
+## チーム紹介
+
+[](https://youtu.be/8mzavjQSMM4 "プロモーションビデオ")
+
+**Gif作成者** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
+
+> 🎥 上の画像をクリックして、このプロジェクトと作成者についてのビデオをご覧ください!
+
+## 教育方針
+
+このカリキュラムを構築する際、プロジェクトベースであることと頻繁なクイズを含むことの2つの教育方針を採用しました。このシリーズの終わりまでに、学生はデータサイエンスの基本原則(倫理的概念、データ準備、データの操作方法、データ可視化、データ分析、データサイエンスの実際の使用例など)を学びます。
+
+さらに、授業前の低リスクなクイズは、学生がトピックを学ぶ意図を設定し、授業後のクイズはさらなる記憶定着を確保します。このカリキュラムは柔軟で楽しいものとして設計されており、全体または一部を受講することができます。プロジェクトは小規模なものから始まり、10週間のサイクルの終わりには徐々に複雑になります。
+
+> [行動規範](CODE_OF_CONDUCT.md)、[貢献ガイドライン](CONTRIBUTING.md)、[翻訳ガイドライン](TRANSLATIONS.md)をご覧ください。建設的なフィードバックをお待ちしています!
+
+## 各レッスンには以下が含まれます:
+
+- オプションのスケッチノート
+- オプションの補足ビデオ
+- レッスン前のウォームアップクイズ
+- 書面によるレッスン
+- プロジェクトベースのレッスンの場合、プロジェクトの構築方法に関するステップバイステップガイド
+- 知識チェック
+- チャレンジ
+- 補足資料
+- 課題
+- レッスン後のクイズ
+
+> **クイズについての注意**: すべてのクイズはQuiz-Appフォルダーに含まれており、合計40個の3問クイズがあります。レッスン内からリンクされていますが、クイズアプリはローカルで実行するか、Azureにデプロイすることができます。`quiz-app`フォルダーの指示に従ってください。クイズは徐々にローカライズされています。
+
+## レッスン一覧
+
+| によるスケッチノート](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| 初心者のためのデータサイエンス: ロードマップ - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ |
+
+| レッスン番号 | トピック | レッスングループ | 学習目標 | リンクされたレッスン | 著者 |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | データサイエンスの定義 | [イントロダクション](1-Introduction/README.md) | データサイエンスの基本概念と、それが人工知能、機械学習、大規模データとどのように関連しているかを学ぶ。 | [レッスン](1-Introduction/01-defining-data-science/README.md) [ビデオ](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | データサイエンスの倫理 | [イントロダクション](1-Introduction/README.md) | データ倫理の概念、課題、フレームワーク。 | [レッスン](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | データの定義 | [イントロダクション](1-Introduction/README.md) | データの分類方法とその一般的なソース。 | [レッスン](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | 統計と確率の入門 | [イントロダクション](1-Introduction/README.md) | データを理解するための確率と統計の数学的手法。 | [レッスン](1-Introduction/04-stats-and-probability/README.md) [ビデオ](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | リレーショナルデータの操作 | [データの操作](2-Working-With-Data/README.md) | リレーショナルデータの概要と、SQL(Structured Query Language)を使用したリレーショナルデータの探索と分析の基本。 | [レッスン](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) |
+| 06 | NoSQLデータの操作 | [データの操作](2-Working-With-Data/README.md) | 非リレーショナルデータの概要、そのさまざまな種類、およびドキュメントデータベースの探索と分析の基本。 | [レッスン](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 07 | Pythonの操作 | [データの操作](2-Working-With-Data/README.md) | Pandasなどのライブラリを使用したデータ探索のためのPythonの基本。Pythonプログラミングの基礎的な理解が推奨されます。 | [レッスン](2-Working-With-Data/07-python/README.md) [ビデオ](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | データ準備 | [データの取り扱い](2-Working-With-Data/README.md) | 欠損、不正確、不完全なデータの課題に対処するためのデータのクリーニングと変換技術に関するトピック。 | [レッスン](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | 数量の可視化 | [データ可視化](3-Data-Visualization/README.md) | Matplotlibを使用して鳥のデータを可視化する方法を学ぶ 🦆 | [レッスン](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | データ分布の可視化 | [データ可視化](3-Data-Visualization/README.md) | 区間内の観測値や傾向を可視化する。 | [レッスン](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | 比率の可視化 | [データ可視化](3-Data-Visualization/README.md) | 離散的およびグループ化された割合を可視化する。 | [レッスン](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | 関係性の可視化 | [データ可視化](3-Data-Visualization/README.md) | データセット間やその変数間の接続や相関を可視化する。 | [レッスン](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | 意味のある可視化 | [データ可視化](3-Data-Visualization/README.md) | 問題解決や洞察を効果的にするための価値ある可視化を作成する技術とガイド。 | [レッスン](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | データサイエンスライフサイクルの概要 | [ライフサイクル](4-Data-Science-Lifecycle/README.md) | データサイエンスライフサイクルとその最初のステップであるデータの取得と抽出の概要。 | [レッスン](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | 分析 | [ライフサイクル](4-Data-Science-Lifecycle/README.md) | データサイエンスライフサイクルのこのフェーズでは、データを分析する技術に焦点を当てる。 | [レッスン](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | コミュニケーション | [ライフサイクル](4-Data-Science-Lifecycle/README.md) | データサイエンスライフサイクルのこのフェーズでは、意思決定者が理解しやすい形でデータから得られた洞察を提示することに焦点を当てる。 | [レッスン](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | クラウドでのデータサイエンス | [クラウドデータ](5-Data-Science-In-Cloud/README.md) | クラウドでのデータサイエンスとその利点を紹介する一連のレッスン。 | [レッスン](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) と [Maud](https://twitter.com/maudstweets) |
+| 18 | クラウドでのデータサイエンス | [クラウドデータ](5-Data-Science-In-Cloud/README.md) | ローコードツールを使用したモデルのトレーニング。 | [レッスン](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) と [Maud](https://twitter.com/maudstweets) |
+| 19 | クラウドでのデータサイエンス | [クラウドデータ](5-Data-Science-In-Cloud/README.md) | Azure Machine Learning Studioを使用したモデルのデプロイ。 | [レッスン](5-Data-Science-In-Cloud/19-Azure/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) と [Maud](https://twitter.com/maudstweets) |
+| 20 | 実世界でのデータサイエンス | [実世界](6-Data-Science-In-Wild/README.md) | 実世界でのデータサイエンス主導のプロジェクト。 | [レッスン](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+このサンプルをCodespaceで開く手順は以下の通りです:
+1. Codeドロップダウンメニューをクリックし、Open with Codespacesオプションを選択します。
+2. ペインの下部にある+ New codespaceを選択します。
+詳細については、[GitHubのドキュメント](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace)をご覧ください。
+
+## VSCode Remote - Containers
+VSCodeのRemote - Containers拡張機能を使用して、ローカルマシンでこのリポジトリをコンテナ内で開く手順は以下の通りです:
+
+1. 開発コンテナを初めて使用する場合は、[開始ガイド](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started)で必要条件(例:Dockerのインストール)を確認してください。
+
+このリポジトリを使用するには、以下のいずれかの方法を選択できます:
+
+**注意**: 内部的には、Remote-Containers: **Clone Repository in Container Volume...** コマンドを使用して、ソースコードをローカルファイルシステムではなくDockerボリュームにクローンします。[ボリューム](https://docs.docker.com/storage/volumes/)はコンテナデータを永続化するための推奨メカニズムです。
+
+または、ローカルにクローンまたはダウンロードしたリポジトリを開く:
+
+- このリポジトリをローカルファイルシステムにクローンします。
+- F1キーを押して、**Remote-Containers: Open Folder in Container...** コマンドを選択します。
+- クローンしたフォルダを選択し、コンテナが起動するのを待って試してみてください。
+
+## オフラインアクセス
+
+[Docsify](https://docsify.js.org/#/)を使用して、このドキュメントをオフラインで実行できます。このリポジトリをフォークし、[Docsifyをインストール](https://docsify.js.org/#/quickstart)してから、このリポジトリのルートフォルダで`docsify serve`と入力してください。ウェブサイトはローカルホストのポート3000で提供されます:`localhost:3000`。
+
+> 注意:Docsifyではノートブックはレンダリングされません。そのため、ノートブックを実行する必要がある場合は、Pythonカーネルを使用してVS Codeで別途実行してください。
+
+## ヘルプ募集中!
+
+カリキュラムの全部または一部を翻訳したい場合は、[翻訳ガイド](TRANSLATIONS.md)をご覧ください。
+
+## その他のカリキュラム
+
+私たちのチームは他にもカリキュラムを制作しています!以下をご覧ください:
+
+- [Generative AI for Beginners](https://aka.ms/genai-beginners)
+- [Generative AI for Beginners .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [Generative AI with JavaScript](https://github.com/microsoft/generative-ai-with-javascript)
+- [Generative AI with Java](https://aka.ms/genaijava)
+- [AI for Beginners](https://aka.ms/ai-beginners)
+- [Data Science for Beginners](https://aka.ms/datascience-beginners)
+- [ML for Beginners](https://aka.ms/ml-beginners)
+- [Cybersecurity for Beginners](https://github.com/microsoft/Security-101)
+- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
+- [IoT for Beginners](https://aka.ms/iot-beginners)
+- [XR Development for Beginners](https://github.com/microsoft/xr-development-for-beginners)
+- [Mastering GitHub Copilot for Paired Programming](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [Mastering GitHub Copilot for C#/.NET Developers](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [Choose Your Own Copilot Adventure](https://github.com/microsoft/CopilotAdventures)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/SECURITY.md b/translations/ja/SECURITY.md
new file mode 100644
index 00000000..c681fe73
--- /dev/null
+++ b/translations/ja/SECURITY.md
@@ -0,0 +1,49 @@
+
+## セキュリティ
+
+Microsoftは、ソフトウェア製品やサービスのセキュリティを非常に重視しています。これには、[Microsoft](https://github.com/Microsoft)、[Azure](https://github.com/Azure)、[DotNet](https://github.com/dotnet)、[AspNet](https://github.com/aspnet)、[Xamarin](https://github.com/xamarin)、および[弊社のGitHub組織](https://opensource.microsoft.com/)で管理されているすべてのソースコードリポジトリが含まれます。
+
+もし、Microsoftが所有するリポジトリにおいて[Microsoftのセキュリティ脆弱性の定義](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10))に該当する脆弱性を発見した場合は、以下の手順に従って報告してください。
+
+## セキュリティ問題の報告
+
+**セキュリティ脆弱性を公開GitHubのIssueで報告しないでください。**
+
+代わりに、Microsoft Security Response Center (MSRC)に以下のリンクから報告してください:[https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report)。
+
+ログインせずに提出したい場合は、[secure@microsoft.com](mailto:secure@microsoft.com)にメールを送信してください。可能であれば、メッセージを弊社のPGPキーで暗号化してください。PGPキーは[Microsoft Security Response Center PGP Keyページ](https://www.microsoft.com/en-us/msrc/pgp-key-msrc)からダウンロードできます。
+
+通常、24時間以内に返信を受け取ることができます。もし返信がない場合は、元のメッセージが届いているか確認するためにメールで再度お問い合わせください。追加情報は[こちら](https://www.microsoft.com/msrc)で確認できます。
+
+以下の情報を可能な限り提供してください。これにより、問題の性質や範囲をよりよく理解することができます:
+
+ * 問題の種類(例: バッファオーバーフロー、SQLインジェクション、クロスサイトスクリプティングなど)
+ * 問題が発生しているソースファイルの完全なパス
+ * 影響を受けているソースコードの場所(タグ/ブランチ/コミットまたは直接URL)
+ * 問題を再現するために必要な特別な設定
+ * 問題を再現するための手順
+ * 概念実証やエクスプロイトコード(可能であれば)
+ * 問題の影響(攻撃者がどのように問題を悪用する可能性があるかを含む)
+
+これらの情報を提供することで、報告の優先順位付けが迅速に行われます。
+
+バグ報奨金プログラムに報告する場合、より詳細な報告は高額な報奨金につながる可能性があります。現在のプログラムについては、[Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty)ページをご覧ください。
+
+## 推奨言語
+
+すべてのコミュニケーションは英語で行うことを推奨します。
+
+## ポリシー
+
+Microsoftは[Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd)の原則に従っています。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は一切の責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/SUPPORT.md b/translations/ja/SUPPORT.md
new file mode 100644
index 00000000..17726bb9
--- /dev/null
+++ b/translations/ja/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# サポート
+## 問題の報告方法とヘルプの取得
+
+このプロジェクトでは、GitHub Issuesを使用してバグや機能リクエストを追跡しています。重複を避けるために、新しい問題を報告する前に既存の問題を検索してください。新しい問題を報告する場合は、バグや機能リクエストを新しいIssueとして提出してください。
+
+このプロジェクトの使用に関するヘルプや質問については、Issueを提出してください。
+
+## Microsoftのサポートポリシー
+
+このリポジトリのサポートは、上記のリソースに限定されています。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/docs/_sidebar.md b/translations/ja/docs/_sidebar.md
new file mode 100644
index 00000000..99e7136e
--- /dev/null
+++ b/translations/ja/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- はじめに
+ - [データサイエンスの定義](../1-Introduction/01-defining-data-science/README.md)
+ - [データサイエンスの倫理](../1-Introduction/02-ethics/README.md)
+ - [データの定義](../1-Introduction/03-defining-data/README.md)
+ - [確率と統計](../1-Introduction/04-stats-and-probability/README.md)
+- データの取り扱い
+ - [リレーショナルデータベース](../2-Working-With-Data/05-relational-databases/README.md)
+ - [非リレーショナルデータベース](../2-Working-With-Data/06-non-relational/README.md)
+ - [Python](../2-Working-With-Data/07-python/README.md)
+ - [データ準備](../2-Working-With-Data/08-data-preparation/README.md)
+- データの可視化
+ - [数量の可視化](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [分布の可視化](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [割合の可視化](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [関係性の可視化](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [意味のある可視化](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- データサイエンスライフサイクル
+ - [はじめに](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [分析](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [コミュニケーション](../4-Data-Science-Lifecycle/16-communication/README.md)
+- クラウドにおけるデータサイエンス
+ - [はじめに](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [ローコード](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- 実世界におけるデータサイエンス
+ - [実世界のデータサイエンス](../6-Data-Science-In-Wild/README.md)
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤った解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/for-teachers.md b/translations/ja/for-teachers.md
new file mode 100644
index 00000000..d85083a7
--- /dev/null
+++ b/translations/ja/for-teachers.md
@@ -0,0 +1,76 @@
+
+## 教育者の皆様へ
+
+このカリキュラムを教室で使用してみませんか?ぜひご活用ください!
+
+実際、GitHub Classroomを使えば、GitHub上でこのカリキュラムを利用することができます。
+
+そのためには、このリポジトリをフォークしてください。各レッスンごとにリポジトリを作成する必要があるため、各フォルダーを個別のリポジトリに分ける必要があります。そうすることで、[GitHub Classroom](https://classroom.github.com/classrooms)が各レッスンを個別に認識できるようになります。
+
+こちらの[詳細な手順](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)を参考にして、教室のセットアップ方法をご確認ください。
+
+## リポジトリをそのまま使用する場合
+
+GitHub Classroomを使用せずに、このリポジトリをそのまま利用したい場合も可能です。その場合、どのレッスンを一緒に進めるかを学生に伝える必要があります。
+
+オンライン形式(Zoom、Teams、その他)では、クイズ用にブレイクアウトルームを作成し、学生が学習の準備を整えられるように指導することができます。その後、クイズに参加して、一定の時間内に回答を「issue」として提出するよう学生に依頼してください。同様に、課題についても、学生がオープンな環境で共同作業を行う場合に適用できます。
+
+よりプライベートな形式を希望する場合は、学生にカリキュラムをレッスンごとにフォークし、自分のGitHubリポジトリ(プライベートリポジトリ)に保存するよう依頼し、あなたにアクセス権を付与してもらいます。これにより、学生はクイズや課題をプライベートに完了し、教室用リポジトリのissueを通じて提出することができます。
+
+オンライン教室形式でこのカリキュラムを活用する方法はさまざまです。ぜひ、最適な方法を教えてください!
+
+## このカリキュラムに含まれる内容:
+
+20のレッスン、40のクイズ、20の課題が含まれています。視覚的な学習者のために、レッスンにはスケッチノートが付属しています。多くのレッスンはPythonとRの両方で利用可能で、VS CodeのJupyterノートブックを使用して完了できます。この技術スタックを使用するための教室のセットアップ方法についてはこちらをご覧ください:https://code.visualstudio.com/docs/datascience/jupyter-notebooks。
+
+すべてのスケッチノート(大判ポスターを含む)は[このフォルダー](../../sketchnotes)にあります。
+
+カリキュラム全体は[PDF形式](../../pdf/readme.pdf)でも利用可能です。
+
+また、このカリキュラムをスタンドアロンのオフライン対応ウェブサイトとして実行することもできます。[Docsify](https://docsify.js.org/#/)を使用してください。[Docsifyをインストール](https://docsify.js.org/#/quickstart)し、このリポジトリのローカルコピーのルートフォルダーで`docsify serve`と入力します。ウェブサイトはローカルホストのポート3000で提供されます:`localhost:3000`。
+
+オフライン対応のカリキュラムは、スタンドアロンのウェブページとして開きます:https://localhost:3000
+
+レッスンは6つのパートに分かれています:
+
+- 1: 導入
+ - 1: データサイエンスの定義
+ - 2: 倫理
+ - 3: データの定義
+ - 4: 確率と統計の概要
+- 2: データの取り扱い
+ - 5: リレーショナルデータベース
+ - 6: 非リレーショナルデータベース
+ - 7: Python
+ - 8: データ準備
+- 3: データの可視化
+ - 9: 数量の可視化
+ - 10: 分布の可視化
+ - 11: 比率の可視化
+ - 12: 関係性の可視化
+ - 13: 意味のある可視化
+- 4: データサイエンスライフサイクル
+ - 14: 導入
+ - 15: 分析
+ - 16: コミュニケーション
+- 5: クラウドでのデータサイエンス
+ - 17: 導入
+ - 18: ローコードオプション
+ - 19: Azure
+- 6: 実社会でのデータサイエンス
+ - 20: 概要
+
+## ご意見をお聞かせください!
+
+このカリキュラムがあなたや学生にとって役立つものになるようにしたいと考えています。ぜひディスカッションボードでフィードバックをお寄せください!学生向けのディスカッションボードエリアを作成することも自由です。
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/quiz-app/README.md b/translations/ja/quiz-app/README.md
new file mode 100644
index 00000000..ee4d1f4a
--- /dev/null
+++ b/translations/ja/quiz-app/README.md
@@ -0,0 +1,137 @@
+
+# クイズ
+
+これらのクイズは、データサイエンスカリキュラム(https://aka.ms/datascience-beginners)の講義前後に行うクイズです。
+
+## 翻訳されたクイズセットを追加する
+
+翻訳されたクイズを追加するには、`assets/translations`フォルダ内に対応するクイズ構造を作成してください。オリジナルのクイズは`assets/translations/en`にあります。クイズは複数のグループに分かれています。適切なクイズセクションに番号を合わせるようにしてください。このカリキュラムには合計40個のクイズがあり、番号は0から始まります。
+
+翻訳を編集した後、翻訳フォルダ内の`index.js`ファイルを編集し、`en`の規則に従ってすべてのファイルをインポートしてください。
+
+次に、`assets/translations`内の`index.js`ファイルを編集して、新しい翻訳ファイルをインポートします。
+
+その後、このアプリ内の`App.vue`のドロップダウンを編集し、言語を追加します。ローカライズされた略語を言語フォルダ名と一致させてください。
+
+最後に、翻訳されたレッスン内のすべてのクイズリンクを編集し、ローカライズをクエリパラメータとして含めるようにします。例: `?loc=fr`。
+
+## プロジェクトセットアップ
+
+```
+npm install
+```
+
+### 開発用のコンパイルとホットリロード
+
+```
+npm run serve
+```
+
+### 本番用のコンパイルと最小化
+
+```
+npm run build
+```
+
+### ファイルのリントと修正
+
+```
+npm run lint
+```
+
+### 設定のカスタマイズ
+
+[Configuration Reference](https://cli.vuejs.org/config/)を参照してください。
+
+クレジット: このクイズアプリのオリジナルバージョンに感謝します: https://github.com/arpan45/simple-quiz-vue
+
+## Azureへのデプロイ
+
+以下は、始めるためのステップバイステップガイドです:
+
+1. GitHubリポジトリをフォークする
+静的ウェブアプリのコードをGitHubリポジトリに保存してください。このリポジトリをフォークします。
+
+2. Azure Static Web Appを作成する
+- [Azureアカウント](http://azure.microsoft.com)を作成します。
+- [Azureポータル](https://portal.azure.com)にアクセスします。
+- 「リソースの作成」をクリックし、「Static Web App」を検索します。
+- 「作成」をクリックします。
+
+3. Static Web Appを構成する
+- 基本設定:
+ - サブスクリプション: Azureサブスクリプションを選択します。
+ - リソースグループ: 新しいリソースグループを作成するか、既存のものを使用します。
+ - 名前: 静的ウェブアプリの名前を入力します。
+ - リージョン: ユーザーに最も近いリージョンを選択します。
+
+- #### デプロイメントの詳細:
+ - ソース: 「GitHub」を選択します。
+ - GitHubアカウント: AzureにGitHubアカウントへのアクセスを許可します。
+ - 組織: GitHubの組織を選択します。
+ - リポジトリ: 静的ウェブアプリを含むリポジトリを選択します。
+ - ブランチ: デプロイするブランチを選択します。
+
+- #### ビルドの詳細:
+ - ビルドプリセット: アプリが構築されているフレームワークを選択します(例: React, Angular, Vueなど)。
+ - アプリの場所: アプリコードが含まれるフォルダを指定します(例: ルートの場合は/)。
+ - APIの場所: APIがある場合、その場所を指定します(オプション)。
+ - 出力の場所: ビルド出力が生成されるフォルダを指定します(例: buildまたはdist)。
+
+4. レビューと作成
+設定を確認し、「作成」をクリックします。Azureが必要なリソースを設定し、リポジトリにGitHub Actionsワークフローを作成します。
+
+5. GitHub Actionsワークフロー
+Azureはリポジトリ内に自動的にGitHub Actionsワークフロー(.github/workflows/azure-static-web-apps-.yml)を作成します。このワークフローがビルドとデプロイプロセスを処理します。
+
+6. デプロイの監視
+GitHubリポジトリの「Actions」タブに移動します。
+ワークフローが実行中であることが確認できます。このワークフローは静的ウェブアプリをAzureにビルドおよびデプロイします。
+ワークフローが完了すると、提供されたAzure URLでアプリが公開されます。
+
+### ワークフローファイルの例
+
+以下は、GitHub Actionsワークフローファイルの例です:
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### 追加リソース
+- [Azure Static Web Apps ドキュメント](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [GitHub Actions ドキュメント](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**免責事項**:
+この文書はAI翻訳サービス[Co-op Translator](https://github.com/Azure/co-op-translator)を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書を正式な情報源としてお考えください。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解について、当社は責任を負いません。
\ No newline at end of file
diff --git a/translations/ja/sketchnotes/README.md b/translations/ja/sketchnotes/README.md
new file mode 100644
index 00000000..9b592e8b
--- /dev/null
+++ b/translations/ja/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+すべてのスケッチノートはこちらで見つけることができます!
+
+## クレジット
+
+アーティスト: Nitya Narasimhan
+
+
+
+**免責事項**:
+この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があることをご承知ください。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解釈について、当方は責任を負いません。
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/01-defining-data-science/README.md b/translations/ko/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..1f0f89a0
--- /dev/null
+++ b/translations/ko/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,122 @@
+
+# 데이터 과학 정의하기
+
+|  ](../../sketchnotes/01-Definitions.png) |
+| :----------------------------------------------------------------------------------------------------: |
+| 데이터 과학 정의하기 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+[](https://youtu.be/beZ7Mb_oz9I)
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/0)
+
+## 데이터란 무엇인가?
+우리의 일상생활은 데이터로 가득 차 있습니다. 지금 읽고 있는 이 텍스트도 데이터입니다. 스마트폰에 저장된 친구들의 전화번호 목록, 시계에 표시된 현재 시간도 데이터입니다. 인간은 돈을 세거나 친구에게 편지를 쓰는 등 자연스럽게 데이터를 다루며 살아갑니다.
+
+하지만 컴퓨터가 발명되면서 데이터는 훨씬 더 중요한 역할을 하게 되었습니다. 컴퓨터의 주요 역할은 계산을 수행하는 것이지만, 이를 위해서는 데이터가 필요합니다. 따라서 컴퓨터가 데이터를 저장하고 처리하는 방식을 이해해야 합니다.
+
+인터넷이 등장하면서 컴퓨터의 데이터 처리 장치로서의 역할이 더욱 커졌습니다. 생각해보면, 우리는 이제 실제 계산보다는 데이터 처리와 통신을 위해 컴퓨터를 더 많이 사용합니다. 친구에게 이메일을 쓰거나 인터넷에서 정보를 검색할 때, 우리는 데이터를 생성하고, 저장하고, 전송하며 조작하고 있는 것입니다.
+> 마지막으로 컴퓨터를 실제 계산 목적으로 사용한 적이 언제였는지 기억나시나요?
+
+## 데이터 과학이란 무엇인가?
+
+[위키피디아](https://en.wikipedia.org/wiki/Data_science)에 따르면, **데이터 과학**은 *구조화된 데이터와 비구조화된 데이터에서 지식과 통찰을 추출하고, 이를 다양한 응용 분야에 적용하는 과학적 방법을 사용하는 학문 분야*로 정의됩니다.
+
+이 정의는 데이터 과학의 다음과 같은 중요한 측면을 강조합니다:
+
+* 데이터 과학의 주요 목표는 데이터를 통해 **지식을 추출**하는 것입니다. 즉, 데이터를 **이해**하고, 숨겨진 관계를 발견하며, **모델**을 구축하는 것입니다.
+* 데이터 과학은 확률과 통계와 같은 **과학적 방법**을 사용합니다. 사실, *데이터 과학*이라는 용어가 처음 등장했을 때, 일부 사람들은 데이터 과학이 통계학의 새로운 멋진 이름일 뿐이라고 주장했습니다. 하지만 오늘날 데이터 과학은 훨씬 더 넓은 분야로 자리 잡았습니다.
+* 얻어진 지식은 **실질적인 통찰**을 제공해야 합니다. 즉, 실제 비즈니스 상황에 적용할 수 있는 실용적인 통찰이어야 합니다.
+* 우리는 **구조화된 데이터**와 **비구조화된 데이터** 모두를 다룰 수 있어야 합니다. 데이터의 다양한 유형에 대해서는 이 과정에서 나중에 다시 논의할 것입니다.
+* **응용 분야**는 중요한 개념이며, 데이터 과학자는 종종 금융, 의학, 마케팅 등 문제 도메인에 대한 일정 수준의 전문 지식이 필요합니다.
+
+> 데이터 과학의 또 다른 중요한 측면은 데이터가 컴퓨터를 사용하여 어떻게 수집되고, 저장되고, 처리될 수 있는지를 연구한다는 점입니다. 통계학이 수학적 기초를 제공한다면, 데이터 과학은 수학적 개념을 실제로 데이터에서 통찰을 도출하는 데 적용합니다.
+
+[짐 그레이](https://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist))에게 귀속된 한 가지 관점은 데이터 과학을 별도의 과학 패러다임으로 보는 것입니다:
+* **경험적**: 관찰과 실험 결과에 주로 의존
+* **이론적**: 기존 과학 지식에서 새로운 개념 도출
+* **계산적**: 계산 실험을 기반으로 새로운 원리 발견
+* **데이터 기반**: 데이터에서 관계와 패턴 발견
+
+## 관련 분야
+
+데이터는 어디에나 존재하기 때문에, 데이터 과학 자체도 매우 광범위하며 여러 다른 학문과 연결됩니다.
+
+## 데이터의 유형
+
+앞서 언급했듯이, 데이터는 어디에나 존재합니다. 단지 올바른 방식으로 이를 포착하면 됩니다! 데이터는 **구조화된 데이터**와 **비구조화된 데이터**로 구분할 수 있습니다. 구조화된 데이터는 일반적으로 표나 여러 개의 표 형태로 잘 정리된 형태로 표현되며, 비구조화된 데이터는 단순히 파일 모음일 뿐입니다. 때로는 **반구조화된 데이터**도 언급되는데, 이는 일정한 구조를 가지지만 그 구조가 크게 다를 수 있는 데이터를 말합니다.
+
+| 구조화된 데이터 | 반구조화된 데이터 | 비구조화된 데이터 |
+| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------- |
+| 사람들의 전화번호 목록 | 링크가 포함된 위키피디아 페이지 | 백과사전 브리태니커의 텍스트 |
+| 지난 20년 동안 매 분마다 건물 내 모든 방의 온도 | 저자, 출판 날짜, 초록이 포함된 JSON 형식의 과학 논문 모음 | 회사 문서가 저장된 파일 공유 |
+| 건물에 들어오는 모든 사람들의 나이와 성별 데이터 | 인터넷 페이지 | 감시 카메라의 원본 비디오 피드 |
+
+## 데이터를 얻는 방법
+
+데이터를 얻을 수 있는 출처는 매우 다양하며, 이를 모두 나열하는 것은 불가능합니다! 하지만 일반적인 데이터 출처 몇 가지를 살펴보겠습니다:
+
+* **구조화된 데이터**
+ - **사물인터넷**(IoT): 온도 센서나 압력 센서와 같은 다양한 센서에서 데이터를 제공하며, 유용한 데이터를 많이 제공합니다. 예를 들어, 사무실 건물이 IoT 센서로 장착되어 있다면, 난방과 조명을 자동으로 제어하여 비용을 최소화할 수 있습니다.
+ - **설문조사**: 구매 후 또는 웹사이트 방문 후 사용자에게 설문조사를 요청하여 데이터를 수집합니다.
+ - **행동 분석**: 예를 들어, 사용자가 사이트를 얼마나 깊이 탐색하는지, 사이트를 떠나는 일반적인 이유가 무엇인지 이해하는 데 도움을 줄 수 있습니다.
+* **비구조화된 데이터**
+ - **텍스트**: 텍스트는 전체적인 **감정 점수**를 얻거나 키워드와 의미를 추출하는 등 풍부한 통찰을 제공할 수 있습니다.
+ - **이미지** 또는 **비디오**: 감시 카메라의 비디오는 도로의 교통량을 추정하고, 잠재적인 교통 체증에 대해 사람들에게 알리는 데 사용할 수 있습니다.
+ - 웹 서버 **로그**: 사이트의 어떤 페이지가 가장 자주 방문되었는지, 얼마나 오래 머물렀는지 이해하는 데 사용할 수 있습니다.
+* **반구조화된 데이터**
+ - **소셜 네트워크** 그래프: 사용자 성격과 정보를 전파하는 잠재적 효과를 파악하는 데 유용한 데이터 소스가 될 수 있습니다.
+ - 파티에서 찍은 사진 모음을 통해 **그룹 동역학** 데이터를 추출하고, 사람들이 서로 사진을 찍은 관계 그래프를 구축할 수 있습니다.
+
+다양한 데이터 출처를 알게 되면, 데이터 과학 기술을 적용하여 상황을 더 잘 이해하고 비즈니스 프로세스를 개선할 수 있는 다양한 시나리오를 생각해볼 수 있습니다.
+
+## 데이터로 할 수 있는 일
+
+데이터 과학에서는 데이터 여정의 다음 단계를 중점적으로 다룹니다:
+
+물론, 실제 데이터에 따라 일부 단계는 생략될 수 있습니다(예: 데이터가 이미 데이터베이스에 있는 경우 또는 모델 훈련이 필요하지 않은 경우). 또는 일부 단계는 여러 번 반복될 수 있습니다(예: 데이터 처리).
+
+## 디지털화와 디지털 전환
+
+지난 10년 동안 많은 기업들이 비즈니스 결정을 내릴 때 데이터의 중요성을 깨닫기 시작했습니다. 데이터 과학 원칙을 비즈니스 운영에 적용하려면 먼저 데이터를 수집해야 합니다. 즉, 비즈니스 프로세스를 디지털 형태로 변환해야 합니다. 이를 **디지털화**라고 합니다. 이 데이터를 활용하여 데이터 과학 기법을 적용하면 생산성이 크게 향상되거나(심지어 비즈니스 전환도 가능) **디지털 전환**을 이룰 수 있습니다.
+
+예를 들어, 학생들에게 온라인으로 제공되는 데이터 과학 강의(이 강의처럼)가 있다고 가정하고, 이를 개선하기 위해 데이터 과학을 사용하고자 한다면 어떻게 할 수 있을까요?
+
+우리는 "무엇을 디지털화할 수 있을까?"라는 질문으로 시작할 수 있습니다. 가장 간단한 방법은 각 학생이 각 모듈을 완료하는 데 걸리는 시간을 측정하고, 각 모듈이 끝난 후 다지선다형 테스트를 통해 얻은 지식을 측정하는 것입니다. 모든 학생의 평균 완료 시간을 계산하면, 학생들에게 가장 어려움을 주는 모듈을 찾아내고 이를 간소화하는 작업을 할 수 있습니다.
+모듈의 길이가 서로 다를 수 있기 때문에 이 접근 방식이 최적이 아니라고 주장할 수도 있습니다. 모듈의 길이(문자 수 기준)로 시간을 나누고, 그 값을 비교하는 것이 아마도 더 공정할 것입니다.
+다지선다형 테스트 결과를 분석하기 시작할 때, 학생들이 이해하기 어려워하는 개념을 파악하고 그 정보를 활용해 콘텐츠를 개선할 수 있습니다. 이를 위해 각 질문이 특정 개념이나 지식의 일부와 연결되도록 테스트를 설계해야 합니다.
+
+더 복잡하게 접근하고 싶다면, 각 모듈에 소요된 시간을 학생들의 연령대와 비교해볼 수 있습니다. 특정 연령대에서는 모듈을 완료하는 데 지나치게 오랜 시간이 걸리거나, 완료하기 전에 중도 포기하는 경우를 발견할 수 있습니다. 이를 통해 모듈에 대한 연령별 추천을 제공하고, 잘못된 기대에서 오는 불만을 최소화할 수 있습니다.
+
+## 🚀 도전 과제
+
+이번 도전 과제에서는 텍스트를 분석하여 데이터 과학 분야와 관련된 개념을 찾아보겠습니다. 데이터 과학에 대한 위키피디아 기사를 가져와 텍스트를 처리한 후, 아래와 같은 워드 클라우드를 만들어볼 것입니다:
+
+
+
+[`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore')를 방문하여 코드를 살펴보세요. 코드를 실행해보며 데이터 변환이 실시간으로 어떻게 이루어지는지 확인할 수도 있습니다.
+
+> 주피터 노트북에서 코드를 실행하는 방법을 모른다면, [이 글](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)을 참고하세요.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## 과제
+
+* **과제 1**: 위 코드를 수정하여 **빅 데이터**와 **머신 러닝** 분야와 관련된 개념을 찾아보세요.
+* **과제 2**: [데이터 과학 시나리오에 대해 생각해보기](assignment.md)
+
+## 크레딧
+
+이 강의는 [Dmitry Soshnikov](http://soshnikov.com)가 ♥️를 담아 작성했습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/01-defining-data-science/assignment.md b/translations/ko/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..f070caff
--- /dev/null
+++ b/translations/ko/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# 과제: 데이터 과학 시나리오
+
+이 첫 번째 과제에서는 다양한 문제 영역에서 실제 생활의 프로세스나 문제를 생각해보고, 데이터 과학 프로세스를 사용하여 이를 어떻게 개선할 수 있는지 고민해 보세요. 다음을 고려해 보세요:
+
+1. 어떤 데이터를 수집할 수 있을까요?
+1. 데이터를 어떻게 수집할까요?
+1. 데이터를 어떻게 저장할까요? 데이터의 크기는 얼마나 클까요?
+1. 이 데이터로부터 어떤 통찰을 얻을 수 있을까요? 데이터를 기반으로 어떤 결정을 내릴 수 있을까요?
+
+3가지 다른 문제/프로세스를 생각해보고, 각 문제 영역에 대해 위의 항목을 설명해 보세요.
+
+다음은 생각을 시작할 수 있도록 제공된 문제 영역과 문제들입니다:
+
+1. 데이터를 사용하여 학교에서 어린이들의 교육 과정을 어떻게 개선할 수 있을까요?
+1. 데이터를 사용하여 팬데믹 동안 백신 접종을 어떻게 관리할 수 있을까요?
+1. 데이터를 사용하여 직장에서 생산성을 유지하고 있는지 어떻게 확인할 수 있을까요?
+
+## 지침
+
+다음 표를 작성하세요 (필요한 경우 제안된 문제 영역을 자신의 문제 영역으로 대체하세요):
+
+| 문제 영역 | 문제 | 수집할 데이터 | 데이터를 저장하는 방법 | 얻을 수 있는 통찰/결정 |
+|-----------|------|---------------|-----------------------|------------------------|
+| 교육 | | | | |
+| 백신 접종 | | | | |
+| 생산성 | | | | |
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+모든 문제 영역에 대해 합리적인 데이터 소스, 데이터 저장 방법, 가능한 결정/통찰을 식별할 수 있음 | 솔루션의 일부 측면이 상세하지 않으며, 데이터 저장이 논의되지 않았고, 최소 2개의 문제 영역이 설명됨 | 데이터 솔루션의 일부만 설명되었으며, 하나의 문제 영역만 고려됨
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/ko/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..d9645564
--- /dev/null
+++ b/translations/ko/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# 과제: 데이터 과학 시나리오
+
+이 첫 번째 과제에서는 다양한 문제 영역에서 실제 프로세스나 문제를 생각하고, 데이터 과학 프로세스를 사용하여 이를 개선할 방법을 고민해 보세요. 다음을 고려해 보세요:
+
+1. 어떤 데이터를 수집할 수 있을까요?
+1. 데이터를 어떻게 수집할까요?
+1. 데이터를 어떻게 저장할까요? 데이터의 크기는 얼마나 클까요?
+1. 이 데이터로부터 어떤 통찰을 얻을 수 있을까요? 데이터를 기반으로 어떤 결정을 내릴 수 있을까요?
+
+세 가지 다른 문제/프로세스를 생각해 보고, 각 문제 영역에 대해 위의 각 항목을 설명해 보세요.
+
+다음은 생각을 시작할 수 있도록 제공된 문제 영역과 문제들입니다:
+
+1. 데이터를 사용하여 학교에서 어린이들의 교육 과정을 어떻게 개선할 수 있을까요?
+1. 데이터를 사용하여 팬데믹 동안 백신 접종을 어떻게 관리할 수 있을까요?
+1. 데이터를 사용하여 직장에서 생산성을 유지하고 있는지 어떻게 확인할 수 있을까요?
+
+## 지침
+
+다음 표를 작성하세요 (필요한 경우 제안된 문제 영역을 자신의 문제 영역으로 대체하세요):
+
+| 문제 영역 | 문제 | 수집할 데이터 | 데이터를 저장하는 방법 | 얻을 수 있는 통찰/결정 |
+|-----------|------|---------------|-----------------------|------------------------|
+| 교육 | 대학에서 강의 출석률이 낮은 경우가 많습니다. 강의를 출석한 학생들이 평균적으로 시험에서 더 좋은 성적을 받는다는 가설이 있습니다. 출석률을 높이고 가설을 테스트하고 싶습니다. | 강의실에서 보안 카메라로 찍은 사진을 통해 출석을 추적하거나, 강의실에서 학생 휴대폰의 블루투스/와이파이 주소를 추적할 수 있습니다. 시험 데이터는 이미 대학 데이터베이스에 있습니다. | 보안 카메라 이미지를 추적하는 경우, 수업 중 몇 장(5-10장)의 사진을 저장해야 합니다(비정형 데이터). 이후 AI를 사용하여 학생 얼굴을 식별하고 데이터를 구조화된 형태로 변환합니다. | 각 학생의 평균 출석 데이터를 계산하고, 시험 성적과의 상관관계가 있는지 확인할 수 있습니다. 상관관계에 대해서는 [확률과 통계](../../04-stats-and-probability/README.md) 섹션에서 더 자세히 다룰 것입니다. 학생 출석률을 높이기 위해 학교 포털에 주간 출석 점수를 게시하고, 출석률이 가장 높은 학생들 중에서 추첨을 통해 상품을 제공할 수 있습니다. |
+| 백신 접종 | | | | |
+| 생산성 | | | | |
+
+> *우리는 기대되는 과제의 예시를 하나만 제공합니다.*
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+모든 문제 영역에 대해 합리적인 데이터 소스, 데이터 저장 방법, 가능한 결정/통찰을 식별할 수 있었다 | 솔루션의 일부 측면이 상세하지 않으며, 데이터 저장이 논의되지 않았고, 최소 2개의 문제 영역이 설명되었다 | 데이터 솔루션의 일부만 설명되었으며, 하나의 문제 영역만 고려되었다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/02-ethics/README.md b/translations/ko/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..d76ae02a
--- /dev/null
+++ b/translations/ko/1-Introduction/02-ethics/README.md
@@ -0,0 +1,265 @@
+
+# 데이터 윤리 소개
+
+| ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| 데이터 과학 윤리 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+우리는 모두 데이터화된 세상에서 살아가는 데이터 시민입니다.
+
+시장 동향에 따르면 2022년까지 대규모 조직 3곳 중 1곳이 온라인 [마켓플레이스 및 거래소](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/)를 통해 데이터를 사고팔게 될 것이라고 합니다. **앱 개발자**로서 우리는 데이터 기반 통찰력과 알고리즘 기반 자동화를 일상적인 사용자 경험에 통합하는 것이 더 쉽고 저렴해질 것입니다. 그러나 AI가 보편화됨에 따라, 이러한 알고리즘이 대규모로 [무기화](https://www.youtube.com/watch?v=TQHs8SA1qpk)될 때 발생할 수 있는 잠재적 피해를 이해해야 할 필요성도 커지고 있습니다.
+
+또한, 2025년까지 [180제타바이트](https://www.statista.com/statistics/871513/worldwide-data-created/) 이상의 데이터를 생성하고 소비할 것이라는 전망도 있습니다. **데이터 과학자**로서 이는 개인 데이터에 대한 전례 없는 접근을 가능하게 합니다. 이를 통해 사용자 행동 프로파일을 구축하고, 사용자가 자유롭게 선택하는 것처럼 보이게 하면서도 실제로는 우리가 선호하는 결과로 유도하는 방식으로 의사 결정을 영향을 미칠 수 있습니다. 이는 데이터 프라이버시와 사용자 보호에 대한 더 넓은 질문을 제기합니다.
+
+데이터 윤리는 데이터 과학 및 엔지니어링의 _필수적인 가드레일_로, 데이터 기반 행동에서 발생할 수 있는 잠재적 피해와 의도치 않은 결과를 최소화하도록 돕습니다. [가트너 AI 하이프 사이클](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/)은 디지털 윤리, 책임 있는 AI, AI 거버넌스와 같은 관련 트렌드를 AI의 _민주화_와 _산업화_라는 더 큰 메가트렌드의 주요 동력으로 식별합니다.
+
+
+
+이번 강의에서는 데이터 윤리의 핵심 개념과 도전 과제부터 사례 연구 및 거버넌스와 같은 응용 AI 개념까지 탐구하며, 데이터와 AI를 다루는 팀과 조직에서 윤리 문화를 구축하는 방법을 배웁니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## 기본 정의
+
+먼저 기본 용어를 이해하는 것부터 시작해 봅시다.
+
+"윤리"라는 단어는 [그리스어 "ethikos"](https://en.wikipedia.org/wiki/Ethics) (그리고 그 어원인 "ethos")에서 유래했으며, 이는 _성격 또는 도덕적 본성_을 의미합니다.
+
+**윤리**는 사회에서 우리의 행동을 지배하는 공유된 가치와 도덕적 원칙에 관한 것입니다. 윤리는 법률이 아니라 "옳고 그름"에 대한 널리 받아들여진 규범에 기반을 둡니다. 그러나 윤리적 고려는 기업 거버넌스 이니셔티브와 정부 규정을 통해 준수를 위한 더 많은 인센티브를 창출할 수 있습니다.
+
+**데이터 윤리**는 "_데이터, 알고리즘 및 관련 관행_"과 관련된 도덕적 문제를 "연구하고 평가"하는 [새로운 윤리 분야](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1)입니다. 여기서 **"데이터"**는 생성, 기록, 큐레이션, 처리, 배포, 공유 및 사용과 관련된 행동에 초점을 맞추고, **"알고리즘"**은 AI, 에이전트, 머신러닝 및 로봇에 초점을 맞추며, **"관행"**은 책임 있는 혁신, 프로그래밍, 해킹 및 윤리 강령과 같은 주제에 초점을 맞춥니다.
+
+**응용 윤리**는 [도덕적 고려의 실질적 적용](https://en.wikipedia.org/wiki/Applied_ethics)을 의미합니다. 이는 _현실 세계의 행동, 제품 및 프로세스_와 관련된 윤리적 문제를 적극적으로 조사하고, 이를 정의된 윤리적 가치와 일치하도록 수정하는 과정입니다.
+
+**윤리 문화**는 [_응용 윤리를 운영화_](https://hbr.org/2019/05/how-to-design-an-ethical-organization)하여 조직 전체에서 윤리적 원칙과 관행이 일관되고 확장 가능하게 채택되도록 보장하는 것입니다. 성공적인 윤리 문화는 조직 전체의 윤리적 원칙을 정의하고, 준수를 위한 의미 있는 인센티브를 제공하며, 조직의 모든 수준에서 원하는 행동을 장려하고 강화함으로써 윤리적 규범을 확립합니다.
+
+## 윤리 개념
+
+이 섹션에서는 데이터 윤리를 위한 **공유된 가치**(원칙)와 **윤리적 도전 과제**(문제)와 같은 개념을 논의하고, 이러한 개념을 현실 세계의 맥락에서 이해할 수 있도록 돕는 **사례 연구**를 탐구합니다.
+
+### 1. 윤리 원칙
+
+모든 데이터 윤리 전략은 _윤리 원칙_을 정의하는 것에서 시작됩니다. 이는 데이터 및 AI 프로젝트에서 허용 가능한 행동을 설명하고, 준수 가능한 행동을 안내하는 "공유된 가치"입니다. 이를 개인 또는 팀 수준에서 정의할 수 있습니다. 그러나 대부분의 대규모 조직은 이를 _윤리적 AI_ 미션 선언문 또는 프레임워크로 정의하며, 이를 모든 팀에 일관되게 적용합니다.
+
+**예:** Microsoft의 [책임 있는 AI](https://www.microsoft.com/en-us/ai/responsible-ai) 미션 선언문은 다음과 같이 명시합니다: _"우리는 사람을 우선으로 하는 윤리적 원칙에 의해 추진되는 AI의 발전에 전념합니다"_ - 아래 프레임워크에서 6가지 윤리 원칙을 식별합니다:
+
+
+
+이 원칙들을 간략히 살펴보겠습니다. _투명성_과 _책임성_은 다른 원칙들이 기반을 두는 기본 가치입니다. 따라서 여기서부터 시작해 봅시다:
+
+* [**책임성**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)은 실무자가 데이터 및 AI 작업과 이러한 윤리 원칙 준수에 대해 _책임을 지도록_ 합니다.
+* [**투명성**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)은 데이터 및 AI 작업이 사용자에게 _이해 가능_하도록 하여, 결정의 이유와 과정을 설명합니다.
+* [**공정성**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)은 AI가 _모든 사람_을 공정하게 대우하도록 하며, 데이터와 시스템에서 발생할 수 있는 체계적 또는 암묵적 사회-기술적 편향을 해결합니다.
+* [**신뢰성 및 안전성**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)은 AI가 정의된 가치와 _일관되게_ 작동하며, 잠재적 피해나 의도치 않은 결과를 최소화하도록 보장합니다.
+* [**프라이버시 및 보안**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)은 데이터 계보를 이해하고, 사용자에게 _데이터 프라이버시 및 관련 보호_를 제공합니다.
+* [**포용성**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)은 AI 솔루션을 의도적으로 설계하여, _다양한 인간의 필요와 능력_을 충족하도록 적응시키는 것입니다.
+
+> 🚨 여러분의 데이터 윤리 미션 선언문은 무엇일 수 있을지 생각해 보세요. 다른 조직의 윤리적 AI 프레임워크를 탐구해 보세요 - 여기에는 [IBM](https://www.ibm.com/cloud/learn/ai-ethics), [Google](https://ai.google/principles), [Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/)의 예가 있습니다. 이들이 공통적으로 가지고 있는 공유된 가치는 무엇인가요? 이러한 원칙이 그들이 운영하는 AI 제품 또는 산업과 어떻게 관련이 있나요?
+
+### 2. 윤리적 도전 과제
+
+윤리 원칙이 정의되면, 다음 단계는 데이터 및 AI 작업이 이러한 공유된 가치와 일치하는지 평가하는 것입니다. 여러분의 행동을 _데이터 수집_과 _알고리즘 설계_라는 두 가지 범주로 생각해 보세요.
+
+데이터 수집의 경우, 행동은 식별 가능한 개인에 대한 **개인 데이터** 또는 개인 식별 가능 정보(PII)를 포함할 가능성이 높습니다. 여기에는 _집합적으로_ 개인을 식별할 수 있는 [다양한 비개인 데이터 항목](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en)이 포함됩니다. 윤리적 도전 과제는 _데이터 프라이버시_, _데이터 소유권_, 그리고 _정보 제공 동의_ 및 _지적 재산권_과 같은 관련 주제와 관련될 수 있습니다.
+
+알고리즘 설계의 경우, 행동은 **데이터셋**을 수집 및 큐레이션한 다음, 이를 사용하여 현실 세계의 맥락에서 결과를 예측하거나 결정을 자동화하는 **데이터 모델**을 훈련 및 배포하는 것을 포함합니다. 윤리적 도전 과제는 _데이터셋 편향_, _데이터 품질_ 문제, _불공정성_, _오해의 소지_와 같은 알고리즘의 문제에서 발생할 수 있으며, 일부 문제는 체계적일 수 있습니다.
+
+두 경우 모두, 윤리적 도전 과제는 우리의 행동이 공유된 가치와 충돌할 수 있는 영역을 강조합니다. 이러한 문제를 탐지, 완화, 최소화 또는 제거하려면, 우리의 행동과 관련된 도덕적 "예/아니오" 질문을 하고, 필요한 경우 수정 조치를 취해야 합니다. 몇 가지 윤리적 도전 과제와 그로 인해 제기되는 도덕적 질문을 살펴보겠습니다:
+
+#### 2.1 데이터 소유권
+
+데이터 수집은 종종 데이터 주체를 식별할 수 있는 개인 데이터를 포함합니다. [데이터 소유권](https://permission.io/blog/data-ownership)은 데이터 생성, 처리 및 배포와 관련된 _통제_와 [_사용자 권리_](https://permission.io/blog/data-ownership)에 관한 것입니다.
+
+우리가 물어야 할 도덕적 질문은 다음과 같습니다:
+ * 데이터를 소유하는 사람은 누구인가요? (사용자 또는 조직)
+ * 데이터 주체는 어떤 권리를 가지고 있나요? (예: 접근, 삭제, 이동성)
+ * 조직은 어떤 권리를 가지고 있나요? (예: 악의적인 사용자 리뷰 수정)
+
+#### 2.2 정보 제공 동의
+
+[정보 제공 동의](https://legaldictionary.net/informed-consent/)는 사용자가 _관련 사실_을 완전히 이해한 상태에서 데이터 수집과 같은 행동에 동의하는 행위를 정의합니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 사용자가 데이터 캡처 및 사용에 대해 동의했나요?
+ * 사용자가 데이터가 캡처된 목적을 이해했나요?
+ * 사용자가 참여로 인해 발생할 수 있는 잠재적 위험을 이해했나요?
+
+#### 2.3 지적 재산권
+
+[지적 재산권](https://en.wikipedia.org/wiki/Intellectual_property)은 인간의 창의적 활동에서 비롯된 무형의 창작물로, 개인이나 기업에 _경제적 가치_를 가질 수 있습니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 수집된 데이터가 사용자나 기업에 경제적 가치를 가지고 있나요?
+ * **사용자**가 여기서 지적 재산권을 가지고 있나요?
+ * **조직**이 여기서 지적 재산권을 가지고 있나요?
+ * 이러한 권리가 존재한다면, 이를 어떻게 보호하고 있나요?
+
+#### 2.4 데이터 프라이버시
+
+[데이터 프라이버시](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/) 또는 정보 프라이버시는 개인 식별 가능 정보와 관련하여 사용자 프라이버시를 보존하고 사용자 신원을 보호하는 것을 의미합니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 사용자의 (개인) 데이터가 해킹 및 유출로부터 안전한가요?
+ * 사용자의 데이터가 권한이 있는 사용자와 맥락에서만 접근 가능한가요?
+ * 데이터가 공유되거나 배포될 때 사용자의 익명성이 보장되나요?
+ * 익명화된 데이터셋에서 사용자를 재식별할 수 있나요?
+
+#### 2.5 잊혀질 권리
+
+[잊혀질 권리](https://en.wikipedia.org/wiki/Right_to_be_forgotten) 또는 [삭제 요청 권리](https://www.gdpreu.org/right-to-be-forgotten/)는 사용자에게 추가적인 개인 데이터 보호를 제공합니다. 특히, 특정 상황에서 인터넷 검색 및 기타 위치에서 개인 데이터를 삭제하거나 제거하도록 요청할 권리를 사용자에게 부여하여, 과거 행동이 온라인에서 그들에게 불리하게 작용하지 않도록 합니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 시스템이 데이터 주체가 삭제를 요청할 수 있도록 허용하나요?
+ * 사용자의 동의 철회가 자동 삭제를 유발해야 하나요?
+ * 데이터가 동의 없이 또는 불법적인 수단으로 수집되었나요?
+ * 데이터 프라이버시에 대한 정부 규정을 준수하고 있나요?
+
+#### 2.6 데이터셋 편향
+
+데이터셋 또는 [수집 편향](http://researcharticles.com/index.php/bias-in-data-collection-in-research/)은 알고리즘 개발을 위해 _대표성이 없는_ 데이터 하위 집합을 선택하는 것으로, 다양한 그룹에 대해 결과가 불공정하게 나올 가능성을 만듭니다. 편향의 유형에는 선택 또는 샘플링 편향, 자발적 편향, 도구 편향 등이 포함됩니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 대표성 있는 데이터 주체 집합을 모집했나요?
+ * 수집하거나 큐레이션한 데이터셋을 다양한 편향에 대해 테스트했나요?
+ * 발견된 편향을 완화하거나 제거할 수 있나요?
+
+#### 2.7 데이터 품질
+
+[데이터 품질](https://lakefs.io/data-quality-testing/)은 알고리즘 개발에 사용된 큐레이션된 데이터셋의 유효성을 확인하며, AI 목적에 필요한 정확성과 일관성 수준을 충족하는지 확인합니다.
+
+여기서 탐구해야 할 질문은 다음과 같습니다:
+ * 우리의 사용 사례에 유효한 _특징_을 캡처했나요?
+ * 다양한 데이터 소스에서 데이터를 _일관되게_ 캡처했나요?
+ * 다양한 조건이나 시나리오에 대해 데이터셋이 _완전_한가요?
+ * 현실을 반영하는 데 있어 정보가 _정확_하게 캡처되었나요?
+
+#### 2.8 알고리즘 공정성
+[Algorithm Fairness](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f)는 알고리즘 설계가 특정 데이터 주체 하위 그룹에 대해 체계적으로 차별을 일으켜 _자원 배분_ (해당 그룹에 자원이 거부되거나 보류됨) 및 _서비스 품질_ (AI가 일부 하위 그룹에 대해 다른 그룹만큼 정확하지 않음)에서 [잠재적 피해](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml)를 초래하는지 확인합니다.
+
+여기서 탐구할 질문은 다음과 같습니다:
+ * 다양한 하위 그룹과 조건에 대해 모델 정확도를 평가했는가?
+ * 잠재적 피해(예: 고정관념)를 시스템에서 면밀히 검토했는가?
+ * 확인된 피해를 완화하기 위해 데이터를 수정하거나 모델을 재훈련할 수 있는가?
+
+[AI 공정성 체크리스트](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA)와 같은 리소스를 탐색하여 더 알아보세요.
+
+#### 2.9 오해의 소지
+
+[데이터 오해의 소지](https://www.sciencedirect.com/topics/computer-science/misrepresentation)는 정직하게 보고된 데이터에서 통찰을 전달하면서 원하는 서사를 지지하기 위해 기만적인 방식으로 전달하고 있는지 묻는 것입니다.
+
+여기서 탐구할 질문은 다음과 같습니다:
+ * 불완전하거나 부정확한 데이터를 보고하고 있는가?
+ * 오해를 불러일으킬 수 있는 방식으로 데이터를 시각화하고 있는가?
+ * 결과를 조작하기 위해 선택적인 통계 기법을 사용하고 있는가?
+ * 다른 결론을 제시할 수 있는 대안적 설명이 있는가?
+
+#### 2.10 자유 선택
+
+[자유 선택의 환상](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice)은 시스템의 "선택 아키텍처"가 의사결정 알고리즘을 사용하여 사람들이 선호하는 결과를 선택하도록 유도하면서도 옵션과 통제권을 제공하는 것처럼 보일 때 발생합니다. 이러한 [다크 패턴](https://www.darkpatterns.org/)은 사용자에게 사회적, 경제적 피해를 초래할 수 있습니다. 사용자 결정이 행동 프로파일에 영향을 미치기 때문에, 이러한 행동은 잠재적으로 미래의 선택에 영향을 미쳐 이러한 피해의 영향을 증폭하거나 확장할 수 있습니다.
+
+여기서 탐구할 질문은 다음과 같습니다:
+ * 사용자가 해당 선택을 했을 때의 함의를 이해했는가?
+ * 사용자가 (대안적) 선택과 각 선택의 장단점을 알고 있었는가?
+ * 사용자가 자동화되거나 영향을 받은 선택을 나중에 되돌릴 수 있는가?
+
+### 3. 사례 연구
+
+이러한 윤리적 도전 과제를 실제 세계의 맥락에서 이해하려면, 윤리 위반이 간과될 때 개인과 사회에 미칠 수 있는 잠재적 피해와 결과를 강조하는 사례 연구를 살펴보는 것이 도움이 됩니다.
+
+다음은 몇 가지 예입니다:
+
+| 윤리적 도전 과제 | 사례 연구 |
+|--- |--- |
+| **정보 제공 동의** | 1972년 - [터스키기 매독 연구](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - 연구에 참여한 아프리카계 미국인 남성들은 무료 의료 서비스를 약속받았으나, 연구자들은 피험자들에게 진단 결과나 치료 가능성에 대해 알리지 않았습니다. 많은 피험자가 사망했고, 배우자나 자녀도 영향을 받았습니다. 이 연구는 40년 동안 지속되었습니다. |
+| **데이터 프라이버시** | 2007년 - [넷플릭스 데이터 상](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/)은 연구자들에게 _50,000명의 고객으로부터 수집된 1,000만 개의 익명화된 영화 평가_ 데이터를 제공하여 추천 알고리즘을 개선하도록 했습니다. 그러나 연구자들은 익명화된 데이터를 외부 데이터셋(예: IMDb 댓글)과 연관시켜 일부 넷플릭스 구독자를 사실상 "비익명화"할 수 있었습니다.|
+| **수집 편향** | 2013년 - 보스턴시는 [Street Bump](https://www.boston.gov/transportation/street-bump)이라는 앱을 개발하여 시민들이 도로의 포트홀을 신고할 수 있도록 했습니다. 이를 통해 도로 데이터를 개선하고 문제를 해결할 수 있었습니다. 그러나 [저소득층은 자동차와 휴대폰 접근성이 낮아](https://hbr.org/2013/04/the-hidden-biases-in-big-data) 이들의 도로 문제가 이 앱에서 보이지 않게 되었습니다. 개발자들은 공정성을 위해 _공평한 접근성과 디지털 격차_ 문제를 해결하기 위해 학계와 협력했습니다. |
+| **알고리즘 공정성** | 2018년 - MIT의 [Gender Shades Study](http://gendershades.org/overview.html)는 성별 분류 AI 제품의 정확성을 평가하여 여성과 유색인종에 대한 정확도 격차를 드러냈습니다. [2019년 애플 카드](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/)는 남성보다 여성에게 더 적은 신용을 제공하는 것으로 보였습니다. 두 사례 모두 알고리즘 편향이 사회경제적 피해를 초래할 수 있음을 보여줍니다.|
+| **데이터 오해의 소지** | 2020년 - [조지아주 보건부는 COVID-19 차트를 발표](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening)했는데, x축의 비연대적 순서를 사용하여 확진자 수 추세에 대해 시민들을 오도하는 것으로 보였습니다. 이는 시각화 트릭을 통한 오해의 소지를 보여줍니다. |
+| **자유 선택의 환상** | 2020년 - 학습 앱 [ABCmouse는 FTC 불만 해결을 위해 1,000만 달러를 지불](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/)했으며, 부모들이 취소할 수 없는 구독료를 지불하도록 유도했습니다. 이는 사용자가 잠재적으로 해로운 선택을 하도록 유도하는 선택 아키텍처의 다크 패턴을 보여줍니다. |
+| **데이터 프라이버시 및 사용자 권리** | 2021년 - 페이스북 [데이터 유출](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users)로 5억 3천만 명의 사용자 데이터가 노출되었으며, FTC에 50억 달러의 합의금을 지불했습니다. 그러나 데이터 유출에 대해 사용자에게 알리지 않아 데이터 투명성과 접근성에 대한 사용자 권리를 위반했습니다. |
+
+더 많은 사례 연구를 탐구하고 싶으신가요? 다음 리소스를 확인해보세요:
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - 다양한 산업의 윤리적 딜레마.
+* [데이터 과학 윤리 강좌](https://www.coursera.org/learn/data-science-ethics#syllabus) - 주요 사례 연구 탐구.
+* [문제가 발생한 사례들](https://deon.drivendata.org/examples/) - 예제를 포함한 Deon 체크리스트.
+
+> 🚨 여러분이 본 사례 연구를 생각해보세요 - 여러분의 삶에서 비슷한 윤리적 도전에 직면하거나 영향을 받은 적이 있나요? 이 섹션에서 논의한 윤리적 도전 중 하나를 보여주는 또 다른 사례를 생각해볼 수 있나요?
+
+## 응용 윤리
+
+우리는 윤리 개념, 도전 과제, 그리고 실제 세계의 맥락에서 사례 연구에 대해 논의했습니다. 하지만 프로젝트에서 윤리적 원칙과 관행을 _적용_하려면 어떻게 시작해야 할까요? 그리고 이러한 관행을 더 나은 거버넌스를 위해 _운영화_하려면 어떻게 해야 할까요? 몇 가지 실제 솔루션을 살펴보겠습니다:
+
+### 1. 전문 윤리 강령
+
+전문 윤리 강령은 조직이 윤리적 원칙과 사명 선언문을 지원하도록 구성원을 "장려"하는 한 가지 옵션을 제공합니다. 강령은 전문적 행동에 대한 _도덕적 지침_으로, 직원이나 구성원이 조직의 원칙에 부합하는 결정을 내릴 수 있도록 돕습니다. 이는 구성원의 자발적 준수에 따라 달라지지만, 많은 조직은 구성원의 준수를 동기화하기 위해 추가적인 보상과 처벌을 제공합니다.
+
+예시:
+ * [옥스퍼드 뮌헨](http://www.code-of-ethics.org/code-of-conduct/) 윤리 강령
+ * [데이터 과학 협회](http://datascienceassn.org/code-of-conduct.html) 행동 강령 (2013년 제정)
+ * [ACM 윤리 및 전문 행동 강령](https://www.acm.org/code-of-ethics) (1993년부터)
+
+> 🚨 여러분은 전문 엔지니어링 또는 데이터 과학 조직에 속해 있나요? 그들의 웹사이트를 탐색하여 전문 윤리 강령을 정의하고 있는지 확인해보세요. 그들의 윤리적 원칙에 대해 무엇을 말하고 있나요? 구성원이 강령을 따르도록 어떻게 "장려"하고 있나요?
+
+### 2. 윤리 체크리스트
+
+전문 윤리 강령이 실무자의 _윤리적 행동_을 정의하는 반면, 이는 특히 대규모 프로젝트에서 [집행의 한계](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md)가 있는 것으로 알려져 있습니다. 대신, 많은 데이터 과학 전문가들은 [체크리스트를 옹호](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md)하며, 이는 **원칙을 실천으로 연결**하는 보다 결정적이고 실행 가능한 방법을 제공합니다.
+
+체크리스트는 질문을 "예/아니오" 작업으로 변환하여 운영화할 수 있으며, 이를 표준 제품 출시 워크플로의 일부로 추적할 수 있습니다.
+
+예시:
+ * [Deon](https://deon.drivendata.org/) - [업계 권장 사항](https://deon.drivendata.org/#checklist-citations)에서 생성된 범용 데이터 윤리 체크리스트로, 명령줄 도구를 통해 쉽게 통합 가능.
+ * [프라이버시 감사 체크리스트](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - 법적 및 사회적 노출 관점에서 정보 처리 관행에 대한 일반적인 지침 제공.
+ * [AI 공정성 체크리스트](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - AI 개발 주기에 공정성 검사를 채택하고 통합하도록 지원하기 위해 AI 실무자들이 생성.
+ * [데이터 및 AI 윤리를 위한 22가지 질문](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - 설계, 구현, 조직적 맥락에서 윤리적 문제를 초기 탐구하기 위한 보다 개방적인 프레임워크.
+
+### 3. 윤리 규제
+
+윤리는 공유 가치를 정의하고 _자발적으로_ 올바른 일을 하는 것입니다. **준수**는 정의된 경우 _법을 따르는 것_입니다. **거버넌스**는 조직이 윤리적 원칙을 시행하고 확립된 법을 준수하는 모든 방식을 포괄합니다.
+
+오늘날 거버넌스는 조직 내에서 두 가지 형태를 취합니다. 첫째, **윤리적 AI** 원칙을 정의하고 조직의 모든 AI 관련 프로젝트에서 채택을 운영화하는 관행을 수립하는 것입니다. 둘째, 조직이 운영하는 지역의 모든 정부가 규정한 **데이터 보호 규정**을 준수하는 것입니다.
+
+데이터 보호 및 프라이버시 규제의 예:
+
+ * `1974년`, [미국 프라이버시법](https://www.justice.gov/opcl/privacy-act-1974) - _연방 정부_의 개인 정보 수집, 사용 및 공개를 규제.
+ * `1996년`, [미국 건강보험 이동성 및 책임법 (HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - 개인 건강 데이터를 보호.
+ * `1998년`, [미국 아동 온라인 프라이버시 보호법 (COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - 13세 미만 아동의 데이터 프라이버시를 보호.
+ * `2018년`, [일반 데이터 보호 규정 (GDPR)](https://gdpr-info.eu/) - 사용자 권리, 데이터 보호 및 프라이버시 제공.
+ * `2018년`, [캘리포니아 소비자 프라이버시법 (CCPA)](https://www.oag.ca.gov/privacy/ccpa) - 소비자에게 (개인) 데이터에 대한 더 많은 _권리_ 제공.
+ * `2021년`, 중국의 [개인 정보 보호법](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/)이 통과되어 세계에서 가장 강력한 온라인 데이터 프라이버시 규정을 만듦.
+
+> 🚨 유럽 연합이 정의한 GDPR(일반 데이터 보호 규정)은 오늘날 가장 영향력 있는 데이터 프라이버시 규정 중 하나로 남아 있습니다. 이 규정이 시민의 디지털 프라이버시와 개인 데이터를 보호하기 위해 [8가지 사용자 권리](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr)를 정의하고 있다는 것을 알고 계셨나요? 이 권리가 무엇인지, 왜 중요한지 알아보세요.
+
+### 4. 윤리 문화
+
+_법의 문구_를 충족하기 위해 충분히 행동하는 **준수**와 AI의 무기화를 가속화할 수 있는 [체계적 문제](https://www.coursera.org/learn/data-science-ethics/home/week/4)를 해결하는 것 사이에는 여전히 무형의 격차가 존재합니다.
+
+후자는 [윤리 문화를 정의하기 위한 협력적 접근 방식](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f)을 요구하며, 이는 조직 전반에 걸쳐 감정적 연결과 일관된 공유 가치를 구축합니다. 이는 조직 내에서 보다 [공식화된 데이터 윤리 문화](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/)를 요구하며, _누구나_ [안돈 코드](https://en.wikipedia.org/wiki/Andon_(manufacturing))를 당겨(프로세스 초기에 윤리적 문제를 제기) 윤리적 평가(예: 채용 시)를 AI 프로젝트 팀 구성의 핵심 기준으로 삼을 수 있도록 합니다.
+
+---
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯
+## 복습 및 자기 학습
+
+강좌와 책은 핵심 윤리 개념과 도전을 이해하는 데 도움을 주며, 사례 연구와 도구는 실제 세계의 맥락에서 응용 윤리 관행에 도움을 줍니다. 시작할 수 있는 몇 가지 리소스는 다음과 같습니다.
+
+* [초보자를 위한 머신 러닝](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - Microsoft의 공정성에 대한 강의.
+* [책임 있는 AI의 원칙](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - Microsoft Learn에서 제공하는 무료 학습 경로.
+* [윤리와 데이터 과학](https://resources.oreilly.com/examples/0636920203964) - O'Reilly EBook (M. Loukides, H. Mason 등)
+* [데이터 과학 윤리](https://www.coursera.org/learn/data-science-ethics#syllabus) - 미시간 대학교의 온라인 강좌.
+* [윤리 해설](https://ethicsunwrapped.utexas.edu/case-studies) - 텍사스 대학교의 사례 연구.
+
+# 과제
+
+[데이터 윤리 사례 연구 작성하기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/02-ethics/assignment.md b/translations/ko/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..80c9d01b
--- /dev/null
+++ b/translations/ko/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## 데이터 윤리 사례 연구 작성하기
+
+## 지침
+
+여러 [데이터 윤리 문제](README.md#2-ethics-challenges)에 대해 배우고, 실제 상황에서 데이터 윤리 문제를 반영한 [사례 연구](README.md#3-case-studies) 예제를 살펴보았습니다.
+
+이번 과제에서는 여러분의 경험이나 잘 알고 있는 실제 상황에서 발생한 데이터 윤리 문제를 반영한 사례 연구를 작성하게 됩니다. 다음 단계를 따라 진행하세요:
+
+1. `데이터 윤리 문제 선택하기`. [수업 예제](README.md#2-ethics-challenges)를 살펴보거나 [Deon 체크리스트](https://deon.drivendata.org/examples/)와 같은 온라인 예제를 탐색하여 영감을 얻으세요.
+
+2. `실제 사례 설명하기`. 특정 문제가 발생한 상황에 대해 생각해보세요. (뉴스 헤드라인, 연구 사례 등) 또는 경험한 상황(지역 사회 등)을 떠올려 보세요. 이 문제와 관련된 데이터 윤리 질문을 생각하고, 이 문제로 인해 발생할 수 있는 잠재적 피해나 의도치 않은 결과를 논의하세요. 추가 점수를 얻으려면 이 문제의 부정적 영향을 제거하거나 완화하기 위해 적용할 수 있는 잠재적 해결책이나 프로세스를 생각해보세요.
+
+3. `관련 자료 목록 제공하기`. 이 문제가 실제로 발생했음을 증명할 수 있는 자료(기사 링크, 개인 블로그 게시물 또는 이미지, 온라인 연구 논문 등)를 하나 이상 공유하세요. 추가 점수를 얻으려면 사건으로 인해 발생한 잠재적 피해와 결과를 보여주는 자료를 공유하거나, 재발 방지를 위해 취해진 긍정적인 조치를 강조하는 자료를 공유하세요.
+
+
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+하나 이상의 데이터 윤리 문제가 식별됨.
사례 연구가 해당 문제를 반영한 실제 사건을 명확히 설명하며, 그로 인해 발생한 바람직하지 않은 결과나 피해를 강조함.
이 사건이 발생했음을 증명하는 링크된 자료가 최소 하나 이상 있음. | 하나의 데이터 윤리 문제가 식별됨.
적어도 하나의 관련된 피해나 결과가 간략히 논의됨.
그러나 논의가 제한적이거나 실제 발생을 증명하는 자료가 부족함. | 데이터 윤리 문제가 식별됨.
그러나 설명이나 자료가 문제를 적절히 반영하지 못하거나 실제 발생을 증명하지 못함. |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/03-defining-data/README.md b/translations/ko/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..7f44e4de
--- /dev/null
+++ b/translations/ko/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,83 @@
+
+# 데이터 정의
+
+| ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|데이터 정의 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+데이터는 발견을 하고 정보에 기반한 결정을 내리기 위해 사용되는 사실, 정보, 관찰 및 측정값입니다. 데이터 포인트는 데이터셋 내의 단일 데이터 단위이며, 데이터셋은 이러한 데이터 포인트들의 모음입니다. 데이터셋은 다양한 형식과 구조로 제공될 수 있으며, 일반적으로 데이터의 출처나 데이터가 어디에서 왔는지에 따라 달라집니다. 예를 들어, 회사의 월별 수익은 스프레드시트에 있을 수 있지만 스마트워치에서 수집된 시간별 심박수 데이터는 [JSON](https://stackoverflow.com/a/383699) 형식일 수 있습니다. 데이터 과학자들은 데이터셋 내에서 다양한 유형의 데이터를 다루는 경우가 많습니다.
+
+이 강의는 데이터의 특성과 출처에 따라 데이터를 식별하고 분류하는 데 중점을 둡니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+
+## 데이터가 설명되는 방식
+
+### 원시 데이터
+원시 데이터는 출처에서 처음 수집된 상태 그대로의 데이터로, 분석되거나 정리되지 않은 상태입니다. 데이터셋에서 무슨 일이 일어나고 있는지 이해하려면, 사람이 이해할 수 있고 추가 분석을 위해 사용할 기술도 이해할 수 있는 형식으로 정리되어야 합니다. 데이터셋의 구조는 데이터가 어떻게 조직되어 있는지를 설명하며, 구조화된 데이터, 비구조화된 데이터, 반구조화된 데이터로 분류될 수 있습니다. 이러한 구조 유형은 출처에 따라 다르지만 궁극적으로 이 세 가지 범주 중 하나에 속합니다.
+
+### 정량적 데이터
+정량적 데이터는 데이터셋 내의 수치적 관찰값으로, 일반적으로 분석, 측정 및 수학적으로 사용할 수 있습니다. 정량적 데이터의 예로는 국가의 인구, 사람의 키, 회사의 분기별 수익 등이 있습니다. 추가 분석을 통해 정량적 데이터는 예를 들어 대기질 지수(AQI)의 계절적 경향을 발견하거나 일반적인 근무일의 러시아워 교통량 확률을 추정하는 데 사용할 수 있습니다.
+
+### 정성적 데이터
+정성적 데이터는 범주형 데이터라고도 하며, 정량적 데이터의 관찰값처럼 객관적으로 측정할 수 없는 데이터입니다. 일반적으로 제품이나 프로세스의 품질을 포착하는 주관적인 데이터의 다양한 형식입니다. 때로는 정성적 데이터가 숫자로 표현되지만, 일반적으로 수학적으로 사용되지 않습니다. 예를 들어, 전화번호나 타임스탬프가 이에 해당합니다. 정성적 데이터의 예로는 비디오 댓글, 자동차의 제조사와 모델, 가장 친한 친구의 좋아하는 색깔 등이 있습니다. 정성적 데이터는 소비자가 가장 좋아하는 제품을 이해하거나 구직 신청서에서 인기 있는 키워드를 식별하는 데 사용할 수 있습니다.
+
+### 구조화된 데이터
+구조화된 데이터는 행과 열로 구성된 데이터로, 각 행은 동일한 열 집합을 가집니다. 열은 특정 유형의 값을 나타내며, 해당 값이 무엇을 나타내는지 설명하는 이름으로 식별됩니다. 행은 실제 값을 포함합니다. 열에는 종종 값이 열을 정확히 나타내도록 보장하기 위해 특정 규칙이나 제한이 적용됩니다. 예를 들어, 고객의 전화번호를 포함한 스프레드시트에서 각 행은 반드시 전화번호를 가져야 하며, 전화번호에는 알파벳 문자가 포함되지 않아야 합니다. 전화번호 열에는 비어 있지 않고 숫자만 포함되도록 하는 규칙이 적용될 수 있습니다.
+
+구조화된 데이터의 장점은 다른 구조화된 데이터와 연관될 수 있도록 조직될 수 있다는 점입니다. 그러나 데이터가 특정 방식으로 조직되도록 설계되었기 때문에 전체 구조를 변경하는 데 많은 노력이 필요할 수 있습니다. 예를 들어, 고객 스프레드시트에 비어 있을 수 없는 이메일 열을 추가하려면, 데이터셋의 기존 고객 행에 이 값을 어떻게 추가할지 결정해야 합니다.
+
+구조화된 데이터의 예: 스프레드시트, 관계형 데이터베이스, 전화번호, 은행 명세서
+
+### 비구조화된 데이터
+비구조화된 데이터는 일반적으로 행과 열로 분류할 수 없으며, 특정 형식이나 규칙을 따르지 않습니다. 비구조화된 데이터는 구조에 대한 제한이 적기 때문에 구조화된 데이터셋에 비해 새로운 정보를 추가하기가 더 쉽습니다. 예를 들어, 2분마다 기압 데이터를 수집하는 센서가 온도를 측정하고 기록할 수 있는 업데이트를 받았다면, 비구조화된 데이터에서는 기존 데이터를 변경할 필요가 없습니다. 그러나 이러한 데이터 유형을 분석하거나 조사하는 데 시간이 더 걸릴 수 있습니다. 예를 들어, 과학자가 센서 데이터에서 지난달의 평균 온도를 찾으려 하지만, 센서가 고장났음을 나타내기 위해 일부 데이터에 "e"를 기록한 것을 발견한다면, 데이터가 불완전하다는 것을 의미합니다.
+
+비구조화된 데이터의 예: 텍스트 파일, 문자 메시지, 비디오 파일
+
+### 반구조화된 데이터
+반구조화된 데이터는 구조화된 데이터와 비구조화된 데이터의 특징을 결합한 데이터입니다. 일반적으로 행과 열 형식에 맞지 않지만, 구조화된 것으로 간주될 수 있는 방식으로 조직되며, 고정된 형식이나 규칙을 따를 수 있습니다. 구조는 출처에 따라 다르며, 잘 정의된 계층 구조에서 새로운 정보를 쉽게 통합할 수 있는 더 유연한 구조까지 다양합니다. 메타데이터는 데이터가 어떻게 조직되고 저장되는지를 결정하는 데 도움을 주는 지표이며, 데이터 유형에 따라 다양한 이름을 가집니다. 메타데이터의 일반적인 이름으로는 태그, 요소, 엔터티, 속성 등이 있습니다. 예를 들어, 일반적인 이메일 메시지는 제목, 본문, 수신자 집합을 가지며, 발신자나 발송 시점에 따라 조직될 수 있습니다.
+
+반구조화된 데이터의 예: HTML, CSV 파일, JavaScript Object Notation (JSON)
+
+## 데이터의 출처
+
+데이터 출처는 데이터가 생성된 초기 위치 또는 "존재하는" 위치를 의미하며, 데이터가 수집된 방법과 시점에 따라 달라집니다. 사용자가 생성한 데이터는 1차 데이터로 알려져 있으며, 일반적인 용도로 데이터를 수집한 출처에서 가져온 데이터는 2차 데이터로 간주됩니다. 예를 들어, 열대우림에서 관찰을 수집하는 과학자 그룹은 1차 데이터로 간주되며, 이 데이터를 다른 과학자들과 공유하기로 결정하면 이를 사용하는 사람들에게는 2차 데이터로 간주됩니다.
+
+데이터베이스는 일반적인 출처이며, 데이터베이스 관리 시스템을 통해 데이터를 호스팅하고 유지 관리합니다. 사용자는 쿼리라는 명령을 사용하여 데이터를 탐색합니다. 파일은 오디오, 이미지, 비디오 파일뿐만 아니라 Excel과 같은 스프레드시트도 데이터 출처가 될 수 있습니다. 인터넷은 데이터베이스와 파일이 모두 포함될 수 있는 데이터 호스팅의 일반적인 위치입니다. 애플리케이션 프로그래밍 인터페이스(API)는 프로그래머가 인터넷을 통해 외부 사용자와 데이터를 공유할 수 있는 방법을 만들도록 허용하며, 웹 스크래핑은 웹 페이지에서 데이터를 추출하는 과정입니다. [데이터 작업 강의](../../../../../../../../../2-Working-With-Data)에서는 다양한 데이터 출처를 사용하는 방법에 대해 다룹니다.
+
+## 결론
+
+이 강의에서 우리는 다음을 배웠습니다:
+
+- 데이터란 무엇인가
+- 데이터가 어떻게 설명되는가
+- 데이터가 어떻게 분류되고 범주화되는가
+- 데이터를 어디에서 찾을 수 있는가
+
+## 🚀 도전 과제
+
+Kaggle은 공개 데이터셋의 훌륭한 출처입니다. [데이터셋 검색 도구](https://www.kaggle.com/datasets)를 사용하여 흥미로운 데이터셋을 찾아보고 다음 기준으로 3-5개의 데이터셋을 분류하세요:
+
+- 데이터가 정량적인가, 정성적인가?
+- 데이터가 구조화되었는가, 비구조화되었는가, 반구조화되었는가?
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## 복습 및 자습
+
+- Microsoft Learn의 [데이터 분류하기](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data)라는 유닛은 구조화된 데이터, 반구조화된 데이터, 비구조화된 데이터에 대한 자세한 설명을 제공합니다.
+
+## 과제
+
+[데이터셋 분류하기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/03-defining-data/assignment.md b/translations/ko/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..315abb7d
--- /dev/null
+++ b/translations/ko/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# 데이터셋 분류
+
+## 지침
+
+이 과제의 지시에 따라 데이터를 다음 데이터 유형 중 하나로 식별하고 분류하세요:
+
+**구조 유형**: 구조화(Structured), 반구조화(Semi-Structured), 비구조화(Unstructured)
+
+**값 유형**: 정성적(Qualitative) 또는 정량적(Quantitative)
+
+**출처 유형**: 1차(Primary) 또는 2차(Secondary)
+
+1. 한 회사가 인수되었고 이제 모회사가 생겼습니다. 데이터 과학자들은 모회사로부터 고객 전화번호가 담긴 스프레드시트를 받았습니다.
+
+구조 유형:
+
+값 유형:
+
+출처 유형:
+
+---
+
+2. 스마트워치가 착용자의 심박수 데이터를 수집했으며, 원시 데이터는 JSON 형식으로 되어 있습니다.
+
+구조 유형:
+
+값 유형:
+
+출처 유형:
+
+---
+
+3. 직원들의 사기를 조사한 직장 설문조사가 CSV 파일에 저장되어 있습니다.
+
+구조 유형:
+
+값 유형:
+
+출처 유형:
+
+---
+
+4. 천체물리학자들이 우주 탐사선이 수집한 은하 데이터베이스에 접근하고 있습니다. 데이터에는 각 은하 내 행성 수가 포함되어 있습니다.
+
+구조 유형:
+
+값 유형:
+
+출처 유형:
+
+---
+
+5. 개인 금융 앱이 사용자의 금융 계정에 연결하기 위해 API를 사용하여 순자산을 계산합니다. 사용자는 모든 거래 내역을 행과 열 형식으로 볼 수 있으며, 이는 스프레드시트와 유사한 형태입니다.
+
+구조 유형:
+
+값 유형:
+
+출처 유형:
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+구조, 값, 출처를 모두 정확히 식별 | 구조, 값, 출처 중 3개를 정확히 식별 | 구조, 값, 출처 중 2개 이하만 정확히 식별 |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/04-stats-and-probability/README.md b/translations/ko/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..149f707a
--- /dev/null
+++ b/translations/ko/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# 통계와 확률에 대한 간단한 소개
+
+| ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| 통계와 확률 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+통계와 확률 이론은 데이터 과학과 밀접하게 관련된 수학의 두 가지 중요한 분야입니다. 수학에 대한 깊은 지식 없이도 데이터를 다룰 수는 있지만, 기본 개념 정도는 알고 있는 것이 좋습니다. 여기에서는 시작하는 데 도움이 될 간단한 소개를 제공합니다.
+
+[](https://youtu.be/Z5Zy85g4Yjw)
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## 확률과 확률 변수
+
+**확률**은 0과 1 사이의 숫자로, 특정 **사건**이 발생할 가능성을 나타냅니다. 이는 긍정적인 결과(사건으로 이어지는 결과)의 수를 모든 가능한 결과의 수로 나눈 값으로 정의됩니다. 예를 들어, 주사위를 굴렸을 때 짝수가 나올 확률은 3/6 = 0.5입니다.
+
+사건에 대해 이야기할 때, 우리는 **확률 변수**를 사용합니다. 예를 들어, 주사위를 굴렸을 때 나오는 숫자를 나타내는 확률 변수는 1에서 6까지의 값을 가질 수 있습니다. 1에서 6까지의 숫자 집합을 **표본 공간**이라고 합니다. 우리는 확률 변수가 특정 값을 가질 확률에 대해 이야기할 수 있습니다. 예를 들어, P(X=3)=1/6입니다.
+
+이전 예제의 확률 변수는 **이산형**이라고 불리며, 이는 셀 수 있는 표본 공간을 가지기 때문입니다. 즉, 나열할 수 있는 개별 값이 있습니다. 표본 공간이 실수의 범위이거나 전체 실수 집합인 경우도 있습니다. 이러한 변수는 **연속형**이라고 합니다. 좋은 예는 버스가 도착하는 시간입니다.
+
+## 확률 분포
+
+이산형 확률 변수의 경우, 각 사건의 확률을 함수 P(X)로 쉽게 설명할 수 있습니다. 표본 공간 *S*의 각 값 *s*에 대해 0에서 1 사이의 숫자를 제공하며, 모든 사건에 대해 P(X=s)의 값의 합은 1이 됩니다.
+
+가장 잘 알려진 이산형 분포는 **균등 분포**로, N개의 요소를 가진 표본 공간에서 각 요소의 확률이 1/N로 동일합니다.
+
+연속형 변수의 확률 분포를 설명하는 것은 더 어렵습니다. 예를 들어, [a,b] 구간 또는 전체 실수 집합 ℝ에서 값을 가지는 경우를 생각해 봅시다. 버스 도착 시간을 예로 들면, 특정 도착 시간 *t*에 버스가 정확히 그 시간에 도착할 확률은 사실상 0입니다!
+
+> 이제 확률이 0인 사건도 발생하며, 그것도 자주 발생한다는 것을 알게 되었습니다! 적어도 버스가 도착할 때마다요!
+
+우리는 변수 값이 주어진 구간에 속할 확률, 예를 들어 P(t1≤X2)에 대해서만 이야기할 수 있습니다. 이 경우, 확률 분포는 **확률 밀도 함수** p(x)로 설명됩니다. 이 함수는 다음과 같습니다:
+
+![P(t_1\le X1, x2, ..., xn을 추출했다고 가정해 봅시다. **평균**(또는 **산술 평균**)은 전통적인 방식으로 (x1+x2+...+xn)/n으로 정의됩니다. 샘플 크기를 늘리면(n→∞), 분포의 평균(또는 **기대값**)을 얻을 수 있습니다. 기대값은 **E**(x)로 나타냅니다.
+
+> 모든 이산형 분포에 대해 {x1, x2, ..., xN} 값과 해당 확률 p1, p2, ..., pN이 주어지면, 기대값은 E(X)=x1p1+x2p2+...+xNpN과 같다는 것을 증명할 수 있습니다.
+
+값이 얼마나 퍼져 있는지를 확인하려면, 분산 σ2 = ∑(xi - μ)2/n을 계산할 수 있습니다. 여기서 μ는 시퀀스의 평균입니다. σ는 **표준 편차**라고 하며, σ2는 **분산**이라고 합니다.
+
+## 최빈값, 중앙값 및 사분위수
+
+때로는 평균이 데이터의 "전형적인" 값을 적절히 나타내지 못할 수 있습니다. 예를 들어, 몇 개의 극단적인 값이 평균에 큰 영향을 미칠 수 있습니다. 또 다른 좋은 지표는 **중앙값**으로, 데이터의 절반이 이 값보다 작고 나머지 절반이 이 값보다 큽니다.
+
+데이터 분포를 이해하는 데 도움이 되는 또 다른 개념은 **사분위수**입니다:
+
+* 첫 번째 사분위수(Q1): 데이터의 25%가 이 값보다 작음
+* 세 번째 사분위수(Q3): 데이터의 75%가 이 값보다 작음
+
+중앙값과 사분위수 간의 관계를 그래픽으로 나타낸 것을 **박스 플롯**이라고 합니다:
+
+
+
+여기서 **사분위 범위** IQR=Q3-Q1을 계산하고, [Q1-1.5*IQR, Q3+1.5*IQR] 범위를 벗어나는 값을 **이상치**라고 합니다.
+
+가능한 값이 적은 유한 분포에서는 가장 자주 나타나는 값이 "전형적인" 값으로 간주되며, 이를 **최빈값**이라고 합니다. 이는 색상과 같은 범주형 데이터에 자주 사용됩니다. 예를 들어, 빨간색을 선호하는 그룹과 파란색을 선호하는 그룹이 있다고 가정해 봅시다. 색상을 숫자로 코딩하면, 선호 색상의 평균값은 주황색-녹색 스펙트럼 어딘가에 있을 수 있지만, 이는 어느 그룹의 실제 선호도를 나타내지 않습니다. 그러나 최빈값은 빨간색 또는 파란색(또는 둘 다)일 수 있으며, 두 색상을 선호하는 사람 수가 같다면 이를 **다봉형**이라고 합니다.
+
+## 실제 데이터
+
+실제 데이터를 분석할 때, 데이터는 실험 결과로 얻어진 확률 변수와는 다를 수 있습니다. 예를 들어, 야구 선수 팀과 그들의 신체 데이터(키, 몸무게, 나이)를 생각해 봅시다. 이러한 숫자는 정확히 무작위는 아니지만, 여전히 동일한 수학적 개념을 적용할 수 있습니다. 예를 들어, 사람들의 몸무게 시퀀스는 어떤 확률 변수에서 추출된 값의 시퀀스로 간주될 수 있습니다. 아래는 [메이저 리그 야구](http://mlb.mlb.com/index.jsp) 선수들의 실제 몸무게 데이터에서 가져온 값들입니다([이 데이터셋](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)에서 발췌, 편의를 위해 처음 20개 값만 표시):
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **참고**: 이 데이터셋을 사용하는 예제를 보려면 [관련 노트북](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)을 확인하세요. 이 강의에는 여러 도전 과제가 포함되어 있으며, 해당 노트북에 코드를 추가하여 완료할 수 있습니다. 데이터를 다루는 방법을 잘 모른다면 걱정하지 마세요. 나중에 Python을 사용하여 데이터를 다루는 방법을 다시 다룰 것입니다. Jupyter Notebook에서 코드를 실행하는 방법을 모른다면 [이 기사](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)를 참조하세요.
+
+다음은 평균, 중앙값 및 사분위수를 보여주는 박스 플롯입니다:
+
+
+
+우리의 데이터는 서로 다른 선수 **포지션**에 대한 정보를 포함하고 있으므로, 포지션별로 박스 플롯을 만들 수도 있습니다. 이를 통해 포지션별로 값이 어떻게 다른지 알 수 있습니다. 이번에는 키를 고려해 보겠습니다:
+
+
+
+이 다이어그램은 평균적으로 1루수의 키가 2루수의 키보다 더 크다는 것을 시사합니다. 이 강의 후반부에서는 이 가설을 더 공식적으로 테스트하는 방법과 데이터가 통계적으로 유의미함을 입증하는 방법을 배울 것입니다.
+
+> 실제 데이터를 다룰 때, 모든 데이터 포인트가 어떤 확률 분포에서 추출된 샘플이라고 가정합니다. 이 가정은 머신러닝 기법을 적용하고 예측 모델을 구축할 수 있게 해줍니다.
+
+우리 데이터의 분포를 확인하려면 **히스토그램**이라는 그래프를 그릴 수 있습니다. X축에는 다양한 몸무게 구간(소위 **빈**)이 포함되고, Y축에는 해당 구간에 속한 샘플의 개수가 표시됩니다.
+
+
+
+이 히스토그램에서 모든 값이 특정 평균 몸무게를 중심으로 집중되어 있으며, 평균에서 멀어질수록 해당 값의 몸무게가 나타날 확률이 낮아진다는 것을 알 수 있습니다. 즉, 야구 선수의 몸무게가 평균 몸무게와 크게 다를 확률은 매우 낮습니다. 몸무게의 분산은 몸무게가 평균에서 얼마나 벗어날 가능성이 있는지를 보여줍니다.
+
+> 야구 리그가 아닌 다른 사람들의 몸무게를 측정하면 분포가 다를 가능성이 높습니다. 그러나 분포의 모양은 동일하지만 평균과 분산이 달라질 것입니다. 따라서 야구 선수 데이터를 기반으로 모델을 훈련하면, 대학생들에게 적용했을 때 잘못된 결과를 낼 가능성이 높습니다. 이는 기본 분포가 다르기 때문입니다.
+
+## 정규 분포
+
+위에서 본 몸무게의 분포는 매우 일반적이며, 실제 세계의 많은 측정값이 동일한 유형의 분포를 따릅니다. 단, 평균과 분산은 다를 수 있습니다. 이 분포를 **정규 분포**라고 하며, 통계에서 매우 중요한 역할을 합니다.
+
+정규 분포를 사용하면 잠재적인 야구 선수의 무작위 몸무게를 올바르게 생성할 수 있습니다. 평균 몸무게 `mean`과 표준 편차 `std`를 알고 있다면, 다음과 같이 1000개의 몸무게 샘플을 생성할 수 있습니다:
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+생성된 샘플의 히스토그램을 그리면 위에서 본 그림과 매우 유사한 모습을 볼 수 있습니다. 샘플 수와 빈 수를 늘리면 이상적인 정규 분포에 더 가까운 그림을 생성할 수 있습니다:
+
+
+
+*평균=0, 표준 편차=1인 정규 분포*
+
+## 신뢰 구간
+
+야구 선수의 몸무게에 대해 이야기할 때, 모든 야구 선수의 몸무게에 대한 이상적인 확률 분포(소위 **모집단**)를 나타내는 **확률 변수 W**가 있다고 가정합니다. 우리의 몸무게 시퀀스는 **샘플**이라고 부르는 모집단의 일부에 해당합니다. 흥미로운 질문은, W의 분포 매개변수(즉, 모집단의 평균과 분산)를 알 수 있느냐는 것입니다.
+
+가장 쉬운 대답은 샘플의 평균과 분산을 계산하는 것입니다. 그러나 무작위 샘플이 모집단을 정확히 대표하지 않을 가능성도 있습니다. 따라서 **신뢰 구간**에 대해 이야기하는 것이 합리적입니다.
+> **신뢰 구간**은 우리가 얻은 샘플을 바탕으로 모집단의 실제 평균을 추정하는 것으로, 특정 확률(또는 **신뢰 수준**) 내에서 정확합니다.
+우리가 분포에서 샘플 X1, ..., Xn을 추출한다고 가정해 봅시다. 분포에서 샘플을 추출할 때마다 평균 값 μ는 달라질 수 있습니다. 따라서 μ는 확률 변수로 간주될 수 있습니다. 신뢰도 p를 가진 **신뢰 구간**은 (Lp, Rp)의 값 쌍으로, **P**(Lp≤μ≤Rp) = p를 만족합니다. 즉, 측정된 평균 값이 해당 구간에 포함될 확률이 p와 같습니다.
+
+이 신뢰 구간이 어떻게 계산되는지에 대한 자세한 논의는 이 짧은 소개를 넘어섭니다. 더 많은 세부 사항은 [위키백과](https://en.wikipedia.org/wiki/Confidence_interval)에서 확인할 수 있습니다. 간단히 말해, 모집단의 실제 평균에 대한 계산된 샘플 평균의 분포를 정의하며, 이를 **스튜던트 분포**라고 합니다.
+
+> **흥미로운 사실**: 스튜던트 분포는 수학자 윌리엄 실리 고셋(William Sealy Gosset)의 이름을 따서 명명되었습니다. 그는 "스튜던트(Student)"라는 필명으로 논문을 발표했는데, 이는 그가 기네스 맥주 공장에서 일했으며, 그의 고용주가 원재료 품질을 결정하기 위해 통계적 테스트를 사용하고 있다는 사실을 대중이 알기를 원치 않았기 때문이라는 설이 있습니다.
+
+모집단의 평균 μ를 신뢰도 p로 추정하려면, 스튜던트 분포 A의 *(1-p)/2-분위수*를 가져와야 합니다. 이는 표에서 가져오거나 Python, R 등 통계 소프트웨어의 내장 함수를 사용하여 계산할 수 있습니다. 그런 다음 μ의 구간은 X±A*D/√n으로 주어지며, 여기서 X는 샘플에서 얻은 평균, D는 표준 편차입니다.
+
+> **Note**: 스튜던트 분포와 관련하여 중요한 개념인 [자유도](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics))에 대한 논의는 생략합니다. 이 개념을 더 깊이 이해하려면 통계학 관련 서적을 참조하세요.
+
+체중과 키에 대한 신뢰 구간 계산 예시는 [첨부된 노트북](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)에서 확인할 수 있습니다.
+
+| p | 체중 평균 |
+|------|----------------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+신뢰 확률이 높아질수록 신뢰 구간이 넓어진다는 점에 주목하세요.
+
+## 가설 검정
+
+우리의 야구 선수 데이터셋에는 다양한 선수 역할이 있으며, 아래와 같이 요약할 수 있습니다 ([첨부된 노트북](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)에서 이 표를 계산하는 방법을 확인하세요):
+
+| 역할 | 키 | 체중 | 수량 |
+|-------------------|------------|------------|-------|
+| 포수 | 72.723684 | 204.328947 | 76 |
+| 지명타자 | 74.222222 | 220.888889 | 18 |
+| 1루수 | 74.000000 | 213.109091 | 55 |
+| 외야수 | 73.010309 | 199.113402 | 194 |
+| 구원투수 | 74.374603 | 203.517460 | 315 |
+| 2루수 | 71.362069 | 184.344828 | 58 |
+| 유격수 | 71.903846 | 182.923077 | 52 |
+| 선발투수 | 74.719457 | 205.163636 | 221 |
+| 3루수 | 73.044444 | 200.955556 | 45 |
+
+1루수의 평균 키가 2루수의 평균 키보다 더 높다는 것을 알 수 있습니다. 따라서 **1루수가 2루수보다 키가 크다**는 결론을 내리고 싶을 수 있습니다.
+
+> 이 진술은 **가설**이라고 불리며, 이는 사실인지 아닌지 알 수 없기 때문입니다.
+
+그러나 이 결론을 내릴 수 있는지 항상 명확하지는 않습니다. 위의 논의에서 알 수 있듯이, 각 평균에는 관련된 신뢰 구간이 있으며, 이 차이는 단순히 통계적 오차일 수 있습니다. 우리는 가설을 검증하기 위한 보다 공식적인 방법이 필요합니다.
+
+1루수와 2루수의 키에 대한 신뢰 구간을 각각 계산해 봅시다:
+
+| 신뢰도 | 1루수 | 2루수 |
+|--------|----------------|----------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+어떤 신뢰도에서도 구간이 겹치지 않는 것을 볼 수 있습니다. 이는 1루수가 2루수보다 키가 크다는 가설을 입증합니다.
+
+보다 공식적으로, 우리가 해결하려는 문제는 **두 확률 분포가 동일한지**, 또는 최소한 동일한 매개변수를 가지는지를 확인하는 것입니다. 분포에 따라 다른 검정을 사용해야 합니다. 분포가 정규 분포임을 알고 있다면, **[스튜던트 t-검정](https://en.wikipedia.org/wiki/Student%27s_t-test)**을 적용할 수 있습니다.
+
+스튜던트 t-검정에서는 평균 간의 차이를 분산을 고려하여 나타내는 **t-값**을 계산합니다. t-값은 **스튜던트 분포**를 따르며, 이를 통해 주어진 신뢰 수준 **p**에 대한 임계값을 얻을 수 있습니다(계산하거나 수치 표에서 확인 가능). 그런 다음 t-값을 이 임계값과 비교하여 가설을 승인하거나 기각합니다.
+
+Python에서는 **SciPy** 패키지를 사용할 수 있으며, 여기에는 `ttest_ind` 함수가 포함되어 있습니다(다른 유용한 통계 함수도 포함!). 이 함수는 t-값을 계산하고, 신뢰도 p-값의 역 조회도 수행하여 신뢰도를 보고 결론을 내릴 수 있습니다.
+
+예를 들어, 1루수와 2루수의 키 비교는 다음과 같은 결과를 제공합니다:
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+이 경우, p-값이 매우 낮아 1루수가 더 크다는 강력한 증거가 있음을 나타냅니다.
+
+또한 테스트하고자 하는 다른 유형의 가설도 있습니다. 예를 들어:
+* 주어진 샘플이 특정 분포를 따르는지 증명
+* 샘플의 평균 값이 미리 정의된 값과 일치하는지 증명
+* 여러 샘플의 평균을 비교(예: 연령대별 행복도 차이)
+
+## 대수의 법칙과 중심 극한 정리
+
+정규 분포가 중요한 이유 중 하나는 **중심 극한 정리** 때문입니다. 독립적인 N개의 값 X1, ..., XN을 평균 μ와 분산 σ2를 가진 임의의 분포에서 샘플링한다고 가정합시다. 그러면 충분히 큰 N(즉, N→∞)일 때, ΣiXi의 평균은 평균 μ와 분산 σ2/N을 가진 정규 분포를 따릅니다.
+
+> 중심 극한 정리를 다른 방식으로 해석하면, 분포에 관계없이 임의의 확률 변수 값의 합의 평균을 계산하면 정규 분포를 얻게 된다는 것입니다.
+
+중심 극한 정리에서 또한 N→∞일 때, 샘플 평균이 μ와 같아질 확률이 1이 된다는 것을 알 수 있습니다. 이를 **대수의 법칙**이라고 합니다.
+
+## 공분산과 상관관계
+
+데이터 과학에서 하는 일 중 하나는 데이터 간의 관계를 찾는 것입니다. 두 시퀀스가 동시에 비슷한 행동을 보일 때, 즉 동시에 상승/하락하거나, 한 시퀀스가 상승할 때 다른 시퀀스가 하락하는 경우, 우리는 두 시퀀스가 **상관관계**가 있다고 말합니다. 즉, 두 시퀀스 간에 어떤 관계가 있는 것처럼 보입니다.
+
+> 상관관계는 반드시 두 시퀀스 간의 인과 관계를 나타내는 것은 아닙니다. 때로는 두 변수 모두 외부 요인에 의존하거나, 단순히 우연히 상관관계가 있을 수 있습니다. 그러나 강한 수학적 상관관계는 두 변수가 어떤 식으로든 연결되어 있다는 좋은 지표입니다.
+
+수학적으로, 두 확률 변수 간의 관계를 나타내는 주요 개념은 **공분산**입니다. 이는 다음과 같이 계산됩니다: Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]. 두 변수의 평균 값에서의 편차를 계산한 다음, 이 편차의 곱을 구합니다. 두 변수가 함께 편차를 보이면 곱은 항상 양수가 되어 양의 공분산으로 합산됩니다. 두 변수가 비동기적으로 편차를 보이면(즉, 하나는 평균 이하로 떨어지고 다른 하나는 평균 이상으로 상승할 때), 항상 음수가 되어 음의 공분산으로 합산됩니다. 편차가 독립적이라면 대략 0으로 합산됩니다.
+
+공분산의 절대값은 실제 값의 크기에 따라 달라지므로 상관관계의 크기를 많이 알려주지 않습니다. 이를 정규화하기 위해 공분산을 두 변수의 표준 편차로 나누어 **상관계수**를 구할 수 있습니다. 상관계수는 항상 [-1,1] 범위 내에 있으며, 1은 강한 양의 상관관계를, -1은 강한 음의 상관관계를, 0은 상관관계가 전혀 없음을 나타냅니다(변수가 독립적임).
+
+**예제**: 위에서 언급한 야구 선수 데이터셋에서 체중과 키 간의 상관관계를 계산할 수 있습니다:
+```python
+print(np.corrcoef(weights,heights))
+```
+결과적으로 다음과 같은 **상관 행렬**을 얻습니다:
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> 상관 행렬 C는 S1, ..., Sn의 입력 시퀀스에 대해 계산할 수 있습니다. Cij 값은 Si와 Sj 간의 상관관계를 나타내며, 대각선 요소는 항상 1입니다(Si의 자기 상관관계).
+
+이 경우, 값 0.53은 사람의 체중과 키 간에 어느 정도 상관관계가 있음을 나타냅니다. 또한 한 값을 다른 값에 대해 산점도를 그려 관계를 시각적으로 확인할 수 있습니다:
+
+
+
+> 상관관계와 공분산의 더 많은 예제는 [첨부된 노트북](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)에서 확인할 수 있습니다.
+
+## 결론
+
+이 섹션에서는 다음을 배웠습니다:
+
+* 평균, 분산, 최빈값, 사분위수와 같은 데이터의 기본 통계적 속성
+* 정규 분포를 포함한 다양한 확률 변수의 분포
+* 서로 다른 속성 간의 상관관계 찾기
+* 수학과 통계의 체계적인 도구를 사용하여 가설을 증명하는 방법
+* 데이터 샘플을 기반으로 확률 변수의 신뢰 구간 계산 방법
+
+이것은 확률과 통계 내에 존재하는 주제의 완전한 목록은 아니지만, 이 과정을 시작하는 데 충분한 기초를 제공합니다.
+
+## 🚀 도전 과제
+
+노트북의 샘플 코드를 사용하여 다음 가설을 테스트하세요:
+1. 1루수가 2루수보다 나이가 많다.
+2. 1루수가 3루수보다 키가 크다.
+3. 유격수가 2루수보다 키가 크다.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## 복습 및 자기 학습
+
+확률과 통계는 매우 광범위한 주제이므로 별도의 과정이 필요합니다. 이론을 더 깊이 탐구하고 싶다면 다음 책들을 읽어보세요:
+
+1. 뉴욕대학교의 [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/)가 작성한 훌륭한 강의 노트 [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf) (온라인 제공)
+2. [Peter and Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[R 샘플 코드](https://github.com/andrewgbruce/statistics-for-data-scientists)]
+3. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[R 샘플 코드](https://github.com/PacktPublishing/Statistics-for-Data-Science)]
+
+## 과제
+
+[소규모 당뇨병 연구](assignment.md)
+
+## 크레딧
+
+이 강의는 [Dmitry Soshnikov](http://soshnikov.com)가 ♥️를 담아 작성했습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/04-stats-and-probability/assignment.md b/translations/ko/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..b9ccd969
--- /dev/null
+++ b/translations/ko/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# 소규모 당뇨병 연구
+
+이 과제에서는 [여기](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html)에서 가져온 소규모 당뇨병 환자 데이터셋을 다룰 것입니다.
+
+| | AGE | SEX | BMI | BP | S1 | S2 | S3 | S4 | S5 | S6 | Y |
+|---|-----|-----|-----|----|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1 | 101. | 157 | 93.2 | 38.0 | 4. | 4.8598 | 87 | 151 |
+| 1 | 48 | 1 | 21.6 | 87.0 | 183 | 103.2 | 70. | 3. | 3.8918 | 69 | 75 |
+| 2 | 72 | 2 | 30.5 | 93.0 | 156 | 93.6 | 41.0 | 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... |
+
+## 지침
+
+* [과제 노트북](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb)을 주피터 노트북 환경에서 엽니다.
+* 노트북에 나열된 모든 작업을 완료합니다. 구체적으로:
+ * [ ] 모든 값에 대한 평균값과 분산을 계산합니다.
+ * [ ] 성별에 따라 BMI, BP, Y에 대한 박스플롯을 작성합니다.
+ * [ ] Age, Sex, BMI, Y 변수의 분포는 어떻게 나타나는지 확인합니다.
+ * [ ] 다양한 변수와 질병 진행(Y) 간의 상관관계를 테스트합니다.
+ * [ ] 당뇨병 진행 정도가 남성과 여성 간에 차이가 있다는 가설을 검증합니다.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+필요한 모든 작업이 완료되었으며, 그래프와 설명이 포함됨 | 대부분의 작업이 완료되었으나, 그래프나 계산된 값에 대한 설명 또는 결론이 부족함 | 평균/분산 계산 및 기본적인 그래프 작성과 같은 기초 작업만 완료되었으며, 데이터로부터 결론이 도출되지 않음
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/1-Introduction/README.md b/translations/ko/1-Introduction/README.md
new file mode 100644
index 00000000..77a472ed
--- /dev/null
+++ b/translations/ko/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# 데이터 과학 입문
+
+
+> 사진 제공: Stephen Dawson / Unsplash
+
+이 강의에서는 데이터 과학이 어떻게 정의되는지 알아보고, 데이터 과학자가 반드시 고려해야 할 윤리적 문제들에 대해 배웁니다. 또한 데이터가 어떻게 정의되는지 배우고, 데이터 과학의 핵심 학문 분야인 통계와 확률에 대해 간단히 살펴볼 것입니다.
+
+### 주제
+
+1. [데이터 과학 정의하기](01-defining-data-science/README.md)
+2. [데이터 과학 윤리](02-ethics/README.md)
+3. [데이터 정의하기](03-defining-data/README.md)
+4. [통계와 확률 입문](04-stats-and-probability/README.md)
+
+### 크레딧
+
+이 강의는 [Nitya Narasimhan](https://twitter.com/nitya)과 [Dmitry Soshnikov](https://twitter.com/shwars)의 ❤️로 작성되었습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/05-relational-databases/README.md b/translations/ko/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..b02ed7c1
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# 데이터 작업: 관계형 데이터베이스
+
+| ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| 데이터 작업: 관계형 데이터베이스 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+여러분은 과거에 정보를 저장하기 위해 스프레드시트를 사용한 적이 있을 것입니다. 스프레드시트는 행과 열로 구성되어 있으며, 행에는 정보(또는 데이터)가, 열에는 정보를 설명하는 내용(때로는 메타데이터라고도 함)이 들어 있습니다. 관계형 데이터베이스는 테이블의 행과 열이라는 핵심 원칙을 기반으로 구축되며, 여러 테이블에 걸쳐 정보를 분산시킬 수 있습니다. 이를 통해 더 복잡한 데이터를 다룰 수 있고, 중복을 피하며, 데이터를 탐색하는 방식에 유연성을 가질 수 있습니다. 이제 관계형 데이터베이스의 개념을 살펴보겠습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## 모든 것은 테이블에서 시작됩니다
+
+관계형 데이터베이스의 핵심은 테이블입니다. 스프레드시트와 마찬가지로, 테이블은 열과 행의 모음입니다. 행은 우리가 다루고자 하는 데이터나 정보를 포함하며, 예를 들어 도시 이름이나 강수량 같은 데이터를 담습니다. 열은 저장된 데이터를 설명합니다.
+
+도시에 대한 정보를 저장하기 위해 테이블을 시작해 봅시다. 도시 이름과 국가를 포함하여 시작할 수 있습니다. 이를 다음과 같은 테이블에 저장할 수 있습니다:
+
+| City | Country |
+| -------- | ------------- |
+| Tokyo | Japan |
+| Atlanta | United States |
+| Auckland | New Zealand |
+
+**city**, **country**, **population**이라는 열 이름이 저장된 데이터를 설명하고, 각 행에는 한 도시의 정보가 포함되어 있는 것을 확인할 수 있습니다.
+
+## 단일 테이블 접근 방식의 한계
+
+위의 테이블은 여러분에게 꽤 익숙하게 보일 것입니다. 이제 우리의 데이터베이스에 연간 강수량(밀리미터 단위)이라는 추가 데이터를 추가해 보겠습니다. 2018년, 2019년, 2020년을 중심으로 살펴보겠습니다. 도쿄의 데이터를 추가하면 다음과 같을 것입니다:
+
+| City | Country | Year | Amount |
+| ----- | ------- | ---- | ------ |
+| Tokyo | Japan | 2020 | 1690 |
+| Tokyo | Japan | 2019 | 1874 |
+| Tokyo | Japan | 2018 | 1445 |
+
+이 테이블에서 무엇을 발견할 수 있나요? 도시 이름과 국가를 반복적으로 중복 저장하고 있다는 점을 알 수 있습니다. 이는 상당한 저장 공간을 차지할 수 있으며, 불필요한 중복입니다. 결국 도쿄라는 이름은 우리가 관심 있는 단 하나의 이름일 뿐입니다.
+
+좋습니다, 다른 방법을 시도해 봅시다. 각 연도를 위한 새로운 열을 추가해 보겠습니다:
+
+| City | Country | 2018 | 2019 | 2020 |
+| -------- | ------------- | ---- | ---- | ---- |
+| Tokyo | Japan | 1445 | 1874 | 1690 |
+| Atlanta | United States | 1779 | 1111 | 1683 |
+| Auckland | New Zealand | 1386 | 942 | 1176 |
+
+이 방법은 행 중복을 피할 수 있지만, 몇 가지 다른 문제를 야기합니다. 새로운 연도가 추가될 때마다 테이블 구조를 수정해야 합니다. 또한, 데이터가 증가함에 따라 연도를 열로 사용하는 것은 값을 검색하고 계산하는 데 더 어려움을 줄 수 있습니다.
+
+이것이 바로 여러 테이블과 관계가 필요한 이유입니다. 데이터를 분리함으로써 중복을 피하고 데이터를 다루는 방식에 더 많은 유연성을 가질 수 있습니다.
+
+## 관계의 개념
+
+데이터로 돌아가서 어떻게 나눌지 결정해 봅시다. 도시 이름과 국가를 저장하고 싶다는 것을 알고 있으니, 이는 하나의 테이블에 저장하는 것이 가장 적합할 것입니다.
+
+| City | Country |
+| -------- | ------------- |
+| Tokyo | Japan |
+| Atlanta | United States |
+| Auckland | New Zealand |
+
+하지만 다음 테이블을 생성하기 전에 각 도시를 참조하는 방법을 결정해야 합니다. 어떤 형태의 식별자, ID 또는 (기술적 데이터베이스 용어로) 기본 키(primary key)가 필요합니다. 기본 키는 테이블의 특정 행을 식별하는 데 사용되는 값입니다. 이는 자체 값(예: 도시 이름)을 기반으로 할 수도 있지만, 거의 항상 숫자나 다른 식별자여야 합니다. ID가 변경되면 관계가 깨질 수 있기 때문입니다. 대부분의 경우 기본 키 또는 ID는 자동 생성된 숫자가 됩니다.
+
+> ✅ 기본 키는 종종 PK로 약어로 사용됩니다.
+
+### cities
+
+| city_id | City | Country |
+| ------- | -------- | ------------- |
+| 1 | Tokyo | Japan |
+| 2 | Atlanta | United States |
+| 3 | Auckland | New Zealand |
+
+> ✅ 이 강의에서는 "id"와 "기본 키"라는 용어를 번갈아 사용합니다. 여기서 설명하는 개념은 나중에 탐구할 DataFrame에도 적용됩니다. DataFrame은 "기본 키"라는 용어를 사용하지 않지만, 매우 유사한 방식으로 작동하는 것을 알 수 있습니다.
+
+도시 테이블을 생성했으니 이제 강수량을 저장해 봅시다. 도시의 전체 정보를 중복 저장하는 대신 ID를 사용할 수 있습니다. 새로 생성된 테이블에도 *id* 열이 있어야 하며, 모든 테이블에는 ID 또는 기본 키가 있어야 합니다.
+
+### rainfall
+
+| rainfall_id | city_id | Year | Amount |
+| ----------- | ------- | ---- | ------ |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+새로 생성된 **rainfall** 테이블 안의 **city_id** 열을 주목하세요. 이 열은 **cities** 테이블의 ID를 참조하는 값을 포함하고 있습니다. 기술적 관계형 데이터 용어로, 이를 **외래 키**라고 합니다. 이는 다른 테이블의 기본 키입니다. 간단히 참조 또는 포인터라고 생각하면 됩니다. **city_id** 1은 도쿄를 참조합니다.
+
+> [!NOTE] 외래 키는 종종 FK로 약어로 사용됩니다.
+
+## 데이터 검색
+
+데이터를 두 개의 테이블로 분리했으니, 이를 어떻게 검색할지 궁금할 수 있습니다. MySQL, SQL Server 또는 Oracle과 같은 관계형 데이터베이스를 사용하는 경우, SQL(Structured Query Language)이라는 언어를 사용할 수 있습니다. SQL(때로는 "시퀄"이라고 발음)은 관계형 데이터베이스에서 데이터를 검색하고 수정하는 데 사용되는 표준 언어입니다.
+
+데이터를 검색하려면 `SELECT` 명령을 사용합니다. 기본적으로, **보고 싶은 열**을 **포함된 테이블**에서 **선택**합니다. 도시 이름만 표시하려면 다음을 사용할 수 있습니다:
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT`는 열을 나열하는 곳이고, `FROM`은 테이블을 나열하는 곳입니다.
+
+> [NOTE] SQL 구문은 대소문자를 구분하지 않으므로 `select`와 `SELECT`는 동일한 의미를 가집니다. 하지만 사용하는 데이터베이스 유형에 따라 열과 테이블은 대소문자를 구분할 수 있습니다. 따라서 프로그래밍에서 모든 것을 대소문자를 구분하는 것처럼 다루는 것이 모범 사례입니다. SQL 쿼리를 작성할 때 일반적인 관례는 키워드를 모두 대문자로 작성하는 것입니다.
+
+위의 쿼리는 모든 도시를 표시합니다. 뉴질랜드에 있는 도시만 표시하고 싶다고 가정해 봅시다. 필터가 필요합니다. SQL 키워드는 `WHERE`, 즉 "어떤 조건이 참인 경우"입니다.
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## 데이터 결합
+
+지금까지는 단일 테이블에서 데이터를 검색했습니다. 이제 **cities**와 **rainfall**의 데이터를 결합하고 싶습니다. 이는 *조인*을 통해 이루어집니다. 두 테이블 사이에 연결을 만들어 각 테이블의 열 값을 일치시킵니다.
+
+우리의 예에서는 **rainfall**의 **city_id** 열과 **cities**의 **city_id** 열을 일치시킬 것입니다. 이를 통해 강수량 값을 해당 도시와 연결할 수 있습니다. 우리가 수행할 조인의 유형은 *내부 조인*이라고 하며, 다른 테이블과 일치하지 않는 행은 표시되지 않습니다. 우리의 경우 모든 도시에 강수량 데이터가 있으므로 모든 데이터가 표시될 것입니다.
+
+모든 도시의 2019년 강수량을 검색해 봅시다.
+
+단계를 나누어 진행하겠습니다. 첫 번째 단계는 **city_id** 열을 기준으로 테이블을 조인하는 것입니다.
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+우리가 원하는 두 열과 **city_id**를 기준으로 테이블을 조인하고 싶다는 점을 강조했습니다. 이제 `WHERE` 문을 추가하여 2019년 데이터만 필터링합니다.
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## 요약
+
+관계형 데이터베이스는 정보를 여러 테이블로 나누고 이를 다시 결합하여 표시 및 분석하는 데 중점을 둡니다. 이를 통해 계산을 수행하거나 데이터를 조작하는 데 높은 유연성을 제공합니다. 관계형 데이터베이스의 핵심 개념과 두 테이블 간의 조인을 수행하는 방법을 배웠습니다.
+
+## 🚀 도전 과제
+
+인터넷에는 수많은 관계형 데이터베이스가 있습니다. 위에서 배운 기술을 사용하여 데이터를 탐색해 보세요.
+
+## 강의 후 퀴즈
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## 복습 및 자기 학습
+
+SQL 및 관계형 데이터베이스 개념을 계속 탐구할 수 있는 여러 리소스가 [Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum)에 제공됩니다.
+
+- [관계형 데이터 개념 설명](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [Transact-SQL로 쿼리 시작하기](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum) (Transact-SQL은 SQL의 한 버전입니다)
+- [Microsoft Learn의 SQL 콘텐츠](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## 과제
+
+[과제 제목](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/05-relational-databases/assignment.md b/translations/ko/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..a1d862d2
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# 공항 데이터 표시하기
+
+[SQLite](https://sqlite.org/index.html)를 기반으로 구축된 [데이터베이스](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db)가 제공되었으며, 이 데이터베이스에는 공항에 대한 정보가 포함되어 있습니다. 아래에 스키마가 표시되어 있습니다. [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum)의 [SQLite 확장](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)을 사용하여 다양한 도시의 공항 정보를 표시합니다.
+
+## 지침
+
+과제를 시작하려면 몇 가지 단계를 수행해야 합니다. 도구를 설치하고 샘플 데이터베이스를 다운로드해야 합니다.
+
+### 시스템 설정
+
+Visual Studio Code와 SQLite 확장을 사용하여 데이터베이스와 상호작용할 수 있습니다.
+
+1. [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum)으로 이동하여 Visual Studio Code를 설치하는 지침을 따르세요.
+1. Marketplace 페이지의 지침에 따라 [SQLite 확장](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)을 설치하세요.
+
+### 데이터베이스 다운로드 및 열기
+
+다음으로 데이터베이스를 다운로드하고 엽니다.
+
+1. [GitHub에서 데이터베이스 파일](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db)을 다운로드하여 디렉토리에 저장하세요.
+1. Visual Studio Code를 엽니다.
+1. **Ctl-Shift-P** (Mac에서는 **Cmd-Shift-P**)를 선택하고 `SQLite: Open database`를 입력하여 SQLite 확장에서 데이터베이스를 엽니다.
+1. **Choose database from file**을 선택하고 이전에 다운로드한 **airports.db** 파일을 엽니다.
+1. 데이터베이스를 열면 화면에 업데이트가 표시되지 않습니다. **Ctl-Shift-P** (Mac에서는 **Cmd-Shift-P**)를 선택하고 `SQLite: New query`를 입력하여 새 쿼리 창을 만드세요.
+
+데이터베이스가 열리면 새 쿼리 창을 사용하여 데이터베이스에 대해 SQL 문을 실행할 수 있습니다. **Ctl-Shift-Q** (Mac에서는 **Cmd-Shift-Q**) 명령을 사용하여 데이터베이스에 대해 쿼리를 실행할 수 있습니다.
+
+> [!NOTE] SQLite 확장에 대한 자세한 정보는 [문서](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)를 참조하세요.
+
+## 데이터베이스 스키마
+
+데이터베이스의 스키마는 테이블 설계와 구조를 나타냅니다. **airports** 데이터베이스에는 두 개의 테이블이 있습니다. `cities`는 영국과 아일랜드의 도시 목록을 포함하고 있으며, `airports`는 모든 공항 목록을 포함하고 있습니다. 일부 도시에 여러 공항이 있을 수 있으므로 정보를 저장하기 위해 두 개의 테이블이 생성되었습니다. 이 연습에서는 조인을 사용하여 다양한 도시의 정보를 표시합니다.
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK to id in **Cities**) |
+
+## 과제
+
+다음 정보를 반환하는 쿼리를 작성하세요:
+
+1. `Cities` 테이블의 모든 도시 이름
+1. `Cities` 테이블에서 아일랜드의 모든 도시
+1. 도시와 국가와 함께 모든 공항 이름
+1. 영국 런던의 모든 공항
+
+## 평가 기준
+
+| 우수 | 적절 | 개선 필요 |
+| --------- | --------- | ------------- |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/06-non-relational/README.md b/translations/ko/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..e954c0cf
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# 데이터 작업: 비관계형 데이터
+
+| ](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|NoSQL 데이터 작업 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+데이터는 관계형 데이터베이스에만 국한되지 않습니다. 이번 강의에서는 비관계형 데이터에 대해 다루며, 스프레드시트와 NoSQL의 기본 개념을 배웁니다.
+
+## 스프레드시트
+
+스프레드시트는 설정과 시작이 비교적 간단하기 때문에 데이터를 저장하고 탐색하는 데 널리 사용됩니다. 이번 강의에서는 스프레드시트의 기본 구성 요소, 수식 및 함수에 대해 배웁니다. 예제는 Microsoft Excel을 사용하여 설명되지만, 대부분의 구성 요소와 주제는 다른 스프레드시트 소프트웨어와 유사한 이름과 단계를 가질 것입니다.
+
+
+
+스프레드시트는 파일이며 컴퓨터, 기기 또는 클라우드 기반 파일 시스템에서 접근할 수 있습니다. 소프트웨어 자체는 브라우저 기반일 수도 있고, 컴퓨터에 설치하거나 앱으로 다운로드해야 할 수도 있습니다. Excel에서는 이러한 파일을 **워크북**이라고 정의하며, 이번 강의에서는 이 용어를 사용합니다.
+
+워크북은 하나 이상의 **워크시트**를 포함하며, 각 워크시트는 탭으로 라벨링됩니다. 워크시트 내에는 **셀**이라고 불리는 직사각형이 있으며, 실제 데이터가 들어갑니다. 셀은 행과 열의 교차점으로, 열은 알파벳 문자로, 행은 숫자로 라벨링됩니다. 일부 스프레드시트는 셀의 데이터를 설명하기 위해 첫 몇 행에 헤더를 포함할 수 있습니다.
+
+이러한 Excel 워크북의 기본 요소를 바탕으로, [Microsoft 템플릿](https://templates.office.com/)에서 제공하는 인벤토리 예제를 사용하여 스프레드시트의 추가 구성 요소를 살펴보겠습니다.
+
+### 인벤토리 관리
+
+"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)은 셀 데이터를 기반으로 작업을 수행하며, 이 예제에서는 인벤토리의 가치를 계산하는 데 사용됩니다. 이 스프레드시트는 QTY 헤더 아래의 수량과 COST 헤더 아래의 비용을 곱하여 Inventory Value 열에 각 항목의 가치를 계산하는 수식을 사용했습니다. 셀을 더블 클릭하거나 강조 표시하면 수식을 확인할 수 있습니다. 수식은 등호(=)로 시작하며, 그 뒤에 계산 또는 연산이 이어집니다.
+
+
+
+또 다른 수식을 사용하여 Inventory Value의 모든 값을 더해 총 가치를 구할 수 있습니다. 각 셀을 더해 합계를 계산할 수도 있지만, 이는 번거로운 작업이 될 수 있습니다. Excel에는 [**함수**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89)라는 사전 정의된 수식이 있어 셀 값에 대한 계산을 수행합니다. 함수는 계산에 필요한 값을 **인수**로 요구합니다. 함수가 여러 인수를 요구할 경우, 특정 순서로 나열해야 올바른 값을 계산할 수 있습니다. 이 예제에서는 SUM 함수를 사용하며, Inventory Value의 값을 인수로 사용하여 B3(3행, B열)에 나열된 총합을 생성합니다.
+
+## NoSQL
+
+NoSQL은 비관계형 데이터를 저장하는 다양한 방식을 포괄하는 용어로, "non-SQL", "non-relational", 또는 "not only SQL"로 해석될 수 있습니다. 이러한 데이터베이스 시스템은 4가지 유형으로 분류됩니다.
+
+
+> 출처: [Michał Białecki Blog](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/)에 저장됩니다.
+
+
+> 출처: [Microsoft](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) 데이터 저장소는 데이터를 열과 행으로 구성하며, 관계형 데이터 구조와 유사하지만, 각 열은 열 패밀리로 나뉘어 관련 데이터를 하나의 단위로 검색하고 변경할 수 있습니다.
+
+### Azure Cosmos DB를 활용한 문서 데이터 저장소
+
+[문서](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) 데이터 저장소는 키-값 데이터 저장소의 개념을 확장하여 필드와 객체로 구성된 시리즈를 만듭니다. 이 섹션에서는 Cosmos DB 에뮬레이터를 사용하여 문서 데이터베이스를 탐구합니다.
+
+Cosmos DB 데이터베이스는 "Not Only SQL"의 정의에 부합하며, Cosmos DB의 문서 데이터베이스는 SQL을 사용하여 데이터를 쿼리합니다. [이전 강의](../05-relational-databases/README.md)에서 SQL의 기본 개념을 다뤘으며, 여기서도 문서 데이터베이스에 동일한 쿼리를 적용할 수 있습니다. 우리는 Cosmos DB 에뮬레이터를 사용하여 로컬 컴퓨터에서 문서 데이터베이스를 생성하고 탐구할 것입니다. 에뮬레이터에 대한 자세한 내용은 [여기](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)를 참조하세요.
+
+문서는 필드와 객체 값의 집합으로, 필드는 객체 값이 무엇을 나타내는지 설명합니다. 아래는 문서의 예제입니다.
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+이 문서에서 주목할 필드는 `firstname`, `id`, `age`입니다. 나머지 필드는 Cosmos DB에서 생성되었습니다.
+
+#### Cosmos DB 에뮬레이터로 데이터 탐색
+
+[Windows용 에뮬레이터를 여기서 다운로드](https://aka.ms/cosmosdb-emulator)하고 설치할 수 있습니다. macOS와 Linux에서 에뮬레이터를 실행하는 방법은 [이 문서](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos)를 참조하세요.
+
+에뮬레이터를 실행하면 브라우저 창이 열리며, Explorer 뷰에서 문서를 탐색할 수 있습니다.
+
+
+
+따라 하려면 "Start with Sample"을 클릭하여 SampleDB라는 샘플 데이터베이스를 생성하세요. SampleDB를 확장하면 `Persons`라는 컨테이너를 찾을 수 있습니다. 컨테이너는 항목의 컬렉션을 보유하며, 이는 컨테이너 내의 문서입니다. `Items` 아래의 네 개의 개별 문서를 탐색할 수 있습니다.
+
+
+
+#### Cosmos DB 에뮬레이터로 문서 데이터 쿼리
+
+왼쪽에서 두 번째 버튼인 새 SQL Query 버튼을 클릭하여 샘플 데이터를 쿼리할 수도 있습니다.
+
+`SELECT * FROM c`는 컨테이너의 모든 문서를 반환합니다. where 절을 추가하여 40세 미만의 사람을 찾아보세요.
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+쿼리는 두 개의 문서를 반환하며, 각 문서의 age 값이 40 미만임을 확인할 수 있습니다.
+
+#### JSON과 문서
+
+JavaScript Object Notation (JSON)에 익숙하다면 문서가 JSON과 유사하다는 것을 알 수 있습니다. 이 디렉터리에는 `PersonsData.json` 파일이 있으며, 이를 에뮬레이터의 Persons 컨테이너에 `Upload Item` 버튼을 통해 업로드할 수 있습니다.
+
+대부분의 경우, JSON 데이터를 반환하는 API는 문서 데이터베이스에 직접 전송 및 저장될 수 있습니다. 아래는 Microsoft Twitter 계정에서 Twitter API를 사용해 가져온 트윗을 나타내는 또 다른 문서로, Cosmos DB에 삽입되었습니다.
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+이 문서에서 주목할 필드는 `created_at`, `id`, `text`입니다.
+
+## 🚀 도전 과제
+
+`TwitterData.json` 파일을 SampleDB 데이터베이스에 업로드할 수 있습니다. 별도의 컨테이너에 추가하는 것이 좋습니다. 다음 단계를 따라 진행하세요:
+
+1. 오른쪽 상단의 새 컨테이너 버튼을 클릭합니다.
+1. 기존 데이터베이스(SampleDB)를 선택하고 컨테이너 ID를 생성합니다.
+1. 파티션 키를 `/id`로 설정합니다.
+1. 확인을 클릭합니다(이 뷰의 나머지 정보는 무시해도 됩니다. 이 데이터셋은 로컬 컴퓨터에서 실행 중인 작은 데이터셋입니다).
+1. 새 컨테이너를 열고 `Upload Item` 버튼으로 Twitter Data 파일을 업로드합니다.
+
+`text` 필드에 Microsoft가 포함된 문서를 찾기 위해 몇 가지 SELECT 쿼리를 실행해 보세요. 힌트: [LIKE 키워드](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character)를 사용해 보세요.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## 복습 및 자습
+
+- 이 강의에서 다루지 않은 추가 포맷팅 및 기능이 스프레드시트에 포함되어 있습니다. Excel에 대해 더 배우고 싶다면 Microsoft의 [방대한 문서 및 비디오 라이브러리](https://support.microsoft.com/excel)를 참고하세요.
+
+- 비관계형 데이터의 다양한 유형에 대한 특성을 설명하는 이 아키텍처 문서를 읽어보세요: [비관계형 데이터와 NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)
+
+- Cosmos DB는 이 강의에서 언급된 다양한 NoSQL 유형을 저장할 수 있는 클라우드 기반 비관계형 데이터베이스입니다. 이 [Cosmos DB Microsoft Learn 모듈](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/)에서 이러한 유형에 대해 더 알아보세요.
+
+## 과제
+
+[Soda Profits](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/06-non-relational/assignment.md b/translations/ko/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..58005201
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# 소다 수익
+
+## 지침
+
+[Coca Cola Co 스프레드시트](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx)에 몇 가지 계산이 누락되어 있습니다. 여러분의 과제는 다음을 수행하는 것입니다:
+
+1. FY '15, '16, '17, '18의 총 수익(Gross profits)을 계산하세요.
+ - 총 수익 = 순영업수익(Net Operating revenues) - 매출원가(Cost of goods sold)
+1. 모든 총 수익의 평균을 계산하세요. 이 작업은 함수로 수행해 보세요.
+ - 평균 = 총 수익의 합을 회계연도 수(10)로 나눈 값
+ - [AVERAGE 함수](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6)에 대한 문서를 참고하세요.
+1. 이 파일은 Excel 파일이지만, 어떤 스프레드시트 플랫폼에서도 편집 가능해야 합니다.
+
+[데이터 출처: Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | ---
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/07-python/README.md b/translations/ko/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..f9c744ce
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,288 @@
+
+# 데이터 작업: Python과 Pandas 라이브러리
+
+|  ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| Python으로 작업하기 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+데이터베이스는 데이터를 저장하고 쿼리 언어를 사용해 조회하는 데 매우 효율적인 방법을 제공합니다. 하지만 데이터를 처리하는 가장 유연한 방법은 데이터를 조작하는 프로그램을 직접 작성하는 것입니다. 많은 경우 데이터베이스 쿼리가 더 효과적일 수 있습니다. 그러나 더 복잡한 데이터 처리가 필요한 경우 SQL로는 쉽게 처리할 수 없는 경우도 있습니다.
+데이터 처리는 어떤 프로그래밍 언어로도 작성할 수 있지만, 데이터 작업에 있어 더 높은 수준의 언어들이 있습니다. 데이터 과학자들은 일반적으로 다음 언어 중 하나를 선호합니다:
+
+* **[Python](https://www.python.org/)**: 범용 프로그래밍 언어로, 그 단순함 덕분에 초보자에게 가장 적합한 옵션 중 하나로 간주됩니다. Python은 ZIP 아카이브에서 데이터를 추출하거나 이미지를 흑백으로 변환하는 등 실질적인 문제를 해결하는 데 도움을 줄 수 있는 많은 추가 라이브러리를 제공합니다. 데이터 과학 외에도 Python은 웹 개발에도 자주 사용됩니다.
+* **[R](https://www.r-project.org/)**: 통계 데이터 처리를 염두에 두고 개발된 전통적인 도구입니다. R은 방대한 라이브러리 저장소(CRAN)를 포함하고 있어 데이터 처리에 적합한 선택입니다. 하지만 R은 범용 프로그래밍 언어가 아니며, 데이터 과학 도메인 외에서는 거의 사용되지 않습니다.
+* **[Julia](https://julialang.org/)**: 데이터 과학을 위해 특별히 개발된 또 다른 언어입니다. Python보다 더 나은 성능을 제공하도록 설계되어 과학적 실험에 적합한 도구입니다.
+
+이번 강의에서는 간단한 데이터 처리를 위해 Python을 사용하는 방법에 초점을 맞출 것입니다. Python에 대한 기본적인 친숙함을 가정합니다. Python에 대해 더 깊이 배우고 싶다면 다음 리소스를 참고하세요:
+
+* [거북이 그래픽과 프랙탈로 Python을 재미있게 배우기](https://github.com/shwars/pycourse) - Python 프로그래밍에 대한 GitHub 기반의 빠른 입문 과정
+* [Python 첫걸음 내딛기](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) - [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)의 학습 경로
+
+데이터는 다양한 형태로 존재할 수 있습니다. 이번 강의에서는 **표 형식 데이터**, **텍스트**, **이미지**의 세 가지 형태의 데이터를 다룰 것입니다.
+
+관련 라이브러리 전체를 다루기보다는 몇 가지 데이터 처리 예제에 초점을 맞출 것입니다. 이를 통해 가능한 작업의 주요 아이디어를 얻고, 필요할 때 문제 해결 방법을 어디에서 찾을 수 있는지 이해할 수 있을 것입니다.
+
+> **가장 유용한 조언**: 데이터를 처리하는 특정 작업을 수행하는 방법을 모를 때는 인터넷에서 검색해 보세요. [Stackoverflow](https://stackoverflow.com/)에는 많은 일반적인 작업에 대한 유용한 Python 코드 샘플이 많이 있습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## 표 형식 데이터와 데이터프레임
+
+관계형 데이터베이스를 다룰 때 표 형식 데이터를 이미 접해보셨을 것입니다. 많은 데이터가 여러 개의 연결된 테이블에 포함되어 있을 때는 SQL을 사용하는 것이 확실히 합리적입니다. 하지만 단일 테이블의 데이터를 가지고 분포, 값 간의 상관관계 등 **이해**나 **통찰**을 얻고자 할 때가 있습니다. 데이터 과학에서는 원본 데이터를 변환한 후 시각화를 수행해야 하는 경우가 많습니다. 이러한 두 단계는 Python을 사용하면 쉽게 수행할 수 있습니다.
+
+Python에서 표 형식 데이터를 다루는 데 유용한 두 가지 주요 라이브러리가 있습니다:
+* **[Pandas](https://pandas.pydata.org/)**: 관계형 테이블과 유사한 **데이터프레임**을 조작할 수 있게 해줍니다. 이름이 지정된 열을 가질 수 있으며, 행, 열, 데이터프레임 전체에 대해 다양한 작업을 수행할 수 있습니다.
+* **[Numpy](https://numpy.org/)**: **텐서**, 즉 다차원 **배열**을 다루는 라이브러리입니다. 배열은 동일한 기본 유형의 값을 가지며 데이터프레임보다 간단하지만, 더 많은 수학적 작업을 제공하고 오버헤드가 적습니다.
+
+또한 알아두면 좋은 몇 가지 다른 라이브러리가 있습니다:
+* **[Matplotlib](https://matplotlib.org/)**: 데이터 시각화 및 그래프 그리기에 사용되는 라이브러리
+* **[SciPy](https://www.scipy.org/)**: 추가적인 과학적 기능을 제공하는 라이브러리. 확률과 통계에 대해 이야기할 때 이미 이 라이브러리를 접한 적이 있습니다.
+
+다음은 Python 프로그램의 시작 부분에서 이러한 라이브러리를 가져오는 데 일반적으로 사용하는 코드입니다:
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandas는 몇 가지 기본 개념을 중심으로 작동합니다.
+
+### 시리즈 (Series)
+
+**시리즈**는 리스트나 numpy 배열과 유사한 값의 시퀀스입니다. 주요 차이점은 시리즈에 **인덱스**가 있다는 점이며, 시리즈를 조작할 때(예: 더하기) 인덱스가 고려된다는 점입니다. 인덱스는 단순히 정수형 행 번호일 수도 있고(리스트나 배열에서 시리즈를 생성할 때 기본적으로 사용되는 인덱스), 날짜 간격과 같은 복잡한 구조를 가질 수도 있습니다.
+
+> **참고**: 동봉된 노트북 [`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb)에 Pandas의 소개 코드가 포함되어 있습니다. 여기에서는 몇 가지 예제만 간략히 설명하며, 전체 노트북을 확인해 보시길 권장합니다.
+
+예를 들어, 아이스크림 가게의 판매량을 분석하고 싶다고 가정해 봅시다. 특정 기간 동안의 일일 판매량(판매된 아이템 수) 시리즈를 생성해 보겠습니다:
+
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+두 시리즈를 더하면 총 판매량을 얻을 수 있습니다:
+```python
+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` 매개변수를 지정해야 합니다.
+
+시계열 데이터를 사용하면 다른 시간 간격으로 시리즈를 **재샘플링**할 수도 있습니다. 예를 들어, 월별 평균 판매량을 계산하고 싶다면 다음 코드를 사용할 수 있습니다:
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### 데이터프레임 (DataFrame)
+
+데이터프레임은 본질적으로 동일한 인덱스를 가진 시리즈의 모음입니다. 여러 시리즈를 결합하여 데이터프레임을 생성할 수 있습니다:
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+이 코드는 다음과 같은 가로형 테이블을 생성합니다:
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+시리즈를 열로 사용하고, 딕셔너리를 사용해 열 이름을 지정할 수도 있습니다:
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+이 코드는 다음과 같은 테이블을 생성합니다:
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**참고**: 이전 테이블을 전치(transpose)하여 이 레이아웃을 얻을 수도 있습니다. 예를 들어,
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+여기서 `.T`는 데이터프레임을 전치(transpose)하는 작업을 의미하며, `rename` 작업은 열 이름을 이전 예제와 일치하도록 변경할 수 있게 해줍니다.
+
+데이터프레임에서 수행할 수 있는 몇 가지 중요한 작업은 다음과 같습니다:
+
+**열 선택**. 개별 열을 선택하려면 `df['A']`를 작성하면 됩니다. 이 작업은 시리즈를 반환합니다. 또한 `df[['B','A']]`를 작성하여 열의 하위 집합을 다른 데이터프레임으로 선택할 수도 있습니다. 이는 또 다른 데이터프레임을 반환합니다.
+
+**특정 행 필터링**. 예를 들어, 열 `A`가 5보다 큰 행만 남기려면 `df[df['A']>5]`를 작성하면 됩니다.
+
+> **참고**: 필터링이 작동하는 방식은 다음과 같습니다. 표현식 `df['A']<5`는 부울 시리즈를 반환하며, 이는 원래 시리즈 `df['A']`의 각 요소에 대해 표현식이 `True`인지 `False`인지 나타냅니다. 부울 시리즈가 인덱스로 사용되면 데이터프레임의 행 하위 집합을 반환합니다. 따라서 임의의 Python 부울 표현식을 사용할 수는 없습니다. 예를 들어, `df[df['A']>5 and df['A']<7]`를 작성하면 잘못된 결과가 나옵니다. 대신, 부울 시리즈에 대한 특수 `&` 연산을 사용하여 `df[(df['A']>5) & (df['A']<7)]`를 작성해야 합니다(*괄호가 중요합니다*).
+
+**새로운 계산 열 생성**. 직관적인 표현식을 사용하여 데이터프레임에 새로운 계산 열을 쉽게 생성할 수 있습니다:
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+이 예제는 A의 평균값에서의 편차를 계산합니다. 여기서 실제로 발생하는 일은 시리즈를 계산한 다음, 이 시리즈를 왼쪽에 할당하여 새로운 열을 생성하는 것입니다. 따라서 시리즈와 호환되지 않는 작업은 사용할 수 없습니다. 예를 들어, 아래 코드는 잘못된 코드입니다:
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+후자의 예제는 구문적으로는 올바르지만, 잘못된 결과를 제공합니다. 이는 시리즈 `B`의 길이를 열의 모든 값에 할당하기 때문이며, 우리가 의도한 개별 요소의 길이가 아닙니다.
+
+이와 같은 복잡한 표현식을 계산해야 하는 경우 `apply` 함수를 사용할 수 있습니다. 마지막 예제는 다음과 같이 작성할 수 있습니다:
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+위 작업을 수행한 후, 다음 데이터프레임이 생성됩니다:
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**숫자를 기준으로 행 선택**은 `iloc` 구문을 사용하여 수행할 수 있습니다. 예를 들어, 데이터프레임에서 처음 5개의 행을 선택하려면:
+```python
+df.iloc[:5]
+```
+
+**그룹화**는 종종 Excel의 *피벗 테이블*과 유사한 결과를 얻는 데 사용됩니다. 예를 들어, `LenB`의 각 값에 대해 열 `A`의 평균값을 계산하고 싶다고 가정해 봅시다. 이 경우 데이터프레임을 `LenB`로 그룹화한 다음 `mean`을 호출할 수 있습니다:
+```python
+df.groupby(by='LenB').mean()
+```
+그룹의 평균값과 요소 수를 계산해야 하는 경우 더 복잡한 `aggregate` 함수를 사용할 수 있습니다:
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+이 작업은 다음과 같은 테이블을 생성합니다:
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### 데이터 가져오기
+우리는 Python 객체로부터 Series와 DataFrame을 생성하는 것이 얼마나 쉬운지 살펴보았습니다. 하지만 데이터는 보통 텍스트 파일이나 Excel 테이블 형태로 제공됩니다. 다행히도 Pandas는 디스크에서 데이터를 로드하는 간단한 방법을 제공합니다. 예를 들어, CSV 파일을 읽는 것은 다음과 같이 간단합니다:
+```python
+df = pd.read_csv('file.csv')
+```
+"Challenge" 섹션에서 외부 웹사이트에서 데이터를 가져오는 것을 포함한 더 많은 데이터 로드 예제를 살펴볼 것입니다.
+
+### 출력 및 시각화
+
+데이터 과학자는 데이터를 탐색해야 하는 경우가 많으므로 데이터를 시각화할 수 있는 것이 중요합니다. DataFrame이 클 경우, 우리가 모든 것을 올바르게 처리하고 있는지 확인하기 위해 처음 몇 줄만 출력하고 싶을 때가 많습니다. 이는 `df.head()`를 호출하여 수행할 수 있습니다. Jupyter Notebook에서 실행하면 DataFrame이 보기 좋은 표 형태로 출력됩니다.
+
+우리는 또한 몇몇 열을 시각화하기 위해 `plot` 함수의 사용법을 살펴보았습니다. `plot`은 많은 작업에 매우 유용하며 `kind=` 매개변수를 통해 다양한 그래프 유형을 지원하지만, 더 복잡한 것을 그리기 위해 항상 기본 `matplotlib` 라이브러리를 사용할 수 있습니다. 데이터 시각화는 별도의 강의에서 자세히 다룰 것입니다.
+
+이 개요는 Pandas의 가장 중요한 개념을 다루지만, 이 라이브러리는 매우 풍부하며 할 수 있는 일에는 한계가 없습니다! 이제 이 지식을 특정 문제를 해결하는 데 적용해 봅시다.
+
+## 🚀 Challenge 1: COVID 확산 분석
+
+우리가 집중할 첫 번째 문제는 COVID-19의 전염병 확산 모델링입니다. 이를 위해 [Johns Hopkins University](https://jhu.edu/)의 [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE)에서 제공하는 다양한 국가의 감염자 수 데이터를 사용할 것입니다. 데이터셋은 [이 GitHub 저장소](https://github.com/CSSEGISandData/COVID-19)에서 이용할 수 있습니다.
+
+데이터를 다루는 방법을 보여주기 위해 [`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/notebook-covidspread.ipynb)를 열어 처음부터 끝까지 읽어보시길 권장합니다. 셀을 실행하고, 마지막에 남겨둔 몇 가지 도전을 수행해 볼 수도 있습니다.
+
+
+
+> Jupyter Notebook에서 코드를 실행하는 방법을 모른다면 [이 기사](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)를 참고하세요.
+
+## 비정형 데이터 작업
+
+데이터가 종종 표 형식으로 제공되지만, 경우에 따라 텍스트나 이미지와 같은 덜 구조화된 데이터를 처리해야 할 때도 있습니다. 이 경우, 위에서 본 데이터 처리 기술을 적용하려면 구조화된 데이터를 **추출**해야 합니다. 몇 가지 예는 다음과 같습니다:
+
+* 텍스트에서 키워드를 추출하고 해당 키워드가 얼마나 자주 나타나는지 확인
+* 신경망을 사용하여 사진 속 객체에 대한 정보 추출
+* 비디오 카메라 피드에서 사람들의 감정 정보 얻기
+
+## 🚀 Challenge 2: COVID 논문 분석
+
+이 도전에서는 COVID 팬데믹 주제를 계속 다루며, 관련 과학 논문을 처리하는 데 초점을 맞춥니다. [CORD-19 데이터셋](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge)은 메타데이터와 초록을 포함하여 COVID에 관한 7000개 이상의 논문(작성 당시 기준)을 제공합니다(약 절반은 전체 텍스트도 제공).
+
+[Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) 인공지능 서비스를 사용하여 이 데이터셋을 분석하는 전체 예제는 [이 블로그 게시물](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)에 설명되어 있습니다. 우리는 이 분석의 간소화된 버전을 논의할 것입니다.
+
+> **NOTE**: 이 저장소에는 데이터셋 사본을 제공하지 않습니다. 먼저 [이 데이터셋의 Kaggle](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv)에서 [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 파일을 다운로드해야 할 수도 있습니다. Kaggle에 등록이 필요할 수 있습니다. 등록 없이 [여기](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html)에서 데이터셋을 다운로드할 수도 있지만, 메타데이터 파일 외에도 모든 전체 텍스트가 포함됩니다.
+
+[`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/notebook-papers.ipynb)를 열어 처음부터 끝까지 읽어보세요. 셀을 실행하고, 마지막에 남겨둔 몇 가지 도전을 수행해 볼 수도 있습니다.
+
+
+
+## 이미지 데이터 처리
+
+최근에는 이미지를 이해할 수 있는 매우 강력한 AI 모델이 개발되었습니다. 사전 학습된 신경망이나 클라우드 서비스를 사용하여 해결할 수 있는 많은 작업이 있습니다. 몇 가지 예는 다음과 같습니다:
+
+* **이미지 분류**: 이미지를 미리 정의된 클래스 중 하나로 분류할 수 있습니다. [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum)과 같은 서비스를 사용하여 쉽게 자신만의 이미지 분류기를 훈련할 수 있습니다.
+* **객체 감지**: 이미지에서 다양한 객체를 감지합니다. [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum)과 같은 서비스는 여러 일반적인 객체를 감지할 수 있으며, [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 모델을 훈련하여 특정 관심 객체를 감지할 수 있습니다.
+* **얼굴 감지**: 나이, 성별, 감정 감지를 포함합니다. 이는 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)를 통해 수행할 수 있습니다.
+
+이 모든 클라우드 서비스는 [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum)를 사용하여 호출할 수 있으며, 따라서 데이터 탐색 워크플로에 쉽게 통합할 수 있습니다.
+
+다음은 이미지 데이터 소스를 탐색하는 몇 가지 예입니다:
+* 블로그 게시물 [코딩 없이 데이터 과학 배우기](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/)에서는 Instagram 사진을 탐색하며 사람들이 사진에 더 많은 좋아요를 주는 이유를 이해하려고 합니다. 먼저 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum)을 사용하여 사진에서 가능한 한 많은 정보를 추출한 다음 [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum)을 사용하여 해석 가능한 모델을 구축합니다.
+* [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies)에서는 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum)를 사용하여 이벤트 사진 속 사람들의 감정을 추출하여 사람들이 행복해지는 이유를 이해하려고 합니다.
+
+## 결론
+
+구조화된 데이터든 비정형 데이터든, Python을 사용하면 데이터 처리 및 이해와 관련된 모든 단계를 수행할 수 있습니다. 이는 아마도 데이터 처리의 가장 유연한 방법이며, 대부분의 데이터 과학자가 Python을 주요 도구로 사용하는 이유입니다. 데이터 과학 여정에 진지하다면 Python을 깊이 배우는 것이 아마도 좋은 선택일 것입니다!
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## 복습 및 자기 학습
+
+**도서**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**온라인 자료**
+* 공식 [10 minutes to Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) 튜토리얼
+* [Pandas 시각화 문서](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**Python 학습**
+* [Turtle Graphics와 프랙탈로 Python을 재미있게 배우기](https://github.com/shwars/pycourse)
+* [Python 첫걸음 떼기](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) Microsoft Learn의 학습 경로
+
+## 과제
+
+[위 도전 과제에 대한 더 자세한 데이터 연구 수행](assignment.md)
+
+## 크레딧
+
+이 강의는 [Dmitry Soshnikov](http://soshnikov.com)가 ♥️를 담아 작성했습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/07-python/assignment.md b/translations/ko/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..d42ed9c8
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# 파이썬을 활용한 데이터 처리 과제
+
+이 과제에서는 우리가 도전 과제에서 개발하기 시작한 코드를 확장하여 작성해 보도록 하겠습니다. 과제는 두 부분으로 구성되어 있습니다:
+
+## COVID-19 확산 모델링
+
+ - [ ] 5-6개 국가의 *R* 그래프를 한 그래프에 비교하거나, 여러 그래프를 나란히 배치하여 그리기
+ - [ ] 사망자 수와 회복자 수가 감염자 수와 어떻게 상관관계가 있는지 확인하기
+ - [ ] 감염률과 사망률을 시각적으로 비교하여 전형적인 질병 지속 기간을 알아내고, 이상치를 찾아보기. 이를 위해 여러 국가의 데이터를 살펴볼 필요가 있을 수 있음.
+ - [ ] 치명률을 계산하고 시간이 지남에 따라 어떻게 변화하는지 확인하기. *질병의 지속 기간(일 단위)을 고려하여 한 시계열 데이터를 이동시킨 후 계산하는 것이 유용할 수 있음*
+
+## COVID-19 논문 분석
+
+- [ ] 다양한 약물의 동시 발생 행렬(co-occurrence matrix)을 작성하고, 어떤 약물들이 자주 함께 언급되는지 확인하기 (예: 하나의 초록에서 언급된 경우). 약물 및 진단에 대한 동시 발생 행렬을 작성하는 코드를 수정할 수 있음.
+- [ ] 이 행렬을 히트맵으로 시각화하기.
+- [ ] 추가 목표로, [코드 다이어그램](https://en.wikipedia.org/wiki/Chord_diagram)을 사용하여 약물의 동시 발생을 시각화하기. [이 라이브러리](https://pypi.org/project/chord/)가 코드 다이어그램을 그리는 데 도움이 될 수 있음.
+- [ ] 또 다른 추가 목표로, 정규 표현식을 사용하여 다양한 약물의 복용량(예: *하루에 클로로퀸 400mg 복용*에서 **400mg**)을 추출하고, 약물별로 다른 복용량을 보여주는 데이터프레임을 작성하기. **참고**: 약물 이름과 가까운 텍스트 영역에 있는 숫자 값을 고려할 것.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+모든 작업이 완료되고, 그래프와 함께 설명되며, 최소한 두 가지 추가 목표 중 하나를 포함 | 5개 이상의 작업이 완료되었으나 추가 목표는 시도되지 않았거나 결과가 명확하지 않음 | 3개 이상 5개 미만의 작업이 완료되었으며, 시각화가 요점을 설명하는 데 도움이 되지 않음
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/08-data-preparation/README.md b/translations/ko/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..13fbb367
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,344 @@
+
+# 데이터 작업: 데이터 준비
+
+| ](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|데이터 준비 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## [사전 강의 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+데이터의 출처에 따라 원시 데이터는 분석 및 모델링에 어려움을 줄 수 있는 불일치를 포함할 수 있습니다. 즉, 이러한 데이터는 "더럽다"고 간주될 수 있으며 정리가 필요합니다. 이 강의에서는 누락되거나 부정확하거나 불완전한 데이터를 처리하기 위해 데이터를 정리하고 변환하는 기술에 대해 다룹니다. 이 강의에서 다루는 주제는 Python과 Pandas 라이브러리를 활용하며, 이 디렉토리 내의 [노트북](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)에서 시연됩니다.
+
+## 데이터를 정리하는 것의 중요성
+
+- **사용 및 재사용의 용이성**: 데이터가 적절히 정리되고 정규화되면 검색, 사용, 공유가 더 쉬워집니다.
+
+- **일관성**: 데이터 과학은 종종 여러 데이터셋을 함께 작업해야 하며, 서로 다른 출처에서 온 데이터셋을 결합해야 할 때가 많습니다. 각 데이터셋이 공통 표준화를 갖추고 있으면 모든 데이터셋을 하나로 병합했을 때도 유용성을 유지할 수 있습니다.
+
+- **모델 정확도**: 정리된 데이터는 이를 기반으로 하는 모델의 정확도를 향상시킵니다.
+
+## 일반적인 데이터 정리 목표와 전략
+
+- **데이터셋 탐색**: 데이터 탐색은 [후속 강의](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing)에서 다루며, 정리가 필요한 데이터를 발견하는 데 도움을 줄 수 있습니다. 데이터셋 내 값을 시각적으로 관찰하면 나머지 데이터가 어떻게 생겼는지에 대한 기대치를 설정하거나 해결할 수 있는 문제를 파악할 수 있습니다. 탐색은 기본 쿼리, 시각화, 샘플링을 포함할 수 있습니다.
+
+- **형식화**: 데이터 출처에 따라 데이터가 표현되는 방식에 불일치가 있을 수 있습니다. 이는 데이터셋 내에서 값이 보이지만 시각화나 쿼리 결과에서 제대로 표현되지 않는 문제를 일으킬 수 있습니다. 일반적인 형식화 문제는 공백, 날짜, 데이터 유형을 해결하는 것을 포함합니다. 형식화 문제를 해결하는 것은 데이터를 사용하는 사람들에게 달려 있는 경우가 많습니다. 예를 들어, 날짜와 숫자가 표현되는 방식에 대한 표준은 국가마다 다를 수 있습니다.
+
+- **중복**: 데이터가 여러 번 나타나면 부정확한 결과를 초래할 수 있으며, 일반적으로 제거해야 합니다. 이는 두 개 이상의 데이터셋을 결합할 때 흔히 발생할 수 있습니다. 그러나 결합된 데이터셋에서 중복된 데이터가 추가 정보를 제공할 수 있는 경우에는 보존해야 할 수도 있습니다.
+
+- **누락된 데이터**: 누락된 데이터는 부정확하거나 약하거나 편향된 결과를 초래할 수 있습니다. 때로는 데이터를 "다시 로드"하거나, Python과 같은 코드로 누락된 값을 채우거나, 단순히 해당 값과 관련 데이터를 제거하여 해결할 수 있습니다. 데이터가 누락된 이유는 다양하며, 누락된 값을 해결하기 위해 취해지는 조치는 데이터가 처음에 왜 누락되었는지에 따라 달라질 수 있습니다.
+
+## DataFrame 정보 탐색
+> **학습 목표:** 이 섹션이 끝날 때쯤에는 pandas DataFrame에 저장된 데이터에 대한 일반 정보를 찾는 데 익숙해져야 합니다.
+
+데이터를 pandas에 로드하면 대부분 DataFrame에 저장됩니다(자세한 개요는 [이전 강의](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe)를 참조하세요). 그러나 DataFrame에 60,000개의 행과 400개의 열이 있는 경우, 어디서부터 작업을 시작해야 할까요? 다행히도 [pandas](https://pandas.pydata.org/)는 DataFrame의 전체 정보와 처음 몇 행 및 마지막 몇 행을 빠르게 확인할 수 있는 편리한 도구를 제공합니다.
+
+이 기능을 탐색하기 위해 Python scikit-learn 라이브러리를 가져오고 대표적인 데이터셋인 **Iris 데이터셋**을 사용해 보겠습니다.
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |sepal length (cm)|sepal width (cm)|petal length (cm)|petal width (cm)|
+|----------------------------------------|-----------------|----------------|-----------------|----------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info**: 먼저, `info()` 메서드는 `DataFrame`에 있는 내용의 요약을 출력하는 데 사용됩니다. 이 데이터셋을 살펴보겠습니다:
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+이로부터 *Iris* 데이터셋에는 4개의 열에 150개의 항목이 있으며, 누락된 항목이 없다는 것을 알 수 있습니다. 모든 데이터는 64비트 부동 소수점 숫자로 저장됩니다.
+
+- **DataFrame.head()**: 다음으로, `DataFrame`의 실제 내용을 확인하려면 `head()` 메서드를 사용합니다. `iris_df`의 처음 몇 행을 살펴보겠습니다:
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()**: 반대로, `DataFrame`의 마지막 몇 행을 확인하려면 `tail()` 메서드를 사용합니다:
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **핵심 요점:** DataFrame의 정보 메타데이터나 처음 및 마지막 몇 개의 값을 보기만 해도, 다루고 있는 데이터의 크기, 형태, 내용을 즉시 파악할 수 있습니다.
+
+## 누락된 데이터 처리
+> **학습 목표:** 이 섹션이 끝날 때쯤에는 DataFrame에서 null 값을 대체하거나 제거하는 방법을 알게 될 것입니다.
+
+대부분의 경우, 사용하고자 하는 데이터셋(또는 사용해야 하는 데이터셋)에는 누락된 값이 포함되어 있습니다. 누락된 데이터를 처리하는 방식은 최종 분석 및 실제 결과에 영향을 미칠 수 있는 미묘한 트레이드오프를 수반합니다.
+
+Pandas는 누락된 값을 두 가지 방식으로 처리합니다. 첫 번째는 이전 섹션에서 본 `NaN`(Not a Number)입니다. 이는 실제로 IEEE 부동 소수점 사양의 일부로, 누락된 부동 소수점 값을 나타내는 데만 사용됩니다.
+
+부동 소수점 외의 누락된 값에 대해 pandas는 Python의 `None` 객체를 사용합니다. 이 두 가지 값이 본질적으로 동일한 것을 나타내지만 서로 다른 방식으로 사용되는 이유는 프로그래밍적으로 타당하며, 실제로 pandas가 대부분의 경우에 적합한 절충안을 제공할 수 있도록 합니다. 그러나 `None`과 `NaN` 모두 사용 방법에 제한이 있으므로 이를 염두에 두어야 합니다.
+
+`NaN`과 `None`에 대한 자세한 내용은 [노트북](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)을 확인하세요!
+
+- **null 값 감지**: `pandas`에서는 `isnull()` 및 `notnull()` 메서드가 null 데이터를 감지하는 주요 방법입니다. 둘 다 데이터에 대한 Boolean 마스크를 반환합니다. 우리는 `numpy`를 사용하여 `NaN` 값을 다룰 것입니다:
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+출력을 자세히 살펴보세요. 놀라운 점이 있나요? `0`은 산술적으로 null이지만, 여전히 완벽한 정수로 간주되며 pandas는 이를 그렇게 처리합니다. `''`는 조금 더 미묘합니다. 섹션 1에서 빈 문자열 값을 나타내는 데 사용했지만, 여전히 문자열 객체이며 pandas가 null로 간주하지 않습니다.
+
+이제 이러한 메서드를 실제로 사용할 때처럼 사용해 보겠습니다. Boolean 마스크를 직접 `Series` 또는 `DataFrame` 인덱스로 사용할 수 있으며, 이는 누락된(또는 존재하는) 값을 고립시키는 데 유용합니다.
+
+> **핵심 요점:** `isnull()` 및 `notnull()` 메서드는 `DataFrame`에서 유사한 결과를 생성합니다. 결과와 해당 결과의 인덱스를 보여주며, 이는 데이터를 다룰 때 매우 유용합니다.
+
+- **null 값 삭제**: 누락된 값을 식별하는 것 외에도 pandas는 `Series` 및 `DataFrame`에서 null 값을 제거하는 편리한 방법을 제공합니다. (특히 대규모 데이터셋에서는 다른 방식으로 처리하는 것보다 누락된 [NA] 값을 분석에서 단순히 제거하는 것이 더 바람직할 때가 많습니다.) 이를 실습으로 확인하기 위해 `example1`로 돌아가 보겠습니다:
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+이는 `example3[example3.notnull()]`의 출력과 유사해야 합니다. 여기서 차이점은 마스크된 값에 인덱싱하는 대신, `dropna`가 `Series` `example1`에서 누락된 값을 제거했다는 점입니다.
+
+`DataFrame`은 2차원이므로 데이터를 삭제할 때 더 많은 옵션을 제공합니다.
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(pandas가 `NaN`을 수용하기 위해 두 개의 열을 부동 소수점으로 업캐스트한 것을 눈치채셨나요?)
+
+`DataFrame`에서 단일 값을 삭제할 수는 없으므로 전체 행 또는 열을 삭제해야 합니다. 작업에 따라 하나를 선택해야 할 수 있으며, pandas는 둘 다에 대한 옵션을 제공합니다. 데이터 과학에서는 일반적으로 열이 변수를 나타내고 행이 관측치를 나타내므로 데이터를 삭제할 때 행을 삭제하는 경우가 더 많습니다. `dropna()`의 기본 설정은 null 값을 포함하는 모든 행을 삭제하는 것입니다:
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+필요한 경우, 열에서 NA 값을 삭제할 수도 있습니다. `axis=1`을 사용하여 이를 수행하세요:
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+특히 작은 데이터셋에서는 유지하고 싶은 많은 데이터를 삭제할 수 있습니다. 모든 null 값을 포함하는 행이나 열만 삭제하고 싶다면 어떻게 해야 할까요? `dropna`의 `how` 및 `thresh` 매개변수를 사용하여 이러한 설정을 지정할 수 있습니다.
+
+기본적으로 `how='any'`입니다(직접 확인하거나 메서드의 다른 매개변수를 보려면 코드 셀에서 `example4.dropna?`를 실행하세요). `how='all'`을 지정하여 모든 null 값을 포함하는 행이나 열만 삭제할 수도 있습니다. 이 동작을 확인하기 위해 예제 `DataFrame`을 확장해 보겠습니다.
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+`thresh` 매개변수는 더 세밀한 제어를 제공합니다. 유지하려는 행이나 열에 필요한 *null이 아닌* 값의 수를 설정합니다:
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+여기서 첫 번째와 마지막 행은 null이 아닌 값이 두 개만 포함되어 있기 때문에 삭제되었습니다.
+
+- **null 값 채우기**: 데이터셋에 따라 null 값을 삭제하는 대신 유효한 값으로 채우는 것이 더 적합할 때가 있습니다. 이를 위해 `isnull`을 사용하여 직접 값을 채울 수도 있지만, 값이 많을 경우 이는 번거로울 수 있습니다. 데이터 과학에서 매우 일반적인 작업이기 때문에 pandas는 `fillna`를 제공하며, 이는 누락된 값을 선택한 값으로 대체한 `Series` 또는 `DataFrame`의 복사본을 반환합니다. 이를 실습으로 확인하기 위해 또 다른 예제 `Series`를 만들어 보겠습니다.
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+모든 null 항목을 단일 값(예: `0`)으로 채울 수 있습니다:
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+null 값을 **앞으로 채우기**(forward-fill)하여 마지막 유효 값을 사용해 null을 채울 수 있습니다:
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+**뒤로 채우기**(back-fill)하여 다음 유효 값을 뒤로 전파해 null을 채울 수도 있습니다:
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+예상하셨겠지만, 이는 `DataFrame`에서도 동일하게 작동하며, null 값을 채울 축(`axis`)을 지정할 수도 있습니다. 이전에 사용한 `example2`를 다시 사용해 보겠습니다:
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+이전 값이 없어 forward-fill이 불가능한 경우, null 값은 그대로 남아 있습니다.
+> **핵심 요약:** 데이터셋에서 누락된 값을 처리하는 방법은 여러 가지가 있습니다. 어떤 특정 전략(값을 제거하거나 대체하거나, 대체하는 방식)을 사용할지는 데이터의 특성에 따라 결정되어야 합니다. 데이터셋을 다루고 상호작용할수록 누락된 값을 처리하는 감각이 더 나아질 것입니다.
+
+## 중복 데이터 제거하기
+
+> **학습 목표:** 이 단원을 마치면, DataFrame에서 중복 값을 식별하고 제거하는 데 익숙해질 것입니다.
+
+누락된 데이터 외에도, 실제 데이터셋에서는 중복된 데이터를 자주 접하게 됩니다. 다행히도, `pandas`는 중복 항목을 감지하고 제거하는 간단한 방법을 제공합니다.
+
+- **중복 식별: `duplicated`**: pandas의 `duplicated` 메서드를 사용하면 중복 값을 쉽게 확인할 수 있습니다. 이 메서드는 `DataFrame`에서 이전 항목과 중복된 항목인지 여부를 나타내는 Boolean 마스크를 반환합니다. 이를 실습하기 위해 또 다른 예제 `DataFrame`을 만들어 보겠습니다.
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |letters|numbers|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **중복 제거: `drop_duplicates`:** `duplicated` 값이 `False`인 데이터만 복사하여 반환합니다:
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+`duplicated`와 `drop_duplicates`는 기본적으로 모든 열을 고려하지만, 특정 열만 검사하도록 지정할 수도 있습니다:
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **핵심 요약:** 중복 데이터를 제거하는 것은 거의 모든 데이터 과학 프로젝트에서 필수적인 단계입니다. 중복 데이터는 분석 결과를 왜곡시키고 부정확한 결과를 초래할 수 있습니다!
+
+
+## 🚀 도전 과제
+
+논의된 모든 자료는 [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb)으로 제공됩니다. 또한 각 섹션 뒤에는 연습 문제가 포함되어 있으니, 꼭 시도해 보세요!
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+
+
+## 복습 및 자기 학습
+
+데이터를 분석 및 모델링을 위해 준비하는 방법을 발견하고 접근하는 방법은 다양하며, 데이터를 정리하는 과정은 "직접 해보는" 경험이 중요합니다. 이 강의에서 다루지 않은 기술을 탐구하기 위해 Kaggle의 다음 도전 과제를 시도해 보세요.
+
+- [데이터 정리 도전 과제: 날짜 파싱](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [데이터 정리 도전 과제: 데이터 스케일링 및 정규화](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+
+## 과제
+
+[폼 데이터 평가하기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역을 사용함으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/08-data-preparation/assignment.md b/translations/ko/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..ac970152
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# 양식 데이터 평가
+
+클라이언트가 고객 기반에 대한 기본 데이터를 수집하기 위해 [작은 양식](../../../../2-Working-With-Data/08-data-preparation/index.html)을 테스트했습니다. 그들은 수집한 데이터를 검증하기 위해 당신에게 가져왔습니다. 브라우저에서 `index.html` 페이지를 열어 양식을 확인할 수 있습니다.
+
+당신은 양식에서 입력된 항목과 몇 가지 기본 시각화가 포함된 [csv 레코드 데이터셋](../../../../data/form.csv)을 제공받았습니다. 클라이언트는 일부 시각화가 올바르지 않게 보인다고 지적했지만, 이를 해결하는 방법에 대해 확신하지 못하고 있습니다. 이를 [과제 노트북](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb)에서 탐색할 수 있습니다.
+
+## 지침
+
+이 강의에서 배운 기술을 사용하여 양식이 정확하고 일관된 정보를 수집할 수 있도록 추천 사항을 제시하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/2-Working-With-Data/README.md b/translations/ko/2-Working-With-Data/README.md
new file mode 100644
index 00000000..95dfc07b
--- /dev/null
+++ b/translations/ko/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# 데이터 작업하기
+
+
+> 사진 제공: Alexander Sinn on Unsplash
+
+이 강의에서는 데이터를 관리, 조작, 그리고 애플리케이션에서 활용하는 다양한 방법을 배우게 됩니다. 관계형 및 비관계형 데이터베이스에 대해 배우고, 데이터가 어떻게 저장될 수 있는지 알아볼 것입니다. 또한, 데이터를 관리하기 위해 Python을 사용하는 기본 원리를 배우고, Python을 활용하여 데이터를 관리하고 분석하는 다양한 방법을 발견하게 될 것입니다.
+
+### 주제
+
+1. [관계형 데이터베이스](05-relational-databases/README.md)
+2. [비관계형 데이터베이스](06-non-relational/README.md)
+3. [Python으로 작업하기](07-python/README.md)
+4. [데이터 준비하기](08-data-preparation/README.md)
+
+### 크레딧
+
+이 강의는 [Christopher Harrison](https://twitter.com/geektrainer), [Dmitry Soshnikov](https://twitter.com/shwars), 그리고 [Jasmine Greenaway](https://twitter.com/paladique)가 ❤️를 담아 작성했습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원문이 작성된 언어의 문서를 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/09-visualization-quantities/README.md b/translations/ko/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..88b6cf8a
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,215 @@
+
+# 양의 시각화
+
+| ](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 양의 시각화 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+이 강의에서는 다양한 파이썬 라이브러리를 사용하여 양의 개념을 중심으로 흥미로운 시각화를 만드는 방법을 배웁니다. 미네소타의 새들에 대한 정리된 데이터셋을 사용하여 지역 야생동물에 대한 많은 흥미로운 사실을 배울 수 있습니다.
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## Matplotlib로 날개 길이 관찰하기
+
+다양한 종류의 간단하고 정교한 플롯과 차트를 생성할 수 있는 훌륭한 라이브러리는 [Matplotlib](https://matplotlib.org/stable/index.html)입니다. 일반적으로 이러한 라이브러리를 사용하여 데이터를 시각화하는 과정은 데이터프레임에서 목표로 하는 부분을 식별하고, 필요한 데이터 변환을 수행하며, x축과 y축 값을 할당하고, 표시할 플롯 유형을 결정한 다음 플롯을 표시하는 것을 포함합니다. Matplotlib은 다양한 시각화를 제공하지만, 이번 강의에서는 양을 시각화하는 데 가장 적합한 선형 차트, 산점도, 막대 차트에 집중해 보겠습니다.
+
+> ✅ 데이터의 구조와 전달하려는 이야기에 가장 적합한 차트를 사용하세요.
+> - 시간에 따른 추세 분석: 선형 차트
+> - 값 비교: 막대, 세로 막대, 원형 차트, 산점도
+> - 부분과 전체의 관계 표시: 원형 차트
+> - 데이터 분포 표시: 산점도, 막대 차트
+> - 추세 표시: 선형 차트, 세로 막대 차트
+> - 값 간의 관계 표시: 선형 차트, 산점도, 버블 차트
+
+데이터셋을 가지고 특정 항목이 얼마나 포함되어 있는지 알아내야 한다면, 첫 번째 작업은 해당 값들을 검사하는 것입니다.
+
+✅ Matplotlib에 대한 훌륭한 '치트 시트'는 [여기](https://matplotlib.org/cheatsheets/cheatsheets.pdf)에서 확인할 수 있습니다.
+
+## 새 날개 길이 값에 대한 선형 플롯 생성하기
+
+이 강의 폴더의 루트에 있는 `notebook.ipynb` 파일을 열고 셀을 추가하세요.
+
+> 참고: 데이터는 이 저장소의 루트에 있는 `/data` 폴더에 저장되어 있습니다.
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+이 데이터는 텍스트와 숫자가 혼합되어 있습니다:
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+이 흥미로운 새들의 최대 날개 길이에 대한 뷰를 원한다고 가정하고, 일부 숫자 데이터를 기본 선형 플롯으로 시각화해 봅시다.
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+즉시 무엇을 알 수 있나요? 적어도 하나의 이상치가 있는 것 같습니다 - 꽤 큰 날개 길이네요! 2300cm의 날개 길이는 23미터에 해당합니다 - 미네소타에 프테로닥틸이 돌아다니고 있는 걸까요? 조사해 봅시다.
+
+엑셀에서 빠르게 정렬하여 이러한 이상치를 찾을 수도 있지만, 플롯 내에서 작업을 계속 진행해 봅시다.
+
+x축에 레이블을 추가하여 어떤 종류의 새들이 있는지 표시하세요:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+레이블을 45도 회전으로 설정했음에도 불구하고 읽기에는 너무 많습니다. 다른 전략을 시도해 봅시다: 이상치만 레이블로 표시하고 차트 내에 레이블을 설정합니다. 산점도를 사용하여 레이블링 공간을 더 확보할 수 있습니다:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+여기서 무슨 일이 일어나고 있나요? `tick_params`를 사용하여 하단 레이블을 숨기고 새 데이터셋을 반복하는 루프를 생성했습니다. `bo`를 사용하여 작은 파란색 점으로 차트를 플롯하고, 최대 날개 길이가 500을 초과하는 새를 확인하여 해당 점 옆에 레이블을 표시했습니다. 레이블을 y축에서 약간 오프셋(`y * (1 - 0.05)`)하고 새 이름을 레이블로 사용했습니다.
+
+무엇을 발견했나요?
+
+
+## 데이터 필터링하기
+
+대머리 독수리와 초원 매는 아마도 매우 큰 새일 가능성이 있지만, 최대 날개 길이에 추가된 `0`이 잘못 표시된 것 같습니다. 대머리 독수리가 25미터 날개 길이를 가지고 있다면, 꼭 알려주세요! 이 두 이상치를 제외한 새로운 데이터프레임을 만들어 봅시다:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+이상치를 필터링함으로써 데이터가 더 일관되고 이해하기 쉬워졌습니다.
+
+
+
+이제 날개 길이 측면에서 더 깨끗한 데이터셋을 가지게 되었으니, 이 새들에 대해 더 알아봅시다.
+
+선형 차트와 산점도는 데이터 값과 분포에 대한 정보를 표시할 수 있지만, 이 데이터셋에 내재된 값에 대해 생각해 봅시다. 다음과 같은 양에 대한 질문을 시각화하여 답을 찾을 수 있습니다:
+
+> 새의 카테고리는 몇 가지이며, 각각의 수는 얼마인가요?
+> 멸종, 위험, 희귀, 일반적인 새는 몇 마리인가요?
+> 린네의 용어로 다양한 속(genus)과 목(order)은 몇 가지인가요?
+## 막대 차트 탐구하기
+
+막대 차트는 데이터를 그룹화하여 보여줄 때 실용적입니다. 이 데이터셋에 존재하는 새의 카테고리를 탐구하여 가장 일반적인 카테고리가 무엇인지 확인해 봅시다.
+
+노트북 파일에서 기본 막대 차트를 생성하세요.
+
+✅ 이전 섹션에서 확인한 두 이상치 새를 필터링하거나, 날개 길이의 오타를 수정하거나, 날개 길이 값에 의존하지 않는 이 연습에서는 그대로 두어도 됩니다.
+
+막대 차트를 생성하려면 집중하고자 하는 데이터를 선택할 수 있습니다. 막대 차트는 원시 데이터에서 생성할 수 있습니다:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+하지만 이 막대 차트는 너무 많은 비그룹화된 데이터로 인해 읽기 어렵습니다. 플롯하려는 데이터만 선택해야 하므로 새의 카테고리를 기준으로 길이를 살펴봅시다.
+
+데이터를 새의 카테고리만 포함하도록 필터링하세요.
+
+✅ Pandas를 사용하여 데이터를 관리하고, Matplotlib을 사용하여 차트를 생성합니다.
+
+카테고리가 많으므로 이 차트를 세로로 표시하고 모든 데이터를 고려하여 높이를 조정할 수 있습니다:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+이 막대 차트는 각 카테고리에 속한 새의 수를 잘 보여줍니다. 한눈에 이 지역에서 가장 많은 새가 오리/기러기/물새 카테고리에 속한다는 것을 알 수 있습니다. 미네소타는 '만 개의 호수의 땅'이므로 놀랍지 않습니다!
+
+✅ 이 데이터셋에서 다른 카운트를 시도해 보세요. 놀라운 점이 있나요?
+
+## 데이터 비교하기
+
+새 카테고리를 기준으로 새의 최대 길이를 비교하는 새로운 축을 생성하여 그룹화된 데이터를 비교해 보세요:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+여기서 놀라운 점은 없습니다: 벌새는 펠리컨이나 기러기에 비해 최대 길이가 가장 짧습니다. 데이터가 논리적으로 맞아떨어지는 것은 좋은 일입니다!
+
+막대 차트를 더 흥미롭게 시각화하려면 데이터를 겹쳐서 표시할 수 있습니다. 특정 새 카테고리에서 최소 길이와 최대 길이를 겹쳐서 표시해 봅시다:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+이 플롯에서는 최소 길이와 최대 길이의 범위를 새 카테고리별로 볼 수 있습니다. 이 데이터를 기준으로 새가 클수록 길이 범위가 더 넓다는 것을 안전하게 말할 수 있습니다. 흥미롭네요!
+
+
+
+## 🚀 도전 과제
+
+이 새 데이터셋은 특정 생태계 내 다양한 새 유형에 대한 풍부한 정보를 제공합니다. 인터넷을 검색하여 다른 새 관련 데이터셋을 찾아보세요. 이러한 새들에 대한 차트와 그래프를 만들어서 몰랐던 사실을 발견해 보세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 복습 및 자기 학습
+
+이 첫 번째 강의에서는 Matplotlib을 사용하여 양을 시각화하는 방법에 대한 정보를 제공했습니다. 데이터셋을 시각화하는 다른 방법에 대해 연구해 보세요. [Plotly](https://github.com/plotly/plotly.py)는 이 강의에서 다루지 않으므로, 제공할 수 있는 기능을 살펴보세요.
+## 과제
+
+[Lines, Scatters, and Bars](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/ko/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..66ad0ab5
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 선, 산점도, 막대 그래프
+
+## 지침
+
+이 강의에서는 선 그래프, 산점도, 막대 그래프를 사용하여 이 데이터셋에 대한 흥미로운 사실들을 보여주었습니다. 이번 과제에서는 데이터셋을 더 깊이 탐구하여 특정 새 유형에 대한 사실을 발견해 보세요. 예를 들어, 눈기러기에 대한 모든 흥미로운 데이터를 시각화하는 노트북을 만들어 보세요. 위에서 언급한 세 가지 그래프를 사용하여 노트북에서 이야기를 전달하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+노트북이 좋은 주석, 탄탄한 스토리텔링, 매력적인 그래프로 구성됨 | 노트북에 이러한 요소 중 하나가 부족함 | 노트북에 이러한 요소 중 두 개가 부족함
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/10-visualization-distributions/README.md b/translations/ko/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..160d12a8
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,216 @@
+
+# 분포 시각화
+
+| ](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 분포 시각화 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+이전 강의에서, 미네소타의 새들에 대한 데이터셋에서 흥미로운 사실들을 배웠습니다. 이상치를 시각화하여 잘못된 데이터를 발견하고, 새 카테고리 간 최대 길이의 차이를 살펴보았습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 새 데이터셋 탐색하기
+
+데이터를 탐구하는 또 다른 방법은 데이터의 분포, 즉 데이터가 축을 따라 어떻게 조직되어 있는지를 살펴보는 것입니다. 예를 들어, 미네소타 새들의 최대 날개 길이 또는 최대 몸무게의 일반적인 분포를 알고 싶을 수도 있습니다.
+
+이 데이터셋의 데이터 분포에 대한 몇 가지 사실을 알아봅시다. 이 강의 폴더의 루트에 있는 _notebook.ipynb_ 파일에서 Pandas, Matplotlib, 그리고 데이터를 가져옵니다:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+일반적으로, 데이터가 어떻게 분포되어 있는지 빠르게 확인하려면 이전 강의에서 했던 것처럼 산점도를 사용할 수 있습니다:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+이 차트는 새의 Order별 몸 길이의 일반적인 분포를 보여주지만, 실제 분포를 표시하기에는 최적의 방법이 아닙니다. 이 작업은 일반적으로 히스토그램을 생성하여 수행됩니다.
+
+## 히스토그램 작업하기
+
+Matplotlib은 히스토그램을 사용하여 데이터 분포를 시각화하는 데 매우 유용한 방법을 제공합니다. 이 차트 유형은 막대 차트와 비슷하며, 막대의 상승과 하강을 통해 분포를 확인할 수 있습니다. 히스토그램을 생성하려면 숫자 데이터를 사용해야 합니다. 히스토그램을 생성하려면 차트 유형을 'hist'로 정의하여 차트를 그릴 수 있습니다. 이 차트는 데이터셋의 전체 범위에 대한 MaxBodyMass의 분포를 보여줍니다. 데이터 배열을 작은 구간으로 나누어 데이터 값의 분포를 표시할 수 있습니다:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+보시다시피, 이 데이터셋의 400개 이상의 새들 중 대부분은 Max Body Mass가 2000 이하 범위에 속합니다. `bins` 매개변수를 더 높은 숫자, 예를 들어 30으로 변경하여 데이터를 더 자세히 살펴보세요:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+이 차트는 분포를 조금 더 세밀하게 보여줍니다. 왼쪽으로 덜 치우친 차트를 생성하려면 특정 범위 내의 데이터만 선택하도록 설정할 수 있습니다:
+
+몸무게가 60 이하인 새들만 필터링하고 40개의 `bins`를 표시하세요:
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 다른 필터와 데이터 포인트를 시도해보세요. 데이터의 전체 분포를 보려면 `['MaxBodyMass']` 필터를 제거하여 라벨이 있는 분포를 표시하세요.
+
+히스토그램은 색상과 라벨링을 개선할 수 있는 멋진 기능도 제공합니다:
+
+두 분포 간의 관계를 비교하기 위해 2D 히스토그램을 생성하세요. `MaxBodyMass`와 `MaxLength`를 비교해봅시다. Matplotlib은 더 밝은 색상을 사용하여 수렴을 표시하는 내장 방법을 제공합니다:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+이 두 요소가 예상 축을 따라 예상되는 상관관계를 가지며, 특히 강한 수렴 지점이 하나 있습니다:
+
+
+
+히스토그램은 기본적으로 숫자 데이터에 잘 작동합니다. 텍스트 데이터를 기준으로 분포를 확인해야 한다면 어떻게 해야 할까요?
+
+## 텍스트 데이터를 사용하여 데이터셋의 분포 탐색하기
+
+이 데이터셋에는 새의 카테고리, 속(genus), 종(species), 과(family) 및 보존 상태에 대한 유용한 정보도 포함되어 있습니다. 이 보존 정보를 탐구해봅시다. 새들이 보존 상태에 따라 어떻게 분포되어 있는지 확인해보세요.
+
+> ✅ 데이터셋에는 보존 상태를 설명하는 몇 가지 약어가 사용됩니다. 이 약어들은 [IUCN 적색 목록 카테고리](https://www.iucnredlist.org/)에서 가져온 것으로, 종의 상태를 분류하는 조직입니다.
+>
+> - CR: 심각한 멸종 위기(Critically Endangered)
+> - EN: 멸종 위기(Endangered)
+> - EX: 멸종(Extinct)
+> - LC: 관심 필요 없음(Least Concern)
+> - NT: 근접 위기(Near Threatened)
+> - VU: 취약(Vulnerable)
+
+이 값들은 텍스트 기반이므로 히스토그램을 생성하려면 변환이 필요합니다. 필터링된 새 데이터프레임을 사용하여 보존 상태와 최소 날개 길이를 표시하세요. 무엇을 발견할 수 있나요?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+최소 날개 길이와 보존 상태 간에 뚜렷한 상관관계는 없어 보입니다. 이 방법을 사용하여 데이터셋의 다른 요소를 테스트해보세요. 다른 필터를 시도해보세요. 어떤 상관관계를 발견할 수 있나요?
+
+## 밀도 플롯
+
+지금까지 살펴본 히스토그램은 '단계적'이며 부드럽게 흐르지 않습니다. 더 부드러운 밀도 차트를 표시하려면 밀도 플롯을 시도해볼 수 있습니다.
+
+밀도 플롯을 사용하려면 새로운 플롯 라이브러리인 [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)을 익혀야 합니다.
+
+Seaborn을 로드하고 기본 밀도 플롯을 시도해보세요:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+이 플롯은 이전의 최소 날개 길이 데이터 차트를 반영하며, 조금 더 부드럽게 표시됩니다. Seaborn 문서에 따르면, "히스토그램에 비해 KDE는 덜 복잡하고 더 해석 가능한 플롯을 생성할 수 있습니다. 특히 여러 분포를 그릴 때 유용합니다. 하지만 기본 분포가 경계가 있거나 매끄럽지 않은 경우 왜곡을 초래할 가능성이 있습니다. 히스토그램과 마찬가지로 표현의 품질은 좋은 매개변수 선택에 따라 달라집니다." [출처](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 즉, 항상 그렇듯이 이상치는 차트에 나쁜 영향을 미칠 수 있습니다.
+
+두 번째로 생성한 MaxBodyMass의 울퉁불퉁한 선을 다시 방문하고 이 방법을 사용하여 매우 부드럽게 만들 수 있습니다:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+너무 부드럽지 않은 선을 원한다면 `bw_adjust` 매개변수를 수정하세요:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ 이 유형의 플롯에 사용할 수 있는 매개변수에 대해 읽어보고 실험해보세요!
+
+이 차트 유형은 설명력이 뛰어난 시각화를 제공합니다. 몇 줄의 코드로, 예를 들어 새 Order별 최대 몸무게 밀도를 표시할 수 있습니다:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+하나의 차트에서 여러 변수의 밀도를 매핑할 수도 있습니다. 새의 최대 길이와 최소 길이를 보존 상태와 비교해보세요:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+'취약(Vulnerable)' 상태의 새들이 길이에 따라 클러스터링된 것이 의미가 있는지 연구할 가치가 있을지도 모릅니다.
+
+## 🚀 도전 과제
+
+히스토그램은 기본적인 산점도, 막대 차트, 또는 선 차트보다 더 정교한 차트 유형입니다. 인터넷에서 히스토그램의 좋은 사용 사례를 찾아보세요. 히스토그램은 어떻게 사용되며, 무엇을 보여주고, 어떤 분야나 연구 영역에서 주로 사용되는지 조사해보세요.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 복습 및 자기 학습
+
+이 강의에서는 Matplotlib을 사용하고 Seaborn을 시작하여 더 정교한 차트를 생성했습니다. Seaborn의 `kdeplot`에 대해 연구해보세요. 이는 "하나 이상의 차원에서 연속적인 확률 밀도 곡선"을 생성합니다. [문서](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)를 읽고 작동 방식을 이해하세요.
+
+## 과제
+
+[기술을 적용해보세요](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/ko/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..871227ba
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 기술을 적용해보세요
+
+## 지침
+
+지금까지 Minnesota 새 데이터셋을 사용하여 새의 수량과 개체 밀도에 대한 정보를 탐구해 보았습니다. 이번에는 이러한 기술을 다른 데이터셋에 적용해 보세요. [Kaggle](https://www.kaggle.com/)에서 데이터를 가져와도 좋습니다. 이 데이터셋에 대한 이야기를 전달할 수 있는 노트북을 만들어 보세요. 데이터를 논의할 때 히스토그램을 반드시 사용하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+이 데이터셋에 대한 주석(출처 포함)이 포함된 노트북이 제출되며, 최소 5개의 히스토그램을 사용하여 데이터를 탐구합니다. | 주석이 불완전하거나 오류가 있는 노트북이 제출됩니다. | 주석이 없고 오류가 포함된 노트북이 제출됩니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/11-visualization-proportions/README.md b/translations/ko/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..98a809ba
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,202 @@
+
+# 비율 시각화
+
+| ](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|비율 시각화 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+이 강의에서는 자연을 주제로 한 다른 데이터셋을 사용하여 비율을 시각화합니다. 예를 들어, 주어진 버섯 데이터셋에서 얼마나 다양한 종류의 균류가 있는지 알아볼 수 있습니다. Audubon에서 제공한 Agaricus와 Lepiota 계열의 아가리쿠스 버섯 23종에 대한 데이터를 사용하여 이 흥미로운 균류를 탐구해 봅시다. 다음과 같은 맛있는 시각화를 실험해 볼 것입니다:
+
+- 파이 차트 🥧
+- 도넛 차트 🍩
+- 와플 차트 🧇
+
+> 💡 Microsoft Research의 [Charticulator](https://charticulator.com)라는 매우 흥미로운 프로젝트는 데이터 시각화를 위한 무료 드래그 앤 드롭 인터페이스를 제공합니다. 그들의 튜토리얼 중 하나에서도 이 버섯 데이터셋을 사용합니다! 데이터를 탐구하면서 라이브러리를 배울 수 있습니다: [Charticulator 튜토리얼](https://charticulator.com/tutorials/tutorial4.html).
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 버섯에 대해 알아보기 🍄
+
+버섯은 매우 흥미로운 존재입니다. 데이터를 가져와서 연구해 봅시다:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+아래는 분석에 적합한 데이터가 포함된 테이블입니다:
+
+| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
+| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
+| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+
+바로 알 수 있듯이, 모든 데이터가 텍스트 형식으로 되어 있습니다. 차트에서 사용할 수 있도록 데이터를 변환해야 합니다. 사실 대부분의 데이터는 객체로 표현되어 있습니다:
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+출력 결과는 다음과 같습니다:
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+'class' 열을 범주로 변환해 봅시다:
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+이제 버섯 데이터를 출력하면, 독성/식용 클래스에 따라 범주로 그룹화된 것을 확인할 수 있습니다:
+
+| | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | ... | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| class | | | | | | | | | | | | | | | | | | | | | |
+| Edible | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| Poisonous | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+이 테이블에 제시된 순서를 따라 클래스 범주 레이블을 생성하면 파이 차트를 만들 수 있습니다.
+
+## 파이 차트!
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+짜잔, 이 데이터의 두 가지 버섯 클래스에 따른 비율을 보여주는 파이 차트입니다. 특히 여기에서는 레이블 배열의 순서를 올바르게 설정하는 것이 매우 중요하니, 레이블 배열의 순서를 반드시 확인하세요!
+
+
+
+## 도넛 차트!
+
+파이 차트보다 시각적으로 더 흥미로운 차트는 도넛 차트입니다. 도넛 차트는 가운데에 구멍이 있는 파이 차트입니다. 이 방법으로 데이터를 살펴봅시다.
+
+버섯이 자라는 다양한 서식지를 살펴보세요:
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+여기에서는 데이터를 서식지별로 그룹화합니다. 7개의 서식지가 나열되어 있으니, 이를 도넛 차트의 레이블로 사용하세요:
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+이 코드는 차트를 그리고 가운데 원을 추가한 후, 그 원을 차트에 삽입합니다. 가운데 원의 너비를 변경하려면 `0.40` 값을 다른 값으로 수정하세요.
+
+도넛 차트는 레이블을 강조하여 가독성을 높이는 등 여러 방식으로 조정할 수 있습니다. 자세한 내용은 [문서](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut)를 참조하세요.
+
+이제 데이터를 그룹화하고 이를 파이 또는 도넛 차트로 표시하는 방법을 알았으니, 다른 유형의 차트를 탐구해 보세요. 와플 차트를 시도해 보세요. 이는 양을 탐구하는 또 다른 방법입니다.
+
+## 와플 차트!
+
+'와플' 유형 차트는 2D 배열의 사각형으로 양을 시각화하는 또 다른 방법입니다. 이 데이터셋에서 버섯 갓 색상의 다양한 양을 시각화해 보세요. 이를 위해 [PyWaffle](https://pypi.org/project/pywaffle/)이라는 도우미 라이브러리를 설치하고 Matplotlib을 사용해야 합니다:
+
+```python
+pip install pywaffle
+```
+
+데이터의 일부를 선택하여 그룹화합니다:
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+레이블을 생성한 후 데이터를 그룹화하여 와플 차트를 만듭니다:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+와플 차트를 사용하면 이 버섯 데이터셋의 갓 색상 비율을 명확히 볼 수 있습니다. 흥미롭게도, 녹색 갓을 가진 버섯이 많이 있습니다!
+
+
+
+✅ PyWaffle은 [Font Awesome](https://fontawesome.com/)에서 사용할 수 있는 아이콘을 차트 내에 사용할 수 있습니다. 아이콘을 사각형 대신 사용하여 더욱 흥미로운 와플 차트를 만들어 보세요.
+
+이 강의에서는 비율을 시각화하는 세 가지 방법을 배웠습니다. 먼저 데이터를 범주로 그룹화한 다음, 데이터를 표시하는 가장 적합한 방법(파이, 도넛, 와플)을 결정해야 합니다. 모두 맛있고 데이터를 한눈에 파악할 수 있게 해줍니다.
+
+## 🚀 도전 과제
+
+[Charticulator](https://charticulator.com)에서 이 맛있는 차트를 재현해 보세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 복습 및 자기 학습
+
+파이, 도넛, 와플 차트를 언제 사용해야 할지 명확하지 않을 때가 있습니다. 이 주제에 대한 다음 기사를 읽어보세요:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+이 주제에 대한 추가 정보를 찾기 위해 연구해 보세요.
+
+## 과제
+
+[Excel에서 시도해 보기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/ko/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..14a62ef5
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# 엑셀에서 시도해보기
+
+## 지침
+
+엑셀에서 도넛, 파이, 와플 차트를 만들 수 있다는 것을 알고 계셨나요? 원하는 데이터셋을 사용하여 엑셀 스프레드시트에서 이 세 가지 차트를 만들어보세요.
+
+## 평가 기준
+
+| 우수함 | 적절함 | 개선 필요 |
+| ----------------------------------------------------- | --------------------------------------------- | ------------------------------------------------------ |
+| 세 가지 차트가 포함된 엑셀 스프레드시트가 제출됨 | 두 가지 차트가 포함된 엑셀 스프레드시트가 제출됨 | 한 가지 차트만 포함된 엑셀 스프레드시트가 제출됨 |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/12-visualization-relationships/README.md b/translations/ko/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..8fbb566c
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,184 @@
+
+# 관계 시각화: 꿀에 대한 모든 것 🍯
+
+| ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|관계 시각화 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+우리의 연구 주제를 자연에 초점을 맞추며, [미국 농무부](https://www.nass.usda.gov/About_NASS/index.php)에서 제공한 데이터셋을 기반으로 다양한 종류의 꿀 간의 관계를 보여주는 흥미로운 시각화를 탐구해 봅시다.
+
+약 600개의 항목으로 구성된 이 데이터셋은 미국 여러 주에서의 꿀 생산량을 보여줍니다. 예를 들어, 1998년부터 2012년까지 각 주별로 연도별로 한 행씩, 꿀벌 군집 수, 군집당 수확량, 총 생산량, 재고, 파운드당 가격, 그리고 생산된 꿀의 가치를 확인할 수 있습니다.
+
+특정 주의 연도별 생산량과 해당 주의 꿀 가격 간의 관계를 시각화하면 흥미로울 것입니다. 또는 주별 군집당 꿀 수확량 간의 관계를 시각화할 수도 있습니다. 이 데이터는 2006년에 처음 관찰된 '꿀벌 군집 붕괴 현상(CCD)'(http://npic.orst.edu/envir/ccd.html)을 포함하는 기간을 다루고 있어 연구하기에 의미 있는 데이터셋입니다. 🐝
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+이번 강의에서는 이전에 사용했던 Seaborn 라이브러리를 활용하여 변수 간의 관계를 시각화할 수 있습니다. 특히, Seaborn의 `relplot` 함수는 산점도와 선 그래프를 빠르게 생성하여 '[통계적 관계](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)'를 시각화하는 데 유용합니다. 이를 통해 데이터 과학자는 변수 간의 관계를 더 잘 이해할 수 있습니다.
+
+## 산점도
+
+산점도를 사용하여 주별로 연도별 꿀 가격이 어떻게 변화했는지 보여줍시다. Seaborn의 `relplot`을 사용하면 주 데이터를 그룹화하고 범주형 및 수치형 데이터를 모두 표시할 수 있습니다.
+
+먼저 데이터를 가져오고 Seaborn을 불러옵니다:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+꿀 데이터에는 연도와 파운드당 가격을 포함한 여러 흥미로운 열이 있습니다. 이를 미국 주별로 그룹화하여 살펴봅시다:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+꿀의 파운드당 가격과 미국 주별 원산지 간의 관계를 보여주는 기본 산점도를 만들어 봅시다. `y` 축을 충분히 높게 설정하여 모든 주를 표시합니다:
+
+```python
+sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
+```
+
+
+이제 동일한 데이터를 꿀 색상 팔레트를 사용하여 연도별 가격 변화를 보여줍시다. 이를 위해 'hue' 매개변수를 추가합니다:
+
+> ✅ Seaborn에서 사용할 수 있는 [색상 팔레트](https://seaborn.pydata.org/tutorial/color_palettes.html)에 대해 더 알아보세요. 아름다운 무지개 색상 팔레트를 시도해 보세요!
+
+```python
+sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
+```
+
+
+이 색상 팔레트 변경을 통해 연도별로 꿀의 파운드당 가격이 명확히 증가하는 추세를 확인할 수 있습니다. 실제로 데이터를 샘플링하여 확인해 보면(예: 애리조나 주) 연도별로 가격이 증가하는 패턴을 확인할 수 있습니다. 몇 가지 예외를 제외하고 말이죠:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+색상 대신 크기를 사용하여 이 변화를 시각화하는 것도 가능합니다. 색맹 사용자에게는 이 방법이 더 나을 수 있습니다. 점의 둘레 크기로 가격 증가를 표시하도록 시각화를 수정해 봅시다:
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+점의 크기가 점진적으로 증가하는 것을 확인할 수 있습니다.
+
+
+
+이것이 단순히 수요와 공급의 문제일까요? 기후 변화와 군집 붕괴와 같은 요인으로 인해 해마다 구매 가능한 꿀이 줄어들고, 따라서 가격이 상승하는 것일까요?
+
+이 데이터셋의 변수들 간의 상관관계를 발견하기 위해, 이제 선 그래프를 탐구해 봅시다.
+
+## 선 그래프
+
+질문: 연도별로 꿀의 파운드당 가격이 명확히 상승하고 있나요? 이를 가장 쉽게 확인하려면 단일 선 그래프를 만들어 보세요:
+
+```python
+sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
+```
+답변: 네, 2003년을 전후로 몇 가지 예외를 제외하고는 그렇습니다.
+
+
+
+✅ Seaborn은 x 값에서 여러 측정값을 평균으로 집계하고 평균 주위에 95% 신뢰 구간을 표시합니다. [출처](https://seaborn.pydata.org/tutorial/relational.html). 이 시간 소모적인 동작은 `ci=None`을 추가하여 비활성화할 수 있습니다.
+
+질문: 그렇다면 2003년에 꿀 공급량에서도 급증이 있었나요? 연도별 총 생산량을 살펴보세요:
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+답변: 꼭 그렇지는 않습니다. 총 생산량을 보면, 특정 연도에는 실제로 증가한 것처럼 보이지만, 전반적으로는 이 기간 동안 꿀 생산량이 감소하는 추세입니다.
+
+질문: 그렇다면 2003년 꿀 가격 급등의 원인은 무엇일까요?
+
+이를 알아내기 위해, Facet Grid를 탐구해 봅시다.
+
+## Facet Grid
+
+Facet Grid는 데이터셋의 한 측면(예: '연도')을 선택하여 각 Facet에 대해 x, y 좌표를 사용한 플롯을 생성합니다. 이를 통해 시각적 비교가 더 쉬워집니다. 2003년이 이 비교에서 두드러지게 나타날까요?
+
+Seaborn의 [FacetGrid 문서](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid)를 참고하여 `relplot`을 계속 사용해 Facet Grid를 만들어 보세요.
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+이 시각화에서는 연도별로 군집당 수확량과 군집 수를 나란히 비교할 수 있습니다. 열은 3으로 설정하여 래핑합니다:
+
+
+
+이 데이터셋에서는 연도별, 주별 군집 수와 수확량에 관해 특별히 두드러지는 점은 없습니다. 이 두 변수 간의 상관관계를 찾는 다른 방법이 있을까요?
+
+## 이중 선 그래프
+
+Seaborn의 'despine'을 사용하여 상단과 오른쪽 축을 제거하고, Matplotlib에서 제공하는 `ax.twinx`를 사용하여 두 개의 선 그래프를 겹쳐보세요. Twinx는 x 축을 공유하고 두 개의 y 축을 표시할 수 있습니다. 따라서 군집당 수확량과 군집 수를 겹쳐서 표시해 봅시다:
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+sns.despine(right=False)
+plt.ylabel('colony yield')
+ax.figure.legend();
+```
+
+
+2003년을 전후로 눈에 띄는 점은 없지만, 이 그래프는 조금 더 긍정적인 결론으로 이번 강의를 마무리할 수 있게 해줍니다: 군집 수는 전반적으로 감소하고 있지만, 군집 수는 안정화되고 있으며 군집당 수확량은 감소하고 있습니다.
+
+꿀벌들, 힘내라!
+
+🐝❤️
+## 🚀 도전 과제
+
+이번 강의에서는 산점도와 선 그래프, Facet Grid의 다양한 활용법을 배웠습니다. 이전 강의에서 사용했던 다른 데이터셋을 활용하여 Facet Grid를 만들어 보세요. 이를 생성하는 데 걸리는 시간과 생성할 Grid의 수에 주의해야 함을 기억하세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 복습 및 자기 학습
+
+선 그래프는 단순하거나 매우 복잡할 수 있습니다. [Seaborn 문서](https://seaborn.pydata.org/generated/seaborn.lineplot.html)를 읽으며 선 그래프를 만드는 다양한 방법을 학습해 보세요. 이번 강의에서 만든 선 그래프를 문서에 나와 있는 다른 방법으로 개선해 보세요.
+## 과제
+
+[벌집 속으로 더 깊이 들어가기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/ko/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..6b215bb4
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# 벌집 속으로 뛰어들기
+
+## 지침
+
+이 강의에서는 꿀벌과 꿀 생산에 관한 데이터셋을 살펴보았습니다. 이 데이터는 꿀벌 집단의 전반적인 감소가 관찰된 기간 동안의 데이터를 포함하고 있습니다. 이 데이터셋을 더 깊이 탐구하여 주별, 연도별로 꿀벌 집단의 건강 상태를 보여줄 수 있는 노트북을 만들어 보세요. 이 데이터셋에서 흥미로운 점을 발견할 수 있나요?
+
+## 평가 기준
+
+| 우수 | 적절 | 개선 필요 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------------------------------------- |
+| 데이터셋의 다양한 측면을 보여주는 최소 세 개의 차트와 함께 주별, 연도별로 이야기가 주석 처리된 노트북이 제시됨 | 노트북에 이러한 요소 중 하나가 부족함 | 노트북에 이러한 요소 중 두 개가 부족함 |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..a675d915
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# 의미 있는 시각화 만들기
+
+| ](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 의미 있는 시각화 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+> "데이터를 충분히 고문하면, 원하는 대답을 얻을 수 있다" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+데이터 과학자의 기본 기술 중 하나는 질문에 답을 제공할 수 있는 의미 있는 데이터 시각화를 만드는 능력입니다. 데이터를 시각화하기 전에, 이전 강의에서 했던 것처럼 데이터를 정리하고 준비해야 합니다. 그 후, 데이터를 가장 잘 표현할 방법을 결정할 수 있습니다.
+
+이 강의에서는 다음을 검토합니다:
+
+1. 적합한 차트 유형 선택 방법
+2. 기만적인 차트 작성 방지 방법
+3. 색상 활용 방법
+4. 차트를 읽기 쉽게 스타일링하는 방법
+5. 애니메이션 또는 3D 차트 솔루션 구축 방법
+6. 창의적인 시각화 구축 방법
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 적합한 차트 유형 선택하기
+
+이전 강의에서 Matplotlib과 Seaborn을 사용하여 다양한 흥미로운 데이터 시각화를 실험해 보았습니다. 일반적으로, 아래 표를 사용하여 질문에 적합한 [차트 유형](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)을 선택할 수 있습니다:
+
+| 필요한 작업 | 사용할 차트 유형 |
+| -------------------------- | ------------------------------- |
+| 시간에 따른 데이터 추세 표시 | 선형 차트 |
+| 카테고리 비교 | 막대, 원형 차트 |
+| 총합 비교 | 원형, 누적 막대 차트 |
+| 관계 표시 | 산점도, 선형 차트, Facet, 이중 선형 차트 |
+| 분포 표시 | 산점도, 히스토그램, 박스 차트 |
+| 비율 표시 | 원형, 도넛, 와플 차트 |
+
+> ✅ 데이터 구성에 따라, 특정 차트를 지원하기 위해 텍스트 데이터를 숫자로 변환해야 할 수도 있습니다.
+
+## 기만 방지
+
+데이터 과학자가 올바른 데이터에 적합한 차트를 선택하더라도, 데이터를 특정 관점을 증명하기 위해 표시하는 과정에서 데이터 자체를 훼손하는 경우가 많습니다. 기만적인 차트와 인포그래픽의 예는 많습니다!
+
+[](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)를 수집합니다.
+
+기만적인 차트로 인해 눈이 얼마나 쉽게 속을 수 있는지 이해하는 것이 중요합니다. 데이터 과학자의 의도가 좋더라도, 너무 많은 카테고리를 보여주는 원형 차트와 같은 잘못된 차트 유형을 선택하면 기만적일 수 있습니다.
+
+## 색상
+
+위의 '플로리다 총기 폭력' 차트에서 보았듯이, 색상은 차트에 추가적인 의미를 제공할 수 있습니다. 특히 Matplotlib과 Seaborn과 같은 라이브러리를 사용하지 않고 설계된 차트에서는 더욱 그렇습니다. 직접 차트를 만들 때는 [색상 이론](https://colormatters.com/color-and-design/basic-color-theory)을 조금 공부해 보세요.
+
+> ✅ 차트를 설계할 때 접근성이 시각화의 중요한 측면임을 인지하세요. 일부 사용자는 색맹일 수 있습니다. 시각 장애가 있는 사용자에게도 차트가 잘 표시되나요?
+
+차트에 색상을 선택할 때는 의도하지 않은 의미를 전달하지 않도록 주의하세요. 위의 '키' 차트에서 '핑크 레이디'는 명확히 '여성적'이라는 의미를 전달하며 차트 자체의 기괴함을 더합니다.
+
+[색상 의미](https://colormatters.com/color-symbolism/the-meanings-of-colors)는 세계 각지에서 다를 수 있으며, 색조에 따라 의미가 달라질 수 있습니다. 일반적으로 색상 의미는 다음과 같습니다:
+
+| 색상 | 의미 |
+| ------ | ------------------- |
+| 빨강 | 힘 |
+| 파랑 | 신뢰, 충성 |
+| 노랑 | 행복, 주의 |
+| 초록 | 생태, 행운, 질투 |
+| 보라 | 행복 |
+| 주황 | 활기 |
+
+맞춤 색상을 사용하여 차트를 만들어야 한다면, 차트가 접근 가능하며 선택한 색상이 전달하려는 의미와 일치하는지 확인하세요.
+
+## 차트를 읽기 쉽게 스타일링하기
+
+차트는 읽기 쉽지 않으면 의미가 없습니다! 데이터를 잘 표현할 수 있도록 차트의 너비와 높이를 스타일링하는 것을 고려하세요. 예를 들어, 50개 주를 모두 표시해야 한다면, 가능하면 Y축에 세로로 표시하여 가로로 스크롤해야 하는 차트를 피하세요.
+
+축에 레이블을 추가하고, 필요하다면 범례를 제공하며, 데이터 이해를 돕기 위해 툴팁을 제공하세요.
+
+X축에 텍스트 데이터가 많고 길다면, 텍스트를 기울여 읽기 쉽게 만들 수 있습니다. [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html)는 데이터가 지원하는 경우 3D 플로팅을 제공합니다. `mpl_toolkits.mplot3d`를 사용하여 정교한 데이터 시각화를 만들 수 있습니다.
+
+
+
+## 애니메이션 및 3D 차트 표시
+
+오늘날 최고의 데이터 시각화 중 일부는 애니메이션을 포함합니다. Shirley Wu는 D3를 사용하여 놀라운 시각화를 만들었으며, '[영화 꽃](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)'에서는 각 꽃이 영화의 시각화를 나타냅니다. 또 다른 예로 Guardian의 'Bussed Out'은 NYC가 노숙자 문제를 해결하기 위해 사람들을 도시 밖으로 버스 태워 보내는 방식을 보여주는 스크롤텔링 기사 형식과 Greensock 및 D3를 결합한 인터랙티브 경험입니다.
+
+
+
+> "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
+
+이 강의는 이러한 강력한 시각화 라이브러리를 깊이 있게 다루기에는 부족하지만, Vue.js 앱에서 D3를 사용하여 '위험한 관계'라는 책을 애니메이션화된 소셜 네트워크로 시각화하는 라이브러리를 사용해 보세요.
+
+> "Les Liaisons Dangereuses"는 서간체 소설로, 일련의 편지 형식으로 전개됩니다. 1782년 Choderlos de Laclos가 쓴 이 소설은 18세기 후반 프랑스 귀족의 두 주인공, Vicomte de Valmont와 Marquise de Merteuil의 악랄하고 도덕적으로 파탄난 사회적 책략을 다룹니다. 두 사람은 결국 파멸하지만, 많은 사회적 피해를 입힙니다. 소설은 복수나 단순히 문제를 일으키기 위해 그들의 주변 사람들에게 보낸 편지로 전개됩니다. 이 편지들을 시각화하여 이야기의 주요 인물을 시각적으로 발견해 보세요.
+
+Vue.js와 D3를 사용하여 네트워크를 시각화하는 라이브러리를 활용해 애니메이션화된 소셜 네트워크를 표시하는 웹 앱을 완성하세요. 앱이 실행되면 화면에서 노드를 끌어 데이터를 섞을 수 있습니다.
+
+
+
+## 프로젝트: D3.js를 사용하여 네트워크를 보여주는 차트 만들기
+
+> 이 강의 폴더에는 참고용으로 완성된 프로젝트를 찾을 수 있는 `solution` 폴더가 포함되어 있습니다.
+
+1. 시작 폴더의 루트에 있는 README.md 파일의 지침을 따르세요. 프로젝트의 종속성을 설치하기 전에 NPM과 Node.js가 컴퓨터에서 실행 중인지 확인하세요.
+
+2. `starter/src` 폴더를 엽니다. 여기에는 소설의 모든 편지가 번호와 'to' 및 'from' 주석이 포함된 .json 파일이 있는 `assets` 폴더가 있습니다.
+
+3. `components/Nodes.vue`의 코드를 완성하여 시각화를 활성화하세요. `createLinks()`라는 메서드를 찾아 다음 중첩 루프를 추가하세요.
+
+.json 객체를 반복하여 편지의 'to'와 'from' 데이터를 캡처하고, 시각화 라이브러리가 이를 소비할 수 있도록 `links` 객체를 구축하세요:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+터미널에서 앱을 실행하세요 (npm run serve) 그리고 시각화를 즐기세요!
+
+## 🚀 도전 과제
+
+인터넷을 탐색하며 기만적인 시각화를 찾아보세요. 작성자가 사용자에게 어떻게 속임수를 쓰는지, 그리고 그것이 의도적인지 분석하세요. 시각화를 수정하여 올바른 모습으로 보여주세요.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 복습 및 자기 학습
+
+기만적인 데이터 시각화에 대한 다음 기사들을 읽어보세요:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+역사적 자산과 유물을 위한 흥미로운 시각화를 살펴보세요:
+
+https://handbook.pubpub.org/
+
+애니메이션이 시각화를 어떻게 향상시킬 수 있는지에 대한 이 기사를 읽어보세요:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 과제
+
+[맞춤형 시각화 만들기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..ad2ffd16
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# 나만의 커스텀 시각화 만들기
+
+## 지침
+
+이 프로젝트의 코드 샘플을 사용하여 소셜 네트워크를 생성하고, 자신의 소셜 상호작용 데이터를 모의로 작성하세요. 소셜 미디어 사용 패턴을 시각화하거나 가족 구성원의 다이어그램을 만들어볼 수 있습니다. 소셜 네트워크의 독특한 시각화를 보여주는 흥미로운 웹 앱을 만들어보세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+GitHub 저장소에 제대로 작동하는 코드가 포함되어 있으며(정적 웹 앱으로 배포를 시도해보세요), 프로젝트를 설명하는 주석이 달린 README가 제공됨 | 저장소가 제대로 작동하지 않거나 문서화가 잘 되어 있지 않음 | 저장소가 제대로 작동하지 않고 문서화도 잘 되어 있지 않음
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..ab79aeea
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# 위험한 관계 데이터 시각화 프로젝트
+
+시작하려면, NPM과 Node가 컴퓨터에서 실행되고 있는지 확인해야 합니다. 의존성을 설치한 후(npm install), 프로젝트를 로컬에서 실행하세요(npm run serve):
+
+## 프로젝트 설정
+```
+npm install
+```
+
+### 개발을 위한 컴파일 및 핫 리로드
+```
+npm run serve
+```
+
+### 프로덕션을 위한 컴파일 및 최소화
+```
+npm run build
+```
+
+### 파일 린트 및 수정
+```
+npm run lint
+```
+
+### 구성 사용자 정의
+[Configuration Reference](https://cli.vuejs.org/config/)를 참조하세요.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..8d60bda7
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# 위험한 관계 데이터 시각화 프로젝트
+
+시작하려면, NPM과 Node가 컴퓨터에서 실행되고 있는지 확인해야 합니다. 의존성을 설치한 후(npm install), 프로젝트를 로컬에서 실행하세요(npm run serve):
+
+## 프로젝트 설정
+```
+npm install
+```
+
+### 개발을 위한 컴파일 및 핫 리로드
+```
+npm run serve
+```
+
+### 프로덕션을 위한 컴파일 및 최소화
+```
+npm run build
+```
+
+### 파일 검사 및 수정
+```
+npm run lint
+```
+
+### 구성 사용자 정의
+[Configuration Reference](https://cli.vuejs.org/config/)를 참조하세요.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/ko/3-Data-Visualization/R/09-visualization-quantities/README.md
new file mode 100644
index 00000000..5a4dd8fb
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,227 @@
+
+# 수량 시각화
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 수량 시각화 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+이 강의에서는 다양한 R 패키지 라이브러리를 사용하여 수량 개념을 중심으로 흥미로운 시각화를 만드는 방법을 탐구합니다. 미네소타의 새들에 대한 정리된 데이터셋을 사용하여 지역 야생 동물에 대한 많은 흥미로운 사실을 배울 수 있습니다.
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## ggplot2로 날개 길이 관찰하기
+다양한 종류의 간단하고 정교한 플롯과 차트를 만드는 데 탁월한 라이브러리는 [ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html)입니다. 일반적으로 이러한 라이브러리를 사용하여 데이터를 시각화하는 과정은 데이터프레임에서 대상 부분을 식별하고, 필요한 데이터 변환을 수행하며, x축과 y축 값을 할당하고, 표시할 플롯 유형을 결정한 다음 플롯을 표시하는 것을 포함합니다.
+
+`ggplot2`는 그래픽을 선언적으로 생성하는 시스템으로, The Grammar of Graphics에 기반을 둡니다. [Grammar of Graphics](https://en.wikipedia.org/wiki/Ggplot2)는 데이터 시각화를 위한 일반적인 체계로, 그래프를 스케일과 레이어 같은 의미적 구성 요소로 나눕니다. 즉, 적은 코드로 단변량 또는 다변량 데이터의 플롯과 그래프를 쉽게 생성할 수 있어 `ggplot2`는 R에서 가장 인기 있는 시각화 패키지입니다. 사용자는 `ggplot2`에 변수와 그래픽 속성을 어떻게 매핑할지, 사용할 그래픽 기본 요소를 알려주면 나머지는 `ggplot2`가 처리합니다.
+
+> ✅ 플롯 = 데이터 + 미학 + 기하학
+> - 데이터: 데이터셋을 의미합니다.
+> - 미학: 연구할 변수(x와 y 변수)를 나타냅니다.
+> - 기하학: 플롯 유형(선형 플롯, 막대 플롯 등)을 나타냅니다.
+
+데이터와 플롯을 통해 전달하려는 이야기에 따라 가장 적합한 기하학(플롯 유형)을 선택하세요.
+
+> - 추세 분석: 선형, 세로 막대
+> - 값 비교: 막대, 세로 막대, 원형, 산점도
+> - 부분과 전체의 관계: 원형
+> - 데이터 분포 표시: 산점도, 막대
+> - 값 간 관계 표시: 선형, 산점도, 버블
+
+✅ 이 [cheatsheet](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf)를 참고하여 ggplot2에 대한 설명을 확인할 수 있습니다.
+
+## 새의 날개 길이 값을 기반으로 선형 플롯 만들기
+
+R 콘솔을 열고 데이터셋을 가져옵니다.
+> 참고: 데이터셋은 이 저장소의 `/data` 폴더에 저장되어 있습니다.
+
+데이터셋을 가져오고 데이터의 헤드(상위 5개 행)를 관찰해 봅시다.
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+데이터의 헤드는 텍스트와 숫자가 혼합되어 있습니다:
+
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+이 흥미로운 새들의 최대 날개 길이를 시각화하는 기본 선형 플롯을 그려봅시다.
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+여기서는 `ggplot2` 패키지를 설치한 후 `library("ggplot2")` 명령을 사용하여 작업 공간에 가져옵니다. ggplot에서 플롯을 그리려면 `ggplot()` 함수를 사용하며 데이터셋, x 및 y 변수 등을 속성으로 지정합니다. 이 경우 선형 플롯을 그리기 위해 `geom_line()` 함수를 사용합니다.
+
+
+
+즉시 눈에 띄는 점은 무엇인가요? 적어도 하나의 이상치가 있는 것 같습니다. 2000cm 이상의 날개 길이는 20미터가 넘습니다. 미네소타에 프테로닥틸이 살고 있는 걸까요? 조사해 봅시다.
+
+엑셀에서 빠르게 정렬하여 이러한 이상치를 찾을 수도 있지만, 플롯 내에서 작업을 계속하며 시각화 과정을 진행해 봅시다.
+
+x축에 레이블을 추가하여 어떤 종류의 새들이 있는지 표시해 봅시다:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+`theme`에서 각도를 지정하고 `xlab()`과 `ylab()`에서 x축과 y축 레이블을 지정합니다. `ggtitle()`은 그래프/플롯에 이름을 부여합니다.
+
+
+
+레이블을 45도 회전시켰음에도 불구하고 읽기에는 너무 많습니다. 다른 전략을 시도해 봅시다: 이상치만 레이블을 지정하고 차트 내에서 레이블을 설정합니다. 산점도를 사용하여 레이블링 공간을 더 확보할 수 있습니다:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+여기서 무슨 일이 일어나고 있나요? `geom_point()` 함수를 사용하여 산점도를 그렸습니다. 이를 통해 `MaxWingspan > 500`인 새들에 대한 레이블을 추가하고 x축 레이블을 숨겨 플롯을 깔끔하게 정리했습니다.
+
+무엇을 발견했나요?
+
+
+
+## 데이터 필터링
+
+Bald Eagle과 Prairie Falcon은 아마도 매우 큰 새일 가능성이 높지만, 최대 날개 길이에 0이 추가된 잘못된 레이블로 보입니다. 25미터 날개 길이를 가진 Bald Eagle을 만날 가능성은 낮지만, 만약 그렇다면 꼭 알려주세요! 이 두 이상치를 제외한 새로운 데이터프레임을 만들어 봅시다:
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+새로운 데이터프레임 `birds_filtered`를 만들고 산점도를 그렸습니다. 이상치를 필터링함으로써 데이터가 더 일관되고 이해하기 쉬워졌습니다.
+
+
+
+이제 날개 길이에 관한 데이터가 더 깨끗해졌으니, 이 새들에 대해 더 알아봅시다.
+
+선형 플롯과 산점도는 데이터 값과 분포에 대한 정보를 표시할 수 있지만, 이 데이터셋에 내재된 값을 고려해 봐야 합니다. 다음과 같은 수량에 대한 질문을 시각화하여 답을 찾을 수 있습니다:
+
+> 새의 카테고리는 몇 가지이며, 각각의 수는 얼마나 될까요?
+> 멸종, 위기, 희귀, 일반적인 새는 몇 마리인가요?
+> 린네의 용어로 다양한 속(genus)과 목(order)은 몇 가지인가요?
+## 막대 차트 탐구하기
+
+막대 차트는 데이터를 그룹화하여 보여줄 때 실용적입니다. 이 데이터셋에 존재하는 새의 카테고리를 탐구하여 가장 일반적인 카테고리를 확인해 봅시다. 필터링된 데이터를 사용하여 막대 차트를 만들어 봅시다.
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+다음 코드 스니펫에서는 데이터를 조작하고 그룹화하여 누적 막대 차트를 그리기 위해 [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` 패키지를 사용하여 막대 차트를 그리고 각 카테고리에 대한 색상과 레이블을 지정합니다.
+
+
+
+하지만 이 막대 차트는 너무 많은 비그룹화된 데이터로 인해 읽기 어렵습니다. 플롯하려는 데이터만 선택해야 합니다. 새의 카테고리를 기준으로 길이를 살펴봅시다.
+
+데이터를 새의 카테고리만 포함하도록 필터링합니다.
+
+카테고리가 많으므로 이 차트를 세로로 표시하고 모든 데이터를 표시할 수 있도록 높이를 조정합니다:
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
+```
+먼저 `Category` 열의 고유 값을 계산한 후 이를 새 데이터프레임 `birds_count`로 정렬합니다. 이 정렬된 데이터를 동일한 수준으로 팩터링하여 정렬된 방식으로 플롯됩니다. 그런 다음 `ggplot2`를 사용하여 데이터를 막대 차트로 플롯합니다. `coord_flip()`은 수평 막대를 플롯합니다.
+
+
+
+이 막대 차트는 각 카테고리의 새 수를 잘 보여줍니다. 한눈에 미네소타 지역에서 가장 많은 새가 Ducks/Geese/Waterfowl 카테고리에 속한다는 것을 알 수 있습니다. 미네소타는 '10,000개의 호수의 땅'이므로 놀랍지 않습니다!
+
+✅ 이 데이터셋에서 다른 카운트를 시도해 보세요. 놀라운 점이 있나요?
+
+## 데이터 비교
+
+새로운 축을 생성하여 그룹화된 데이터의 다양한 비교를 시도할 수 있습니다. 새의 카테고리를 기준으로 MaxLength를 비교해 봅시다:
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+`birds_filtered` 데이터를 `Category`로 그룹화한 후 막대 그래프를 플롯합니다.
+
+
+
+여기서 놀라운 점은 없습니다: 벌새는 펠리컨이나 기러기에 비해 MaxLength가 가장 적습니다. 데이터가 논리적으로 맞아떨어지는 것은 좋은 일입니다!
+
+막대 차트를 더 흥미롭게 만들기 위해 데이터를 중첩하여 표시할 수 있습니다. 특정 새 카테고리에서 최소 및 최대 길이를 중첩하여 표시해 봅시다:
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 도전 과제
+
+이 새 데이터셋은 특정 생태계 내 다양한 새 유형에 대한 풍부한 정보를 제공합니다. 인터넷을 검색하여 다른 새 관련 데이터셋을 찾아보세요. 이러한 새를 중심으로 차트와 그래프를 만들어 보며 몰랐던 사실을 발견해 보세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 복습 및 자기 학습
+
+이 첫 번째 강의에서는 `ggplot2`를 사용하여 수량을 시각화하는 방법에 대한 정보를 제공했습니다. 데이터셋을 시각화하기 위한 다른 방법에 대해 연구해 보세요. [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) 및 [Plotly](https://github.com/plotly/plotly.R#readme)와 같은 패키지를 사용하여 시각화할 수 있는 데이터셋을 찾아보세요.
+
+## 과제
+[Lines, Scatters, and Bars](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/ko/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..038e7b02
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 선, 산점도, 막대 그래프
+
+## 지침
+
+이 강의에서는 선 그래프, 산점도, 막대 그래프를 사용하여 이 데이터셋에 대한 흥미로운 사실들을 보여주었습니다. 이번 과제에서는 데이터셋을 더 깊이 탐구하여 특정 새 유형에 대한 사실을 발견해 보세요. 예를 들어, Snow Geese에 대한 흥미로운 데이터를 시각화하는 스크립트를 작성해 보세요. 위에서 언급한 세 가지 그래프를 사용하여 노트북에서 이야기를 전달하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | -- |
+스크립트가 좋은 주석, 탄탄한 스토리텔링, 매력적인 그래프와 함께 제시됨 | 스크립트에 이러한 요소 중 하나가 누락됨 | 스크립트에 이러한 요소 중 두 개가 누락됨
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/ko/3-Data-Visualization/R/10-visualization-distributions/README.md
new file mode 100644
index 00000000..1772e2ee
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,183 @@
+
+# 분포 시각화
+
+| ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 분포 시각화 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+이전 강의에서는 미네소타의 새들에 대한 데이터셋에서 흥미로운 사실들을 배웠습니다. 이상치를 시각화하여 오류 데이터를 발견하고, 새의 최대 길이에 따라 카테고리 간의 차이를 살펴보았습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 새 데이터셋 탐구하기
+
+데이터를 탐구하는 또 다른 방법은 데이터가 축을 따라 어떻게 분포되어 있는지 살펴보는 것입니다. 예를 들어, 미네소타 새들의 최대 날개 길이 또는 최대 체질량의 일반적인 분포를 알고 싶을 수 있습니다.
+
+이 데이터셋의 분포에 대한 몇 가지 사실을 알아봅시다. R 콘솔에서 `ggplot2`와 데이터베이스를 가져오세요. 이전 주제에서 했던 것처럼 데이터베이스에서 이상치를 제거하세요.
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+일반적으로, 이전 강의에서 했던 것처럼 산점도를 사용하여 데이터가 어떻게 분포되어 있는지 빠르게 확인할 수 있습니다:
+
+```r
+ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
+ geom_point() +
+ ggtitle("Max Length per order") + coord_flip()
+```
+
+
+이 그래프는 새의 Order별 몸 길이의 일반적인 분포를 보여주지만, 실제 분포를 표시하기에는 최적의 방법이 아닙니다. 이 작업은 보통 히스토그램을 생성하여 수행됩니다.
+
+## 히스토그램 작업하기
+
+`ggplot2`는 히스토그램을 사용하여 데이터 분포를 시각화하는 데 매우 유용한 방법을 제공합니다. 이 차트는 막대 차트와 비슷하며, 막대의 상승과 하강을 통해 분포를 확인할 수 있습니다. 히스토그램을 만들려면 숫자 데이터가 필요합니다. 히스토그램을 생성하려면 차트 유형을 'hist'로 정의하여 차트를 그릴 수 있습니다. 이 차트는 데이터셋의 전체 범위에 대한 MaxBodyMass의 분포를 보여줍니다. 데이터 배열을 더 작은 구간으로 나누어 데이터 값의 분포를 표시할 수 있습니다:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=10)+ylab('Frequency')
+```
+
+
+보시다시피, 이 데이터셋에 포함된 400개 이상의 새들 중 대부분은 Max Body Mass가 2000 이하 범위에 속합니다. `bins` 매개변수를 30과 같은 더 높은 숫자로 변경하여 데이터를 더 자세히 살펴보세요:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+이 차트는 분포를 조금 더 세부적으로 보여줍니다. 왼쪽으로 덜 치우친 차트를 만들려면 특정 범위 내의 데이터만 선택하도록 필터링하면 됩니다:
+
+체질량이 60 이하인 새들만 필터링하고, 30개의 `bins`를 표시하세요:
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+✅ 다른 필터와 데이터 포인트를 시도해 보세요. 데이터의 전체 분포를 보려면 `['MaxBodyMass']` 필터를 제거하여 라벨이 있는 분포를 표시하세요.
+
+히스토그램은 색상과 라벨링을 개선할 수 있는 멋진 기능도 제공합니다:
+
+두 분포 간의 관계를 비교하기 위해 2D 히스토그램을 생성하세요. `MaxBodyMass`와 `MaxLength`를 비교해 봅시다. `ggplot2`는 더 밝은 색상을 사용하여 수렴을 표시하는 내장 기능을 제공합니다:
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+이 두 요소가 예상 축을 따라 예상되는 상관관계를 가지며, 특히 강한 수렴 지점이 하나 있는 것으로 보입니다:
+
+
+
+히스토그램은 기본적으로 숫자 데이터에 잘 작동합니다. 그렇다면 텍스트 데이터에 따라 분포를 확인해야 한다면 어떻게 해야 할까요?
+
+## 텍스트 데이터를 사용하여 데이터셋의 분포 탐구하기
+
+이 데이터셋에는 새의 카테고리, 속(genus), 종(species), 과(family) 및 보존 상태에 대한 유용한 정보도 포함되어 있습니다. 이 보존 상태 정보를 탐구해 봅시다. 새들의 보존 상태에 따른 분포는 어떻게 될까요?
+
+> ✅ 데이터셋에는 보존 상태를 설명하는 여러 약어가 사용됩니다. 이 약어들은 [IUCN 적색 목록 카테고리](https://www.iucnredlist.org/)에서 가져온 것으로, 종의 상태를 분류하는 조직입니다.
+>
+> - CR: 위급(Critically Endangered)
+> - EN: 멸종위기(Endangered)
+> - EX: 멸종(Extinct)
+> - LC: 관심 필요 없음(Least Concern)
+> - NT: 준위협(Near Threatened)
+> - VU: 취약(Vulnerable)
+
+이 값들은 텍스트 기반이므로 히스토그램을 생성하려면 변환이 필요합니다. `filteredBirds` 데이터프레임을 사용하여 보존 상태와 최소 날개 길이를 함께 표시하세요. 무엇을 발견할 수 있나요?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
+```
+
+
+
+최소 날개 길이와 보존 상태 간에 뚜렷한 상관관계는 없어 보입니다. 이 방법을 사용하여 데이터셋의 다른 요소를 테스트해 보세요. 다른 필터도 시도해 보세요. 상관관계를 발견할 수 있나요?
+
+## 밀도 플롯
+
+지금까지 살펴본 히스토그램은 '계단형'으로 표시되며, 부드럽게 아크를 그리지 않습니다. 더 부드러운 밀도 차트를 표시하려면 밀도 플롯을 시도할 수 있습니다.
+
+이제 밀도 플롯을 작업해 봅시다!
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
+ geom_density()
+```
+
+
+이 플롯은 이전의 최소 날개 길이 데이터와 유사한 결과를 보여줍니다. 단지 조금 더 부드럽게 표현되었을 뿐입니다. 두 번째로 생성한 MaxBodyMass의 울퉁불퉁한 선을 다시 방문하고 싶다면, 이 방법을 사용하여 매우 부드럽게 만들 수 있습니다:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density()
+```
+
+
+너무 부드럽지 않은 선을 원한다면 `adjust` 매개변수를 편집하세요:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density(adjust = 1/5)
+```
+
+
+✅ 이 유형의 플롯에 사용할 수 있는 매개변수에 대해 읽어보고 실험해 보세요!
+
+이 유형의 차트는 매우 설명적인 시각화를 제공합니다. 예를 들어, 몇 줄의 코드만으로 새 Order별 최대 체질량 밀도를 표시할 수 있습니다:
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 도전 과제
+
+히스토그램은 기본적인 산점도, 막대 차트, 선 차트보다 더 정교한 유형의 차트입니다. 인터넷에서 히스토그램의 좋은 사용 사례를 찾아보세요. 히스토그램은 어떻게 사용되며, 무엇을 보여주고, 어떤 분야나 연구 영역에서 주로 사용되나요?
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 복습 및 자기 학습
+
+이 강의에서는 `ggplot2`를 사용하여 더 정교한 차트를 생성하기 시작했습니다. `geom_density_2d()`에 대해 조사해 보세요. 이는 "1차원 또는 다차원에서의 연속 확률 밀도 곡선"입니다. [문서](https://ggplot2.tidyverse.org/reference/geom_density_2d.html)를 읽고 작동 방식을 이해하세요.
+
+## 과제
+
+[기술을 적용해 보세요](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/ko/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..e97e27d7
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 기술을 적용해보세요
+
+## 지침
+
+지금까지 여러분은 Minnesota 새 데이터셋을 사용하여 새의 수량과 개체 밀도에 대한 정보를 탐구해 보았습니다. 이번에는 이러한 기술을 연습하기 위해 [Kaggle](https://www.kaggle.com/)에서 제공되는 다른 데이터셋을 사용해 보세요. 이 데이터셋에 대한 이야기를 전달할 수 있는 R 스크립트를 작성하고, 이를 논의할 때 반드시 히스토그램을 활용하세요.
+
+## 평가 기준
+
+탁월함 | 적절함 | 개선 필요
+--- | --- | --- |
+이 데이터셋에 대한 주석(출처 포함)이 포함된 스크립트가 제시되며, 최소 5개의 히스토그램을 사용하여 데이터에 대한 사실을 발견함. | 주석이 불완전하거나 버그가 포함된 스크립트가 제시됨. | 주석이 없고 버그가 포함된 스크립트가 제시됨.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/ko/3-Data-Visualization/R/11-visualization-proportions/README.md
new file mode 100644
index 00000000..33de5892
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,195 @@
+
+# 비율 시각화
+
+| ](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|비율 시각화 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+이 강의에서는 자연을 주제로 한 다른 데이터셋을 사용하여 비율을 시각화할 것입니다. 예를 들어, 주어진 버섯 데이터셋에서 다양한 종류의 균류가 얼마나 많은지 알아볼 수 있습니다. Audubon에서 제공한 데이터셋을 사용하여 Agaricus와 Lepiota 계열의 23종의 주름버섯에 대한 정보를 탐구해 보겠습니다. 다음과 같은 맛있는 시각화를 실험해 볼 것입니다:
+
+- 파이 차트 🥧
+- 도넛 차트 🍩
+- 와플 차트 🧇
+
+> 💡 Microsoft Research의 [Charticulator](https://charticulator.com)라는 매우 흥미로운 프로젝트는 데이터 시각화를 위한 무료 드래그 앤 드롭 인터페이스를 제공합니다. 그들의 튜토리얼 중 하나에서도 이 버섯 데이터셋을 사용합니다! 데이터를 탐구하면서 라이브러리를 배울 수 있습니다: [Charticulator 튜토리얼](https://charticulator.com/tutorials/tutorial4.html).
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 버섯에 대해 알아보기 🍄
+
+버섯은 매우 흥미로운 생물입니다. 데이터를 가져와서 연구해 봅시다:
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+테이블이 출력되며 분석하기 좋은 데이터가 표시됩니다:
+
+| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
+| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
+| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
+| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban
+| Edible | Convex |Smooth | Green | No Bruises| None |Free | Crowded | Broad | Black | Tapering | Equal | Smooth | Smooth | White | White | Partial | White | One | Evanescent | Brown | Abundant | Grasses
+|Edible | Convex | Scaly | Yellow | Bruises | Almond | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Numerous | Grasses
+
+바로 알 수 있는 점은 모든 데이터가 텍스트 형식이라는 것입니다. 차트에서 사용할 수 있도록 데이터를 변환해야 합니다. 사실 대부분의 데이터는 객체로 표현되어 있습니다:
+
+```r
+names(mushrooms)
+```
+
+출력 결과는 다음과 같습니다:
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+이 데이터를 가져와 'class' 열을 카테고리로 변환하세요:
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+이제 버섯 데이터를 출력하면 독성/식용 클래스에 따라 카테고리로 그룹화된 것을 볼 수 있습니다:
+```r
+View(grouped)
+```
+
+| class | count |
+| --------- | --------- |
+| Edible | 4208 |
+| Poisonous| 3916 |
+
+이 테이블에 표시된 순서를 따라 클래스 카테고리 레이블을 생성하면 파이 차트를 만들 수 있습니다.
+
+## 파이!
+
+```r
+pie(grouped$count,grouped$class, main="Edible?")
+```
+짜잔, 이 두 가지 버섯 클래스에 따라 데이터 비율을 보여주는 파이 차트가 완성되었습니다. 레이블 배열을 생성할 때 순서를 올바르게 설정하는 것이 특히 중요하므로 반드시 확인하세요!
+
+
+
+## 도넛!
+
+파이 차트보다 시각적으로 더 흥미로운 도넛 차트는 가운데에 구멍이 있는 파이 차트입니다. 이 방법을 사용하여 데이터를 살펴봅시다.
+
+버섯이 자라는 다양한 서식지를 살펴보세요:
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+출력 결과는 다음과 같습니다:
+| habitat| count |
+| --------- | --------- |
+| Grasses | 2148 |
+| Leaves| 832 |
+| Meadows | 292 |
+| Paths| 1144 |
+| Urban | 368 |
+| Waste| 192 |
+| Wood| 3148 |
+
+여기서는 데이터를 서식지별로 그룹화하고 있습니다. 7개의 서식지가 나열되어 있으므로 이를 도넛 차트의 레이블로 사용하세요:
+
+```r
+library(ggplot2)
+library(webr)
+PieDonut(habitat, aes(habitat, count=count))
+```
+
+
+
+이 코드는 두 개의 라이브러리 - ggplot2와 webr을 사용합니다. webr 라이브러리의 PieDonut 함수를 사용하면 도넛 차트를 쉽게 만들 수 있습니다!
+
+R에서 도넛 차트는 ggplot2 라이브러리만 사용하여도 만들 수 있습니다. [여기](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html)에서 더 많은 정보를 확인하고 직접 시도해 보세요.
+
+이제 데이터를 그룹화하고 파이 또는 도넛으로 표시하는 방법을 알았으니 다른 유형의 차트를 탐구해 보세요. 와플 차트를 시도해 보세요. 이는 수량을 탐구하는 또 다른 방법입니다.
+
+## 와플!
+
+'와플' 유형 차트는 2D 배열의 사각형으로 수량을 시각화하는 또 다른 방법입니다. 이 데이터셋에서 버섯 갓 색상의 다양한 수량을 시각화해 보세요. 이를 위해 [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf)이라는 보조 라이브러리를 설치하고 이를 사용하여 시각화를 생성해야 합니다:
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+데이터의 일부를 선택하여 그룹화하세요:
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+레이블을 생성한 후 데이터를 그룹화하여 와플 차트를 만드세요:
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+와플 차트를 사용하면 이 버섯 데이터셋의 갓 색상 비율을 명확히 볼 수 있습니다. 흥미롭게도 녹색 갓을 가진 버섯이 많이 있습니다!
+
+
+
+이 강의에서는 비율을 시각화하는 세 가지 방법을 배웠습니다. 먼저 데이터를 카테고리로 그룹화한 후 데이터를 표시하는 가장 적합한 방법 - 파이, 도넛, 또는 와플을 결정해야 합니다. 모두 맛있고 사용자에게 데이터셋의 즉각적인 스냅샷을 제공합니다.
+
+## 🚀 도전 과제
+
+[Charticulator](https://charticulator.com)에서 이러한 맛있는 차트를 재현해 보세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 복습 및 자기 학습
+
+파이, 도넛, 또는 와플 차트를 언제 사용할지 명확하지 않을 때가 있습니다. 이 주제에 대한 다음 기사들을 읽어보세요:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+더 많은 정보를 찾기 위해 연구해 보세요.
+
+## 과제
+
+[Excel에서 시도해 보기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/ko/3-Data-Visualization/R/12-visualization-relationships/README.md
new file mode 100644
index 00000000..6f3f8141
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,175 @@
+
+# 관계 시각화: 꿀에 대한 모든 것 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|관계 시각화 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+자연을 중심으로 한 연구를 계속하며, 다양한 꿀 종류 간의 관계를 보여주는 흥미로운 시각화를 탐구해 봅시다. 이 데이터셋은 [미국 농무부](https://www.nass.usda.gov/About_NASS/index.php)에서 제공된 자료를 기반으로 합니다.
+
+약 600개의 항목으로 구성된 이 데이터셋은 미국 여러 주에서의 꿀 생산을 보여줍니다. 예를 들어, 주별로 꿀벌 군집 수, 군집당 생산량, 총 생산량, 재고, 파운드당 가격, 그리고 1998년부터 2012년까지 각 주에서 생산된 꿀의 가치를 연도별로 확인할 수 있습니다.
+
+특정 주의 연간 생산량과 해당 주의 꿀 가격 간의 관계를 시각화하면 흥미로울 것입니다. 또는 주별 꿀벌 군집당 생산량 간의 관계를 시각화할 수도 있습니다. 이 기간은 2006년에 처음 관찰된 '꿀벌 군집 붕괴 현상(CCD)'(http://npic.orst.edu/envir/ccd.html)을 포함하므로, 연구하기에 의미 있는 데이터셋입니다. 🐝
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+이번 강의에서는 이전에 사용했던 ggplot2를 활용하여 변수 간의 관계를 시각화할 수 있습니다. 특히 ggplot2의 `geom_point`와 `qplot` 함수는 산점도와 선 그래프를 빠르게 생성하여 '[통계적 관계](https://ggplot2.tidyverse.org/)'를 시각화하는 데 유용합니다. 이를 통해 데이터 과학자는 변수 간의 관계를 더 잘 이해할 수 있습니다.
+
+## 산점도
+
+산점도를 사용하여 주별로 꿀 가격이 연도별로 어떻게 변화했는지 보여주세요. ggplot2의 `ggplot`과 `geom_point`를 사용하면 주 데이터를 편리하게 그룹화하고 범주형 및 숫자 데이터를 모두 표시할 수 있습니다.
+
+먼저 데이터를 가져오고 Seaborn을 가져옵니다:
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+꿀 데이터에는 연도와 파운드당 가격을 포함하여 흥미로운 열이 여러 개 있습니다. 이를 미국 주별로 그룹화하여 탐색해 봅시다:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 |22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+꿀의 파운드당 가격과 미국 주 원산지 간의 관계를 보여주는 기본 산점도를 생성하세요. `y` 축을 충분히 높게 설정하여 모든 주를 표시하세요:
+
+```r
+library(ggplot2)
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(colour = "blue")
+```
+
+
+이제 같은 데이터를 꿀 색상 테마로 표시하여 연도별로 가격이 어떻게 변화했는지 보여주세요. 이를 위해 'scale_color_gradientn' 매개변수를 추가하여 연도별 변화를 표시할 수 있습니다:
+
+> ✅ [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn)에 대해 자세히 알아보세요 - 아름다운 무지개 색상 테마를 시도해 보세요!
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
+ geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
+```
+
+
+이 색상 테마 변경을 통해 꿀의 파운드당 가격이 연도별로 강한 상승 추세를 보이는 것을 명확히 확인할 수 있습니다. 실제로 데이터를 샘플링하여 확인해 보면(예: 애리조나 주) 연도별로 가격이 증가하는 패턴을 확인할 수 있으며, 예외는 거의 없습니다:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+색상 대신 크기를 사용하여 이 변화를 시각화하는 또 다른 방법이 있습니다. 색맹 사용자에게는 이 방법이 더 나을 수 있습니다. 점의 크기를 증가시켜 가격 상승을 표시하도록 시각화를 수정하세요:
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+점의 크기가 점차 증가하는 것을 확인할 수 있습니다.
+
+
+
+이것이 단순히 수요와 공급의 문제일까요? 기후 변화와 꿀벌 군집 붕괴와 같은 요인으로 인해 구매 가능한 꿀이 연도별로 줄어들고, 그 결과 가격이 상승하는 것일까요?
+
+이 데이터셋의 변수 간 상관관계를 발견하기 위해 선 그래프를 탐구해 봅시다.
+
+## 선 그래프
+
+질문: 꿀의 파운드당 가격이 연도별로 명확히 상승하고 있나요? 이를 가장 쉽게 확인할 수 있는 방법은 단일 선 그래프를 생성하는 것입니다:
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+답변: 네, 2003년을 중심으로 몇 가지 예외가 있습니다:
+
+
+
+질문: 그렇다면 2003년에 꿀 공급량에서도 급증이 있었나요? 연도별 총 생산량을 살펴보면 어떨까요?
+
+```python
+qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
+```
+
+
+
+답변: 그렇지 않습니다. 총 생산량을 보면, 특정 연도에는 실제로 증가한 것으로 보이지만, 일반적으로 꿀 생산량은 이 기간 동안 감소하는 추세입니다.
+
+질문: 그렇다면 2003년 꿀 가격 급등의 원인은 무엇일까요?
+
+이를 알아내기 위해 Facet Grid를 탐구해 봅시다.
+
+## Facet Grid
+
+Facet Grid는 데이터셋의 한 측면(예: '연도')을 선택하여 너무 많은 Facet이 생성되지 않도록 합니다. Seaborn은 선택한 x 및 y 좌표에 대해 각 Facet에 대해 플롯을 생성하여 비교를 쉽게 할 수 있습니다. 2003년이 이러한 비교에서 두드러지게 나타날까요?
+
+[ggplot2의 문서](https://ggplot2.tidyverse.org/reference/facet_wrap.html)에 따라 `facet_wrap`을 사용하여 Facet Grid를 생성하세요.
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+이 시각화에서는 꿀벌 군집당 생산량과 군집 수를 연도별로 나란히 비교할 수 있습니다. 열은 3으로 설정합니다:
+
+
+
+이 데이터셋에서는 연도별, 주별로 꿀벌 군집 수와 생산량에 관해 특별히 두드러지는 점은 없습니다. 이 두 변수 간 상관관계를 찾는 다른 방법이 있을까요?
+
+## 이중 선 그래프
+
+R의 `par`와 `plot` 함수를 사용하여 두 개의 선 그래프를 겹쳐서 표시하는 멀티라인 플롯을 시도해 보세요. x축에는 연도를 표시하고 두 개의 y축을 표시합니다. 꿀벌 군집당 생산량과 군집 수를 겹쳐서 표시합니다:
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+axis(side = 4, at = pretty(range(y2)))
+mtext("colony yield", side = 4, line = 3)
+```
+
+
+2003년을 중심으로 눈에 띄는 점은 없지만, 이 강의를 조금 더 긍정적인 노트로 마무리할 수 있습니다: 꿀벌 군집 수는 전반적으로 감소하고 있지만, 군집 수는 안정화되고 있으며 군집당 생산량은 감소하고 있습니다.
+
+꿀벌들, 힘내라!
+
+🐝❤️
+## 🚀 도전 과제
+
+이번 강의에서는 산점도와 선 그래프, Facet Grid를 포함한 다양한 시각화 방법에 대해 배웠습니다. 이전 강의에서 사용했던 다른 데이터셋을 사용하여 Facet Grid를 생성해 보세요. 이를 생성하는 데 걸리는 시간과 이러한 기술을 사용할 때 생성해야 할 Grid 수에 대해 신중해야 하는 점을 주목하세요.
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 복습 및 자기 학습
+
+선 그래프는 간단하거나 매우 복잡할 수 있습니다. [ggplot2 문서](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together)를 읽으며 선 그래프를 생성하는 다양한 방법에 대해 알아보세요. 이번 강의에서 생성한 선 그래프를 문서에 나와 있는 다른 방법으로 개선해 보세요.
+## 과제
+
+[꿀벌의 세계로 뛰어들기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/ko/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
new file mode 100644
index 00000000..9033456c
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# 의미 있는 시각화 만들기
+
+| ](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 의미 있는 시각화 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+> "데이터를 충분히 고문하면, 원하는 대답을 얻을 수 있다" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+데이터 과학자의 기본 기술 중 하나는 질문에 답을 제공할 수 있는 의미 있는 데이터 시각화를 만드는 능력입니다. 데이터를 시각화하기 전에, 이전 강의에서 했던 것처럼 데이터를 정리하고 준비해야 합니다. 그 후, 데이터를 가장 잘 표현할 방법을 결정할 수 있습니다.
+
+이번 강의에서는 다음을 검토합니다:
+
+1. 적합한 차트 유형 선택 방법
+2. 기만적인 차트 작성 방지 방법
+3. 색상 활용 방법
+4. 읽기 쉬운 차트 스타일링 방법
+5. 애니메이션 또는 3D 차트 솔루션 구축 방법
+6. 창의적인 시각화 구축 방법
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 적합한 차트 유형 선택하기
+
+이전 강의에서 Matplotlib과 Seaborn을 사용하여 다양한 흥미로운 데이터 시각화를 실험해 보았습니다. 일반적으로, 아래 표를 사용하여 질문에 적합한 [차트 유형](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)을 선택할 수 있습니다:
+
+| 필요한 작업 | 사용할 차트 유형 |
+| -------------------------- | ------------------------------- |
+| 시간에 따른 데이터 추세 표시 | 선형 차트 |
+| 카테고리 비교 | 막대, 원형 차트 |
+| 총합 비교 | 원형, 누적 막대 차트 |
+| 관계 표시 | 산점도, 선형, Facet, 이중 선형 차트 |
+| 분포 표시 | 산점도, 히스토그램, 박스 차트 |
+| 비율 표시 | 원형, 도넛, 와플 차트 |
+
+> ✅ 데이터 구성에 따라, 특정 차트를 지원하기 위해 텍스트 데이터를 숫자로 변환해야 할 수도 있습니다.
+
+## 기만 방지
+
+데이터 과학자가 올바른 데이터에 적합한 차트를 신중히 선택하더라도, 데이터를 특정 관점을 증명하기 위해 표시하는 과정에서 데이터 자체를 훼손하는 경우가 많습니다. 기만적인 차트와 인포그래픽의 예는 무수히 많습니다!
+
+[](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)을 수집합니다.
+
+기만적인 차트로 인해 눈이 얼마나 쉽게 속을 수 있는지 이해하는 것이 중요합니다. 데이터 과학자의 의도가 좋더라도, 너무 많은 카테고리를 보여주는 원형 차트와 같은 잘못된 차트 유형을 선택하면 기만적일 수 있습니다.
+
+## 색상
+
+위의 '플로리다 총기 폭력' 차트에서 보았듯이, 색상은 차트에 추가적인 의미를 제공할 수 있습니다. 특히 ggplot2와 RColorBrewer 같은 라이브러리를 사용하지 않고 설계된 차트에서는 더욱 그렇습니다. 수작업으로 차트를 만드는 경우, [색상 이론](https://colormatters.com/color-and-design/basic-color-theory)을 조금 공부해 보세요.
+
+> ✅ 차트를 설계할 때 접근성이 시각화의 중요한 측면임을 인지하세요. 일부 사용자는 색맹일 수 있습니다. 시각 장애가 있는 사용자에게도 차트가 잘 표시되는지 확인하세요.
+
+차트의 색상을 선택할 때 주의하세요. 색상은 의도하지 않은 의미를 전달할 수 있습니다. 위의 '키' 차트에서 '핑크 레이디'는 독특한 '여성적' 의미를 전달하며 차트 자체의 기괴함을 더합니다.
+
+[색상 의미](https://colormatters.com/color-symbolism/the-meanings-of-colors)는 세계 각지에서 다를 수 있으며, 색조에 따라 의미가 달라질 수 있습니다. 일반적으로 색상 의미는 다음과 같습니다:
+
+| 색상 | 의미 |
+| ------ | ------------------- |
+| 빨강 | 힘 |
+| 파랑 | 신뢰, 충성 |
+| 노랑 | 행복, 주의 |
+| 초록 | 생태, 행운, 질투 |
+| 보라 | 행복 |
+| 주황 | 활기 |
+
+맞춤 색상을 사용하여 차트를 만들어야 하는 경우, 차트가 접근 가능하며 선택한 색상이 전달하려는 의미와 일치하는지 확인하세요.
+
+## 읽기 쉬운 차트 스타일링
+
+차트는 읽기 쉽지 않으면 의미가 없습니다! 데이터를 잘 표현할 수 있도록 차트의 너비와 높이를 스타일링하는 데 시간을 투자하세요. 예를 들어, 50개 주를 모두 표시해야 하는 경우, 가능하면 Y축에 세로로 표시하여 가로 스크롤 차트를 피하세요.
+
+축에 레이블을 추가하고, 필요하면 범례를 제공하며, 데이터 이해를 돕기 위해 툴팁을 제공하세요.
+
+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의 'Bussed Out'은 NYC가 노숙자 문제를 해결하기 위해 사람들을 도시 밖으로 버스에 태워 보내는 방식을 보여주는 스크롤텔링 기사 형식과 Greensock 및 D3를 결합한 인터랙티브 경험입니다.
+
+
+
+> "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
+
+이 강의는 이러한 강력한 시각화 라이브러리를 깊이 있게 가르치기에는 부족하지만, Vue.js 앱에서 D3를 사용하여 '위험한 관계'라는 책을 애니메이션화된 소셜 네트워크로 시각화하는 라이브러리를 사용해 보세요.
+
+> "Les Liaisons Dangereuses"는 서간체 소설로, 일련의 편지로 구성된 소설입니다. 1782년 Choderlos de Laclos가 쓴 이 소설은 18세기 후반 프랑스 귀족의 두 주인공, Vicomte de Valmont와 Marquise de Merteuil의 악랄하고 도덕적으로 파탄난 사회적 책략을 다룹니다. 두 사람은 결국 파멸하지만, 많은 사회적 피해를 입힙니다. 소설은 복수나 단순히 문제를 일으키기 위해 그들의 주변 사람들에게 보내는 편지로 전개됩니다. 이 편지들을 시각화하여 이야기의 주요 인물을 시각적으로 발견하세요.
+
+Vue.js와 D3를 사용하여 네트워크 시각화를 표시하는 라이브러리를 사용하여 애니메이션화된 소셜 네트워크를 보여주는 웹 앱을 완성하세요. 앱이 실행되면 화면에서 노드를 끌어 데이터를 재배열할 수 있습니다.
+
+
+
+## 프로젝트: D3.js를 사용하여 네트워크를 보여주는 차트 만들기
+
+> 이 강의 폴더에는 참고용으로 완성된 프로젝트를 찾을 수 있는 `solution` 폴더가 포함되어 있습니다.
+
+1. 시작 폴더의 루트에 있는 README.md 파일의 지침을 따르세요. 프로젝트의 종속성을 설치하기 전에 NPM과 Node.js가 컴퓨터에서 실행 중인지 확인하세요.
+
+2. `starter/src` 폴더를 엽니다. 여기에는 소설의 모든 편지가 번호와 'to' 및 'from' 주석이 포함된 .json 파일이 있는 `assets` 폴더가 있습니다.
+
+3. `components/Nodes.vue`의 코드를 완성하여 시각화를 활성화하세요. `createLinks()`라는 메서드를 찾아 다음 중첩 루프를 추가하세요.
+
+.json 객체를 반복하여 편지의 'to'와 'from' 데이터를 캡처하고, 시각화 라이브러리가 이를 소비할 수 있도록 `links` 객체를 구축하세요:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+터미널에서 앱을 실행하세요 (npm run serve) 그리고 시각화를 즐기세요!
+
+## 🚀 도전 과제
+
+인터넷을 탐색하며 기만적인 시각화를 찾아보세요. 작성자가 사용자를 속이는 방법은 무엇이며, 의도적일까요? 시각화를 수정하여 올바르게 표시되도록 해보세요.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 복습 및 자기 학습
+
+기만적인 데이터 시각화에 대한 다음 기사들을 읽어보세요:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+역사적 자산과 유물을 위한 흥미로운 시각화를 살펴보세요:
+
+https://handbook.pubpub.org/
+
+애니메이션이 시각화를 어떻게 향상시킬 수 있는지에 대한 이 기사를 읽어보세요:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 과제
+
+[맞춤형 시각화 만들기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/3-Data-Visualization/README.md b/translations/ko/3-Data-Visualization/README.md
new file mode 100644
index 00000000..445fa2b4
--- /dev/null
+++ b/translations/ko/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# 시각화
+
+
+> 사진 제공: Jenna Lee on Unsplash
+
+데이터 시각화는 데이터 과학자에게 가장 중요한 작업 중 하나입니다. "이미지는 천 마디 말보다 강하다"는 말처럼, 시각화는 데이터의 스파이크, 이상치, 그룹화, 경향 등 흥미로운 부분을 식별하는 데 도움을 주며, 데이터가 전달하려는 이야기를 이해하는 데 큰 도움을 줍니다.
+
+이 다섯 가지 강의에서는 자연에서 얻은 데이터를 탐구하고 다양한 기법을 사용하여 흥미롭고 아름다운 시각화를 만들어 볼 것입니다.
+
+| 주제 번호 | 주제 | 연결된 강의 | 저자 |
+| :-----------: | :--: | :-----------: | :----: |
+| 1. | 수량 시각화 | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | 분포 시각화 | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | 비율 시각화 | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | 관계 시각화 | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | 의미 있는 시각화 만들기 | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### 크레딧
+
+이 시각화 강의는 🌸 [Jen Looper](https://twitter.com/jenlooper), [Jasleen Sondhi](https://github.com/jasleen101010), [Vidushi Gupta](https://github.com/Vidushi-Gupta)가 작성했습니다.
+
+🍯 미국 꿀 생산 데이터는 Jessica Li의 [Kaggle](https://www.kaggle.com/jessicali9530/honey-production) 프로젝트에서 가져왔습니다. 이 [데이터](https://usda.library.cornell.edu/concern/publications/rn301137d)는 [미국 농무부](https://www.nass.usda.gov/About_NASS/index.php)에서 제공한 자료를 기반으로 합니다.
+
+🍄 버섯 데이터는 Hatteras Dunton이 수정한 [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset)에서 가져왔습니다. 이 데이터셋은 Agaricus와 Lepiota 계열의 23종의 주름버섯에 해당하는 가상의 샘플 설명을 포함하고 있습니다. 데이터는 The Audubon Society Field Guide to North American Mushrooms (1981)에서 발췌되었으며, 1987년 UCI ML 27에 기증되었습니다.
+
+🦆 미네소타 새 데이터는 [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds)에서 가져왔으며, Hannah Collins가 [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota)에서 스크랩한 자료입니다.
+
+이 모든 데이터셋은 [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/) 라이선스로 제공됩니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/ko/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..83356cae
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,121 @@
+
+# 데이터 과학 생애 주기 소개
+
+| ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| 데이터 과학 생애 주기 소개 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## [강의 전 퀴즈](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+지금쯤이면 데이터 과학이 하나의 과정이라는 것을 깨달았을 것입니다. 이 과정은 다음의 5단계로 나눌 수 있습니다:
+
+- 데이터 수집
+- 데이터 처리
+- 데이터 분석
+- 결과 전달
+- 유지 관리
+
+이번 강의는 생애 주기의 3가지 부분인 데이터 수집, 처리, 유지 관리에 초점을 맞춥니다.
+
+
+> 사진 출처: [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
+
+## 데이터 수집
+
+생애 주기의 첫 번째 단계는 매우 중요합니다. 이후 단계들이 이 단계에 의존하기 때문입니다. 이 단계는 사실상 두 가지 단계가 결합된 것으로, 데이터를 획득하고 해결해야 할 목적과 문제를 정의하는 것입니다.
+프로젝트의 목표를 정의하려면 문제나 질문에 대한 깊은 맥락이 필요합니다. 먼저, 문제 해결이 필요한 사람들을 식별하고 획득해야 합니다. 이들은 비즈니스의 이해관계자나 프로젝트의 후원자일 수 있으며, 이 프로젝트로부터 누가 또는 무엇이 혜택을 받을지, 그리고 왜 필요한지를 파악하는 데 도움을 줄 수 있습니다. 잘 정의된 목표는 측정 가능하고 정량화할 수 있어야 하며, 이를 통해 수용 가능한 결과를 정의할 수 있습니다.
+
+데이터 과학자가 할 수 있는 질문:
+- 이 문제가 이전에 접근된 적이 있는가? 어떤 결과가 발견되었는가?
+- 목적과 목표가 관련된 모든 사람에게 명확히 이해되었는가?
+- 모호함이 있는가? 이를 어떻게 줄일 수 있는가?
+- 제약 조건은 무엇인가?
+- 최종 결과는 어떤 모습일 가능성이 있는가?
+- 사용할 수 있는 자원(시간, 인력, 계산 능력)은 얼마나 되는가?
+
+다음 단계는 필요한 데이터를 식별하고 수집한 후, 이를 탐색하는 것입니다. 이 데이터 획득 단계에서 데이터 과학자는 데이터의 양과 질을 평가해야 합니다. 이를 위해 데이터를 탐색하여 획득한 데이터가 원하는 결과를 도출하는 데 적합한지 확인해야 합니다.
+
+데이터에 대해 데이터 과학자가 할 수 있는 질문:
+- 이미 사용할 수 있는 데이터는 무엇인가?
+- 이 데이터의 소유자는 누구인가?
+- 개인정보 보호 문제는 무엇인가?
+- 이 문제를 해결하기에 충분한 데이터가 있는가?
+- 이 문제에 대해 데이터의 품질이 적합한가?
+- 이 데이터를 통해 추가 정보를 발견하면 목표를 변경하거나 재정의해야 하는가?
+
+## 데이터 처리
+
+생애 주기의 처리 단계는 데이터에서 패턴을 발견하고 모델링하는 데 초점을 맞춥니다. 처리 단계에서 사용되는 일부 기술은 통계적 방법을 활용하여 패턴을 발견합니다. 일반적으로 대규모 데이터 세트에서 이러한 작업은 사람이 수행하기에는 번거롭기 때문에 컴퓨터를 사용하여 작업 속도를 높입니다. 이 단계는 데이터 과학과 머신 러닝이 교차하는 지점이기도 합니다. 첫 번째 강의에서 배운 것처럼, 머신 러닝은 데이터를 이해하기 위해 모델을 구축하는 과정입니다. 모델은 데이터 내 변수 간의 관계를 나타내며 결과를 예측하는 데 도움을 줍니다.
+
+이 단계에서 사용되는 일반적인 기술은 ML for Beginners 커리큘럼에서 다룹니다. 아래 링크를 통해 더 자세히 알아보세요:
+
+- [분류](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification): 데이터를 카테고리로 분류하여 효율적으로 활용.
+- [군집화](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering): 데이터를 유사한 그룹으로 묶음.
+- [회귀](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression): 변수 간의 관계를 파악하여 값을 예측하거나 전망.
+
+## 유지 관리
+
+생애 주기 다이어그램에서 유지 관리가 데이터 수집과 처리 사이에 위치한다는 것을 알 수 있습니다. 유지 관리는 프로젝트 과정에서 데이터를 관리, 저장, 보호하는 지속적인 과정이며, 프로젝트 전체에서 고려되어야 합니다.
+
+### 데이터 저장
+
+데이터를 어떻게, 어디에 저장할지에 대한 고려는 저장 비용뿐만 아니라 데이터 접근 속도에도 영향을 미칠 수 있습니다. 이러한 결정은 데이터 과학자 혼자 내리는 것이 아닐 가능성이 높지만, 데이터가 저장된 방식에 따라 작업 방식을 선택해야 할 수도 있습니다.
+
+현대 데이터 저장 시스템의 몇 가지 측면은 다음과 같습니다:
+
+**온프레미스 vs 오프프레미스 vs 퍼블릭 또는 프라이빗 클라우드**
+
+온프레미스는 데이터를 자체 장비에 호스팅하고 관리하는 것을 의미하며, 예를 들어 서버와 하드 드라이브를 소유하여 데이터를 저장하는 방식입니다. 반면 오프프레미스는 소유하지 않은 장비, 예를 들어 데이터 센터를 사용하는 것을 의미합니다. 퍼블릭 클라우드는 데이터가 정확히 어디에 저장되는지 알 필요가 없는 인기 있는 선택지이며, 퍼블릭은 클라우드를 사용하는 모든 사용자에게 공유되는 통합된 기본 인프라를 의미합니다. 일부 조직은 엄격한 보안 정책을 가지고 있어 데이터가 호스팅되는 장비에 완전한 접근 권한을 요구하며, 자체 클라우드 서비스를 제공하는 프라이빗 클라우드를 사용할 수 있습니다. 클라우드에서의 데이터에 대한 자세한 내용은 [추후 강의](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud)에서 배울 수 있습니다.
+
+**콜드 데이터 vs 핫 데이터**
+
+모델을 훈련할 때 더 많은 훈련 데이터가 필요할 수 있습니다. 모델이 만족스러운 상태라면, 모델이 목적을 수행하기 위해 더 많은 데이터가 도착할 것입니다. 어떤 경우든 데이터를 더 많이 축적할수록 저장 및 접근 비용이 증가합니다. 자주 사용되지 않는 데이터를 콜드 데이터라고 하며, 자주 접근하는 핫 데이터와 분리하면 하드웨어 또는 소프트웨어 서비스를 통해 더 저렴한 데이터 저장 옵션을 제공할 수 있습니다. 콜드 데이터를 접근해야 할 경우, 핫 데이터에 비해 검색 시간이 조금 더 걸릴 수 있습니다.
+
+### 데이터 관리
+
+데이터를 작업하면서 일부 데이터를 정리해야 할 필요성을 발견할 수 있습니다. 이는 [데이터 준비](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation) 강의에서 다룬 기술을 사용하여 정확한 모델을 구축하기 위함입니다. 새로운 데이터가 도착하면 동일한 기술을 적용하여 데이터 품질의 일관성을 유지해야 합니다. 일부 프로젝트는 데이터 정리, 집계, 압축을 자동화하는 도구를 사용하여 데이터를 최종 위치로 이동하기 전에 처리할 수 있습니다. Azure Data Factory는 이러한 도구의 예입니다.
+
+### 데이터 보안
+
+데이터를 안전하게 보호하는 주요 목표 중 하나는 데이터를 작업하는 사람들이 수집된 데이터와 그 사용 맥락을 통제할 수 있도록 하는 것입니다. 데이터를 안전하게 유지하려면 데이터 접근을 필요한 사람들로 제한하고, 지역 법률과 규정을 준수하며, [윤리 강의](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics)에서 다룬 윤리적 기준을 유지해야 합니다.
+
+팀이 보안을 염두에 두고 할 수 있는 작업:
+- 모든 데이터가 암호화되었는지 확인
+- 고객에게 데이터 사용 방식에 대한 정보 제공
+- 프로젝트를 떠난 사람들의 데이터 접근 권한 제거
+- 특정 프로젝트 구성원만 데이터 수정 가능하도록 제한
+
+## 🚀 도전 과제
+
+데이터 과학 생애 주기에는 다양한 버전이 있으며, 각 단계는 다른 이름과 단계 수를 가질 수 있지만 이 강의에서 언급된 동일한 과정을 포함합니다.
+
+[Team Data Science Process 생애 주기](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle)와 [데이터 마이닝을 위한 산업 표준 프로세스](https://www.datascience-pm.com/crisp-dm-2/)를 탐색하세요. 두 가지 사이의 3가지 유사점과 차이점을 작성하세요.
+
+|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## 복습 및 자기 학습
+
+데이터 과학 생애 주기를 적용하는 데는 여러 역할과 작업이 필요하며, 일부는 각 단계의 특정 부분에 집중할 수 있습니다. Team Data Science Process는 프로젝트에서 누군가가 맡을 수 있는 역할과 작업 유형을 설명하는 몇 가지 자료를 제공합니다.
+
+* [Team Data Science Process 역할과 작업](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [데이터 과학 작업 실행: 탐색, 모델링, 배포](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## 과제
+
+[데이터셋 평가하기](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/ko/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..8bad9845
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,34 @@
+
+# 데이터셋 평가하기
+
+한 고객이 뉴욕시에서 택시 고객의 계절별 소비 습관을 조사하는 데 도움을 요청했습니다.
+
+그들은 다음 질문에 대한 답을 알고 싶어합니다: **뉴욕시의 옐로우 택시 승객은 겨울과 여름 중 어느 계절에 운전사에게 더 많은 팁을 주는가?**
+
+귀하의 팀은 데이터 과학 생명주기의 [캡처 단계](Readme.md#Capturing)에 있으며, 귀하는 데이터셋을 처리하는 책임을 맡고 있습니다. 탐색을 위해 노트북과 [데이터](../../../../data/taxi.csv)가 제공되었습니다.
+
+이 디렉터리에는 [노트북](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb)이 있으며, 이는 [뉴욕시 택시 및 리무진 위원회](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)의 옐로우 택시 여행 데이터를 Python을 사용하여 로드합니다. 택시 데이터 파일은 텍스트 편집기나 Excel과 같은 스프레드시트 소프트웨어에서도 열 수 있습니다.
+
+## 지침
+
+- 이 데이터셋의 데이터가 질문에 답하는 데 도움이 될 수 있는지 평가하세요.
+- [뉴욕시 오픈 데이터 카탈로그](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93)를 탐색하여 고객의 질문에 답하는 데 잠재적으로 도움이 될 추가 데이터셋을 식별하세요.
+- 문제를 더 잘 이해하고 명확히 하기 위해 고객에게 물어볼 3가지 질문을 작성하세요.
+
+데이터에 대한 추가 정보를 얻으려면 [데이터셋 사전](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)과 [사용자 가이드](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)를 참조하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/ko/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..be196298
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,58 @@
+
+# 데이터 과학 생명주기: 분석하기
+
+| ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| 데이터 과학 생명주기: 분석하기 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## 강의 전 퀴즈
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+데이터 생명주기에서 분석 단계는 데이터가 제안된 질문에 답하거나 특정 문제를 해결할 수 있는지 확인하는 과정입니다. 이 단계에서는 모델이 이러한 질문과 문제를 올바르게 다루고 있는지 확인하는 데 초점을 맞출 수도 있습니다. 이번 강의는 탐색적 데이터 분석(EDA)에 중점을 두며, 이는 데이터의 특징과 관계를 정의하고 모델링을 준비하는 데 사용할 수 있는 기술입니다.
+
+우리는 [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1)의 예제 데이터셋을 사용하여 Python과 Pandas 라이브러리를 활용하는 방법을 보여줄 것입니다. 이 데이터셋은 이메일에서 발견되는 일반적인 단어의 빈도를 포함하며, 이메일의 출처는 익명으로 처리됩니다. 이 디렉토리의 [노트북](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)을 사용하여 따라오세요.
+
+## 탐색적 데이터 분석
+
+생명주기의 캡처 단계에서는 데이터가 수집되고 문제와 질문이 정의됩니다. 하지만 데이터가 최종 결과를 지원할 수 있는지 어떻게 알 수 있을까요? 데이터 과학자는 데이터를 획득할 때 다음과 같은 질문을 할 수 있습니다:
+- 이 문제를 해결하기에 충분한 데이터가 있는가?
+- 이 문제에 적합한 품질의 데이터인가?
+- 데이터를 통해 추가 정보를 발견하면 목표를 변경하거나 재정의해야 하는가?
+
+탐색적 데이터 분석은 데이터를 이해하는 과정이며, 이러한 질문에 답하고 데이터셋을 다루는 데 있어 도전 과제를 식별하는 데 사용할 수 있습니다. 이제 이를 달성하기 위해 사용되는 몇 가지 기술에 대해 알아보겠습니다.
+
+## 데이터 프로파일링, 기술 통계, 그리고 Pandas
+이 문제를 해결하기에 충분한 데이터가 있는지 어떻게 평가할 수 있을까요? 데이터 프로파일링은 기술 통계 기법을 통해 데이터셋에 대한 전반적인 정보를 요약하고 수집할 수 있습니다. 데이터 프로파일링은 우리가 사용할 수 있는 데이터를 이해하는 데 도움을 주며, 기술 통계는 얼마나 많은 데이터가 있는지 이해하는 데 도움을 줍니다.
+
+이전 강의들에서 우리는 Pandas의 [`describe()` 함수](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html)를 사용하여 기술 통계를 제공했습니다. 이 함수는 수치 데이터에 대해 개수, 최대값 및 최소값, 평균, 표준 편차, 분위수를 제공합니다. `describe()` 함수와 같은 기술 통계를 사용하면 데이터가 얼마나 있는지 평가하고 추가 데이터가 필요한지 판단할 수 있습니다.
+
+## 샘플링과 쿼리
+대규모 데이터셋을 모두 탐색하는 것은 매우 시간이 많이 걸리는 작업이며, 일반적으로 컴퓨터가 처리하는 작업입니다. 하지만 샘플링은 데이터를 이해하는 데 유용한 도구로, 데이터셋에 무엇이 포함되어 있는지와 그것이 무엇을 나타내는지 더 잘 이해할 수 있게 해줍니다. 샘플을 통해 확률과 통계를 적용하여 데이터에 대한 일반적인 결론을 도출할 수 있습니다. 샘플링해야 할 데이터의 양에 대한 명확한 규칙은 없지만, 더 많은 데이터를 샘플링할수록 데이터에 대한 일반화가 더 정확해질 수 있습니다.
+
+Pandas에는 [`sample()` 함수](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html)가 포함되어 있으며, 원하는 랜덤 샘플의 개수를 인수로 전달하여 사용할 수 있습니다.
+
+데이터에 대한 일반적인 쿼리는 데이터에 대한 질문과 이론을 답하는 데 도움을 줄 수 있습니다. 샘플링과는 달리, 쿼리는 특정 데이터 부분에 집중하여 질문에 대한 답을 얻을 수 있도록 합니다. Pandas 라이브러리의 [`query()` 함수](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html)는 열을 선택하고 행을 통해 간단한 답변을 얻을 수 있도록 합니다.
+
+## 시각화를 통한 탐색
+데이터가 완전히 정리되고 분석될 때까지 기다릴 필요 없이 시각화를 시작할 수 있습니다. 사실, 탐색 중에 시각적 표현을 가지는 것은 데이터의 패턴, 관계, 문제를 식별하는 데 도움을 줄 수 있습니다. 또한, 시각화는 데이터를 관리하지 않는 사람들과 소통할 수 있는 수단을 제공하며, 캡처 단계에서 다루지 않았던 추가 질문을 공유하고 명확히 할 기회를 제공합니다. [시각화 섹션](../../../../../../../../../3-Data-Visualization)을 참조하여 시각적으로 탐색하는 인기 있는 방법에 대해 더 알아보세요.
+
+## 불일치 식별을 위한 탐색
+이번 강의의 모든 주제는 누락되거나 불일치한 값을 식별하는 데 도움을 줄 수 있지만, Pandas는 이를 확인할 수 있는 함수를 제공합니다. [isna() 또는 isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html)은 누락된 값을 확인할 수 있습니다. 데이터 내에서 이러한 값이 왜 그렇게 되었는지 탐색하는 것은 매우 중요합니다. 이는 [해결을 위한 조치를 결정하는 데](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb) 도움을 줄 수 있습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## 과제
+
+[답을 찾기 위한 탐색](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/ko/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..23ca3251
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,34 @@
+
+# 답을 탐구하기
+
+이 문서는 이전 수업의 [과제](../14-Introduction/assignment.md)에서 이어지는 내용으로, 데이터 세트를 간단히 살펴본 바 있습니다. 이제 데이터를 더 깊이 분석해 보겠습니다.
+
+다시 한번, 클라이언트가 알고 싶어하는 질문은 다음과 같습니다: **뉴욕시의 옐로우 택시 승객들은 겨울과 여름 중 어느 계절에 운전사에게 더 많은 팁을 주는가?**
+
+여러분의 팀은 데이터 과학 생명주기의 [분석](README.md) 단계에 있으며, 데이터 세트에 대한 탐색적 데이터 분석(EDA)을 수행하는 책임이 있습니다. 2019년 1월과 7월의 200건의 택시 거래 데이터를 포함한 노트북과 데이터 세트가 제공되었습니다.
+
+## 지침
+
+이 디렉터리에는 [노트북](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb)과 [택시 및 리무진 위원회](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)의 데이터가 포함되어 있습니다. 데이터에 대한 추가 정보를 얻으려면 [데이터 세트 사전](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)과 [사용자 가이드](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)를 참조하세요.
+
+이 수업에서 배운 몇 가지 기법을 사용하여 노트북에서 직접 EDA를 수행하세요(필요하면 셀을 추가해도 좋습니다). 그리고 다음 질문에 답하세요:
+
+- 팁 금액에 영향을 줄 수 있는 데이터의 다른 요인은 무엇인가요?
+- 클라이언트의 질문에 답하는 데 필요하지 않을 가능성이 높은 열은 무엇인가요?
+- 지금까지 제공된 내용을 바탕으로, 데이터가 계절별 팁 행동에 대한 증거를 제공한다고 보이나요?
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | ---
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/16-communication/README.md b/translations/ko/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..cd7001af
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,224 @@
+
+# 데이터 과학 생애 주기: 커뮤니케이션
+
+|](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| 데이터 과학 생애 주기: 커뮤니케이션 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+위의 강의 전 퀴즈를 통해 앞으로 배울 내용을 미리 점검해 보세요!
+
+# 소개
+
+### 커뮤니케이션이란 무엇인가?
+이 강의를 시작하며, 커뮤니케이션의 정의를 살펴보겠습니다. **커뮤니케이션이란 정보를 전달하거나 교환하는 것을 의미합니다.** 정보는 아이디어, 생각, 감정, 메시지, 암호화된 신호, 데이터 등 **_발신자_**(정보를 보내는 사람)가 **_수신자_**(정보를 받는 사람)에게 이해시키고자 하는 모든 것을 포함합니다. 이 강의에서는 발신자를 커뮤니케이터, 수신자를 청중으로 지칭하겠습니다.
+
+### 데이터 커뮤니케이션과 스토리텔링
+커뮤니케이션의 목적은 정보를 전달하거나 교환하는 것임을 이해합니다. 하지만 데이터를 커뮤니케이션할 때는 단순히 숫자를 전달하는 데 그쳐서는 안 됩니다. 데이터를 기반으로 한 이야기를 전달하는 것이 목표가 되어야 합니다. 효과적인 데이터 커뮤니케이션과 스토리텔링은 밀접하게 연결되어 있습니다. 청중은 단순한 숫자보다 이야기를 더 잘 기억합니다. 이 강의 후반부에서는 스토리텔링을 활용해 데이터를 더 효과적으로 전달하는 방법을 살펴보겠습니다.
+
+### 커뮤니케이션의 유형
+이 강의에서는 일방향 커뮤니케이션과 양방향 커뮤니케이션이라는 두 가지 유형의 커뮤니케이션을 다룹니다.
+
+**일방향 커뮤니케이션**은 발신자가 수신자에게 정보를 전달하지만, 피드백이나 응답이 없는 경우를 말합니다. 우리는 매일 일방향 커뮤니케이션의 예를 접합니다. 대량 이메일, 뉴스 보도, TV 광고 등이 그 예입니다. 이러한 경우 발신자는 정보 교환을 목표로 하지 않고, 단순히 정보를 전달하려고 합니다.
+
+**양방향 커뮤니케이션**은 모든 관련 당사자가 발신자와 수신자의 역할을 모두 수행하는 경우를 말합니다. 발신자가 정보를 전달하면 수신자가 피드백이나 응답을 제공합니다. 양방향 커뮤니케이션은 우리가 일반적으로 생각하는 대화의 형태입니다. 대면 대화, 전화 통화, 소셜 미디어, 문자 메시지 등이 이에 해당합니다.
+
+데이터를 커뮤니케이션할 때는 일방향 커뮤니케이션(예: 컨퍼런스 발표나 대규모 그룹 발표)과 양방향 커뮤니케이션(예: 소수의 이해관계자를 설득하거나 팀원을 설득하는 경우)을 모두 사용할 수 있습니다.
+
+# 효과적인 커뮤니케이션
+
+### 커뮤니케이터로서의 책임
+커뮤니케이션할 때, 수신자가 당신이 전달하고자 하는 정보를 정확히 이해하도록 하는 것이 당신의 책임입니다. 데이터를 커뮤니케이션할 때는 단순히 숫자를 전달하는 것이 아니라, 데이터를 기반으로 한 이야기를 전달해야 합니다. 훌륭한 데이터 커뮤니케이터는 훌륭한 스토리텔러입니다.
+
+데이터로 이야기를 전달하려면 어떻게 해야 할까요? 방법은 무궁무진하지만, 이 강의에서는 아래 6가지 방법을 다룹니다.
+1. 청중, 채널, 커뮤니케이션 방법 이해하기
+2. 끝을 염두에 두고 시작하기
+3. 실제 이야기처럼 접근하기
+4. 의미 있는 단어와 문구 사용하기
+5. 감정 활용하기
+
+각 전략은 아래에서 자세히 설명됩니다.
+
+### 1. 청중, 채널, 커뮤니케이션 방법 이해하기
+가족과 대화할 때와 친구와 대화할 때 사용하는 방식이 다를 것입니다. 청중이 이해하기 쉬운 단어와 문구를 사용하는 것이 중요합니다. 데이터를 커뮤니케이션할 때도 같은 접근 방식을 취해야 합니다. 당신이 누구에게 커뮤니케이션하고 있는지, 그들의 목표와 상황을 고려하세요.
+
+대부분의 청중을 아래의 카테고리로 분류할 수 있습니다. _하버드 비즈니스 리뷰_의 “[데이터로 이야기하는 방법](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)”에서 Dell의 전략가 Jim Stikeleather는 청중을 다섯 가지 카테고리로 나눕니다.
+
+- **초보자**: 주제에 처음 노출되지만, 지나치게 단순화된 설명은 원하지 않음
+- **일반인**: 주제에 대해 알고 있지만, 개요와 주요 주제를 이해하고자 함
+- **관리자**: 세부 사항과 상호 관계를 포함한 실행 가능한 이해를 원함
+- **전문가**: 이야기보다는 탐구와 발견에 중점을 두며, 세부 사항을 선호함
+- **경영진**: 가중된 확률의 중요성과 결론만을 빠르게 파악하고자 함
+
+이 카테고리는 데이터를 청중에게 어떻게 제시할지에 대한 방향을 제공합니다.
+
+또한, 청중과 소통하는 채널도 고려해야 합니다. 메모나 이메일을 작성하는 것과 회의나 컨퍼런스에서 발표하는 것은 접근 방식이 다를 수 있습니다.
+
+청중을 이해하는 것 외에도, 일방향 커뮤니케이션과 양방향 커뮤니케이션 중 어떤 방식을 사용할지 아는 것도 중요합니다.
+
+만약 초보자 청중이 대부분이고 일방향 커뮤니케이션을 사용하는 경우, 먼저 청중을 교육하고 적절한 맥락을 제공해야 합니다. 그런 다음 데이터를 제시하고, 데이터의 의미와 중요성을 설명해야 합니다. 이 경우, 청중이 직접 질문할 수 없기 때문에 명확성을 강조하는 것이 중요합니다.
+
+반면, 관리자 청중이 대부분이고 양방향 커뮤니케이션을 사용하는 경우, 청중을 교육하거나 많은 맥락을 제공할 필요가 없을 수 있습니다. 데이터를 바로 논의하고 그 중요성을 설명할 수 있습니다. 하지만 이 경우, 발표의 타이밍과 흐름을 제어하는 데 집중해야 합니다. 양방향 커뮤니케이션에서는 질문이 나올 수 있으며, 이는 당신이 전달하려는 이야기와 관련 없는 방향으로 논의를 이끌 수 있습니다. 이런 상황에서는 논의를 다시 이야기의 핵심으로 돌리는 조치를 취할 수 있습니다.
+
+### 2. 끝을 염두에 두고 시작하기
+끝을 염두에 두고 시작한다는 것은, 커뮤니케이션을 시작하기 전에 청중이 얻기를 원하는 주요 메시지를 명확히 이해하는 것을 의미합니다. 청중이 얻기를 원하는 메시지를 미리 생각하면, 청중이 따라갈 수 있는 이야기를 구성하는 데 도움이 됩니다. 끝을 염두에 두고 시작하는 것은 일방향 커뮤니케이션과 양방향 커뮤니케이션 모두에 적합합니다.
+
+어떻게 끝을 염두에 두고 시작할 수 있을까요? 데이터를 커뮤니케이션하기 전에, 주요 메시지를 적어보세요. 그런 다음, 이야기를 준비하는 모든 단계에서 "이것이 내가 전달하려는 이야기와 어떻게 연결되는가?"를 자문하세요.
+
+주의할 점 – 끝을 염두에 두고 시작하는 것이 이상적이지만, 의도한 메시지를 뒷받침하는 데이터만 전달해서는 안 됩니다. 이를 체리피킹(Cherry-Picking)이라고 하며, 커뮤니케이터가 자신의 주장을 뒷받침하는 데이터만 전달하고 다른 데이터를 무시하는 행위를 말합니다.
+
+수집한 모든 데이터가 의도한 메시지를 명확히 뒷받침한다면 좋습니다. 하지만 수집한 데이터 중 일부가 메시지를 뒷받침하지 않거나, 심지어 반대되는 주장을 뒷받침하는 경우에도 그 데이터를 전달해야 합니다. 이런 경우, 청중에게 솔직하게 이야기하고, 모든 데이터가 메시지를 뒷받침하지 않더라도 왜 그 이야기를 고수하는지 설명하세요.
+
+### 3. 실제 이야기처럼 접근하기
+전통적인 이야기는 5단계로 이루어집니다. 이를 노출, 상승 행동, 절정, 하강 행동, 결말로 표현하거나, 더 쉽게 기억할 수 있는 맥락, 갈등, 절정, 마무리, 결론으로 표현하기도 합니다. 데이터를 커뮤니케이션하고 이야기를 전달할 때도 비슷한 접근 방식을 취할 수 있습니다.
+
+먼저 맥락을 제공하여 청중이 같은 페이지에 있도록 합니다. 그런 다음 갈등을 소개합니다. 왜 데이터를 수집해야 했나요? 어떤 문제를 해결하려고 했나요? 그 후 절정에 도달합니다. 데이터는 무엇인가요? 데이터는 무엇을 의미하나요? 데이터가 제시하는 해결책은 무엇인가요? 그런 다음 마무리 단계에서 문제와 제안된 해결책을 다시 강조합니다. 마지막으로 결론 단계에서 주요 메시지를 요약하고 팀이 취해야 할 다음 단계를 제안합니다.
+
+### 4. 의미 있는 단어와 문구 사용하기
+만약 제가 "우리 사용자가 플랫폼에 온보딩하는 데 시간이 오래 걸립니다"라고 말했다면, "오래"라는 시간이 얼마나 될 것 같나요? 한 시간? 일주일? 알기 어렵습니다. 만약 제가 같은 말을 청중에게 했다면, 청중 각자가 "오래"라는 시간을 다르게 해석할 수 있습니다.
+
+대신, "우리 사용자가 플랫폼에 가입하고 온보딩하는 데 평균 3분이 걸립니다"라고 말했다면 어떨까요?
+
+이 메시지는 훨씬 더 명확합니다. 데이터를 커뮤니케이션할 때, 청중이 나와 같은 방식으로 생각한다고 가정하기 쉽습니다. 하지만 항상 그런 것은 아닙니다. 데이터와 그 의미를 명확히 전달하는 것은 커뮤니케이터로서의 책임입니다. 데이터나 이야기가 명확하지 않으면, 청중이 따라가기 어려워지고 주요 메시지를 이해할 가능성이 낮아집니다.
+
+의미 있는 단어와 문구를 사용하면 데이터를 더 명확히 전달할 수 있습니다. 아래는 몇 가지 예입니다.
+
+- 우리는 *인상적인* 한 해를 보냈습니다!
+ - 한 사람은 인상적이라는 것이 2% - 3%의 매출 증가를 의미한다고 생각할 수 있고, 다른 사람은 50% - 60%의 증가를 의미한다고 생각할 수 있습니다.
+- 우리 사용자의 성공률이 *극적으로* 증가했습니다.
+ - 극적인 증가가 얼마나 큰 증가를 의미하나요?
+- 이 작업은 *상당한* 노력이 필요합니다.
+ - 얼마나 많은 노력이 상당한 노력을 의미하나요?
+
+모호한 단어는 더 많은 데이터가 나올 것을 암시하거나, 이야기를 요약하는 데 유용할 수 있습니다. 하지만 발표의 모든 부분이 청중에게 명확하도록 하는 것을 고려하세요.
+
+### 5. 감정 활용하기
+감정은 스토리텔링에서 핵심입니다. 데이터를 활용한 스토리텔링에서는 더욱 중요합니다. 데이터를 커뮤니케이션할 때, 모든 초점은 청중이 얻기를 원하는 메시지에 맞춰져 있습니다. 감정을 불러일으키면 청중이 공감하고 행동에 나설 가능성이 높아집니다. 감정은 또한 청중이 메시지를 기억할 가능성을 높입니다.
+
+TV 광고에서 이런 경험을 한 적이 있을 것입니다. 어떤 광고는 매우 침울한 분위기를 조성하여 청중이 데이터를 더 강렬하게 느끼도록 합니다. 반면, 어떤 광고는 매우 밝고 행복한 분위기를 조성하여 데이터를 긍정적인 감정과 연관 짓게 합니다.
+
+데이터를 커뮤니케이션할 때 감정을 활용하는 방법은 다음과 같습니다.
+
+- **증언과 개인적인 이야기 사용하기**
+ - 데이터를 수집할 때, 정량적 데이터와 정성적 데이터를 모두 수집하고, 커뮤니케이션할 때 두 가지 데이터를 통합하세요. 데이터가 주로 정량적이라면, 개인의 경험을 통해 데이터를 보완하세요.
+- **이미지 사용하기**
+ - 이미지는 청중이 특정 상황에 자신을 대입하도록 돕습니다. 이미지를 사용하면 청중이 데이터에 대해 느껴야 할 감정으로 이끌 수 있습니다.
+- **색상 사용하기**
+ - 색상은 다양한 감정을 불러일으킵니다. 일반적으로 사용되는 색상과 그에 따른 감정은 다음과 같습니다. 단, 색상은 문화에 따라 다른 의미를 가질 수 있다는 점을 유의하세요.
+ - 파란색: 평화와 신뢰
+ - 녹색: 자연과 환경
+ - 빨간색: 열정과 흥분
+ - 노란색: 낙관과 행복
+
+# 커뮤니케이션 사례 연구
+에머슨은 모바일 앱의 제품 관리자입니다. 에머슨은 고객이 주말에 불만과 버그 보고를 42% 더 많이 제출한다는 것을 발견했습니다. 또한, 불만이 접수된 후 48시간 이내에 응답을 받지 못한 고객은 앱 스토어에서 1점 또는 2점을 줄 가능성이 32% 더 높다는 것도 알게 되었습니다.
+
+조사를 마친 후, 에머슨은 문제를 해결할 수 있는 몇 가지 솔루션을 마련했습니다. 에머슨은 데이터를 전달하고 제안된 솔루션을 설명하기 위해 회사의 주요 리더 3명과 30분간의 회의를 설정했습니다.
+
+이 회의에서 에머슨의 목표는 아래 두 가지 솔루션이 앱의 평점을 개선할 수 있다는 것을 회사 리더들이 이해하도록 하는 것입니다. 이는 더 높은 수익으로 이어질 가능성이 있습니다.
+
+**솔루션 1.** 주말에 근무할 고객 서비스 직원을 고용하기
+
+**솔루션 2.** 고객 서비스 직원이 대기 시간이 가장 긴 불만을 쉽게 식별할 수 있는 새로운 고객 서비스 티켓 시스템 구매
+회의에서 Emerson은 앱 스토어에서 낮은 평점을 받는 것이 왜 나쁜지 설명하는 데 5분, 연구 과정과 트렌드가 어떻게 식별되었는지 설명하는 데 10분, 최근 고객 불만 사항 몇 가지를 검토하는 데 10분, 마지막으로 두 가지 잠재적 해결책을 간략히 설명하는 데 5분을 사용했습니다.
+
+이 방식이 Emerson이 회의에서 효과적으로 의사소통하는 방법이었을까요?
+
+회의 중 한 회사 리더는 Emerson이 다룬 고객 불만 사항 10분에 집착했습니다. 회의 후 이 리더는 이 불만 사항만 기억했습니다. 또 다른 회사 리더는 주로 Emerson이 연구 과정을 설명한 부분에 집중했습니다. 세 번째 회사 리더는 Emerson이 제안한 해결책을 기억했지만, 그 해결책이 어떻게 구현될 수 있는지 확신하지 못했습니다.
+
+위 상황에서 볼 수 있듯이, Emerson이 팀 리더들에게 전달하고자 했던 내용과 실제로 그들이 회의에서 가져간 내용 사이에는 상당한 차이가 있었습니다. 아래는 Emerson이 고려할 수 있는 또 다른 접근 방식입니다.
+
+Emerson은 이 접근 방식을 어떻게 개선할 수 있을까요?
+맥락, 갈등, 절정, 마무리, 결론
+**맥락** - Emerson은 처음 5분 동안 전체 상황을 소개하고, 문제들이 회사의 핵심 지표(예: 수익)에 어떻게 영향을 미치는지 팀 리더들이 이해하도록 해야 합니다.
+
+다음과 같이 설명할 수 있습니다:
+"현재 우리 앱의 앱 스토어 평점은 2.5입니다. 앱 스토어 평점은 앱 스토어 최적화에 매우 중요하며, 이는 우리 앱이 검색에서 얼마나 많은 사용자들에게 노출되는지와 잠재 사용자들에게 어떻게 보이는지에 영향을 미칩니다. 물론, 사용자 수는 수익과 직접적으로 연결되어 있습니다."
+
+**갈등** - 그 후 Emerson은 다음 5분 동안 갈등에 대해 이야기할 수 있습니다.
+
+다음과 같이 설명할 수 있습니다:
+"사용자들은 주말에 42% 더 많은 불만 사항과 버그 보고서를 제출합니다. 불만 사항을 제출한 고객이 48시간 이내에 응답을 받지 못하면, 앱 스토어에서 평점 2 이상을 줄 가능성이 32% 낮아집니다. 앱 스토어에서 우리 앱의 평점을 4로 올리면 가시성이 20-30% 향상될 것이며, 이는 수익이 10% 증가할 것으로 예상됩니다." 물론, Emerson은 이러한 수치를 정당화할 준비를 해야 합니다.
+
+**절정** - 기초를 다진 후, Emerson은 약 5분 동안 절정 부분으로 넘어갈 수 있습니다.
+
+Emerson은 제안된 해결책을 소개하고, 이러한 해결책이 제기된 문제를 어떻게 해결할 수 있는지, 기존 워크플로에 어떻게 통합될 수 있는지, 비용은 얼마나 드는지, ROI는 무엇인지 등을 설명할 수 있습니다. 또한, 해결책이 구현되었을 때의 스크린샷이나 와이어프레임을 보여줄 수도 있습니다. Emerson은 48시간 이상 불만 사항에 응답받지 못한 사용자들의 추천사나 현재 회사의 고객 서비스 담당자로부터 현재 티켓 시스템에 대한 의견을 공유할 수도 있습니다.
+
+**마무리** - 이제 Emerson은 5분 동안 회사가 직면한 문제를 다시 언급하고, 제안된 해결책을 재검토하며, 왜 그 해결책이 적합한지 설명할 수 있습니다.
+
+**결론** - 이 회의는 몇몇 이해관계자들과의 양방향 의사소통이 이루어지는 자리이므로, Emerson은 회의가 끝나기 전에 팀 리더들이 혼란스러웠던 점을 명확히 할 수 있도록 10분을 질문 시간으로 남겨둘 수 있습니다.
+
+Emerson이 접근 방식 #2를 따른다면, 팀 리더들이 회의에서 Emerson이 의도한 내용을 훨씬 더 잘 이해할 가능성이 높습니다. 즉, 불만 사항과 버그 처리 방식을 개선할 수 있으며, 이를 실현하기 위해 두 가지 해결책을 도입할 수 있다는 점입니다. 이 접근 방식은 Emerson이 전달하고자 하는 데이터와 이야기를 훨씬 더 효과적으로 전달할 수 있는 방법이 될 것입니다.
+
+# 결론
+### 주요 요점 요약
+- 의사소통이란 정보를 전달하거나 교환하는 것입니다.
+- 데이터를 전달할 때, 단순히 숫자를 전달하는 것이 목표가 되어서는 안 됩니다. 데이터를 기반으로 한 이야기를 전달하는 것이 목표가 되어야 합니다.
+- 의사소통에는 두 가지 유형이 있습니다.
+ - 일방향 의사소통(응답을 기대하지 않고 정보를 전달)
+ - 양방향 의사소통(정보가 상호 교환됨)
+- 데이터를 활용한 스토리텔링에는 다양한 전략이 있으며, 우리가 다룬 5가지 전략은 다음과 같습니다:
+ - 청중, 매체, 의사소통 방식을 이해하기
+ - 끝을 염두에 두고 시작하기
+ - 실제 이야기처럼 접근하기
+ - 의미 있는 단어와 문구 사용하기
+ - 감정을 활용하기
+
+### 자기 학습을 위한 추천 자료
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+위 링크를 통해 강의 내용을 복습해보세요!
+
+## 과제
+
+[시장 조사](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/ko/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..76d61a3e
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# 이야기를 만들어보세요
+
+## 지침
+
+데이터 과학은 이야기를 전달하는 데 그 핵심이 있습니다. 어떤 데이터셋이든 선택하여, 그 데이터셋을 통해 전달할 수 있는 이야기에 대해 짧은 글을 작성해 보세요. 여러분의 데이터셋이 어떤 사실을 밝혀낼 수 있기를 기대하나요? 만약 그 사실이 문제가 될 경우 어떻게 대처할 건가요? 데이터가 쉽게 그 비밀을 드러내지 않는다면 어떻게 할 건가요? 데이터셋이 제시할 수 있는 다양한 시나리오를 생각해보고 그것들을 글로 적어보세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+
+데이터셋이 설명되고, 문서화되며, 출처가 명시된 상태로 .doc 형식의 한 페이지 분량의 에세이가 제출되고, 데이터에서 나온 구체적인 예시를 포함한 일관된 이야기가 제시됨.| 더 짧고 덜 상세한 형식의 에세이가 제출됨 | 위의 세부 사항 중 하나가 부족한 에세이.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/4-Data-Science-Lifecycle/README.md b/translations/ko/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..b56b4e64
--- /dev/null
+++ b/translations/ko/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# 데이터 과학 생명주기
+
+
+> 사진 제공: Headway on Unsplash
+
+이 강의에서는 데이터 과학 생명주기의 일부 측면, 특히 데이터 분석과 데이터에 대한 커뮤니케이션을 탐구합니다.
+
+### 주제
+
+1. [소개](14-Introduction/README.md)
+2. [분석](15-analyzing/README.md)
+3. [커뮤니케이션](16-communication/README.md)
+
+### 크레딧
+
+이 강의는 [Jalen McGee](https://twitter.com/JalenMCG)와 [Jasmine Greenaway](https://twitter.com/paladique)가 ❤️를 담아 작성했습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/ko/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..fbd7269b
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,111 @@
+
+# 클라우드에서의 데이터 과학 소개
+
+| ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| 클라우드에서의 데이터 과학: 소개 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+이 강의에서는 클라우드의 기본 원칙을 배우고, 클라우드 서비스를 사용하여 데이터 과학 프로젝트를 실행하는 것이 왜 흥미로운지 알아본 후, 클라우드에서 실행된 데이터 과학 프로젝트의 몇 가지 예를 살펴보겠습니다.
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## 클라우드란 무엇인가?
+
+클라우드 또는 클라우드 컴퓨팅은 인터넷을 통해 제공되는 인프라에 호스팅된 다양한 사용량 기반(pay-as-you-go) 컴퓨팅 서비스를 제공하는 것입니다. 서비스에는 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석 및 지능형 서비스와 같은 솔루션이 포함됩니다.
+
+일반적으로 퍼블릭 클라우드, 프라이빗 클라우드, 하이브리드 클라우드를 다음과 같이 구분합니다:
+
+* 퍼블릭 클라우드: 퍼블릭 클라우드는 제3자 클라우드 서비스 제공자가 소유 및 운영하며, 인터넷을 통해 대중에게 컴퓨팅 자원을 제공합니다.
+* 프라이빗 클라우드: 특정 비즈니스 또는 조직에서 독점적으로 사용하는 클라우드 컴퓨팅 자원을 의미하며, 서비스와 인프라는 프라이빗 네트워크에서 유지됩니다.
+* 하이브리드 클라우드: 하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드를 결합한 시스템입니다. 사용자는 온프레미스 데이터센터를 선택하면서 데이터와 애플리케이션을 하나 이상의 퍼블릭 클라우드에서 실행할 수 있습니다.
+
+대부분의 클라우드 컴퓨팅 서비스는 다음 세 가지 범주로 나뉩니다: 서비스형 인프라(IaaS), 서비스형 플랫폼(PaaS), 서비스형 소프트웨어(SaaS).
+
+* 서비스형 인프라(IaaS): 사용자는 서버, 가상 머신(VM), 스토리지, 네트워크, 운영 체제와 같은 IT 인프라를 임대합니다.
+* 서비스형 플랫폼(PaaS): 사용자는 소프트웨어 애플리케이션을 개발, 테스트, 제공 및 관리하기 위한 환경을 임대합니다. 사용자는 개발에 필요한 서버, 스토리지, 네트워크 및 데이터베이스의 기본 인프라를 설정하거나 관리할 필요가 없습니다.
+* 서비스형 소프트웨어(SaaS): 사용자는 인터넷을 통해 소프트웨어 애플리케이션에 액세스하며, 일반적으로 구독 방식으로 제공됩니다. 사용자는 소프트웨어 애플리케이션의 호스팅 및 관리, 기본 인프라 또는 유지보수(예: 소프트웨어 업그레이드 및 보안 패치)를 걱정할 필요가 없습니다.
+
+가장 큰 클라우드 제공업체로는 Amazon Web Services, Google Cloud Platform, Microsoft Azure가 있습니다.
+
+## 데이터 과학을 위해 클라우드를 선택하는 이유는 무엇인가?
+
+개발자와 IT 전문가가 클라우드를 선택하는 이유는 다음과 같습니다:
+
+* 혁신: 클라우드 제공업체가 만든 혁신적인 서비스를 애플리케이션에 직접 통합하여 애플리케이션을 강화할 수 있습니다.
+* 유연성: 필요한 서비스만 사용하며, 다양한 서비스 중에서 선택할 수 있습니다. 일반적으로 사용량 기반으로 비용을 지불하며, 변화하는 요구에 따라 서비스를 조정할 수 있습니다.
+* 예산: 하드웨어와 소프트웨어를 구매하고 온프레미스 데이터센터를 설정 및 운영하는 초기 투자 없이, 사용한 만큼만 비용을 지불하면 됩니다.
+* 확장성: 프로젝트의 요구에 따라 자원을 확장할 수 있어, 애플리케이션이 외부 요인에 따라 컴퓨팅 파워, 스토리지 및 대역폭을 더 많이 또는 적게 사용할 수 있습니다.
+* 생산성: 데이터센터 관리와 같은 다른 사람이 처리할 수 있는 작업에 시간을 소비하지 않고 비즈니스에 집중할 수 있습니다.
+* 신뢰성: 클라우드 컴퓨팅은 데이터를 지속적으로 백업하는 여러 방법을 제공하며, 위기 상황에서도 비즈니스와 서비스를 유지할 수 있는 재해 복구 계획을 설정할 수 있습니다.
+* 보안: 프로젝트의 보안을 강화하는 정책, 기술 및 제어를 활용할 수 있습니다.
+
+이러한 이유는 사람들이 클라우드 서비스를 선택하는 가장 일반적인 이유 중 일부입니다. 이제 클라우드가 무엇인지와 주요 이점에 대해 더 잘 이해했으니, 데이터 과학자와 데이터 작업을 하는 개발자의 역할에 대해 더 구체적으로 살펴보고, 클라우드가 그들이 직면할 수 있는 여러 과제를 어떻게 해결할 수 있는지 알아보겠습니다:
+
+* 대량의 데이터 저장: 큰 서버를 구매, 관리 및 보호하는 대신, Azure Cosmos DB, Azure SQL Database, Azure Data Lake Storage와 같은 클라우드 솔루션을 사용하여 데이터를 직접 클라우드에 저장할 수 있습니다.
+* 데이터 통합 수행: 데이터 통합은 데이터 과학의 필수적인 부분으로, 데이터 수집에서 행동으로 전환할 수 있게 합니다. 클라우드에서 제공되는 데이터 통합 서비스를 사용하면 다양한 소스에서 데이터를 수집, 변환 및 통합하여 단일 데이터 웨어하우스로 만들 수 있습니다(Data Factory 사용).
+* 데이터 처리: 방대한 데이터를 처리하려면 많은 컴퓨팅 파워가 필요하며, 모든 사람이 충분히 강력한 기계를 사용할 수 있는 것은 아닙니다. 그래서 많은 사람들이 클라우드의 막대한 컴퓨팅 파워를 활용하여 솔루션을 실행하고 배포합니다.
+* 데이터 분석 서비스 사용: Azure Synapse Analytics, Azure Stream Analytics, Azure Databricks와 같은 클라우드 서비스를 사용하여 데이터를 실행 가능한 인사이트로 전환할 수 있습니다.
+* 머신 러닝 및 데이터 지능 서비스 사용: 처음부터 시작하는 대신, 클라우드 제공업체가 제공하는 머신 러닝 알고리즘을 AzureML과 같은 서비스로 사용할 수 있습니다. 또한 음성-텍스트 변환, 텍스트-음성 변환, 컴퓨터 비전 등과 같은 인지 서비스를 활용할 수 있습니다.
+
+## 클라우드에서의 데이터 과학 예시
+
+몇 가지 시나리오를 통해 이를 더 구체적으로 살펴보겠습니다.
+
+### 실시간 소셜 미디어 감정 분석
+머신 러닝을 시작하는 사람들이 흔히 연구하는 시나리오로, 실시간 소셜 미디어 감정 분석을 살펴보겠습니다.
+
+뉴스 미디어 웹사이트를 운영한다고 가정하고, 독자가 관심을 가질 만한 콘텐츠를 이해하기 위해 실시간 데이터를 활용하고 싶다고 해봅시다. 이를 위해, Twitter 게시물 데이터를 실시간으로 분석하여 독자와 관련된 주제에 대한 감정 분석을 수행하는 프로그램을 만들 수 있습니다.
+
+주요 지표는 특정 주제(해시태그)에 대한 트윗의 양과 감정입니다. 감정은 지정된 주제에 대한 감정 분석을 수행하는 분석 도구를 사용하여 설정됩니다.
+
+이 프로젝트를 생성하기 위해 필요한 단계는 다음과 같습니다:
+
+* 입력 스트리밍을 위한 이벤트 허브 생성, Twitter 데이터 수집
+* Twitter 스트리밍 API를 호출하는 Twitter 클라이언트 애플리케이션 구성 및 시작
+* 스트림 분석 작업 생성
+* 작업 입력 및 쿼리 지정
+* 출력 싱크 생성 및 작업 출력 지정
+* 작업 시작
+
+전체 프로세스를 보려면 [문서](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)를 확인하세요.
+
+### 과학 논문 분석
+이 커리큘럼의 저자 중 한 명인 [Dmitry Soshnikov](http://soshnikov.com)가 만든 프로젝트를 예로 들어보겠습니다.
+
+Dmitry는 COVID 논문을 분석하는 도구를 만들었습니다. 이 프로젝트를 검토하면 과학 논문에서 지식을 추출하고 인사이트를 얻으며, 연구자가 방대한 논문 컬렉션을 효율적으로 탐색할 수 있도록 돕는 도구를 만드는 방법을 알 수 있습니다.
+
+다음은 사용된 단계입니다:
+* [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 사용하여 정보 추출 및 전처리
+* [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)을 사용하여 처리 병렬화
+* [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 사용하여 정보 저장 및 쿼리
+* Power BI를 사용하여 데이터 탐색 및 시각화를 위한 대화형 대시보드 생성
+
+전체 프로세스를 보려면 [Dmitry의 블로그](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)를 방문하세요.
+
+이처럼 클라우드 서비스를 활용하여 다양한 방식으로 데이터 과학을 수행할 수 있습니다.
+
+## 주석
+
+출처:
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## 강의 후 퀴즈
+
+[강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## 과제
+
+[시장 조사](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/ko/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..34b8bcea
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# 시장 조사
+
+## 지침
+
+이 수업에서 여러 주요 클라우드 제공업체가 있다는 것을 배웠습니다. 시장 조사를 통해 각 제공업체가 데이터 과학자에게 제공할 수 있는 내용을 알아보세요. 제공되는 서비스가 비교 가능한지 확인하고, 세 개 이상의 클라우드 제공업체의 서비스를 설명하는 보고서를 작성하세요.
+
+## 평가 기준
+
+우수 | 적절 | 개선 필요
+--- | --- | --- |
+세 개의 클라우드 제공업체의 데이터 과학 관련 서비스를 설명하고, 이를 비교한 1페이지 분량의 보고서가 작성됨 | 더 짧은 보고서가 제출됨 | 분석을 완료하지 않은 보고서가 제출됨
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..fff5880a
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,345 @@
+
+# 클라우드에서의 데이터 과학: "Low code/No code" 방식
+
+| ](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| 클라우드에서의 데이터 과학: Low Code - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+목차:
+
+- [클라우드에서의 데이터 과학: "Low code/No code" 방식](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [강의 전 퀴즈](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. 소개](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 Azure Machine Learning이란?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 심부전 예측 프로젝트:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 심부전 데이터셋:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. Azure ML Studio에서 모델을 Low code/No code로 학습시키기](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 Azure ML 워크스페이스 생성](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 컴퓨팅 리소스](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 컴퓨팅 리소스에 적합한 옵션 선택](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 컴퓨팅 클러스터 생성](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 데이터셋 로드](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 AutoML을 활용한 Low code/No code 학습](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. Low code/No code 모델 배포 및 엔드포인트 소비](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 모델 배포](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 엔드포인트 소비](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 도전 과제](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [강의 후 퀴즈](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [복습 및 자기 학습](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [과제](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+## 1. 소개
+### 1.1 Azure Machine Learning이란?
+
+Azure 클라우드 플랫폼은 새로운 솔루션을 구현할 수 있도록 설계된 200개 이상의 제품과 클라우드 서비스를 제공합니다. 데이터 과학자들은 데이터를 탐색하고 전처리하며, 다양한 모델 학습 알고리즘을 시도하여 정확한 모델을 생성하는 데 많은 노력을 기울입니다. 이러한 작업은 시간이 많이 소요되며, 종종 고가의 컴퓨팅 하드웨어를 비효율적으로 사용하는 경우가 많습니다.
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)은 Azure에서 머신 러닝 솔루션을 구축하고 운영하기 위한 클라우드 기반 플랫폼입니다. 이 플랫폼은 데이터 준비, 모델 학습, 예측 서비스 게시 및 사용 모니터링을 지원하는 다양한 기능을 제공합니다. 특히, 모델 학습과 관련된 시간 소모적인 작업을 자동화하여 데이터 과학자의 효율성을 높이고, 대량의 데이터를 처리할 수 있는 클라우드 기반 컴퓨팅 리소스를 효과적으로 확장하여 실제 사용 시에만 비용이 발생하도록 합니다.
+
+Azure ML은 개발자와 데이터 과학자가 머신 러닝 워크플로를 수행하는 데 필요한 모든 도구를 제공합니다. 주요 도구는 다음과 같습니다:
+
+- **Azure Machine Learning Studio**: 모델 학습, 배포, 자동화, 추적 및 자산 관리를 위한 Low code/No code 옵션을 제공하는 웹 포털입니다. 이 스튜디오는 Azure Machine Learning SDK와 통합되어 원활한 경험을 제공합니다.
+- **Jupyter Notebooks**: ML 모델을 빠르게 프로토타입하고 테스트할 수 있습니다.
+- **Azure Machine Learning Designer**: 모듈을 드래그 앤 드롭하여 실험을 구축하고 Low code 환경에서 파이프라인을 배포할 수 있습니다.
+- **자동화된 머신 러닝 UI (AutoML)**: 머신 러닝 모델 개발의 반복 작업을 자동화하여 높은 규모, 효율성 및 생산성을 유지하면서 모델 품질을 보장합니다.
+- **데이터 라벨링**: 데이터를 자동으로 라벨링할 수 있는 보조 ML 도구입니다.
+- **Visual Studio Code용 머신 러닝 확장**: ML 프로젝트를 구축하고 관리하기 위한 완전한 개발 환경을 제공합니다.
+- **머신 러닝 CLI**: 명령줄에서 Azure ML 리소스를 관리하기 위한 명령을 제공합니다.
+- **PyTorch, TensorFlow, Scikit-learn 등 오픈 소스 프레임워크와의 통합**: 머신 러닝 프로세스의 끝에서 끝까지 학습, 배포 및 관리할 수 있습니다.
+- **MLflow**: 머신 러닝 실험의 라이프사이클을 관리하기 위한 오픈 소스 라이브러리입니다. **MLFlow Tracking**은 실험 환경에 관계없이 학습 실행 메트릭과 모델 아티팩트를 기록하고 추적하는 MLflow의 구성 요소입니다.
+
+### 1.2 심부전 예측 프로젝트:
+
+프로젝트를 만들고 구축하는 것은 자신의 기술과 지식을 테스트하는 가장 좋은 방법임이 분명합니다. 이번 강의에서는 Azure ML Studio에서 심부전 공격을 예측하는 데이터 과학 프로젝트를 Low code/No code 방식과 Azure ML SDK를 활용한 방식으로 구축하는 두 가지 방법을 탐구할 것입니다. 아래의 스키마를 참고하세요:
+
+
+
+각 방법은 고유한 장단점을 가지고 있습니다. Low code/No code 방식은 GUI(그래픽 사용자 인터페이스)를 사용하여 시작하기 쉬우며, 코드에 대한 사전 지식이 필요하지 않습니다. 이 방법은 프로젝트의 실행 가능성을 빠르게 테스트하고 POC(개념 증명)를 생성할 수 있도록 합니다. 그러나 프로젝트가 성장하고 프로덕션 준비가 필요해지면 GUI를 통해 리소스를 생성하는 것은 비효율적입니다. 리소스 생성부터 모델 배포까지 모든 것을 프로그래밍적으로 자동화해야 합니다. 이때 Azure ML SDK를 사용하는 방법을 아는 것이 중요합니다.
+
+| | Low code/No code | Azure ML SDK |
+|-------------------|------------------|---------------------------|
+| 코드 전문성 | 필요 없음 | 필요 |
+| 개발 시간 | 빠르고 쉬움 | 코드 전문성에 따라 다름 |
+| 프로덕션 준비 | 아니요 | 예 |
+
+### 1.3 심부전 데이터셋:
+
+심혈관 질환(CVD)은 전 세계적으로 사망 원인 1위로, 전 세계 사망의 31%를 차지합니다. 담배 사용, 건강하지 않은 식단과 비만, 신체 활동 부족, 알코올의 유해한 사용과 같은 환경적 및 행동적 위험 요인은 예측 모델의 특징으로 사용할 수 있습니다. CVD 발생 가능성을 추정할 수 있다면 고위험군에서 공격을 예방하는 데 큰 도움이 될 것입니다.
+
+Kaggle은 [심부전 데이터셋](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data)을 공개적으로 제공하며, 이번 프로젝트에서 사용할 예정입니다. 지금 데이터셋을 다운로드할 수 있습니다. 이 데이터셋은 13개의 열(12개의 특징과 1개의 목표 변수)과 299개의 행으로 구성된 표 형식 데이터셋입니다.
+
+| | 변수 이름 | 유형 | 설명 | 예시 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 1 | age | 숫자형 | 환자의 나이 | 25 |
+| 2 | anaemia | 불리언 | 적혈구 또는 헤모글로빈 감소 | 0 또는 1 |
+| 3 | creatinine_phosphokinase | 숫자형 | 혈액 내 CPK 효소 수준 | 542 |
+| 4 | diabetes | 불리언 | 환자가 당뇨병이 있는지 여부 | 0 또는 1 |
+| 5 | ejection_fraction | 숫자형 | 심장이 수축할 때 나가는 혈액의 비율 | 45 |
+| 6 | high_blood_pressure | 불리언 | 환자가 고혈압이 있는지 여부 | 0 또는 1 |
+| 7 | platelets | 숫자형 | 혈액 내 혈소판 수 | 149000 |
+| 8 | serum_creatinine | 숫자형 | 혈액 내 혈청 크레아티닌 수준 | 0.5 |
+| 9 | serum_sodium | 숫자형 | 혈액 내 혈청 나트륨 수준 | jun |
+| 10 | sex | 불리언 | 여성 또는 남성 | 0 또는 1 |
+| 11 | smoking | 불리언 | 환자가 흡연하는지 여부 | 0 또는 1 |
+| 12 | time | 숫자형 | 추적 기간(일) | 4 |
+|----|---------------------------|-----------------|---------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [Target] | 불리언 | 추적 기간 동안 환자가 사망했는지 여부 | 0 또는 1 |
+
+데이터셋을 준비한 후, Azure에서 프로젝트를 시작할 수 있습니다.
+
+## 2. Azure ML Studio에서 모델을 Low code/No code로 학습시키기
+### 2.1 Azure ML 워크스페이스 생성
+Azure ML에서 모델을 학습시키려면 먼저 Azure ML 워크스페이스를 생성해야 합니다. 워크스페이스는 Azure Machine Learning의 최상위 리소스로, Azure Machine Learning을 사용할 때 생성하는 모든 아티팩트를 중앙에서 관리할 수 있는 장소를 제공합니다. 워크스페이스는 모든 학습 실행 기록(로그, 메트릭, 출력 및 스크립트 스냅샷)을 유지합니다. 이를 통해 어떤 학습 실행이 가장 좋은 모델을 생성했는지 판단할 수 있습니다. [자세히 알아보기](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+최신 운영 체제와 호환되는 최신 브라우저를 사용하는 것이 권장됩니다. 지원되는 브라우저는 다음과 같습니다:
+
+- Microsoft Edge (최신 버전, Microsoft Edge 레거시 아님)
+- Safari (최신 버전, Mac 전용)
+- Chrome (최신 버전)
+- Firefox (최신 버전)
+
+Azure Machine Learning을 사용하려면 Azure 구독에서 워크스페이스를 생성하세요. 그런 다음 이 워크스페이스를 사용하여 데이터, 컴퓨팅 리소스, 코드, 모델 및 머신 러닝 작업과 관련된 기타 아티팩트를 관리할 수 있습니다.
+
+> **_참고:_** Azure Machine Learning 워크스페이스가 구독에 존재하는 동안 데이터 저장소에 대해 소액의 비용이 청구됩니다. 더 이상 사용하지 않을 때는 Azure Machine Learning 워크스페이스를 삭제하는 것을 권장합니다.
+
+1. Microsoft 계정으로 [Azure 포털](https://ms.portal.azure.com/)에 로그인합니다.
+2. **+리소스 생성**을 선택합니다.
+
+ 
+
+ Machine Learning을 검색하고 Machine Learning 타일을 선택합니다.
+
+ 
+
+ 생성 버튼을 클릭합니다.
+
+ 
+
+ 설정을 다음과 같이 입력합니다:
+ - 구독: Azure 구독
+ - 리소스 그룹: 리소스 그룹 생성 또는 선택
+ - 워크스페이스 이름: 워크스페이스에 대한 고유 이름 입력
+ - 지역: 가장 가까운 지리적 지역 선택
+ - 저장소 계정: 워크스페이스에 대해 생성될 기본 새 저장소 계정 확인
+ - 키 자물쇠: 워크스페이스에 대해 생성될 기본 새 키 자물쇠 확인
+ - 애플리케이션 인사이트: 워크스페이스에 대해 생성될 기본 새 애플리케이션 인사이트 리소스 확인
+ - 컨테이너 레지스트리: 없음 (모델을 컨테이너에 처음 배포할 때 자동으로 생성됨)
+
+ 
+
+ - **검토 + 생성**을 클릭한 후 생성 버튼을 클릭합니다.
+3. 워크스페이스가 생성될 때까지 기다립니다(몇 분 정도 소요될 수 있음). 그런 다음 포털에서 워크스페이스로 이동합니다. Machine Learning Azure 서비스를 통해 찾을 수 있습니다.
+4. 워크스페이스 개요 페이지에서 Azure Machine Learning Studio를 실행하거나 새 브라우저 탭을 열고 https://ml.azure.com으로 이동합니다. Microsoft 계정으로 Azure Machine Learning Studio에 로그인합니다. 요청 시 Azure 디렉토리와 구독, Azure Machine Learning 워크스페이스를 선택합니다.
+
+
+
+5. Azure Machine Learning Studio에서 왼쪽 상단의 ☰ 아이콘을 토글하여 인터페이스의 다양한 페이지를 확인합니다. 이 페이지를 사용하여 워크스페이스의 리소스를 관리할 수 있습니다.
+
+
+
+Azure 포털을 사용하여 워크스페이스를 관리할 수 있지만, 데이터 과학자와 머신 러닝 운영 엔지니어에게는 Azure Machine Learning Studio가 워크스페이스 리소스를 관리하기 위한 더 집중된 사용자 인터페이스를 제공합니다.
+
+### 2.2 컴퓨팅 리소스
+
+컴퓨팅 리소스는 모델 학습 및 데이터 탐색 프로세스를 실행할 수 있는 클라우드 기반 리소스입니다. 생성할 수 있는 컴퓨팅 리소스는 다음 네 가지 종류가 있습니다:
+
+- **컴퓨팅 인스턴스**: 데이터 과학자가 데이터와 모델을 작업할 수 있는 개발 워크스테이션입니다. 이는 가상 머신(VM)을 생성하고 노트북 인스턴스를 실행하는 것을 포함합니다. 그런 다음 노트북에서 컴퓨터 클러스터를 호출하여 모델을 학습시킬 수 있습니다.
+- **컴퓨팅 클러스터**: 실험 코드를 온디맨드로 처리하기 위한 확장 가능한 VM 클러스터입니다. 모델을 학습시킬 때 필요합니다. 컴퓨팅 클러스터는 전문화된 GPU 또는 CPU 리소스를 사용할 수도 있습니다.
+- **추론 클러스터**: 학습된 모델을 사용하는 예측 서비스를 배포하기 위한 대상입니다.
+- **Attached Compute**: 기존 Azure 컴퓨팅 리소스(예: Virtual Machines 또는 Azure Databricks 클러스터)에 연결합니다.
+
+#### 2.2.1 컴퓨팅 리소스를 위한 적절한 옵션 선택하기
+
+컴퓨팅 리소스를 생성할 때 고려해야 할 몇 가지 주요 요소가 있으며, 이러한 선택은 중요한 결정이 될 수 있습니다.
+
+**CPU가 필요합니까, 아니면 GPU가 필요합니까?**
+
+CPU(중앙 처리 장치)는 컴퓨터 프로그램을 구성하는 명령을 실행하는 전자 회로입니다. GPU(그래픽 처리 장치)는 그래픽 관련 코드를 매우 빠르게 실행할 수 있는 특수 전자 회로입니다.
+
+CPU와 GPU 아키텍처의 주요 차이점은 CPU는 다양한 작업을 빠르게 처리하도록 설계되었지만(측정 기준: CPU 클럭 속도), 동시에 실행할 수 있는 작업의 수가 제한적이라는 점입니다. 반면 GPU는 병렬 컴퓨팅에 최적화되어 있어 딥러닝 작업에 훨씬 더 적합합니다.
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| 비용이 저렴함 | 비용이 비쌈 |
+| 낮은 수준의 동시성 | 높은 수준의 동시성 |
+| 딥러닝 모델 훈련 속도가 느림 | 딥러닝에 최적화됨 |
+
+**클러스터 크기**
+
+클러스터가 클수록 비용이 더 많이 들지만 응답성이 더 좋아집니다. 따라서 시간이 충분하지만 예산이 부족하다면 작은 클러스터로 시작해야 합니다. 반대로 예산은 충분하지만 시간이 부족하다면 큰 클러스터로 시작해야 합니다.
+
+**VM 크기**
+
+시간과 예산 제약에 따라 RAM 크기, 디스크 크기, 코어 수 및 클럭 속도를 조정할 수 있습니다. 이러한 모든 매개변수를 증가시키면 비용이 더 많이 들지만 성능이 향상됩니다.
+
+**전용 인스턴스 또는 저우선순위 인스턴스?**
+
+저우선순위 인스턴스는 중단 가능하다는 것을 의미합니다. 즉, Microsoft Azure가 해당 리소스를 다른 작업에 할당하여 작업을 중단할 수 있습니다. 전용 인스턴스(중단 불가능)는 작업이 사용자의 허가 없이 종료되지 않는다는 것을 의미합니다. 이는 시간과 비용의 또 다른 고려 사항으로, 중단 가능한 인스턴스는 전용 인스턴스보다 저렴합니다.
+
+#### 2.2.2 컴퓨팅 클러스터 생성하기
+
+이전에 생성한 [Azure ML 워크스페이스](https://ml.azure.com/)에서 컴퓨팅으로 이동하면 방금 논의한 다양한 컴퓨팅 리소스(예: 컴퓨팅 인스턴스, 컴퓨팅 클러스터, 추론 클러스터 및 연결된 컴퓨팅)를 볼 수 있습니다. 이 프로젝트에서는 모델 훈련을 위해 컴퓨팅 클러스터가 필요합니다. Studio에서 "Compute" 메뉴를 클릭한 다음 "Compute cluster" 탭을 클릭하고 "+ New" 버튼을 클릭하여 컴퓨팅 클러스터를 생성합니다.
+
+
+
+1. 옵션 선택: 전용 vs 저우선순위, CPU 또는 GPU, VM 크기 및 코어 수(이 프로젝트에서는 기본 설정을 유지할 수 있습니다).
+2. "Next" 버튼을 클릭합니다.
+
+
+
+3. 클러스터에 컴퓨팅 이름을 지정합니다.
+4. 옵션 선택: 최소/최대 노드 수, 축소 전 유휴 시간, SSH 액세스. 최소 노드 수가 0이면 클러스터가 유휴 상태일 때 비용을 절약할 수 있습니다. 최대 노드 수가 많을수록 훈련 시간이 짧아집니다. 권장되는 최대 노드 수는 3입니다.
+5. "Create" 버튼을 클릭합니다. 이 단계는 몇 분이 걸릴 수 있습니다.
+
+
+
+좋습니다! 이제 컴퓨팅 클러스터가 생성되었으니 데이터를 Azure ML Studio에 로드해야 합니다.
+
+### 2.3 데이터셋 로드하기
+
+1. 이전에 생성한 [Azure ML 워크스페이스](https://ml.azure.com/)에서 왼쪽 메뉴에서 "Datasets"를 클릭하고 "+ Create dataset" 버튼을 클릭하여 데이터셋을 생성합니다. "From local files" 옵션을 선택하고 이전에 다운로드한 Kaggle 데이터셋을 선택합니다.
+
+ 
+
+2. 데이터셋에 이름, 유형 및 설명을 지정합니다. "Next"를 클릭합니다. 파일에서 데이터를 업로드합니다. "Next"를 클릭합니다.
+
+ 
+
+3. 스키마에서 다음 특징에 대해 데이터 유형을 Boolean으로 변경합니다: anaemia, diabetes, high blood pressure, sex, smoking, DEATH_EVENT. "Next"를 클릭하고 "Create"를 클릭합니다.
+
+ 
+
+좋습니다! 이제 데이터셋이 준비되었고 컴퓨팅 클러스터가 생성되었으니 모델 훈련을 시작할 수 있습니다!
+
+### 2.4 AutoML을 활용한 저코드/무코드 훈련
+
+전통적인 머신러닝 모델 개발은 많은 자원과 도메인 지식이 필요하며, 수십 개의 모델을 비교하고 생성하는 데 시간이 많이 소요됩니다. 자동화된 머신러닝(AutoML)은 머신러닝 모델 개발의 시간 소모적이고 반복적인 작업을 자동화하는 과정입니다. 이를 통해 데이터 과학자, 분석가 및 개발자가 높은 규모, 효율성 및 생산성을 갖춘 ML 모델을 구축할 수 있으며, 모델 품질을 유지할 수 있습니다. AutoML은 생산 준비가 된 ML 모델을 더 빠르고 쉽게 생성할 수 있도록 도와줍니다. [자세히 알아보기](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. 이전에 생성한 [Azure ML 워크스페이스](https://ml.azure.com/)에서 왼쪽 메뉴에서 "Automated ML"을 클릭하고 방금 업로드한 데이터셋을 선택합니다. "Next"를 클릭합니다.
+
+ 
+
+2. 새로운 실험 이름, 대상 열(DEATH_EVENT) 및 생성한 컴퓨팅 클러스터를 입력합니다. "Next"를 클릭합니다.
+
+ 
+
+3. "Classification"을 선택하고 "Finish"를 클릭합니다. 이 단계는 컴퓨팅 클러스터 크기에 따라 30분에서 1시간 정도 소요될 수 있습니다.
+
+ 
+
+4. 실행이 완료되면 "Automated ML" 탭을 클릭하고 실행을 클릭한 다음 "Best model summary" 카드에서 알고리즘을 클릭합니다.
+
+ 
+
+여기에서 AutoML이 생성한 최적의 모델에 대한 자세한 설명을 확인할 수 있습니다. 또한 "Models" 탭에서 다른 모델을 탐색할 수 있습니다. "Explanations (preview)" 버튼에서 모델을 몇 분 동안 탐색해 보세요. AutoML이 선택한 최적의 모델을 사용하기로 결정한 후, 이를 배포하는 방법을 살펴보겠습니다.
+
+## 3. 저코드/무코드 모델 배포 및 엔드포인트 소비
+### 3.1 모델 배포
+
+자동화된 머신러닝 인터페이스를 통해 몇 단계만 거치면 최적의 모델을 웹 서비스로 배포할 수 있습니다. 배포는 모델을 통합하여 새로운 데이터를 기반으로 예측을 수행하고 잠재적인 기회를 식별할 수 있도록 하는 과정입니다. 이 프로젝트에서는 웹 서비스로의 배포를 통해 의료 애플리케이션이 모델을 활용하여 환자의 심장마비 위험을 실시간으로 예측할 수 있도록 합니다.
+
+최적의 모델 설명에서 "Deploy" 버튼을 클릭합니다.
+
+
+
+15. 이름, 설명, 컴퓨팅 유형(Azure Container Instance), 인증 활성화를 입력하고 "Deploy"를 클릭합니다. 이 단계는 약 20분 정도 소요될 수 있습니다. 배포 과정은 모델 등록, 리소스 생성 및 웹 서비스 구성을 포함합니다. 배포 상태 아래에 상태 메시지가 나타납니다. 상태를 확인하려면 주기적으로 "Refresh"를 선택하세요. 상태가 "Healthy"일 때 배포가 완료되고 실행 중입니다.
+
+
+
+16. 배포가 완료되면 "Endpoint" 탭을 클릭하고 방금 배포한 엔드포인트를 클릭합니다. 여기에서 엔드포인트에 대한 모든 세부 정보를 확인할 수 있습니다.
+
+
+
+멋집니다! 이제 모델이 배포되었으니 엔드포인트 소비를 시작할 수 있습니다.
+
+### 3.2 엔드포인트 소비
+
+"Consume" 탭을 클릭합니다. 여기에서 REST 엔드포인트와 소비 옵션에 대한 Python 스크립트를 확인할 수 있습니다. Python 코드를 읽어보세요.
+
+이 스크립트는 로컬 머신에서 직접 실행할 수 있으며 엔드포인트를 소비합니다.
+
+
+
+다음 두 줄의 코드를 확인해 보세요:
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+`url` 변수는 소비 탭에서 찾을 수 있는 REST 엔드포인트이며, `api_key` 변수는 소비 탭에서 찾을 수 있는 기본 키입니다(인증을 활성화한 경우에만). 이 스크립트는 이렇게 엔드포인트를 소비할 수 있습니다.
+
+18. 스크립트를 실행하면 다음과 같은 출력이 표시됩니다:
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+이는 주어진 데이터에 대한 심부전 예측이 참임을 의미합니다. 스크립트에 자동으로 생성된 데이터를 자세히 살펴보면 모든 값이 기본적으로 0이고 거짓임을 알 수 있습니다. 다음 입력 샘플로 데이터를 변경할 수 있습니다:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+스크립트는 다음을 반환해야 합니다:
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+축하합니다! Azure ML에서 모델을 훈련하고 배포한 후 이를 소비했습니다!
+
+> **_NOTE:_** 프로젝트가 완료되면 모든 리소스를 삭제하는 것을 잊지 마세요.
+## 🚀 도전 과제
+
+AutoML이 생성한 최상위 모델에 대한 설명과 세부 정보를 자세히 살펴보세요. 최적의 모델이 다른 모델보다 왜 더 나은지 이해해 보세요. 어떤 알고리즘이 비교되었나요? 그들 간의 차이점은 무엇인가요? 이 경우 최적의 모델이 더 잘 작동하는 이유는 무엇인가요?
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## 복습 및 자기 학습
+
+이 강의에서는 클라우드에서 저코드/무코드 방식으로 심부전 위험을 예측하는 모델을 훈련, 배포 및 소비하는 방법을 배웠습니다. 아직 하지 않았다면 AutoML이 생성한 최상위 모델에 대한 설명을 더 깊이 탐구하고 최적의 모델이 다른 모델보다 왜 더 나은지 이해해 보세요.
+
+저코드/무코드 AutoML에 대해 더 알아보려면 이 [문서](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 읽어보세요.
+
+## 과제
+
+[Azure ML에서 저코드/무코드 데이터 과학 프로젝트](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..fb96f2c0
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# Azure ML에서 저코드/무코드 방식으로 데이터 과학 프로젝트 수행하기
+
+## 지침
+
+우리는 Azure ML 플랫폼을 사용하여 저코드/무코드 방식으로 모델을 학습, 배포 및 활용하는 방법을 배웠습니다. 이제 다른 모델을 학습시키고 배포하며 활용할 수 있는 데이터를 찾아보세요. [Kaggle](https://kaggle.com)과 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)에서 데이터셋을 검색할 수 있습니다.
+
+## 평가 기준
+
+| 우수 | 적절 | 개선 필요 |
+|------|------|----------|
+| 데이터를 업로드할 때 필요한 경우 특징의 유형을 변경하는 작업을 신경 썼습니다. 또한 필요하다면 데이터를 정제했습니다. AutoML을 통해 데이터셋을 학습시켰고, 모델 설명을 확인했습니다. 최적의 모델을 배포했으며 이를 성공적으로 활용할 수 있었습니다. | 데이터를 업로드할 때 필요한 경우 특징의 유형을 변경하는 작업을 신경 썼습니다. AutoML을 통해 데이터셋을 학습시켰고, 최적의 모델을 배포했으며 이를 성공적으로 활용할 수 있었습니다. | AutoML로 학습된 최적의 모델을 배포했으며 이를 성공적으로 활용할 수 있었습니다. |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/ko/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..a6218671
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,310 @@
+
+# 클라우드에서의 데이터 과학: "Azure ML SDK" 방식
+
+| ](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| 클라우드에서의 데이터 과학: Azure ML SDK - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+목차:
+
+- [클라우드에서의 데이터 과학: "Azure ML SDK" 방식](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [강의 전 퀴즈](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. 소개](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 Azure ML SDK란 무엇인가?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 심부전 예측 프로젝트와 데이터셋 소개](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. Azure ML SDK를 사용한 모델 학습](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 Azure ML 워크스페이스 생성](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 컴퓨트 인스턴스 생성](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 데이터셋 로드](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 노트북 생성](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 모델 학습](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 워크스페이스, 실험, 컴퓨트 클러스터 및 데이터셋 설정](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 AutoML 구성 및 학습](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. Azure ML SDK를 사용한 모델 배포 및 엔드포인트 소비](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 최적의 모델 저장](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 모델 배포](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 엔드포인트 소비](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 도전 과제](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [강의 후 퀴즈](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [복습 및 자기 학습](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [과제](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. 소개
+
+### 1.1 Azure ML SDK란 무엇인가?
+
+데이터 과학자와 AI 개발자는 Azure Machine Learning SDK를 사용하여 Azure Machine Learning 서비스를 통해 머신 러닝 워크플로를 구축하고 실행합니다. 이 SDK는 Jupyter Notebooks, Visual Studio Code 또는 선호하는 Python IDE를 포함한 모든 Python 환경에서 서비스를 상호작용할 수 있게 합니다.
+
+SDK의 주요 기능은 다음과 같습니다:
+
+- 머신 러닝 실험에 사용되는 데이터셋의 라이프사이클을 탐색, 준비 및 관리합니다.
+- 클라우드 리소스를 관리하여 머신 러닝 실험을 모니터링, 로깅 및 조직화합니다.
+- 로컬 또는 GPU 가속 모델 학습을 포함한 클라우드 리소스를 사용하여 모델을 학습합니다.
+- 자동화된 머신 러닝을 사용하여 구성 매개변수와 학습 데이터를 받아들입니다. 알고리즘과 하이퍼파라미터 설정을 자동으로 반복하여 예측 실행에 가장 적합한 모델을 찾습니다.
+- 학습된 모델을 RESTful 서비스로 변환하여 모든 애플리케이션에서 소비할 수 있는 웹 서비스를 배포합니다.
+
+[Azure Machine Learning SDK에 대해 더 알아보기](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+[이전 강의](../18-Low-Code/README.md)에서는 로우 코드/노 코드 방식으로 모델을 학습, 배포 및 소비하는 방법을 살펴보았습니다. 심부전 데이터셋을 사용하여 심부전 예측 모델을 생성했습니다. 이번 강의에서는 동일한 작업을 Azure Machine Learning SDK를 사용하여 수행할 것입니다.
+
+
+
+### 1.2 심부전 예측 프로젝트와 데이터셋 소개
+
+심부전 예측 프로젝트와 데이터셋 소개는 [여기](../18-Low-Code/README.md)를 참조하세요.
+
+## 2. Azure ML SDK를 사용한 모델 학습
+### 2.1 Azure ML 워크스페이스 생성
+
+간단히 하기 위해 우리는 Jupyter Notebook에서 작업할 것입니다. 이는 이미 워크스페이스와 컴퓨트 인스턴스를 가지고 있음을 의미합니다. 이미 워크스페이스가 있다면, 바로 **2.3 노트북 생성** 섹션으로 이동할 수 있습니다.
+
+워크스페이스가 없다면, [이전 강의](../18-Low-Code/README.md)의 **2.1 Azure ML 워크스페이스 생성** 섹션의 지침을 따라 워크스페이스를 생성하세요.
+
+### 2.2 컴퓨트 인스턴스 생성
+
+이전에 생성한 [Azure ML 워크스페이스](https://ml.azure.com/)로 이동하여 컴퓨트 메뉴를 클릭하면 사용 가능한 다양한 컴퓨트 리소스를 볼 수 있습니다.
+
+
+
+Jupyter Notebook을 프로비저닝하기 위해 컴퓨트 인스턴스를 생성해봅시다.
+1. + New 버튼을 클릭합니다.
+2. 컴퓨트 인스턴스에 이름을 지정합니다.
+3. CPU 또는 GPU, VM 크기 및 코어 수를 선택합니다.
+4. Create 버튼을 클릭합니다.
+
+축하합니다! 컴퓨트 인스턴스를 생성했습니다. 이 컴퓨트 인스턴스를 사용하여 [노트북 생성 섹션](../../../../5-Data-Science-In-Cloud/19-Azure)에서 노트북을 생성할 것입니다.
+
+### 2.3 데이터셋 로드
+아직 데이터셋을 업로드하지 않았다면 [이전 강의](../18-Low-Code/README.md)의 **2.3 데이터셋 로드** 섹션을 참조하세요.
+
+### 2.4 노트북 생성
+
+> **_참고:_** 다음 단계에서는 새 노트북을 처음부터 생성하거나, [우리가 생성한 노트북](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb)을 Azure ML Studio에 업로드할 수 있습니다. 업로드하려면 "Notebook" 메뉴를 클릭하고 노트북을 업로드하세요.
+
+노트북은 데이터 과학 과정에서 매우 중요한 역할을 합니다. 탐색적 데이터 분석(EDA)을 수행하거나, 컴퓨트 클러스터를 호출하여 모델을 학습하거나, 추론 클러스터를 호출하여 엔드포인트를 배포하는 데 사용할 수 있습니다.
+
+노트북을 생성하려면 Jupyter Notebook 인스턴스를 제공하는 컴퓨트 노드가 필요합니다. [Azure ML 워크스페이스](https://ml.azure.com/)로 돌아가 컴퓨트 인스턴스를 클릭하세요. 컴퓨트 인스턴스 목록에서 [이전에 생성한 컴퓨트 인스턴스](../../../../5-Data-Science-In-Cloud/19-Azure)를 확인할 수 있습니다.
+
+1. Applications 섹션에서 Jupyter 옵션을 클릭합니다.
+2. "Yes, I understand" 박스를 체크하고 Continue 버튼을 클릭합니다.
+
+3. 새로운 브라우저 탭이 열리며 Jupyter Notebook 인스턴스가 표시됩니다. "New" 버튼을 클릭하여 노트북을 생성하세요.
+
+
+
+이제 노트북을 생성했으니 Azure ML SDK를 사용하여 모델 학습을 시작할 수 있습니다.
+
+### 2.5 모델 학습
+
+먼저, 의문이 생길 경우 [Azure ML SDK 문서](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 참조하세요. 이번 강의에서 다룰 모듈에 대한 모든 필요한 정보를 포함하고 있습니다.
+
+#### 2.5.1 워크스페이스, 실험, 컴퓨트 클러스터 및 데이터셋 설정
+
+다음 코드를 사용하여 구성 파일에서 `워크스페이스`를 로드해야 합니다:
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+이 코드는 워크스페이스를 나타내는 `Workspace` 유형의 객체를 반환합니다. 그런 다음 다음 코드를 사용하여 `실험`을 생성해야 합니다:
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+워크스페이스에서 실험을 가져오거나 생성하려면 실험 이름을 요청해야 합니다. 실험 이름은 3-36자 사이여야 하며, 문자 또는 숫자로 시작하고 문자, 숫자, 밑줄 및 대시만 포함할 수 있습니다. 워크스페이스에서 실험을 찾을 수 없는 경우 새 실험이 생성됩니다.
+
+이제 다음 코드를 사용하여 학습을 위한 컴퓨트 클러스터를 생성해야 합니다. 이 단계는 몇 분이 걸릴 수 있습니다.
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+워크스페이스에서 데이터셋 이름을 사용하여 데이터셋을 가져올 수 있습니다:
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+#### 2.5.2 AutoML 구성 및 학습
+
+AutoML 구성을 설정하려면 [AutoMLConfig 클래스](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 사용하세요.
+
+문서에 설명된 대로 다양한 매개변수를 조정할 수 있습니다. 이번 프로젝트에서는 다음 매개변수를 사용할 것입니다:
+
+- `experiment_timeout_minutes`: 실험이 자동으로 중지되고 결과가 자동으로 제공되기 전에 허용되는 최대 시간(분).
+- `max_concurrent_iterations`: 실험에서 허용되는 최대 동시 학습 반복 횟수.
+- `primary_metric`: 실험 상태를 결정하는 데 사용되는 주요 메트릭.
+- `compute_target`: 자동화된 머신 러닝 실험을 실행할 Azure Machine Learning 컴퓨트 대상.
+- `task`: 실행할 작업 유형. 'classification', 'regression', 'forecasting' 값 중 하나를 선택하여 해결할 자동화된 ML 문제 유형을 결정.
+- `training_data`: 실험 내에서 사용될 학습 데이터. 학습 특징과 레이블 열(선택적으로 샘플 가중치 열)을 포함해야 함.
+- `label_column_name`: 레이블 열의 이름.
+- `path`: Azure Machine Learning 프로젝트 폴더의 전체 경로.
+- `enable_early_stopping`: 점수가 단기적으로 개선되지 않을 경우 조기 종료를 활성화할지 여부.
+- `featurization`: 자동으로 특징화 단계를 수행할지 여부 또는 사용자 정의 특징화를 사용할지 여부.
+- `debug_log`: 디버그 정보를 기록할 로그 파일.
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+구성이 완료되었으니 다음 코드를 사용하여 모델을 학습할 수 있습니다. 클러스터 크기에 따라 이 단계는 최대 한 시간이 걸릴 수 있습니다.
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+RunDetails 위젯을 실행하여 다양한 실험을 확인할 수 있습니다.
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+## 3. Azure ML SDK를 사용한 모델 배포 및 엔드포인트 소비
+
+### 3.1 최적의 모델 저장
+
+`remote_run`은 [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 유형의 객체입니다. 이 객체는 `get_output()` 메서드를 포함하며, 최적의 실행과 해당 학습된 모델을 반환합니다.
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+최적의 모델에 사용된 매개변수를 보려면 `fitted_model`을 출력하고 [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 메서드를 사용하여 최적의 모델 속성을 확인할 수 있습니다.
+
+```python
+best_run.get_properties()
+```
+
+이제 [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 메서드를 사용하여 모델을 등록하세요.
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+### 3.2 모델 배포
+
+최적의 모델을 저장한 후 [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) 클래스를 사용하여 모델을 배포할 수 있습니다. InferenceConfig는 배포에 사용되는 사용자 정의 환경에 대한 구성 설정을 나타냅니다. [AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) 클래스는 Azure Container Instances에서 웹 서비스 엔드포인트로 배포된 머신 러닝 모델을 나타냅니다. 배포된 서비스는 모델, 스크립트 및 관련 파일에서 생성됩니다. 결과 웹 서비스는 로드 밸런싱된 HTTP 엔드포인트로 REST API를 제공합니다. 이 API에 데이터를 보내고 모델이 반환한 예측을 받을 수 있습니다.
+
+모델은 [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 메서드를 사용하여 배포됩니다.
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+이 단계는 몇 분이 걸릴 수 있습니다.
+
+### 3.3 엔드포인트 소비
+
+엔드포인트를 소비하려면 샘플 입력을 생성하세요:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+그런 다음 이 입력을 모델에 보내 예측을 받을 수 있습니다:
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+이 코드는 `'{"result": [false]}'`를 출력해야 합니다. 이는 우리가 엔드포인트에 보낸 환자 입력값이 `false`라는 예측을 생성했음을 의미하며, 이 사람은 심장마비를 겪을 가능성이 낮다는 뜻입니다.
+
+축하합니다! Azure ML SDK를 사용하여 Azure ML에서 학습하고 배포된 모델을 성공적으로 활용했습니다!
+
+> **_NOTE:_** 프로젝트를 완료한 후에는 모든 리소스를 삭제하는 것을 잊지 마세요.
+
+## 🚀 도전 과제
+
+SDK를 통해 할 수 있는 많은 작업이 있지만, 아쉽게도 이 수업에서 모두 다룰 수는 없습니다. 하지만 좋은 소식은 SDK 문서를 빠르게 훑는 방법을 배우면 스스로 많은 것을 해낼 수 있다는 점입니다. Azure ML SDK 문서를 살펴보고 파이프라인을 생성할 수 있는 `Pipeline` 클래스를 찾아보세요. 파이프라인은 워크플로우로 실행할 수 있는 단계들의 모음입니다.
+
+**힌트:** [SDK 문서](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)에 접속하여 검색창에 "Pipeline"과 같은 키워드를 입력하세요. 검색 결과에서 `azureml.pipeline.core.Pipeline` 클래스를 확인할 수 있을 것입니다.
+
+## [강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## 복습 및 자기 학습
+
+이번 수업에서는 Azure ML SDK를 사용하여 클라우드에서 심부전 위험을 예측하는 모델을 학습, 배포 및 활용하는 방법을 배웠습니다. Azure ML SDK에 대한 추가 정보를 원한다면 [문서](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)를 확인하세요. Azure ML SDK를 사용하여 자신만의 모델을 만들어 보세요.
+
+## 과제
+
+[Azure ML SDK를 활용한 데이터 과학 프로젝트](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전이 권위 있는 출처로 간주되어야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/ko/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..c503c5f2
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# Azure ML SDK를 사용한 데이터 과학 프로젝트
+
+## 지침
+
+우리는 Azure ML 플랫폼을 사용하여 Azure ML SDK로 모델을 학습, 배포 및 소비하는 방법을 살펴보았습니다. 이제 다른 모델을 학습시키고 배포하며 소비할 수 있는 데이터를 찾아보세요. [Kaggle](https://kaggle.com)과 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)에서 데이터셋을 검색할 수 있습니다.
+
+## 평가 기준
+
+| 우수 | 적절 | 개선 필요 |
+|------|------|----------|
+|AutoML 구성 시 SDK 문서를 검토하여 사용할 수 있는 매개변수를 확인했습니다. Azure ML SDK를 사용하여 AutoML로 데이터셋을 학습시켰고, 모델 설명을 확인했습니다. 최적의 모델을 배포하고 Azure ML SDK를 통해 이를 소비할 수 있었습니다. | Azure ML SDK를 사용하여 AutoML로 데이터셋을 학습시켰고, 모델 설명을 확인했습니다. 최적의 모델을 배포하고 Azure ML SDK를 통해 이를 소비할 수 있었습니다. | Azure ML SDK를 사용하여 AutoML로 데이터셋을 학습시켰습니다. 최적의 모델을 배포하고 Azure ML SDK를 통해 이를 소비할 수 있었습니다. |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/5-Data-Science-In-Cloud/README.md b/translations/ko/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..25a01505
--- /dev/null
+++ b/translations/ko/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,33 @@
+
+# 클라우드에서의 데이터 과학
+
+
+
+> 사진 제공: [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)를 사용하는 방법입니다.
+
+
+
+### 주제
+
+1. [왜 데이터 과학에 클라우드를 사용할까?](17-Introduction/README.md)
+2. [클라우드에서의 데이터 과학: "Low code/No code" 방식](18-Low-Code/README.md)
+3. [클라우드에서의 데이터 과학: "Azure ML SDK" 방식](19-Azure/README.md)
+
+### 크레딧
+이 강의는 ☁️와 💕로 [Maud Levy](https://twitter.com/maudstweets)와 [Tiffany Souterre](https://twitter.com/TiffanySouterre)가 작성했습니다.
+
+심부전 예측 프로젝트의 데이터는 [Kaggle](https://www.kaggle.com/andrewmvd)의 [
+Larxel](https://www.kaggle.com/andrewmvd)에서 제공되었으며, [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) 라이선스 하에 사용됩니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
new file mode 100644
index 00000000..e3c7a3d1
--- /dev/null
+++ b/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# 현실 세계의 데이터 과학
+
+|  ](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| 현실 세계의 데이터 과학 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+이 학습 여정의 끝에 거의 다다랐습니다!
+
+우리는 데이터 과학과 윤리의 정의로 시작하여, 데이터 분석과 시각화를 위한 다양한 도구와 기술을 탐구하고, 데이터 과학 라이프사이클을 검토했으며, 클라우드 컴퓨팅 서비스를 통해 데이터 과학 워크플로를 확장하고 자동화하는 방법을 살펴보았습니다. 그래서 여러분은 아마 이렇게 생각할지도 모릅니다: _"이 모든 학습을 현실 세계의 맥락에 어떻게 연결할 수 있을까?"_
+
+이번 강의에서는 산업 전반에서 데이터 과학의 현실 세계 응용 사례를 탐구하고, 연구, 디지털 인문학, 지속 가능성 분야의 구체적인 예를 살펴볼 것입니다. 학생 프로젝트 기회를 살펴보고 학습 여정을 계속할 수 있도록 유용한 자료로 마무리하겠습니다.
+
+## 강의 전 퀴즈
+
+[강의 전 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## 데이터 과학 + 산업
+
+AI의 민주화 덕분에 개발자들은 이제 AI 기반 의사결정과 데이터 기반 인사이트를 사용자 경험 및 개발 워크플로에 설계하고 통합하는 것이 더 쉬워졌습니다. 데이터 과학이 산업 전반에서 현실 세계 응용 사례에 "적용"되는 몇 가지 예를 소개합니다:
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends)는 데이터 과학을 사용하여 검색어와 독감 경향을 연관시켰습니다. 접근 방식에 결함이 있었지만, 데이터 기반 의료 예측의 가능성과 도전 과제에 대한 인식을 높였습니다.
+
+ * [UPS 경로 예측](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather) - UPS가 날씨 조건, 교통 패턴, 배송 기한 등을 고려하여 최적의 배송 경로를 예측하기 위해 데이터 과학과 머신러닝을 사용하는 방법을 설명합니다.
+
+ * [NYC 택시 경로 시각화](http://chriswhong.github.io/nyctaxi/) - [정보공개법](https://chriswhong.com/open-data/foil_nyc_taxi)을 통해 수집된 데이터를 사용하여 NYC 택시의 하루를 시각화하고, 바쁜 도시를 어떻게 이동하는지, 벌어들이는 수익, 각 24시간 동안의 여행 시간을 이해할 수 있도록 도와줍니다.
+
+ * [Uber 데이터 과학 워크벤치](https://eng.uber.com/dsw/) - 매일 수백만 건의 Uber 여행에서 수집된 데이터를 사용하여 가격 책정, 안전, 사기 탐지 및 내비게이션 결정을 지원하는 데이터 분석 도구를 구축합니다.
+
+ * [스포츠 분석](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - _예측 분석_ (팀 및 선수 분석 - [Moneyball](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/)을 생각해보세요 - 및 팬 관리)과 _데이터 시각화_ (팀 및 팬 대시보드, 게임 등)에 초점을 맞추며, 인재 발굴, 스포츠 도박, 재고/장소 관리와 같은 응용 사례를 포함합니다.
+
+ * [은행에서의 데이터 과학](https://data-flair.training/blogs/data-science-in-banking/) - 금융 산업에서 데이터 과학의 가치를 강조하며, 위험 모델링 및 사기 탐지, 고객 세분화, 실시간 예측 및 추천 시스템에 이르기까지 다양한 응용 사례를 다룹니다. 예측 분석은 또한 [신용 점수](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit)와 같은 중요한 측정을 추진합니다.
+
+ * [의료에서의 데이터 과학](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/)
+
+이 그림은 데이터 과학 기술을 적용할 수 있는 다른 도메인과 예제를 보여줍니다. 다른 응용 사례를 탐구하고 싶으신가요? 아래의 [복습 및 자기 학습](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) 섹션을 확인하세요.
+
+## 데이터 과학 + 연구
+
+|  ](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 데이터 과학 & 연구 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+현실 세계 응용 사례는 종종 대규모 산업 사용 사례에 초점을 맞추지만, _연구_ 응용 사례와 프로젝트는 두 가지 관점에서 유용할 수 있습니다:
+
+* _혁신 기회_ - 차세대 응용 프로그램을 위한 고급 개념의 빠른 프로토타이핑과 사용자 경험 테스트를 탐구합니다.
+* _배포 과제_ - 현실 세계 맥락에서 데이터 과학 기술의 잠재적 해악이나 의도하지 않은 결과를 조사합니다.
+
+학생들에게 이러한 연구 프로젝트는 학습과 협업 기회를 제공하여 주제를 더 깊이 이해하고, 관심 분야에서 활동하는 관련 인물이나 팀과의 인식 및 참여를 넓힐 수 있습니다. 그렇다면 연구 프로젝트는 어떤 모습이며, 어떻게 영향을 미칠 수 있을까요?
+
+한 가지 예를 살펴보겠습니다 - Joy Buolamwini(MIT Media Labs)의 [MIT Gender Shades Study](http://gendershades.org/overview.html)와 Timnit Gebru(당시 Microsoft Research)의 공동 연구 논문 [signature research paper](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf)를 중심으로 한 프로젝트입니다.
+
+ * **무엇:** 연구 프로젝트의 목표는 _성별과 피부 유형에 따라 자동 얼굴 분석 알고리즘과 데이터 세트에 존재하는 편향을 평가하는 것_이었습니다.
+ * **왜:** 얼굴 분석은 법 집행, 공항 보안, 채용 시스템 등과 같은 분야에서 사용되며, 부정확한 분류(예: 편향으로 인해)는 영향을 받는 개인이나 그룹에 잠재적인 경제적, 사회적 해악을 초래할 수 있습니다. 편향을 이해하고 제거하거나 완화하는 것은 공정한 사용의 핵심입니다.
+ * **어떻게:** 연구자들은 기존 벤치마크가 주로 밝은 피부를 가진 피험자를 사용한다는 점을 인식하고, 성별과 피부 유형에 따라 _더 균형 잡힌_ 새로운 데이터 세트(1000개 이상의 이미지)를 큐레이션했습니다. 이 데이터 세트는 Microsoft, IBM 및 Face++의 세 가지 성별 분류 제품의 정확성을 평가하는 데 사용되었습니다.
+
+결과는 전체적으로 분류 정확도가 좋았지만, 다양한 하위 그룹 간의 오류율 차이가 눈에 띄었으며, **여성이나 어두운 피부를 가진 사람들**에 대한 오분류가 더 높아 편향을 나타냈습니다.
+
+**주요 결과:** 데이터 과학에는 더 _대표적인 데이터 세트_ (균형 잡힌 하위 그룹)와 더 _포괄적인 팀_ (다양한 배경)이 필요하다는 인식을 높였으며, 이를 통해 AI 솔루션에서 이러한 편향을 조기에 인식하고 제거하거나 완화할 수 있습니다. 이러한 연구 노력은 많은 조직이 _책임 있는 AI_ 원칙과 관행을 정의하여 AI 제품과 프로세스의 공정성을 개선하는 데에도 중요한 역할을 합니다.
+
+**Microsoft의 관련 연구 노력에 대해 배우고 싶으신가요?**
+
+* [Microsoft Research Projects](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project)에서 인공지능 관련 연구 프로젝트를 확인하세요.
+* [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/)에서 학생 프로젝트를 탐구하세요.
+* [Fairlearn](https://fairlearn.org/) 프로젝트와 [Responsible AI](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) 이니셔티브를 확인하세요.
+
+## 데이터 과학 + 인문학
+
+|  ](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 데이터 과학 & 디지털 인문학 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+디지털 인문학은 [다음과 같이 정의됩니다](https://digitalhumanities.stanford.edu/about-dh-stanford): "컴퓨팅 방법과 인문학적 탐구를 결합한 실천과 접근 방식의 모음". [Stanford 프로젝트](https://digitalhumanities.stanford.edu/projects)인 _"역사 재부팅"_과 _"시적 사고"_는 [디지털 인문학과 데이터 과학](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science)의 연계를 보여주며, 네트워크 분석, 정보 시각화, 공간 및 텍스트 분석과 같은 기술을 강조하여 역사적 및 문학적 데이터 세트를 재검토하고 새로운 통찰력과 관점을 도출할 수 있도록 합니다.
+
+*이 분야에서 프로젝트를 탐구하고 확장하고 싶으신가요?*
+
+["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671)를 확인하세요 - [Jen Looper](https://twitter.com/jenlooper)의 훌륭한 예제로, 데이터 과학을 사용하여 익숙한 시를 재검토하고 새로운 맥락에서 그 의미와 저자의 기여를 평가하는 방법을 묻습니다. 예를 들어, _시의 톤이나 감정을 분석하여 시가 작성된 계절을 예측할 수 있을까_ - 그리고 이것이 해당 기간 동안 저자의 마음 상태에 대해 무엇을 말해줄까요?
+
+이 질문에 답하기 위해 데이터 과학 라이프사이클의 단계를 따릅니다:
+ * [`데이터 수집`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - 분석을 위한 관련 데이터 세트를 수집합니다. API(예: [Poetry DB API](https://poetrydb.org/index.html))를 사용하거나 웹 페이지를 스크래핑(예: [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm))하는 옵션이 포함됩니다.
+ * [`데이터 정리`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - 텍스트를 형식화, 정리 및 단순화하는 방법을 기본 도구(Visual Studio Code 및 Microsoft Excel)를 사용하여 설명합니다.
+ * [`데이터 분석`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - Python 패키지(pandas, numpy, matplotlib 등)를 사용하여 데이터를 조직하고 시각화하기 위해 데이터 세트를 "노트북"에 가져오는 방법을 설명합니다.
+ * [`감정 분석`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - 자동화된 데이터 처리 워크플로를 위한 저코드 도구인 [Power Automate](https://flow.microsoft.com/en-us/)를 사용하여 Text Analytics와 같은 클라우드 서비스를 통합하는 방법을 설명합니다.
+
+이 워크플로를 사용하여 시의 감정에 대한 계절적 영향을 탐구하고, 저자에 대한 자신의 관점을 형성할 수 있습니다. 직접 시도해보고, 노트북을 확장하여 다른 질문을 하거나 데이터를 새로운 방식으로 시각화해보세요!
+
+> [디지털 인문학 툴킷](https://github.com/Digital-Humanities-Toolkit)의 일부 도구를 사용하여 이러한 탐구를 진행할 수 있습니다.
+
+## 데이터 과학 + 지속 가능성
+
+|  ](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 데이터 과학 & 지속 가능성 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+[2030 지속 가능 개발 의제](https://sdgs.un.org/2030agenda) - 2015년에 모든 유엔 회원국이 채택한 이 의제는 **기후 변화의 영향으로부터 지구를 보호**하는 것을 포함하여 17개의 목표를 식별합니다. [Microsoft 지속 가능성](https://www.microsoft.com/en-us/sustainability) 이니셔티브는 탄소 중립, 물 긍정, 제로 폐기물, 생물 다양성을 포함한 [4가지 목표](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh)를 중심으로 기술 솔루션을 통해 더 지속 가능한 미래를 지원하고 구축하는 방법을 탐구합니다.
+
+이러한 과제를 확장 가능하고 시기 적절하게 해결하려면 클라우드 규모의 사고와 대규모 데이터가 필요합니다. [Planetary Computer](https://planetarycomputer.microsoft.com/) 이니셔티브는 데이터 과학자와 개발자를 지원하기 위해 다음 4가지 구성 요소를 제공합니다:
+
+ * [데이터 카탈로그](https://planetarycomputer.microsoft.com/catalog) - 지구 시스템 데이터 페타바이트(무료 및 Azure 호스팅).
+ * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - 사용자들이 공간 및 시간에 걸쳐 관련 데이터를 검색할 수 있도록 지원.
+ * [허브](https://planetarycomputer.microsoft.com/docs/overview/environment/) - 과학자들이 대규모 지리 데이터 세트를 처리할 수 있는 관리 환경.
+ * [응용 프로그램](https://planetarycomputer.microsoft.com/applications) - 지속 가능성 인사이트를 위한 사용 사례 및 도구를 소개.
+**행성 컴퓨터 프로젝트는 현재 미리보기 상태입니다 (2021년 9월 기준)** - 데이터 과학을 활용해 지속 가능성 솔루션에 기여하는 방법을 시작해보세요.
+
+* 탐색을 시작하고 동료들과 연결하려면 [액세스 요청](https://planetarycomputer.microsoft.com/account/request)을 하세요.
+* 지원되는 데이터셋과 API를 이해하려면 [문서 탐색](https://planetarycomputer.microsoft.com/docs/overview/about)을 해보세요.
+* [생태계 모니터링](https://analytics-lab.org/ecosystemmonitoring/)과 같은 애플리케이션을 탐색하며 애플리케이션 아이디어에 영감을 얻어보세요.
+
+데이터 시각화를 활용해 기후 변화나 산림 파괴와 같은 영역에서 관련 통찰을 드러내거나 증폭시키는 방법을 생각해보세요. 또는 이러한 통찰을 활용해 더 지속 가능한 삶을 위한 행동 변화를 유도하는 새로운 사용자 경험을 창출하는 방법을 고민해보세요.
+
+## 데이터 과학 + 학생들
+
+우리는 산업과 연구에서의 실제 응용 사례를 논의하고, 디지털 인문학과 지속 가능성에서의 데이터 과학 응용 사례를 탐구했습니다. 그렇다면 데이터 과학 초보자로서 어떻게 기술을 쌓고 전문성을 공유할 수 있을까요?
+
+다음은 여러분에게 영감을 줄 데이터 과학 학생 프로젝트의 예시들입니다.
+
+* [MSR 데이터 과학 여름 학교](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects)에서 GitHub [프로젝트](https://github.com/msr-ds3)를 통해 다음과 같은 주제를 탐구:
+ - [경찰의 무력 사용에서의 인종적 편향](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [뉴욕 지하철 시스템의 신뢰성](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+* [물질 문화를 디지털화하기: Sirkap에서의 사회경제적 분포 탐구](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - [Ornella Altunyan](https://twitter.com/ornelladotcom)과 Claremont 팀이 [ArcGIS StoryMaps](https://storymaps.arcgis.com/)를 사용해 진행.
+
+## 🚀 도전 과제
+
+초보자에게 적합한 데이터 과학 프로젝트를 추천하는 기사를 찾아보세요 - 예를 들어 [이 50가지 주제 영역](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/), [이 21가지 프로젝트 아이디어](https://www.intellspot.com/data-science-project-ideas), 또는 [소스 코드가 포함된 16가지 프로젝트](https://data-flair.training/blogs/data-science-project-ideas/)를 참고해 분해하고 재구성해보세요. 그리고 학습 여정을 블로그에 기록하고 여러분의 통찰을 모두와 공유하는 것을 잊지 마세요.
+
+## 강의 후 퀴즈
+
+[강의 후 퀴즈](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## 복습 및 자기 학습
+
+더 많은 사용 사례를 탐구하고 싶으신가요? 다음은 관련된 몇 가지 기사들입니다:
+* [17가지 데이터 과학 응용 사례와 예시](https://builtin.com/data-science/data-science-applications-examples) - 2021년 7월
+* [실제 세계에서의 11가지 놀라운 데이터 과학 응용 사례](https://myblindbird.com/data-science-applications-real-world/) - 2021년 5월
+* [실제 세계에서의 데이터 과학](https://towardsdatascience.com/data-science-in-the-real-world/home) - 기사 모음
+* 데이터 과학 응용: [교육](https://data-flair.training/blogs/data-science-in-education/), [농업](https://data-flair.training/blogs/data-science-in-agriculture/), [금융](https://data-flair.training/blogs/data-science-in-finance/), [영화](https://data-flair.training/blogs/data-science-at-movies/) 등.
+
+## 과제
+
+[행성 컴퓨터 데이터셋 탐색](assignment.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
new file mode 100644
index 00000000..5e2afafa
--- /dev/null
+++ b/translations/ko/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# 행성 컴퓨터 데이터셋 탐색하기
+
+## 지침
+
+이 강의에서는 데이터 과학의 다양한 응용 분야에 대해 논의했으며, 연구, 지속 가능성, 디지털 인문학과 관련된 예제를 심도 있게 다뤘습니다. 이번 과제에서는 이러한 예제 중 하나를 더 자세히 탐구하고, 데이터 시각화 및 분석에 대한 학습 내용을 적용하여 지속 가능성 데이터에 대한 통찰을 도출해 보세요.
+
+[Planetary Computer](https://planetarycomputer.microsoft.com/) 프로젝트는 계정을 통해 접근할 수 있는 데이터셋과 API를 제공합니다. 과제의 보너스 단계를 시도하려면 계정을 요청하세요. 계정을 생성하지 않아도 사용할 수 있는 [Explorer](https://planetarycomputer.microsoft.com/explore) 기능도 사이트에서 제공합니다.
+
+`단계:`
+Explorer 인터페이스(아래 스크린샷 참조)는 데이터셋(제공된 옵션 중에서 선택), 사전 설정된 쿼리(데이터 필터링), 렌더링 옵션(관련 시각화 생성)을 선택할 수 있게 해줍니다. 이번 과제에서 여러분의 임무는 다음과 같습니다:
+
+ 1. [Explorer 문서](https://planetarycomputer.microsoft.com/docs/overview/explorer/)를 읽고 옵션을 이해하세요.
+ 2. 데이터셋 [카탈로그](https://planetarycomputer.microsoft.com/catalog)를 탐색하여 각 데이터셋의 목적을 학습하세요.
+ 3. Explorer를 사용하여 관심 있는 데이터셋을 선택하고, 관련 쿼리와 렌더링 옵션을 선택하세요.
+
+
+
+`여러분의 과제:`
+이제 브라우저에 렌더링된 시각화를 연구하고 다음 질문에 답하세요:
+ * 데이터셋에는 어떤 _특징_이 있나요?
+ * 시각화가 제공하는 _통찰_ 또는 결과는 무엇인가요?
+ * 이러한 통찰이 프로젝트의 지속 가능성 목표에 어떤 _의미_를 가지나요?
+ * 시각화의 _제한점_은 무엇인가요? (즉, 어떤 통찰을 얻지 못했나요?)
+ * 원시 데이터를 얻을 수 있다면, 어떤 _대체 시각화_를 만들고 싶으며, 그 이유는 무엇인가요?
+
+`보너스 포인트:`
+계정을 신청하고, 승인되면 로그인하세요.
+ * _Launch Hub_ 옵션을 사용하여 원시 데이터를 노트북에서 열어보세요.
+ * 데이터를 대화형으로 탐색하고, 생각했던 대체 시각화를 구현해 보세요.
+ * 이제 여러분의 맞춤 시각화를 분석하세요. 이전에 놓쳤던 통찰을 도출할 수 있었나요?
+
+## 평가 기준
+
+탁월함 | 적절함 | 개선 필요
+--- | --- | -- |
+다섯 가지 핵심 질문에 모두 답변했습니다. 현재 시각화와 대체 시각화가 지속 가능성 목표나 결과에 대한 통찰을 어떻게 제공할 수 있는지 명확히 식별했습니다. | 상위 3가지 질문에 대해 상세히 답변했으며, Explorer를 실질적으로 사용한 경험을 보여줍니다. | 여러 질문에 답변하지 않았거나, 세부 사항이 부족하여 과제를 의미 있게 시도하지 않았음을 나타냅니다. |
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/6-Data-Science-In-Wild/README.md b/translations/ko/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..c0c94c8a
--- /dev/null
+++ b/translations/ko/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# 야생에서의 데이터 과학
+
+산업 전반에 걸친 데이터 과학의 실제 응용 사례.
+
+### 주제
+
+1. [현실 세계의 데이터 과학](20-Real-World-Examples/README.md)
+
+### 크레딧
+
+❤️와 함께 작성한 [Nitya Narasimhan](https://twitter.com/nitya)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/CODE_OF_CONDUCT.md b/translations/ko/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..65853c4c
--- /dev/null
+++ b/translations/ko/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# Microsoft 오픈 소스 행동 강령
+
+이 프로젝트는 [Microsoft 오픈 소스 행동 강령](https://opensource.microsoft.com/codeofconduct/)을 채택했습니다.
+
+리소스:
+
+- [Microsoft 오픈 소스 행동 강령](https://opensource.microsoft.com/codeofconduct/)
+- [Microsoft 행동 강령 FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
+- 질문이나 우려 사항이 있으면 [opencode@microsoft.com](mailto:opencode@microsoft.com)으로 연락하세요.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/CONTRIBUTING.md b/translations/ko/CONTRIBUTING.md
new file mode 100644
index 00000000..2cb59577
--- /dev/null
+++ b/translations/ko/CONTRIBUTING.md
@@ -0,0 +1,19 @@
+
+# 기여하기
+
+이 프로젝트는 기여와 제안을 환영합니다. 대부분의 기여는 기여자 라이선스 계약 (CLA)에 동의해야 하며, 이를 통해 귀하가 기여할 권리를 가지고 있으며 실제로 기여를 사용할 권리를 우리에게 부여한다는 것을 선언합니다. 자세한 내용은 https://cla.microsoft.com을 방문하세요.
+
+풀 리퀘스트를 제출하면 CLA 봇이 자동으로 CLA 제공 여부를 확인하고 PR에 적절히 표시(예: 라벨, 댓글)합니다. 봇이 제공하는 지침을 따르기만 하면 됩니다. CLA를 사용하는 모든 저장소에서 이 작업은 한 번만 하면 됩니다.
+
+이 프로젝트는 [Microsoft 오픈 소스 행동 강령](https://opensource.microsoft.com/codeofconduct/)을 채택했습니다. 자세한 내용은 [행동 강령 FAQ](https://opensource.microsoft.com/codeofconduct/faq/)를 참조하거나 추가 질문이나 의견이 있는 경우 [opencode@microsoft.com](mailto:opencode@microsoft.com)으로 연락하세요.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/README.md b/translations/ko/README.md
new file mode 100644
index 00000000..6a8e2f22
--- /dev/null
+++ b/translations/ko/README.md
@@ -0,0 +1,163 @@
+
+# 데이터 과학 입문 - 커리큘럼
+
+Azure Cloud Advocates는 데이터 과학에 관한 10주, 20강의 커리큘럼을 제공합니다. 각 강의는 사전 및 사후 퀴즈, 강의 내용을 완성하기 위한 작성 지침, 솔루션, 과제를 포함합니다. 프로젝트 기반 학습 방식은 새로운 기술을 효과적으로 익히는 검증된 방법입니다.
+
+**저자들에게 깊은 감사의 마음을 전합니다:** [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).
+
+**🙏 특별히 감사드립니다 🙏 [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/)
+
+| ](./sketchnotes/00-Title.png)|
+|:---:|
+| 데이터 과학 입문 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+## 공지 - 생성형 AI에 관한 새로운 커리큘럼이 출시되었습니다!
+
+12강으로 구성된 생성형 AI 커리큘럼이 새롭게 출시되었습니다. 다음과 같은 내용을 배울 수 있습니다:
+
+- 프롬프트 및 프롬프트 엔지니어링
+- 텍스트 및 이미지 앱 생성
+- 검색 앱
+
+강의, 과제, 지식 점검 및 도전 과제가 포함되어 있습니다.
+
+확인해보세요:
+
+> https://aka.ms/genai-beginners
+
+# 학생이신가요?
+
+다음 리소스를 통해 시작해보세요:
+
+- [Student Hub 페이지](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) 이 페이지에서는 초보자를 위한 리소스, 학생 팩, 무료 인증서 바우처를 얻는 방법 등을 찾을 수 있습니다. 이 페이지를 즐겨찾기에 추가하고 정기적으로 확인하세요. 콘텐츠는 최소 월별로 업데이트됩니다.
+- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) 글로벌 학생 대사 커뮤니티에 가입하세요. Microsoft로의 첫걸음이 될 수 있습니다.
+
+# 시작하기
+
+> **교사들**: 이 커리큘럼을 활용하는 방법에 대한 [제안](for-teachers.md)을 포함했습니다. [토론 포럼](https://github.com/microsoft/Data-Science-For-Beginners/discussions)에서 피드백을 공유해주세요!
+
+> **[학생들](https://aka.ms/student-page)**: 이 커리큘럼을 독학으로 사용하려면 전체 저장소를 포크하고 사전 강의 퀴즈부터 시작하여 스스로 연습 문제를 완료하세요. 강의를 읽고 나머지 활동을 완료하세요. 솔루션 코드를 복사하기보다는 강의를 이해하며 프로젝트를 만들어보세요. 하지만 솔루션 코드는 각 프로젝트 기반 강의의 /solutions 폴더에 있습니다. 또 다른 방법은 친구들과 스터디 그룹을 만들어 함께 콘텐츠를 학습하는 것입니다. 추가 학습을 위해 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum)을 추천합니다.
+
+## 팀 소개
+
+[](https://youtu.be/8mzavjQSMM4 "프로모션 비디오")
+
+**Gif 제작자** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
+
+> 🎥 위 이미지를 클릭하면 프로젝트와 제작자들에 대한 비디오를 볼 수 있습니다!
+
+## 교육 방식
+
+이 커리큘럼을 설계할 때 두 가지 교육 원칙을 따랐습니다: 프로젝트 기반 학습과 빈번한 퀴즈 포함. 이 시리즈가 끝날 때 학생들은 데이터 과학의 기본 원칙, 윤리적 개념, 데이터 준비, 데이터 작업 방식, 데이터 시각화, 데이터 분석, 데이터 과학의 실제 사례 등을 배우게 됩니다.
+
+또한, 수업 전에 간단한 퀴즈를 통해 학생들이 주제에 집중할 수 있도록 하고, 수업 후 퀴즈를 통해 학습 내용을 더 잘 기억할 수 있도록 합니다. 이 커리큘럼은 유연하고 재미있게 설계되었으며 전체 또는 일부만 학습할 수 있습니다. 프로젝트는 작게 시작하여 10주 과정이 끝날 때 점점 복잡해집니다.
+
+> [행동 강령](CODE_OF_CONDUCT.md), [기여](CONTRIBUTING.md), [번역](TRANSLATIONS.md) 지침을 확인하세요. 건설적인 피드백을 환영합니다!
+
+## 각 강의는 다음을 포함합니다:
+
+- 선택적 스케치노트
+- 선택적 보충 비디오
+- 사전 강의 준비 퀴즈
+- 작성된 강의
+- 프로젝트 기반 강의의 경우, 프로젝트를 구축하는 단계별 가이드
+- 지식 점검
+- 도전 과제
+- 보충 자료
+- 과제
+- 사후 강의 퀴즈
+
+> **퀴즈에 대한 참고 사항**: 모든 퀴즈는 Quiz-App 폴더에 포함되어 있으며, 총 40개의 퀴즈가 각 3문제로 구성되어 있습니다. 강의 내에서 링크로 연결되어 있지만, 퀴즈 앱은 로컬에서 실행하거나 Azure에 배포할 수 있습니다. `quiz-app` 폴더의 지침을 따르세요. 퀴즈는 점차적으로 현지화되고 있습니다.
+
+## 강의 목록
+
+| ](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| 데이터 과학 입문: 로드맵 - _스케치노트 by [@nitya](https://twitter.com/nitya)_ |
+
+| 강의 번호 | 주제 | 강의 그룹 | 학습 목표 | 링크된 강의 | 저자 |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | 데이터 과학 정의 | [소개](1-Introduction/README.md) | 데이터 과학의 기본 개념과 인공지능, 머신러닝, 빅데이터와의 관계를 배웁니다. | [강의](1-Introduction/01-defining-data-science/README.md) [비디오](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | 데이터 과학 윤리 | [소개](1-Introduction/README.md) | 데이터 윤리 개념, 과제 및 프레임워크. | [강의](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | 데이터 정의 | [소개](1-Introduction/README.md) | 데이터가 어떻게 분류되고 일반적인 출처는 무엇인지 배웁니다. | [강의](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | 통계 및 확률 소개 | [소개](1-Introduction/README.md) | 데이터를 이해하기 위한 확률 및 통계의 수학적 기법. | [강의](1-Introduction/04-stats-and-probability/README.md) [비디오](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | 관계형 데이터 작업 | [데이터 작업](2-Working-With-Data/README.md) | 관계형 데이터 소개 및 SQL(Structured Query Language)을 사용하여 관계형 데이터를 탐색하고 분석하는 기본 사항. | [강의](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
+| 06 | NoSQL 데이터 작업 | [데이터 작업](2-Working-With-Data/README.md) | 비관계형 데이터 소개, 다양한 유형 및 문서 데이터베이스를 탐색하고 분석하는 기본 사항. | [강의](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
+| 07 | Python 작업 | [데이터 작업](2-Working-With-Data/README.md) | Pandas와 같은 라이브러리를 사용하여 데이터를 탐색하는 Python 사용 기본 사항. Python 프로그래밍에 대한 기초 이해가 권장됩니다. | [강의](2-Working-With-Data/07-python/README.md) [비디오](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | 데이터 준비 | [데이터 작업하기](2-Working-With-Data/README.md) | 누락되거나 부정확하거나 불완전한 데이터를 처리하기 위한 데이터 정리 및 변환 기술에 대한 주제. | [수업](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | 수량 시각화 | [데이터 시각화](3-Data-Visualization/README.md) | Matplotlib을 사용하여 새 데이터 🦆를 시각화하는 방법 배우기 | [수업](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | 데이터 분포 시각화 | [데이터 시각화](3-Data-Visualization/README.md) | 특정 구간 내 관찰 및 추세를 시각화하기. | [수업](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | 비율 시각화 | [데이터 시각화](3-Data-Visualization/README.md) | 개별 및 그룹화된 비율을 시각화하기. | [수업](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | 관계 시각화 | [데이터 시각화](3-Data-Visualization/README.md) | 데이터 세트와 변수 간의 연결 및 상관관계를 시각화하기. | [수업](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | 의미 있는 시각화 | [데이터 시각화](3-Data-Visualization/README.md) | 효과적인 문제 해결과 통찰력을 위한 시각화를 가치 있게 만드는 기술과 가이드. | [수업](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | 데이터 과학 생애주기 소개 | [생애주기](4-Data-Science-Lifecycle/README.md) | 데이터 과학 생애주기와 데이터 획득 및 추출의 첫 번째 단계 소개. | [수업](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | 분석하기 | [생애주기](4-Data-Science-Lifecycle/README.md) | 데이터 과학 생애주기의 이 단계는 데이터 분석 기술에 중점을 둡니다. | [수업](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | 커뮤니케이션 | [생애주기](4-Data-Science-Lifecycle/README.md) | 데이터 과학 생애주기의 이 단계는 데이터에서 얻은 통찰력을 의사 결정자가 쉽게 이해할 수 있도록 제시하는 데 중점을 둡니다. | [수업](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | 클라우드에서의 데이터 과학 | [클라우드 데이터](5-Data-Science-In-Cloud/README.md) | 클라우드에서의 데이터 과학과 그 이점을 소개하는 일련의 수업. | [수업](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 및 [Maud](https://twitter.com/maudstweets) |
+| 18 | 클라우드에서의 데이터 과학 | [클라우드 데이터](5-Data-Science-In-Cloud/README.md) | 로우 코드 도구를 사용하여 모델 훈련하기. | [수업](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 및 [Maud](https://twitter.com/maudstweets) |
+| 19 | 클라우드에서의 데이터 과학 | [클라우드 데이터](5-Data-Science-In-Cloud/README.md) | Azure Machine Learning Studio를 사용하여 모델 배포하기. | [수업](5-Data-Science-In-Cloud/19-Azure/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 및 [Maud](https://twitter.com/maudstweets) |
+| 20 | 실제 환경에서의 데이터 과학 | [실제 환경](6-Data-Science-In-Wild/README.md) | 실제 세계에서 데이터 과학 기반 프로젝트. | [수업](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+Codespace에서 이 샘플을 열려면 다음 단계를 따르세요:
+1. Code 드롭다운 메뉴를 클릭하고 Codespaces로 열기 옵션을 선택하세요.
+2. 창 하단에서 + New codespace를 선택하세요.
+자세한 내용은 [GitHub 문서](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace)를 확인하세요.
+
+## VSCode Remote - Containers
+로컬 머신과 VSCode를 사용하여 VS Code Remote - Containers 확장을 통해 이 저장소를 컨테이너에서 열려면 다음 단계를 따르세요:
+
+1. 개발 컨테이너를 처음 사용하는 경우, 시스템이 사전 요구 사항을 충족하는지 확인하세요 (예: Docker 설치). [시작 문서](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started)를 참조하세요.
+
+이 저장소를 사용하려면 다음 중 하나를 선택하세요:
+
+- 저장소를 격리된 Docker 볼륨에서 열기:
+
+**참고**: 내부적으로 Remote-Containers: **Clone Repository in Container Volume...** 명령을 사용하여 소스 코드를 로컬 파일 시스템 대신 Docker 볼륨에 복제합니다. [볼륨](https://docs.docker.com/storage/volumes/)은 컨테이너 데이터를 지속적으로 저장하는 데 선호되는 메커니즘입니다.
+
+- 로컬 파일 시스템에 복제하거나 다운로드한 버전을 열기:
+
+- 이 저장소를 로컬 파일 시스템에 복제하세요.
+- F1을 누르고 **Remote-Containers: Open Folder in Container...** 명령을 선택하세요.
+- 이 폴더의 복제본을 선택하고 컨테이너가 시작될 때까지 기다린 후 테스트를 진행하세요.
+
+## 오프라인 액세스
+
+[Docsify](https://docsify.js.org/#/)를 사용하여 이 문서를 오프라인으로 실행할 수 있습니다. 이 저장소를 포크하고, 로컬 머신에 [Docsify 설치](https://docsify.js.org/#/quickstart)를 한 다음, 이 저장소의 루트 폴더에서 `docsify serve`를 입력하세요. 웹사이트는 localhost의 포트 3000에서 제공됩니다: `localhost:3000`.
+
+> 참고: Docsify를 통해 노트북은 렌더링되지 않으므로 노트북을 실행해야 할 때는 Python 커널을 실행하는 VS Code에서 별도로 실행하세요.
+
+## 도움 요청!
+
+커리큘럼의 전체 또는 일부를 번역하고 싶다면 [번역 가이드](TRANSLATIONS.md)를 따라주세요.
+
+## 기타 커리큘럼
+
+우리 팀은 다른 커리큘럼도 제작합니다! 확인해보세요:
+
+- [Generative AI for Beginners](https://aka.ms/genai-beginners)
+- [Generative AI for Beginners .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [Generative AI with JavaScript](https://github.com/microsoft/generative-ai-with-javascript)
+- [Generative AI with Java](https://aka.ms/genaijava)
+- [AI for Beginners](https://aka.ms/ai-beginners)
+- [Data Science for Beginners](https://aka.ms/datascience-beginners)
+- [ML for Beginners](https://aka.ms/ml-beginners)
+- [Cybersecurity for Beginners](https://github.com/microsoft/Security-101)
+- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
+- [IoT for Beginners](https://aka.ms/iot-beginners)
+- [XR Development for Beginners](https://github.com/microsoft/xr-development-for-beginners)
+- [Mastering GitHub Copilot for Paired Programming](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [Mastering GitHub Copilot for C#/.NET Developers](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [Choose Your Own Copilot Adventure](https://github.com/microsoft/CopilotAdventures)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/SECURITY.md b/translations/ko/SECURITY.md
new file mode 100644
index 00000000..9e7cbef9
--- /dev/null
+++ b/translations/ko/SECURITY.md
@@ -0,0 +1,49 @@
+
+## 보안
+
+Microsoft는 소프트웨어 제품과 서비스의 보안을 매우 중요하게 생각하며, 여기에는 [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), 그리고 [Microsoft의 GitHub 조직들](https://opensource.microsoft.com/)을 통해 관리되는 모든 소스 코드 저장소가 포함됩니다.
+
+Microsoft가 소유한 저장소에서 [Microsoft의 보안 취약점 정의](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10))에 해당하는 보안 취약점을 발견했다고 생각되면, 아래에 설명된 대로 이를 보고해 주시기 바랍니다.
+
+## 보안 문제 보고
+
+**공개 GitHub 이슈를 통해 보안 취약점을 보고하지 마십시오.**
+
+대신, Microsoft Security Response Center (MSRC)에 [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report)를 통해 보고해 주시기 바랍니다.
+
+로그인 없이 제출하고 싶으신 경우, [secure@microsoft.com](mailto:secure@microsoft.com)으로 이메일을 보내주십시오. 가능하다면, 메시지를 Microsoft의 PGP 키로 암호화해 주시기 바랍니다. PGP 키는 [Microsoft Security Response Center PGP Key 페이지](https://www.microsoft.com/en-us/msrc/pgp-key-msrc)에서 다운로드할 수 있습니다.
+
+24시간 이내에 응답을 받을 수 있습니다. 만약 응답을 받지 못한 경우, 원래 메시지가 제대로 전달되었는지 확인하기 위해 이메일로 후속 조치를 취해 주시기 바랍니다. 추가 정보는 [microsoft.com/msrc](https://www.microsoft.com/msrc)에서 확인할 수 있습니다.
+
+가능한 한 아래에 나열된 정보를 포함하여 문제의 성격과 범위를 더 잘 이해할 수 있도록 도와주시기 바랍니다:
+
+ * 문제 유형 (예: 버퍼 오버플로우, SQL 인젝션, 크로스 사이트 스크립팅 등)
+ * 문제와 관련된 소스 파일의 전체 경로
+ * 영향을 받은 소스 코드의 위치 (태그/브랜치/커밋 또는 직접 URL)
+ * 문제를 재현하기 위해 필요한 특별한 설정
+ * 문제를 재현하기 위한 단계별 지침
+ * 개념 증명 또는 익스플로잇 코드 (가능한 경우)
+ * 문제의 영향, 특히 공격자가 문제를 어떻게 악용할 수 있는지
+
+이 정보는 보고서를 더 신속하게 처리하는 데 도움이 됩니다.
+
+버그 바운티 프로그램에 보고하는 경우, 더 완전한 보고서는 더 높은 바운티 보상에 기여할 수 있습니다. 활성 프로그램에 대한 자세한 내용은 [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) 페이지를 방문해 주십시오.
+
+## 선호하는 언어
+
+모든 커뮤니케이션은 영어로 진행되는 것을 선호합니다.
+
+## 정책
+
+Microsoft는 [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd) 원칙을 따릅니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/SUPPORT.md b/translations/ko/SUPPORT.md
new file mode 100644
index 00000000..317e3953
--- /dev/null
+++ b/translations/ko/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# 지원
+## 문제 신고 및 도움 받는 방법
+
+이 프로젝트는 GitHub Issues를 사용하여 버그와 기능 요청을 추적합니다. 중복을 피하기 위해 새로운 문제를 신고하기 전에 기존 문제를 검색해 주세요. 새로운 문제의 경우, 버그 또는 기능 요청을 새로운 Issue로 등록해 주세요.
+
+이 프로젝트 사용에 대한 도움과 질문은 Issue를 등록해 주세요.
+
+## Microsoft 지원 정책
+
+이 저장소에 대한 지원은 위에 나열된 리소스에 한정됩니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/docs/_sidebar.md b/translations/ko/docs/_sidebar.md
new file mode 100644
index 00000000..4932e884
--- /dev/null
+++ b/translations/ko/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- 소개
+ - [데이터 과학 정의하기](../1-Introduction/01-defining-data-science/README.md)
+ - [데이터 과학 윤리](../1-Introduction/02-ethics/README.md)
+ - [데이터 정의하기](../1-Introduction/03-defining-data/README.md)
+ - [확률과 통계](../1-Introduction/04-stats-and-probability/README.md)
+- 데이터 다루기
+ - [관계형 데이터베이스](../2-Working-With-Data/05-relational-databases/README.md)
+ - [비관계형 데이터베이스](../2-Working-With-Data/06-non-relational/README.md)
+ - [파이썬](../2-Working-With-Data/07-python/README.md)
+ - [데이터 준비](../2-Working-With-Data/08-data-preparation/README.md)
+- 데이터 시각화
+ - [수량 시각화](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [분포 시각화](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [비율 시각화](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [관계 시각화](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [의미 있는 시각화](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- 데이터 과학 생애 주기
+ - [소개](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [분석하기](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [소통하기](../4-Data-Science-Lifecycle/16-communication/README.md)
+- 클라우드에서의 데이터 과학
+ - [소개](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [로우 코드](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- 실제 환경에서의 데이터 과학
+ - [실제 환경에서의 데이터 과학](../6-Data-Science-In-Wild/README.md)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/for-teachers.md b/translations/ko/for-teachers.md
new file mode 100644
index 00000000..ee60eea5
--- /dev/null
+++ b/translations/ko/for-teachers.md
@@ -0,0 +1,76 @@
+
+## 교육자를 위한 안내
+
+이 커리큘럼을 교실에서 사용하고 싶으신가요? 자유롭게 활용하세요!
+
+사실, GitHub Classroom을 사용하여 GitHub 자체에서 이 커리큘럼을 사용할 수 있습니다.
+
+이를 위해 이 저장소를 포크하세요. 각 수업마다 별도의 저장소를 만들어야 하므로 각 폴더를 개별 저장소로 분리해야 합니다. 이렇게 하면 [GitHub Classroom](https://classroom.github.com/classrooms)이 각 수업을 개별적으로 처리할 수 있습니다.
+
+이 [전체 지침](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)을 통해 디지털 교실을 설정하는 방법에 대한 아이디어를 얻을 수 있습니다.
+
+## 현재 상태 그대로 저장소 사용하기
+
+GitHub Classroom을 사용하지 않고 현재 상태 그대로 이 저장소를 사용하고 싶으시다면, 그것도 가능합니다. 학생들에게 함께 진행할 수업을 알려주시면 됩니다.
+
+온라인 형식(Zoom, Teams 등)에서는 퀴즈를 위해 소그룹을 구성하고, 학생들이 학습 준비를 할 수 있도록 멘토링할 수 있습니다. 그런 다음 학생들에게 퀴즈를 풀고 특정 시간에 '이슈'로 답변을 제출하도록 초대하세요. 과제를 진행할 때도 같은 방식으로 학생들이 공개적으로 협력하도록 할 수 있습니다.
+
+보다 비공개 형식을 선호하신다면, 학생들에게 커리큘럼을 각 수업별로 포크하여 자신의 GitHub 개인 저장소로 옮기고, 여러분에게 접근 권한을 부여하도록 요청하세요. 그런 다음 학생들은 퀴즈와 과제를 비공개로 완료하고, 여러분의 교실 저장소에서 이슈를 통해 제출할 수 있습니다.
+
+온라인 교실 형식에서 이를 효과적으로 활용할 수 있는 다양한 방법이 있습니다. 어떤 방식이 가장 잘 작동하는지 알려주세요!
+
+## 이 커리큘럼에 포함된 내용:
+
+20개의 수업, 40개의 퀴즈, 그리고 20개의 과제가 포함되어 있습니다. 시각 학습자를 위한 스케치노트가 수업에 동반됩니다. 많은 수업이 Python과 R로 제공되며, VS Code의 Jupyter 노트북을 사용하여 완료할 수 있습니다. 이 기술 스택을 사용하여 교실을 설정하는 방법에 대해 자세히 알아보세요: https://code.visualstudio.com/docs/datascience/jupyter-notebooks.
+
+모든 스케치노트, 대형 포스터를 포함하여, [이 폴더](../../sketchnotes)에 있습니다.
+
+전체 커리큘럼은 [PDF 형식](../../pdf/readme.pdf)으로도 제공됩니다.
+
+이 커리큘럼을 독립 실행형, 오프라인 친화적인 웹사이트로 실행하려면 [Docsify](https://docsify.js.org/#/)를 사용하세요. [Docsify 설치](https://docsify.js.org/#/quickstart)를 로컬 머신에 설치한 후, 이 저장소의 로컬 복사본의 루트 폴더에서 `docsify serve`를 입력하세요. 웹사이트는 localhost의 포트 3000에서 제공됩니다: `localhost:3000`.
+
+오프라인 친화적인 커리큘럼 버전이 독립 실행형 웹 페이지로 열립니다: https://localhost:3000
+
+수업은 6개의 파트로 나뉩니다:
+
+- 1: 소개
+ - 1: 데이터 과학 정의
+ - 2: 윤리
+ - 3: 데이터 정의
+ - 4: 확률 및 통계 개요
+- 2: 데이터 작업
+ - 5: 관계형 데이터베이스
+ - 6: 비관계형 데이터베이스
+ - 7: Python
+ - 8: 데이터 준비
+- 3: 데이터 시각화
+ - 9: 수량 시각화
+ - 10: 분포 시각화
+ - 11: 비율 시각화
+ - 12: 관계 시각화
+ - 13: 의미 있는 시각화
+- 4: 데이터 과학 라이프사이클
+ - 14: 소개
+ - 15: 분석
+ - 16: 커뮤니케이션
+- 5: 클라우드에서의 데이터 과학
+ - 17: 소개
+ - 18: 로우코드 옵션
+ - 19: Azure
+- 6: 실제 데이터 과학
+ - 20: 개요
+
+## 의견을 공유해주세요!
+
+이 커리큘럼이 여러분과 학생들에게 잘 맞도록 만들고 싶습니다. 토론 게시판에서 피드백을 주세요! 학생들을 위한 교실 공간을 토론 게시판에 만들어도 좋습니다.
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/quiz-app/README.md b/translations/ko/quiz-app/README.md
new file mode 100644
index 00000000..938753b6
--- /dev/null
+++ b/translations/ko/quiz-app/README.md
@@ -0,0 +1,135 @@
+
+# 퀴즈
+
+이 퀴즈는 데이터 과학 커리큘럼의 강의 전후 퀴즈로, https://aka.ms/datascience-beginners에서 확인할 수 있습니다.
+
+## 번역된 퀴즈 세트 추가하기
+
+번역된 퀴즈를 추가하려면 `assets/translations` 폴더에 일치하는 퀴즈 구조를 생성하세요. 원본 퀴즈는 `assets/translations/en`에 있습니다. 퀴즈는 여러 그룹으로 나뉘어 있으며, 올바른 퀴즈 섹션과 번호를 맞춰야 합니다. 이 커리큘럼에는 총 40개의 퀴즈가 있으며, 번호는 0부터 시작합니다.
+
+번역을 완료한 후, 번역 폴더의 `index.js` 파일을 편집하여 `en`의 규칙을 따라 모든 파일을 가져오도록 설정하세요.
+
+그런 다음, 이 앱의 `App.vue` 파일에서 드롭다운을 편집하여 언어를 추가하세요. 언어 폴더 이름과 로컬화된 약어를 일치시켜야 합니다.
+
+마지막으로, 번역된 강의에서 퀴즈 링크를 편집하여 로컬화된 쿼리 매개변수를 포함하도록 설정하세요. 예를 들어 `?loc=fr`과 같은 형식입니다.
+
+## 프로젝트 설정
+
+```
+npm install
+```
+
+### 개발을 위한 컴파일 및 핫 리로드
+
+```
+npm run serve
+```
+
+### 프로덕션을 위한 컴파일 및 최소화
+
+```
+npm run build
+```
+
+### 파일 검사 및 수정
+
+```
+npm run lint
+```
+
+### 구성 사용자 정의
+
+[Configuration Reference](https://cli.vuejs.org/config/)를 참조하세요.
+
+크레딧: 이 퀴즈 앱의 원본 버전에 감사드립니다: https://github.com/arpan45/simple-quiz-vue
+
+## Azure에 배포하기
+
+다음은 시작하는 데 도움이 되는 단계별 가이드입니다:
+
+1. GitHub 저장소 포크하기
+ 정적 웹 앱 코드가 GitHub 저장소에 있는지 확인하세요. 이 저장소를 포크하세요.
+
+2. Azure 정적 웹 앱 생성하기
+ - [Azure 계정](http://azure.microsoft.com)을 생성하세요.
+ - [Azure 포털](https://portal.azure.com)로 이동하세요.
+ - "리소스 생성"을 클릭하고 "Static Web App"을 검색하세요.
+ - "생성"을 클릭하세요.
+
+3. 정적 웹 앱 구성하기
+ - 기본 설정:
+ - 구독: Azure 구독을 선택하세요.
+ - 리소스 그룹: 새 리소스 그룹을 생성하거나 기존 그룹을 사용하세요.
+ - 이름: 정적 웹 앱의 이름을 입력하세요.
+ - 지역: 사용자와 가까운 지역을 선택하세요.
+
+ - #### 배포 세부 정보:
+ - 소스: "GitHub"를 선택하세요.
+ - GitHub 계정: Azure가 GitHub 계정에 접근할 수 있도록 승인하세요.
+ - 조직: GitHub 조직을 선택하세요.
+ - 저장소: 정적 웹 앱이 포함된 저장소를 선택하세요.
+ - 브랜치: 배포할 브랜치를 선택하세요.
+
+ - #### 빌드 세부 정보:
+ - 빌드 프리셋: 앱이 구축된 프레임워크를 선택하세요 (예: React, Angular, Vue 등).
+ - 앱 위치: 앱 코드가 포함된 폴더를 지정하세요 (예: 루트에 있다면 /).
+ - API 위치: API가 있다면 위치를 지정하세요 (선택 사항).
+ - 출력 위치: 빌드 출력이 생성되는 폴더를 지정하세요 (예: build 또는 dist).
+
+4. 검토 및 생성
+ 설정을 검토하고 "생성"을 클릭하세요. Azure가 필요한 리소스를 설정하고 GitHub Actions 워크플로를 저장소에 생성합니다.
+
+5. GitHub Actions 워크플로
+ Azure는 자동으로 GitHub Actions 워크플로 파일을 저장소에 생성합니다 (.github/workflows/azure-static-web-apps-.yml). 이 워크플로는 빌드 및 배포 프로세스를 처리합니다.
+
+6. 배포 모니터링
+ GitHub 저장소의 "Actions" 탭으로 이동하세요.
+ 실행 중인 워크플로를 확인할 수 있습니다. 이 워크플로는 정적 웹 앱을 Azure에 빌드하고 배포합니다.
+ 워크플로가 완료되면 제공된 Azure URL에서 앱이 활성화됩니다.
+
+### 워크플로 파일 예시
+
+다음은 GitHub Actions 워크플로 파일의 예시입니다:
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### 추가 자료
+- [Azure Static Web Apps Documentation](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [GitHub Actions Documentation](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 자료로 간주해야 합니다. 중요한 정보에 대해서는 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/ko/sketchnotes/README.md b/translations/ko/sketchnotes/README.md
new file mode 100644
index 00000000..f0391587
--- /dev/null
+++ b/translations/ko/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+스케치노트를 모두 여기에서 찾아보세요!
+
+## 크레딧
+
+아티스트: Nitya Narasimhan
+
+
+
+**면책 조항**:
+이 문서는 AI 번역 서비스 [Co-op Translator](https://github.com/Azure/co-op-translator)를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있지만, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서의 원어 버전을 권위 있는 출처로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 책임을 지지 않습니다.
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/01-defining-data-science/README.md b/translations/tw/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..a5ff306c
--- /dev/null
+++ b/translations/tw/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,122 @@
+
+## 定義資料科學
+
+|  繪製的手繪筆記 ](../../sketchnotes/01-Definitions.png) |
+| :----------------------------------------------------------------------------------------------------: |
+| 資料科學的定義 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+---
+
+[](https://youtu.be/beZ7Mb_oz9I)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/0)
+
+## 什麼是資料?
+在我們的日常生活中,資料無處不在。你現在正在閱讀的文字就是資料。你手機裡朋友的電話號碼列表是資料,手錶上顯示的當前時間也是資料。作為人類,我們自然地使用資料,例如計算我們擁有的金錢或給朋友寫信。
+
+然而,隨著電腦的誕生,資料變得更加重要。電腦的主要功能是進行計算,但它們需要資料來進行操作。因此,我們需要了解電腦如何存儲和處理資料。
+
+隨著互聯網的出現,電腦作為資料處理設備的角色更加突出。如果仔細想想,我們現在使用電腦更多的是進行資料處理和通信,而不是實際的計算。當我們給朋友寫電子郵件或在互聯網上搜索信息時,我們本質上是在創建、存儲、傳輸和操作資料。
+> 你能記得上一次使用電腦進行實際計算是什麼時候嗎?
+
+## 什麼是資料科學?
+
+根據 [維基百科](https://en.wikipedia.org/wiki/Data_science),**資料科學**被定義為*一個科學領域,使用科學方法從結構化和非結構化資料中提取知識和洞察,並將資料中的知識和可行洞察應用於廣泛的應用領域*。
+
+這個定義突出了資料科學的以下重要方面:
+
+* 資料科學的主要目標是從資料中**提取知識**,換句話說,就是**理解**資料,找到一些隱藏的關係並建立**模型**。
+* 資料科學使用**科學方法**,例如概率和統計。事實上,當*資料科學*這個術語首次被提出時,有些人認為資料科學只是統計學的一個新潮名稱。然而,現在已經明顯地看到這個領域遠不止於此。
+* 獲得的知識應該被應用以產生一些**可行的洞察**,即可以應用於實際商業情境的實用洞察。
+* 我們應該能夠操作**結構化**和**非結構化**資料。我們稍後會在課程中討論不同類型的資料。
+* **應用領域**是一個重要概念,資料科學家通常需要在問題領域中至少具備一定程度的專業知識,例如:金融、醫療、行銷等。
+
+> 資料科學的另一個重要方面是研究如何使用電腦收集、存儲和操作資料。雖然統計學為我們提供了數學基礎,資料科學則將數學概念應用於實際從資料中提取洞察。
+
+一種看待資料科學的方法(歸因於 [Jim Gray](https://en.wikipedia.org/wiki/Jim_Gray_(computer_scientist)))是將其視為科學的一個獨立範式:
+* **實證科學**,主要依賴觀察和實驗結果
+* **理論科學**,從現有科學知識中產生新概念
+* **計算科學**,基於一些計算實驗發現新原則
+* **資料驅動科學**,基於發現資料中的關係和模式
+
+## 其他相關領域
+
+由於資料無處不在,資料科學本身也是一個廣泛的領域,涉及許多其他學科。
+
+## 資料的類型
+
+如我們之前提到的,資料無處不在。我們只需要以正確的方式捕捉它!區分**結構化**和**非結構化**資料是很有用的。前者通常以某種良好的結構形式表示,通常是表格或多個表格,而後者則只是文件的集合。有時我們也可以談論**半結構化**資料,它具有某種結構,但可能差異很大。
+
+| 結構化資料 | 半結構化資料 | 非結構化資料 |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------- |
+| 人員及其電話號碼列表 | 帶有連結的維基百科頁面 | 《大英百科全書》的文本 |
+| 過去20年中每分鐘建築物所有房間的溫度 | 以JSON格式存儲的科學論文集合,包括作者、出版日期和摘要 | 包含公司文件的文件共享 |
+| 進入建築物的所有人的年齡和性別資料 | 網頁 | 監控攝像頭的原始視頻流 |
+
+## 資料的來源
+
+資料的來源有很多,幾乎不可能列出所有可能的來源!然而,我們可以提到一些典型的資料來源:
+
+* **結構化資料**
+ - **物聯網** (IoT),包括來自不同感測器的資料,例如溫度或壓力感測器,提供了大量有用的資料。例如,如果辦公樓配備了物聯網感測器,我們可以自動控制供暖和照明以降低成本。
+ - **調查問卷**,例如在購買後或訪問網站後要求用戶完成的問卷。
+ - **行為分析**,例如幫助我們了解用戶如何深入瀏覽網站,以及離開網站的典型原因。
+* **非結構化資料**
+ - **文本**可以是洞察的豐富來源,例如整體**情感分數**,或提取關鍵字和語義含義。
+ - **圖像**或**視頻**。監控攝像頭的視頻可以用來估算道路上的交通流量,並通知人們可能的交通堵塞。
+ - 網頁伺服器的**日誌**可以用來了解我們網站上最常被訪問的頁面,以及訪問時長。
+* **半結構化資料**
+ - **社交網絡**圖表可以是關於用戶個性和在信息傳播中的潛在有效性的重要資料來源。
+ - 當我們有一堆派對照片時,我們可以嘗試通過建立人們互相拍照的圖表來提取**群體動態**資料。
+
+通過了解不同的資料來源,你可以嘗試思考不同的情境,資料科學技術可以被應用於更好地了解情況並改善業務流程。
+
+## 資料的用途
+
+在資料科學中,我們專注於資料旅程的以下步驟:
+
+當然,根據實際資料,有些步驟可能會缺失(例如,當我們已經擁有資料庫中的資料,或者當我們不需要模型訓練時),或者有些步驟可能會重複多次(例如資料處理)。
+
+## 數位化與數位轉型
+
+在過去十年中,許多企業開始理解在做出業務決策時資料的重要性。要將資料科學原則應用於經營業務,首先需要收集一些資料,即將業務流程轉化為數位形式。這被稱為**數位化**。將資料科學技術應用於這些資料以指導決策,可以顯著提高生產力(甚至業務轉型),這被稱為**數位轉型**。
+
+讓我們考慮一個例子。假設我們有一門資料科學課程(像這門課程),我們在線上向學生提供,並希望使用資料科學來改進它。我們該怎麼做?
+
+我們可以從問「什麼可以數位化?」開始。最簡單的方法是測量每位學生完成每個模組所需的時間,並通過在每個模組結束時進行選擇題測試來測量所獲得的知識。通過計算所有學生的平均完成時間,我們可以找出哪些模組對學生來說最具挑戰性,並著手簡化它們。
+你可能會認為這種方法並不理想,因為模組的長度可能不同。或許更公平的做法是將時間除以模組的長度(以字元數計算),然後比較這些值。
+當我們開始分析多選題測試的結果時,可以嘗試找出學生難以理解的概念,並利用這些資訊改進內容。為了達到這個目的,我們需要設計測試,使每個問題都能對應到某個特定概念或知識片段。
+
+如果我們想進一步深入分析,可以將每個模組所花費的時間與學生的年齡類別進行對比。我們可能會發現某些年齡類別的學生完成模組所需時間過長,或者在完成之前就中途退出。這些資訊可以幫助我們為模組提供年齡建議,並減少因錯誤期望而導致的不滿。
+
+## 🚀 挑戰
+
+在這個挑戰中,我們將透過分析文本來尋找與資料科學領域相關的概念。我們會選取一篇關於資料科學的維基百科文章,下載並處理文本,然後建立一個像這樣的文字雲:
+
+
+
+請訪問 [`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') 閱讀程式碼。您也可以執行程式碼,並即時查看它如何進行所有的數據轉換。
+
+> 如果您不知道如何在 Jupyter Notebook 中執行程式碼,可以參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## 作業
+
+* **任務 1**:修改上述程式碼,找出與 **大數據** 和 **機器學習** 領域相關的概念
+* **任務 2**:[思考資料科學場景](assignment.md)
+
+## 致謝
+
+這節課由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫完成
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/01-defining-data-science/assignment.md b/translations/tw/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..171ec51d
--- /dev/null
+++ b/translations/tw/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# 作業:數據科學場景
+
+在這份首次作業中,我們希望你思考一些現實生活中的流程或問題,涵蓋不同的問題領域,並考慮如何使用數據科學流程來改進它們。請思考以下問題:
+
+1. 你可以收集哪些數據?
+1. 你會如何收集這些數據?
+1. 你會如何存儲這些數據?這些數據的規模可能有多大?
+1. 你可能從這些數據中獲得哪些洞察?基於這些數據,我們可以做出哪些決策?
+
+試著思考三個不同的問題/流程,並針對每個問題領域描述上述每一點。
+
+以下是一些可以幫助你開始思考的問題領域和問題:
+
+1. 你如何使用數據來改進學校中兒童的教育流程?
+1. 你如何使用數據來控制疫情期間的疫苗接種?
+1. 你如何使用數據來確保自己在工作中保持高效?
+
+## 指導說明
+
+填寫以下表格(如果需要,可以用你自己的問題領域替換建議的問題領域):
+
+| 問題領域 | 問題 | 收集哪些數據 | 如何存儲數據 | 我們可以做出的洞察/決策 |
+|----------|------|--------------|--------------|--------------------------|
+| 教育 | | | | |
+| 疫苗接種 | | | | |
+| 生產力 | | | | |
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+能夠為所有問題領域識別出合理的數據來源、數據存儲方式以及可能的決策/洞察 | 解決方案的某些方面未詳細說明,未討論數據存儲,至少描述了兩個問題領域 | 僅描述了部分數據解決方案,僅考慮了一個問題領域。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/tw/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..9c1cc4c3
--- /dev/null
+++ b/translations/tw/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# 作業:數據科學情境
+
+在這次的作業中,我們希望你思考一些現實生活中的流程或問題,涵蓋不同的問題領域,並考慮如何利用數據科學流程來改進它們。請思考以下問題:
+
+1. 你可以收集哪些數據?
+1. 你會如何收集這些數據?
+1. 你會如何儲存這些數據?這些數據的規模可能有多大?
+1. 你可能從這些數據中獲得哪些洞察?我們可以根據這些數據做出哪些決策?
+
+試著思考三個不同的問題/流程,並針對每個問題領域描述上述每一點。
+
+以下是一些問題領域和問題,幫助你開始思考:
+
+1. 如何利用數據改進學校中兒童的教育流程?
+1. 如何利用數據在疫情期間控制疫苗接種?
+1. 如何利用數據確保自己在工作中保持高效?
+
+## 指導說明
+
+請填寫以下表格(如果需要,可以用自己的問題領域替代建議的問題領域):
+
+| 問題領域 | 問題 | 收集哪些數據 | 如何儲存數據 | 我們可以做出的洞察/決策 |
+|----------|------|--------------|--------------|--------------------------|
+| 教育 | 在大學中,我們通常發現課堂出勤率較低,我們假設出勤率較高的學生在考試中的表現會更好。我們希望提高出勤率並驗證這一假設。 | 我們可以通過課堂上的監控攝像頭拍攝的照片來追蹤出勤率,或者通過追蹤學生手機的藍牙/WiFi 地址來記錄出勤情況。考試數據已經存儲在大學的數據庫中。 | 如果我們追蹤監控攝像頭的圖像,我們需要儲存一些(5-10 張)課堂期間的照片(非結構化數據),然後使用 AI 識別學生的臉部(將數據轉換為結構化形式)。 | 我們可以計算每位學生的平均出勤率,並查看是否與考試成績有任何相關性。我們會在[概率與統計](../../04-stats-and-probability/README.md)部分進一步討論相關性。為了提高學生的出勤率,我們可以在學校門戶網站上發布每週出勤排名,並在出勤率最高的學生中抽獎。 |
+| 疫苗接種 | | | | |
+| 生產力 | | | | |
+
+> *我們提供了一個答案作為範例,讓你了解這次作業的期望。*
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+能夠為所有問題領域識別出合理的數據來源、數據儲存方式以及可能的決策/洞察 | 解決方案的某些方面不夠詳細,未討論數據儲存,至少描述了 2 個問題領域 | 僅描述了部分數據解決方案,僅考慮了一個問題領域。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/02-ethics/README.md b/translations/tw/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..478d8650
--- /dev/null
+++ b/translations/tw/1-Introduction/02-ethics/README.md
@@ -0,0 +1,270 @@
+
+# 資料倫理簡介
+
+| 繪製的草圖筆記 ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| 資料科學倫理 - _由 [@nitya](https://twitter.com/nitya) 繪製的草圖筆記_ |
+
+---
+
+我們都是生活在數據化世界中的資料公民。
+
+市場趨勢顯示,到2022年,每三家大型組織中就有一家將通過線上[市場和交易所](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/)購買和出售其數據。作為**應用程式開發者**,我們會發現將數據驅動的洞察力和算法驅動的自動化整合到日常用戶體驗中變得更加容易和便宜。但隨著人工智慧(AI)的普及,我們也需要了解這些算法在大規模應用中可能帶來的[武器化](https://www.youtube.com/watch?v=TQHs8SA1qpk)危害。
+
+趨勢還顯示,到2025年,我們將創造並消耗超過[180澤字節](https://www.statista.com/statistics/871513/worldwide-data-created/)的數據。作為**資料科學家**,這讓我們能夠以前所未有的程度接觸到個人數據。這意味著我們可以建立用戶的行為檔案,並以某種方式影響決策,從而創造一種[自由選擇的假象](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice),同時可能將用戶推向我們偏好的結果。這也引發了關於數據隱私和用戶保護的更廣泛問題。
+
+資料倫理現在是資料科學和工程的_必要防護欄_,幫助我們最大限度地減少數據驅動行動可能帶來的潛在危害和意外後果。[Gartner AI 技術成熟度曲線](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/)將數字倫理、負責任的AI和AI治理的相關趨勢確定為推動AI_民主化_和_工業化_這兩大趨勢的關鍵因素。
+
+
+
+在本課程中,我們將探索資料倫理這一迷人的領域——從核心概念和挑戰,到案例研究和應用AI概念(如治理),這些都幫助在處理數據和AI的團隊和組織中建立倫理文化。
+
+
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## 基本定義
+
+讓我們從理解基本術語開始。
+
+"倫理"一詞來自[希臘詞 "ethikos"](https://en.wikipedia.org/wiki/Ethics)(及其根源 "ethos"),意為_品格或道德本質_。
+
+**倫理**是指在社會中規範我們行為的共同價值觀和道德原則。倫理不是基於法律,而是基於廣泛接受的"對與錯"的標準。然而,倫理考量可以影響公司治理舉措和政府法規,從而創造更多的合規激勵。
+
+**資料倫理**是一個[新的倫理分支](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1),它"研究和評估與_數據、算法及相關實踐_相關的道德問題"。其中,**"數據"**側重於與生成、記錄、管理、處理、傳播、共享和使用相關的行動,**"算法"**側重於AI、代理、機器學習和機器人,**"實踐"**則側重於負責任的創新、編程、駭客行為和倫理守則等主題。
+
+**應用倫理**是[道德考量的實際應用](https://en.wikipedia.org/wiki/Applied_ethics)。它是積極調查_現實世界行動、產品和流程_中的倫理問題,並採取糾正措施以確保這些行動與我們定義的倫理價值保持一致的過程。
+
+**倫理文化**是關於[將應用倫理_操作化_](https://hbr.org/2019/05/how-to-design-an-ethical-organization),以確保我們的倫理原則和實踐在整個組織中以一致且可擴展的方式被採用。成功的倫理文化會定義全組織範圍的倫理原則,提供有意義的合規激勵,並通過在組織各層級鼓勵和放大期望的行為來強化倫理規範。
+
+
+## 倫理概念
+
+在本節中,我們將討論**共同價值觀**(原則)和**倫理挑戰**(問題)等資料倫理概念,並通過**案例研究**來幫助您在現實世界的背景中理解這些概念。
+
+### 1. 倫理原則
+
+每個資料倫理策略都始於定義_倫理原則_——這些"共同價值觀"描述了可接受的行為,並指導我們在資料和AI項目中的合規行動。您可以在個人或團隊層面定義這些原則。然而,大多數大型組織會在公司層面定義這些原則,並在所有團隊中一致執行,通常以_倫理AI_使命聲明或框架的形式呈現。
+
+**範例:** 微軟的[負責任AI](https://www.microsoft.com/en-us/ai/responsible-ai)使命聲明寫道:_"我們致力於推動以道德原則為基礎的AI發展,將人放在首位"_,並在以下框架中確定了6個倫理原則:
+
+
+
+讓我們簡要探討這些原則。_透明性_和_問責性_是其他原則的基石,因此我們從這裡開始:
+
+* [**問責性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)使從業者對其資料和AI操作以及對這些倫理原則的合規負責。
+* [**透明性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)確保資料和AI行動對用戶是_可理解的_(可解釋的),解釋決策背後的內容和原因。
+* [**公平性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)——專注於確保AI對_所有人_公平對待,解決資料和系統中的任何系統性或隱性社會技術偏見。
+* [**可靠性與安全性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——確保AI行為與定義的價值觀_一致_,最大限度地減少潛在危害或意外後果。
+* [**隱私與安全**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——關於理解資料來源,並為用戶提供_資料隱私及相關保護_。
+* [**包容性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——關於有意設計AI解決方案,並使其適應_廣泛的人類需求_和能力。
+
+> 🚨 想一想您的資料倫理使命聲明可能是什麼。探索其他組織的倫理AI框架——這裡有[IBM](https://www.ibm.com/cloud/learn/ai-ethics)、[Google](https://ai.google/principles)和[Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/)的範例。它們有哪些共同的價值觀?這些原則如何與它們運作的AI產品或行業相關?
+
+### 2. 倫理挑戰
+
+一旦我們定義了倫理原則,下一步就是評估我們的資料和AI行動是否與這些共同價值觀一致。考慮您的行動可以分為兩類:_資料收集_和_算法設計_。
+
+在資料收集方面,行動可能涉及**個人資料**或可識別的個人信息(PII),這些信息可以識別活著的個體,包括[多樣的非個人資料項目](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en),這些項目_集體_識別一個人。倫理挑戰可能涉及_資料隱私_、_資料所有權_以及相關主題,如_知情同意_和用戶的_知識產權_。
+
+在算法設計方面,行動將涉及收集和管理**數據集**,然後使用它們來訓練和部署**數據模型**,以在現實世界的背景中預測結果或自動化決策。倫理挑戰可能來自_數據集偏見_、_數據質量_問題、_不公平性_和算法中的_誤導性_,包括一些系統性問題。
+
+在這兩種情況下,倫理挑戰突出了我們的行動可能與共同價值觀發生衝突的領域。為了檢測、減輕、最小化或消除這些問題,我們需要針對行動提出道德上的"是/否"問題,然後根據需要採取糾正措施。讓我們來看看一些倫理挑戰及其引發的道德問題:
+
+
+#### 2.1 資料所有權
+
+資料收集通常涉及可識別資料主體的個人資料。[資料所有權](https://permission.io/blog/data-ownership)關於與資料創建、處理和傳播相關的_控制_和[用戶權利](https://permission.io/blog/data-ownership)。
+
+我們需要提出的道德問題包括:
+ * 誰擁有資料?(用戶還是組織)
+ * 資料主體擁有哪些權利?(例如:訪問、刪除、可攜性)
+ * 組織擁有哪些權利?(例如:更正惡意用戶評論)
+
+#### 2.2 知情同意
+
+[知情同意](https://legaldictionary.net/informed-consent/)指用戶在充分了解相關事實(包括目的、潛在風險和替代方案)的情況下,同意某項行動(如資料收集)。
+
+需要探討的問題包括:
+ * 用戶(資料主體)是否允許資料的收集和使用?
+ * 用戶是否理解資料收集的目的?
+ * 用戶是否理解參與可能帶來的潛在風險?
+
+#### 2.3 知識產權
+
+[知識產權](https://en.wikipedia.org/wiki/Intellectual_property)指由人類創造的無形產物,這些產物可能對個人或企業具有_經濟價值_。
+
+需要探討的問題包括:
+ * 收集的資料是否對用戶或企業具有經濟價值?
+ * **用戶**是否擁有這裡的知識產權?
+ * **組織**是否擁有這裡的知識產權?
+ * 如果這些權利存在,我們如何保護它們?
+
+#### 2.4 資料隱私
+
+[資料隱私](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/)或信息隱私指保護用戶隱私和身份,特別是與可識別個人信息相關的隱私。
+
+需要探討的問題包括:
+ * 用戶的(個人)資料是否安全,防止駭客攻擊和洩漏?
+ * 用戶的資料是否僅限於授權用戶和上下文訪問?
+ * 在資料共享或傳播時,用戶的匿名性是否得到保護?
+ * 用戶是否可以從匿名數據集中被重新識別?
+
+#### 2.5 被遺忘權
+
+[被遺忘權](https://en.wikipedia.org/wiki/Right_to_be_forgotten)或[刪除權](https://www.gdpreu.org/right-to-be-forgotten/)為用戶提供額外的個人資料保護。具體來說,它賦予用戶在特定情況下請求刪除或移除個人資料的權利,允許他們在網上獲得一個新的開始,而不會因過去的行為受到影響。
+
+需要探討的問題包括:
+ * 系統是否允許資料主體請求刪除?
+ * 用戶撤回同意是否應觸發自動刪除?
+ * 資料是否在未經同意或非法手段下收集?
+ * 我們是否符合政府對資料隱私的法規?
+
+#### 2.6 數據集偏見
+
+數據集或[收集偏見](http://researcharticles.com/index.php/bias-in-data-collection-in-research/)指為算法開發選擇了一個_非代表性_的數據子集,可能導致對不同群體的不公平結果。偏見類型包括選擇或抽樣偏見、自願者偏見和工具偏見。
+
+需要探討的問題包括:
+ * 我們是否招募了一個具有代表性的資料主體集合?
+ * 我們是否測試了收集或管理的數據集是否存在各種偏見?
+ * 我們是否可以減輕或消除發現的任何偏見?
+
+#### 2.7 資料質量
+
+[資料質量](https://lakefs.io/data-quality-testing/)檢查用於開發算法的數據集的有效性,確保特徵和記錄符合我們AI目的所需的準確性和一致性要求。
+
+需要探討的問題包括:
+ * 我們是否捕獲了適合我們用例的有效_特徵_?
+ * 是否在不同的數據來源中_一致地_捕獲了資料?
+ * 數據集是否_完整_,涵蓋了不同的條件或場景?
+ * 捕獲的信息是否_準確_地反映了現實?
+
+#### 2.8 算法公平性
+[演算法公平性](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f) 是檢查演算法設計是否系統性地對特定數據主體的子群體造成歧視,導致在資源分配(_allocation_)方面(資源被拒絕或扣留)以及服務品質(_quality of service_)方面(AI對某些子群體的準確性不如其他群體)出現[潛在傷害](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml)。
+
+以下是需要探討的問題:
+ * 我們是否評估了模型在不同子群體和條件下的準確性?
+ * 我們是否仔細檢查了系統可能造成的傷害(例如刻板印象)?
+ * 我們是否可以修正數據或重新訓練模型以減輕已識別的傷害?
+
+探索像[AI公平性檢查清單](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA)等資源以了解更多。
+
+#### 2.9 錯誤呈現
+
+[數據錯誤呈現](https://www.sciencedirect.com/topics/computer-science/misrepresentation) 是指我們是否以欺騙的方式傳達來自誠實報告數據的洞察,以支持某種期望的敘述。
+
+以下是需要探討的問題:
+ * 我們是否報告了不完整或不準確的數據?
+ * 我們是否以誤導的方式可視化數據,導致錯誤結論?
+ * 我們是否使用選擇性的統計技術來操控結果?
+ * 是否存在可能提供不同結論的替代解釋?
+
+#### 2.10 自由選擇
+
+[自由選擇的幻象](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice) 是指系統的「選擇架構」使用決策演算法來引導人們選擇偏好的結果,同時看似給予他們選擇和控制的權利。這些[黑暗模式](https://www.darkpatterns.org/)可能對用戶造成社會和經濟上的傷害。由於用戶的決策會影響行為檔案,這些行動可能驅動未來的選擇,進一步放大或延伸這些傷害的影響。
+
+以下是需要探討的問題:
+ * 用戶是否理解做出該選擇的影響?
+ * 用戶是否了解(替代)選擇及其各自的優缺點?
+ * 用戶是否能夠在事後逆轉自動化或受影響的選擇?
+
+### 3. 案例研究
+
+為了將這些倫理挑戰置於現實世界的背景中,研究案例研究有助於了解當忽視這些倫理問題時,可能對個人和社會造成的傷害和後果。
+
+以下是一些例子:
+
+| 倫理挑戰 | 案例研究 |
+|--- |--- |
+| **知情同意** | 1972年 - [塔斯基吉梅毒研究](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - 參與研究的非裔美國男性被承諾提供免費醫療服務,但研究人員欺騙了受試者,未告知他們的診斷或治療的可用性。許多受試者死亡,其伴侶或子女也受到影響;研究持續了40年。 |
+| **數據隱私** | 2007年 - [Netflix數據獎](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/)向研究人員提供了_50,000名客戶的1,000萬匿名電影評分_,以幫助改進推薦演算法。然而,研究人員能夠將匿名數據與外部數據集(例如IMDb評論)中的個人身份數據相關聯,實際上「去匿名化」了一些Netflix訂閱者。|
+| **收集偏差** | 2013年 - 波士頓市[開發了Street Bump](https://www.boston.gov/transportation/street-bump),一款讓市民報告路面坑洞的應用程式,為城市提供更好的道路數據以發現和修復問題。然而,[低收入群體的人們較少擁有汽車和手機](https://hbr.org/2013/04/the-hidden-biases-in-big-data),使得他們的道路問題在此應用程式中不可見。開發者與學者合作解決_公平性和數字鴻溝_問題。 |
+| **演算法公平性** | 2018年 - MIT [Gender Shades研究](http://gendershades.org/overview.html)評估了性別分類AI產品的準確性,揭示了女性和有色人種的準確性差距。一項[2019年Apple Card](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/)似乎給女性提供的信用額度低於男性。這兩個例子都說明了演算法偏差導致的社會經濟傷害。|
+| **數據錯誤呈現** | 2020年 - [喬治亞州公共衛生部發布COVID-19圖表](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening),似乎通過非時間順序的x軸排列誤導公民關於確診病例趨勢的理解。這說明了通過可視化技巧進行的錯誤呈現。 |
+| **自由選擇的幻象** | 2020年 - 學習應用程式[ABCmouse支付了1000萬美元以解決FTC投訴](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/),家長被困於無法取消的訂閱付款中。這說明了選擇架構中的黑暗模式,導致用戶被引導至可能有害的選擇。 |
+| **數據隱私與用戶權利** | 2021年 - Facebook [數據洩漏](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users)洩漏了5.3億用戶的數據,導致向FTC支付了50億美元的和解金。然而,它拒絕通知用戶洩漏事件,違反了用戶關於數據透明性和訪問的權利。 |
+
+想探索更多案例研究?查看以下資源:
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - 涵蓋多個行業的倫理困境。
+* [數據科學倫理課程](https://www.coursera.org/learn/data-science-ethics#syllabus) - 探討標誌性案例研究。
+* [問題出在哪裡](https://deon.drivendata.org/examples/) - Deon清單中的示例。
+
+> 🚨 思考你所見過的案例研究——你是否曾經遇到或受到類似倫理挑戰的影響?你能否想到至少一個其他案例研究來說明我們在本節中討論的倫理挑戰之一?
+
+## 應用倫理
+
+我們已經討論了倫理概念、挑戰以及在現實世界中的案例研究。但我們如何開始在項目中_應用_倫理原則和實踐?以及如何_實現_這些實踐以改善治理?讓我們探索一些現實世界的解決方案:
+
+### 1. 專業守則
+
+專業守則為組織提供了一種選擇,通過「激勵」成員支持其倫理原則和使命宣言。守則是專業行為的_道德指南_,幫助員工或成員做出符合組織原則的決策。它的效力取決於成員的自願遵守;然而,許多組織提供額外的獎勵和懲罰以激勵成員遵守。
+
+示例包括:
+
+ * [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/)倫理守則
+ * [數據科學協會](http://datascienceassn.org/code-of-conduct.html)行為守則(創建於2013年)
+ * [ACM倫理守則與專業行為守則](https://www.acm.org/code-of-ethics)(自1993年起)
+
+> 🚨 你是否屬於某個專業工程或數據科學組織?探索他們的網站,看看是否定義了專業倫理守則。這些守則說明了哪些倫理原則?他們如何「激勵」成員遵守守則?
+
+### 2. 倫理清單
+
+雖然專業守則定義了從業者所需的_倫理行為_,但它在執行方面[存在已知的局限性](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),特別是在大型項目中。因此,許多數據科學專家[提倡使用清單](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),這可以**將原則與實踐**更具決定性和可操作性地聯繫起來。
+
+清單將問題轉化為「是/否」任務,可以被操作化,並作為標準產品發布工作流程的一部分進行跟蹤。
+
+示例包括:
+ * [Deon](https://deon.drivendata.org/) - 一個通用數據倫理清單,由[行業建議](https://deon.drivendata.org/#checklist-citations)創建,並提供命令行工具以便於集成。
+ * [隱私審核清單](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - 從法律和社會暴露的角度提供信息處理實踐的一般指導。
+ * [AI公平性清單](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - 由AI從業者創建,以支持公平性檢查在AI開發周期中的採用和集成。
+ * [數據與AI倫理的22個問題](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - 更開放式的框架,結構化用於設計、實施和組織背景下倫理問題的初步探索。
+
+### 3. 倫理法規
+
+倫理是關於定義共享價值並自願做正確的事情。**合規**是指在法律定義的情況下_遵守法律_。**治理**則涵蓋了組織為執行倫理原則和遵守既定法律所採取的所有方式。
+
+今天,治理在組織內部有兩種形式。首先,它是關於定義**倫理AI**原則並建立實踐,以在組織內所有與AI相關的項目中實現採用。其次,它是關於遵守所有政府規定的**數據保護法規**,以適應其運營的地區。
+
+數據保護和隱私法規的示例:
+
+ * `1974年`,[美國隱私法案](https://www.justice.gov/opcl/privacy-act-1974) - 規範_聯邦政府_收集、使用和披露個人信息。
+ * `1996年`,[美國健康保險流通與責任法案(HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - 保護個人健康數據。
+ * `1998年`,[美國兒童在線隱私保護法案(COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - 保護13歲以下兒童的數據隱私。
+ * `2018年`,[通用數據保護法規(GDPR)](https://gdpr-info.eu/) - 提供用戶權利、數據保護和隱私。
+ * `2018年`,[加州消費者隱私法案(CCPA)](https://www.oag.ca.gov/privacy/ccpa) - 賦予消費者更多_個人數據_的權利。
+ * `2021年`,中國[個人信息保護法](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/)剛剛通過,創造了全球最強的在線數據隱私法規之一。
+
+> 🚨 歐盟定義的GDPR(通用數據保護法規)仍然是今天最具影響力的數據隱私法規之一。你知道它還定義了[8項用戶權利](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr)以保護公民的數字隱私和個人數據嗎?了解這些權利是什麼以及它們為什麼重要。
+
+### 4. 倫理文化
+
+注意,仍然存在一個無形的差距,即_合規_(做足以滿足「法律條文」的要求)與解決[系統性問題](https://www.coursera.org/learn/data-science-ethics/home/week/4)(例如僵化、信息不對稱和分配不公平)之間的差距,這些問題可能加速AI的武器化。
+
+後者需要[協作方法來定義倫理文化](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f),以在行業內建立情感聯繫和一致的共享價值。這需要在組織內建立更[正式化的數據倫理文化](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture),允許_任何人_在過程早期[拉動安燈繩](https://en.wikipedia.org/wiki/Andon_(manufacturing))(提出倫理問題),並將_倫理評估_(例如在招聘中)作為AI項目團隊組建的核心標準。
+
+---
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯
+## 回顧與自學
+
+課程和書籍有助於理解核心倫理概念和挑戰,而案例研究和工具有助於在現實世界中應用倫理實踐。以下是一些入門資源:
+
+* [初學者的機器學習](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - 來自Microsoft的公平性課程。
+* [負責任人工智慧的原則](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - Microsoft Learn 提供的免費學習路徑。
+* [倫理與數據科學](https://resources.oreilly.com/examples/0636920203964) - O'Reilly 電子書 (M. Loukides, H. Mason 等人著)
+* [數據科學倫理](https://www.coursera.org/learn/data-science-ethics#syllabus) - 密西根大學提供的線上課程。
+* [倫理解讀](https://ethicsunwrapped.utexas.edu/case-studies) - 德州大學的案例研究。
+
+# 作業
+
+[撰寫一篇數據倫理案例研究](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/02-ethics/assignment.md b/translations/tw/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..e556d1f8
--- /dev/null
+++ b/translations/tw/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## 撰寫數據倫理案例研究
+
+## 指導說明
+
+您已經學習了各種[數據倫理挑戰](README.md#2-ethics-challenges),並且看過一些反映現實世界中數據倫理挑戰的[案例研究](README.md#3-case-studies)示例。
+
+在這項作業中,您將撰寫自己的案例研究,反映您自身經歷或您熟悉的相關現實世界情境中的數據倫理挑戰。只需按照以下步驟進行:
+
+1. `選擇一個數據倫理挑戰`。查看[課程示例](README.md#2-ethics-challenges)或探索線上示例,例如[Deon清單](https://deon.drivendata.org/examples/)以獲取靈感。
+
+2. `描述一個現實世界的例子`。思考您聽說過的情境(新聞頭條、研究報告等)或您親身經歷過的情境(當地社區),其中發生了這一特定挑戰。思考與該挑戰相關的數據倫理問題,並討論因該問題而產生的潛在危害或意外後果。加分項:思考可能的解決方案或流程,這些方案或流程可以幫助消除或減輕該挑戰的不利影響。
+
+3. `提供相關資源列表`。分享一個或多個資源(文章鏈接、個人博客文章或圖片、線上研究報告等),以證明這是一個現實世界中發生的事件。加分項:分享同時展示該事件的潛在危害與後果的資源,或突出防止事件重演的積極措施的資源。
+
+
+
+## 評分標準
+
+卓越 | 合格 | 需改進
+--- | --- | -- |
+識別出一個或多個數據倫理挑戰。
案例研究清楚地描述了反映該挑戰的現實世界事件,並突出了其造成的不良後果或危害。
至少有一個鏈接資源證明該事件的發生。 | 識別出一個數據倫理挑戰。
至少簡要討論了一個相關的危害或後果。
然而,討論有限或缺乏現實世界事件的證據。 | 識別出一個數據挑戰。
然而,描述或資源未能充分反映該挑戰或證明其現實世界的發生。 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/03-defining-data/README.md b/translations/tw/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..a0fb3042
--- /dev/null
+++ b/translations/tw/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,83 @@
+
+# 定義資料
+
+| ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|定義資料 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+資料是用來進行探索和支持明智決策的事實、資訊、觀察和測量。一個資料點是資料集中的單一資料單位,而資料集則是由多個資料點組成的集合。資料集可能有不同的格式和結構,通常取決於其來源或資料的產生地。例如,一家公司的月度收益可能存放在電子表格中,而智慧手錶的每小時心率資料可能以 [JSON](https://stackoverflow.com/a/383699) 格式呈現。資料科學家通常需要處理資料集中不同類型的資料。
+
+本課程重點在於根據資料的特性和來源來識別和分類資料。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+
+## 資料的描述方式
+
+### 原始資料
+原始資料是從其來源直接獲得的初始狀態,尚未經過分析或整理。為了理解資料集中的內容,必須將其整理成一種人類和技術都能理解的格式。資料集的結構描述了其組織方式,可以分為結構化、非結構化和半結構化。這些結構類型會因來源而異,但最終都屬於這三類之一。
+
+### 定量資料
+定量資料是資料集中以數字形式呈現的觀察值,通常可以進行分析、測量並用於數學運算。一些定量資料的例子包括:一個國家的人口、一個人的身高或一家公司季度收益。通過進一步分析,定量資料可以用來發現空氣品質指數(AQI)的季節性趨勢或估算典型工作日的高峰交通概率。
+
+### 定性資料
+定性資料,也稱為分類資料,是無法像定量資料那樣客觀測量的資料。它通常是各種主觀資料的格式,用來捕捉某物的品質,例如產品或流程。有時,定性資料是數字形式,但通常不會用於數學運算,例如電話號碼或時間戳。一些定性資料的例子包括:影片評論、汽車的品牌和型號或您最親密朋友的最喜歡的顏色。定性資料可以用來了解消費者最喜歡的產品或識別求職申請中流行的關鍵字。
+
+### 結構化資料
+結構化資料是以行和列的形式組織的資料,其中每一行都具有相同的列集合。列代表特定類型的值,並以描述該值代表內容的名稱來標識,而行則包含實際的值。列通常會有一組特定的規則或限制,以確保值準確地代表該列。例如,想像一個客戶的電子表格,其中每一行都必須有一個電話號碼,且電話號碼不能包含字母字符。可能會在電話號碼列上應用規則,確保其不為空且僅包含數字。
+
+結構化資料的一個優勢是可以以某種方式組織,使其能與其他結構化資料建立關聯。然而,由於資料被設計成以特定方式組織,對其整體結構進行更改可能需要付出大量努力。例如,向客戶電子表格中添加一個不能為空的電子郵件列,意味著需要找出如何將這些值添加到資料集中現有的客戶行中。
+
+結構化資料的例子:電子表格、關聯式資料庫、電話號碼、銀行對帳單
+
+### 非結構化資料
+非結構化資料通常無法分類為行或列,且不包含格式或需遵循的規則。由於非結構化資料對其結構的限制較少,與結構化資料相比,添加新資訊更為容易。如果一個每兩分鐘捕捉一次氣壓資料的感測器收到更新,現在可以測量和記錄溫度,那麼如果資料是非結構化的,就不需要更改現有資料。然而,這可能會使分析或調查此類資料的過程變得更耗時。例如,一位科學家希望從感測器的資料中找到上個月的平均溫度,但發現感測器在某些記錄中使用了 "e" 來表示故障,而不是典型的數字,這意味著資料不完整。
+
+非結構化資料的例子:文字檔案、簡訊、影片檔案
+
+### 半結構化資料
+半結構化資料具有結構化和非結構化資料的特徵。它通常不符合行和列的格式,但以某種被認為是結構化的方式組織,並可能遵循固定的格式或規則。結構會因來源而異,例如從明確定義的層次結構到更靈活的方式,允許輕鬆整合新資訊。中繼資料是幫助決定如何組織和存儲資料的指標,並根據資料類型有不同的名稱。一些常見的中繼資料名稱包括標籤、元素、實體和屬性。例如,一封典型的電子郵件訊息會有主題、正文和一組收件人,並可以根據發送者或發送時間進行組織。
+
+半結構化資料的例子:HTML、CSV 檔案、JavaScript Object Notation (JSON)
+
+## 資料來源
+
+資料來源是資料生成的初始位置,或其 "存在" 的地方,會根據資料的收集方式和時間而有所不同。由使用者生成的資料被稱為原始資料,而次級資料則來自為一般用途收集資料的來源。例如,一群科學家在雨林中收集觀察資料被視為原始資料,而如果他們決定與其他科學家分享,對於使用這些資料的人來說則被視為次級資料。
+
+資料庫是常見的資料來源,依賴資料庫管理系統來托管和維護資料,使用者通過稱為查詢的命令來探索資料。作為資料來源的檔案可以是音訊、影像和影片檔案,也可以是像 Excel 這樣的電子表格。網路來源是托管資料的常見位置,資料庫和檔案都可以在其中找到。應用程式介面(API)允許程式設計師通過網路創建與外部使用者共享資料的方式,而網頁爬取則是從網頁中提取資料的過程。[處理資料的課程](../../../../../../../../../2-Working-With-Data) 將重點介紹如何使用各種資料來源。
+
+## 結論
+
+在本課程中,我們學到了:
+
+- 資料的定義
+- 資料的描述方式
+- 資料的分類和歸類方式
+- 資料的來源
+
+## 🚀 挑戰
+
+Kaggle 是一個開放資料集的絕佳來源。使用 [資料集搜尋工具](https://www.kaggle.com/datasets) 找到一些有趣的資料集,並根據以下標準分類 3-5 個資料集:
+
+- 資料是定量還是定性?
+- 資料是結構化、非結構化還是半結構化?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## 回顧與自學
+
+- Microsoft Learn 單元 [分類您的資料](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) 詳細介紹了結構化、半結構化和非結構化資料。
+
+## 作業
+
+[分類資料集](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/03-defining-data/assignment.md b/translations/tw/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..53856866
--- /dev/null
+++ b/translations/tw/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# 資料集分類
+
+## 指示
+
+按照本作業中的提示,識別並分類資料,並為以下每種資料類型選擇一個:
+
+**結構類型**:結構化、半結構化或非結構化
+
+**數值類型**:定性或定量
+
+**來源類型**:主要或次要
+
+1. 一家公司被收購,現在有了母公司。資料科學家從母公司收到了一份包含客戶電話號碼的電子表格。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+2. 一款智慧手錶正在收集佩戴者的心率數據,原始數據以 JSON 格式存儲。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+3. 一份存儲在 CSV 文件中的員工士氣工作場所調查。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+4. 天體物理學家正在訪問由太空探測器收集的星系數據庫。該數據包含每個星系中的行星數量。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+---
+
+5. 一款個人理財應用程式使用 API 連接到用戶的金融帳戶,以計算其淨資產。用戶可以看到所有交易,格式為行和列,類似於電子表格。
+
+結構類型:
+
+數值類型:
+
+來源類型:
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+正確識別所有結構、數值和來源 | 正確識別 3 個結構、數值和來源 | 正確識別 2 個或更少的結構、數值和來源 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/04-stats-and-probability/README.md b/translations/tw/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..dc8321cd
--- /dev/null
+++ b/translations/tw/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# 統計與機率簡介
+
+| ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| 統計與機率 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+統計學與機率論是數學中高度相關的兩個領域,對於資料科學非常重要。雖然在沒有深入數學知識的情況下也可以處理資料,但了解一些基本概念仍然是有益的。在這裡,我們將提供一個簡短的介紹,幫助你入門。
+
+[](https://youtu.be/Z5Zy85g4Yjw)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## 機率與隨機變數
+
+**機率** 是介於 0 和 1 之間的一個數字,用來表示某個 **事件** 發生的可能性。它被定義為正面結果(導致事件發生的結果)的數量,除以所有可能結果的總數,前提是所有結果的可能性相等。例如,當我們擲骰子時,得到偶數的機率是 3/6 = 0.5。
+
+當我們討論事件時,我們使用 **隨機變數**。例如,表示擲骰子結果的隨機變數可以取值 1 到 6。1 到 6 的集合被稱為 **樣本空間**。我們可以討論隨機變數取某個值的機率,例如 P(X=3)=1/6。
+
+上述例子中的隨機變數被稱為 **離散型**,因為它的樣本空間是可數的,也就是說可以列舉出各個值。有些情況下,樣本空間是一個實數範圍,或者是整個實數集合。這樣的變數被稱為 **連續型**。一個好的例子是公車到站的時間。
+
+## 機率分佈
+
+對於離散型隨機變數,我們可以用函數 P(X) 簡單地描述每個事件的機率。對於樣本空間 *S* 中的每個值 *s*,它會給出一個介於 0 和 1 之間的數字,並且所有事件的 P(X=s) 值的總和為 1。
+
+最著名的離散分佈是 **均勻分佈**,其中樣本空間有 N 個元素,每個元素的機率均為 1/N。
+
+描述連續型變數的機率分佈則更為困難,這些變數的值可能來自某個區間 [a,b],或者整個實數集合 ℝ。以公車到站時間為例,事實上,公車在某個精確時間 *t* 到站的機率是 0!
+
+> 現在你知道了機率為 0 的事件是會發生的,而且非常頻繁!至少每次公車到站時都是如此!
+
+我們只能討論變數落在某個值區間內的機率,例如 P(t1≤X2)。在這種情況下,機率分佈由 **機率密度函數** p(x) 描述,其滿足以下公式:
+
+![P(t_1\le X1, x2, ..., xn。我們可以用傳統方式定義序列的 **平均值**(或 **算術平均值**)為 (x1+x2+...+xn)/n。當樣本數量增加(即 n→∞),我們將得到分佈的平均值(也稱為 **期望值**)。我們用 **E**(x) 表示期望值。
+
+> 可以證明,對於任何離散分佈,其值為 {x1, x2, ..., xN},對應的機率為 p1, p2, ..., pN,期望值為 E(X)=x1p1+x2p2+...+xNpN。
+
+為了衡量數值的分散程度,我們可以計算方差 σ2 = ∑(xi - μ)2/n,其中 μ 是序列的平均值。σ 被稱為 **標準差**,而 σ2 則被稱為 **方差**。
+
+## 眾數、中位數與四分位數
+
+有時候,平均值並不能充分代表資料的「典型」值。例如,當有一些極端值完全超出範圍時,它們可能會影響平均值。另一個良好的指標是 **中位數**,即一個值,使得一半的資料點低於它,另一半高於它。
+
+為了幫助我們理解資料的分佈,討論 **四分位數** 是有幫助的:
+
+* 第一四分位數(Q1):25% 的資料低於此值
+* 第三四分位數(Q3):75% 的資料低於此值
+
+我們可以用一種叫做 **盒形圖** 的圖表來表示中位數與四分位數之間的關係:
+
+
+
+在這裡,我們還計算了 **四分位距** IQR=Q3-Q1,以及所謂的 **離群值**——位於 [Q1-1.5*IQR,Q3+1.5*IQR] 範圍之外的值。
+
+對於包含少量可能值的有限分佈,一個好的「典型」值是出現最頻繁的值,稱為 **眾數**。它通常應用於分類資料,例如顏色。考慮以下情況:我們有兩組人,一組人強烈偏好紅色,另一組人偏好藍色。如果我們用數字編碼顏色,最喜歡的顏色的平均值可能落在橙色或綠色範圍,這並不能反映任何一組的實際偏好。然而,眾數可能是其中一種顏色,或者是兩種顏色(如果投票人數相等,則稱為 **多眾數**)。
+
+## 真實世界的資料
+
+當我們分析真實世界的資料時,它們通常不是隨機變數,因為我們並未進行未知結果的實驗。例如,考慮一組棒球隊員及其身體數據,如身高、體重和年齡。這些數字並不完全是隨機的,但我們仍然可以應用相同的數學概念。例如,一組人的體重可以被視為某個隨機變數的值序列。以下是來自 [美國職棒大聯盟](http://mlb.mlb.com/index.jsp) 的棒球隊員的體重序列,取自 [這個資料集](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights)(為方便起見,僅顯示前 20 個值):
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **注意**:要查看使用此資料集的範例,請參考 [附加筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)。本課程中還有許多挑戰,你可以透過向該筆記本添加一些程式碼來完成它們。如果你不確定如何操作資料,請不要擔心——我們稍後會回到使用 Python 處理資料的部分。如果你不知道如何在 Jupyter Notebook 中執行程式碼,請參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+以下是顯示我們資料的平均值、中位數和四分位數的盒形圖:
+
+
+
+由於我們的資料包含不同球員 **角色** 的資訊,我們也可以按角色繪製盒形圖——這將幫助我們了解參數值在不同角色之間的差異。這次我們將考慮身高:
+
+
+
+這個圖表表明,平均而言,一壘手的身高高於二壘手的身高。在本課程的後面,我們將學習如何更正式地檢驗這一假設,以及如何證明我們的資料在統計上具有顯著性。
+
+> 在處理真實世界的資料時,我們假設所有資料點都是從某個機率分佈中抽取的樣本。這一假設使我們能夠應用機器學習技術並建立有效的預測模型。
+
+為了查看我們資料的分佈,我們可以繪製一個叫做 **直方圖** 的圖表。X 軸包含不同的體重區間(即 **分箱**),而 Y 軸顯示隨機變數樣本落在給定區間內的次數。
+
+
+
+從這個直方圖中可以看出,所有值都集中在某個平均體重附近,並且越遠離該體重,出現該值的次數越少。也就是說,棒球隊員的體重非常不同於平均體重的可能性很低。體重的方差顯示了體重與平均值可能的差異程度。
+
+> 如果我們取其他人的體重,而不是棒球聯盟的球員,分佈可能會有所不同。然而,分佈的形狀會保持相同,但平均值和方差會改變。因此,如果我們在棒球隊員上訓練模型,當應用於大學學生時可能會得出錯誤的結果,因為底層分佈不同。
+
+## 正態分佈
+
+我們上面看到的體重分佈非常典型,許多來自真實世界的測量值遵循相同類型的分佈,但具有不同的平均值和方差。這種分佈被稱為 **正態分佈**,在統計學中具有非常重要的作用。
+
+使用正態分佈是生成潛在棒球隊員隨機體重的正確方法。一旦我們知道平均體重 `mean` 和標準差 `std`,我們可以用以下方式生成 1000 個體重樣本:
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+如果我們繪製生成樣本的直方圖,我們會看到與上面顯示的圖非常相似的圖像。如果我們增加樣本數量和分箱數量,我們可以生成更接近理想的正態分佈圖像:
+
+
+
+*平均值=0,標準差=1 的正態分佈*
+
+## 信賴區間
+
+當我們討論棒球隊員的體重時,我們假設存在某個 **隨機變數 W**,它對應於所有棒球隊員體重的理想機率分佈(即 **母體**)。我們的體重序列對應於所有棒球隊員的一個子集,稱為 **樣本**。一個有趣的問題是,我們能否知道 W 的分佈參數,即母體的平均值和方差?
+
+最簡單的答案是計算樣本的平均值和方差。然而,可能會出現我們的隨機樣本不能準確代表完整母體的情況。因此,討論 **信賴區間** 是有意義的。
+> **信賴區間** 是根據樣本估算母體真實平均值的一種方法,其準確性在一定的概率(或 **信心水準**)內。
+假設我們有一個樣本 X1, ..., Xn 來自某個分佈。每次從分佈中抽取樣本時,我們都會得到不同的平均值 μ。因此,μ 可以被視為一個隨機變數。一個具有置信度 p 的 **置信區間** 是一對值 (Lp,Rp),使得 **P**(Lp≤μ≤Rp) = p,也就是說,測得的平均值落在該區間內的概率等於 p。
+
+詳細討論如何計算這些置信區間超出了我們的簡短介紹範圍。更多細節可以參考 [維基百科](https://en.wikipedia.org/wiki/Confidence_interval)。簡而言之,我們定義了計算出的樣本平均值相對於母體真實平均值的分佈,這被稱為 **學生分佈**。
+
+> **有趣的事實**:學生分佈是以數學家 William Sealy Gosset 命名的,他以筆名 "Student" 發表了他的論文。他在健力士啤酒廠工作,根據其中一個說法,他的雇主不希望公眾知道他們使用統計測試來檢測原材料的質量。
+
+如果我們希望以置信度 p 估計母體的平均值 μ,我們需要取學生分佈 A 的 *(1-p)/2 分位數*,這可以從表格中查得,或者使用統計軟件(如 Python、R 等)的內建函數計算。然後 μ 的區間為 X±A*D/√n,其中 X 是樣本的平均值,D 是標準差。
+
+> **注意**:我們同樣省略了與學生分佈相關的重要概念 [自由度](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)) 的討論。您可以參考更完整的統計學書籍來深入了解這個概念。
+
+關於體重和身高的置信區間計算範例可以在 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+| p | 體重平均值 |
+|-----|-----------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+注意,置信概率越高,置信區間越寬。
+
+## 假設檢定
+
+在我們的棒球球員數據集中,有不同的球員角色,可以總結如下(查看 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 了解如何計算此表):
+
+| 角色 | 身高 | 體重 | 數量 |
+|------|--------|--------|-------|
+| 捕手 | 72.723684 | 204.328947 | 76 |
+| 指定打擊 | 74.222222 | 220.888889 | 18 |
+| 一壘手 | 74.000000 | 213.109091 | 55 |
+| 外野手 | 73.010309 | 199.113402 | 194 |
+| 救援投手 | 74.374603 | 203.517460 | 315 |
+| 二壘手 | 71.362069 | 184.344828 | 58 |
+| 游擊手 | 71.903846 | 182.923077 | 52 |
+| 先發投手 | 74.719457 | 205.163636 | 221 |
+| 三壘手 | 73.044444 | 200.955556 | 45 |
+
+我們可以注意到,一壘手的平均身高高於二壘手。因此,我們可能會得出結論:**一壘手比二壘手高**。
+
+> 這種說法被稱為 **假設**,因為我們並不知道這個事實是否真的成立。
+
+然而,是否可以得出這樣的結論並不總是顯而易見的。從上面的討論中我們知道,每個平均值都有一個相關的置信區間,因此這種差異可能僅僅是統計誤差。我們需要更正式的方法來檢驗我們的假設。
+
+讓我們分別計算一壘手和二壘手身高的置信區間:
+
+| 置信度 | 一壘手 | 二壘手 |
+|------------|---------------|----------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+我們可以看到,在任何置信度下,這些區間都沒有重疊。這證明了我們的假設:一壘手比二壘手高。
+
+更正式地說,我們正在解決的問題是檢查 **兩個概率分佈是否相同**,或者至少是否具有相同的參數。根據分佈的不同,我們需要使用不同的檢驗方法。如果我們知道分佈是正態分佈,我們可以應用 **[學生 t 檢驗](https://en.wikipedia.org/wiki/Student%27s_t-test)**。
+
+在學生 t 檢驗中,我們計算所謂的 **t 值**,它表示平均值之間的差異,同時考慮到方差。已證明 t 值遵循 **學生分佈**,這使我們能夠獲得給定置信水平 **p** 的臨界值(這可以計算,或者在數值表中查找)。然後我們將 t 值與該臨界值進行比較,以接受或拒絕假設。
+
+在 Python 中,我們可以使用 **SciPy** 套件,其中包括 `ttest_ind` 函數(以及許多其他有用的統計函數!)。它為我們計算 t 值,並且還反向查找置信 p 值,因此我們只需查看置信度即可得出結論。
+
+例如,我們對一壘手和二壘手身高的比較給出了以下結果:
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+在我們的情況下,p 值非常低,這意味著有強有力的證據支持一壘手更高的結論。
+
+我們還可以檢驗其他類型的假設,例如:
+* 證明某個樣本符合某種分佈。在我們的例子中,我們假設身高是正態分佈的,但這需要正式的統計驗證。
+* 證明樣本的平均值與某個預定值相符。
+* 比較多個樣本的平均值(例如,不同年齡組的幸福感差異)。
+
+## 大數法則與中心極限定理
+
+正態分佈如此重要的原因之一是所謂的 **中心極限定理**。假設我們有一個由 N 個獨立值 X1, ..., XN 組成的大樣本,這些值來自任何具有平均值 μ 和方差 σ2 的分佈。那麼,當 N 足夠大時(換句話說,當 N→∞),平均值 ΣiXi 將呈正態分佈,平均值為 μ,方差為 σ2/N。
+
+> 中心極限定理的另一種解釋是,無論分佈如何,當您計算任何隨機變數值的總和的平均值時,結果都會呈現正態分佈。
+
+從中心極限定理還可以推導出,當 N→∞ 時,樣本平均值等於 μ 的概率趨於 1。這被稱為 **大數法則**。
+
+## 協方差與相關性
+
+數據科學的一個目的是發現數據之間的關係。當兩個序列在同一時間表現出相似的行為時,我們說它們 **相關**,即它們同時上升/下降,或者一個序列上升時另一個序列下降,反之亦然。換句話說,兩個序列之間似乎存在某種關係。
+
+> 相關性並不一定表示兩個序列之間存在因果關係;有時兩個變量可能依賴於某個外部原因,或者兩個序列的相關性可能純屬偶然。然而,強數學相關性是一個很好的指標,表明兩個變量之間可能存在某種聯繫。
+
+數學上,顯示兩個隨機變數之間關係的主要概念是 **協方差**,其計算公式為:Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]。我們計算兩個變數相對於其平均值的偏差,然後計算這些偏差的乘積。如果兩個變數一起偏離,乘積將始終為正值,從而累加為正協方差。如果兩個變數不同步偏離(即一個低於平均值時另一個高於平均值),我們將始終得到負值,從而累加為負協方差。如果偏差彼此獨立,它們將大致加總為零。
+
+協方差的絕對值並不能告訴我們相關性有多大,因為它取決於實際值的大小。為了將其標準化,我們可以將協方差除以兩個變數的標準差,得到 **相關性**。相關性的好處是它始終在 [-1,1] 範圍內,其中 1 表示值之間的強正相關,-1 表示強負相關,0 表示完全無相關(變數獨立)。
+
+**範例**:我們可以計算棒球球員數據集中體重和身高之間的相關性:
+```python
+print(np.corrcoef(weights,heights))
+```
+結果,我們得到如下的 **相關矩陣**:
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> 相關矩陣 C 可以針對任意數量的輸入序列 S1, ..., Sn 計算。Cij 的值是 Si 和 Sj 之間的相關性,對角線元素始終為 1(這也是 Si 的自相關性)。
+
+在我們的例子中,值 0.53 表明體重和身高之間存在一定的相關性。我們還可以繪製一個散點圖,將一個值與另一個值進行比較,以直觀地查看它們之間的關係:
+
+
+
+> 更多關於相關性和協方差的範例可以在 [附帶的筆記本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+## 結論
+
+在本節中,我們學習了:
+
+* 數據的基本統計屬性,例如平均值、方差、眾數和四分位數
+* 隨機變數的不同分佈,包括正態分佈
+* 如何找到不同屬性之間的相關性
+* 如何使用數學和統計的嚴謹工具來證明一些假設
+* 如何根據數據樣本計算隨機變數的置信區間
+
+雖然這絕不是概率和統計學中所有主題的完整列表,但應該足以讓您對本課程有一個良好的開始。
+
+## 🚀 挑戰
+
+使用筆記本中的範例代碼來測試以下假設:
+1. 一壘手比二壘手年長
+2. 一壘手比三壘手高
+3. 游擊手比二壘手高
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## 複習與自學
+
+概率和統計是一個非常廣泛的主題,值得開設一門專門的課程。如果您有興趣深入理論,可以繼續閱讀以下書籍:
+
+1. [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/)(紐約大學)撰寫的優秀講義 [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf)(在線提供)
+1. [Peter and Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[R 語言範例代碼](https://github.com/andrewgbruce/statistics-for-data-scientists)]。
+1. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[R 語言範例代碼](https://github.com/PacktPublishing/Statistics-for-Data-Science)]。
+
+## 作業
+
+[小型糖尿病研究](assignment.md)
+
+## 致謝
+
+本課程由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/04-stats-and-probability/assignment.md b/translations/tw/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..a6427c35
--- /dev/null
+++ b/translations/tw/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# 小型糖尿病研究
+
+在這次作業中,我們將使用一個小型糖尿病患者的數據集,該數據集來源於[此處](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html)。
+
+| | 年齡 | 性別 | BMI | 血壓 | S1 | S2 | S3 | S4 | S5 | S6 | Y |
+|---|-----|-----|-----|----|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1 | 101. | 157 | 93.2 | 38.0 | 4. | 4.8598 | 87 | 151 |
+| 1 | 48 | 1 | 21.6 | 87.0 | 183 | 103.2 | 70. | 3. | 3.8918 | 69 | 75 |
+| 2 | 72 | 2 | 30.5 | 93.0 | 156 | 93.6 | 41.0 | 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... |
+
+## 指導說明
+
+* 在 jupyter notebook 環境中打開 [assignment notebook](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb)
+* 完成 notebook 中列出的所有任務,包括:
+ * [ ] 計算所有值的平均值和方差
+ * [ ] 根據性別繪製 BMI、血壓和 Y 的箱型圖
+ * [ ] 分析年齡、性別、BMI 和 Y 變數的分佈情況
+ * [ ] 測試不同變數與疾病進展(Y)之間的相關性
+ * [ ] 檢驗糖尿病進展程度在男性和女性之間是否存在差異的假設
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+所有要求的任務均已完成,並且有圖形展示和詳細解釋 | 大部分任務已完成,但缺少圖形或獲得值的解釋和結論 | 只完成了基本任務,例如計算平均值/方差和基本圖表,未從數據中得出結論
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/1-Introduction/README.md b/translations/tw/1-Introduction/README.md
new file mode 100644
index 00000000..14b8ca03
--- /dev/null
+++ b/translations/tw/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# 資料科學入門
+
+
+> 照片由 Stephen Dawson 提供,來自 Unsplash
+
+在這些課程中,您將了解資料科學的定義,並學習作為資料科學家必須考慮的倫理問題。您還將學習資料的定義,並簡單了解統計與機率,這些是資料科學的核心學術領域。
+
+### 主題
+
+1. [資料科學的定義](01-defining-data-science/README.md)
+2. [資料科學倫理](02-ethics/README.md)
+3. [資料的定義](03-defining-data/README.md)
+4. [統計與機率入門](04-stats-and-probability/README.md)
+
+### 致謝
+
+這些課程由 [Nitya Narasimhan](https://twitter.com/nitya) 和 [Dmitry Soshnikov](https://twitter.com/shwars) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/05-relational-databases/README.md b/translations/tw/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..b887e1b7
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# 使用資料:關聯式資料庫
+
+| ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| 使用資料:關聯式資料庫 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+你可能曾經使用過電子表格來存儲資訊。電子表格由一組列和欄組成,其中列包含資訊(或資料),而欄描述這些資訊(有時稱為元資料)。關聯式資料庫正是基於這種表格中列和欄的核心原則構建的,允許你將資訊分散到多個表格中。這使得你可以處理更複雜的資料,避免重複,並且在探索資料時擁有更大的靈活性。讓我們一起探索關聯式資料庫的概念。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## 一切從表格開始
+
+關聯式資料庫的核心是表格。就像電子表格一樣,表格是一組欄和列的集合。列包含我們希望處理的資料或資訊,例如城市名稱或降雨量。欄則描述存儲的資料。
+
+讓我們開始探索,建立一個表格來存儲城市的資訊。我們可以從城市名稱和國家開始。你可以將這些資訊存儲在如下表格中:
+
+| 城市 | 國家 |
+| -------- | ------------- |
+| 東京 | 日本 |
+| 亞特蘭大 | 美國 |
+| 奧克蘭 | 紐西蘭 |
+
+注意,**城市**、**國家**和**人口**這些欄名描述了存儲的資料,而每一列包含一個城市的資訊。
+
+## 單一表格方法的缺點
+
+上述表格可能對你來說相當熟悉。現在讓我們開始向這個初步的資料庫添加一些額外的資料——年度降雨量(以毫米為單位)。我們將專注於2018年、2019年和2020年。如果我們要為東京添加這些資料,可能會像這樣:
+
+| 城市 | 國家 | 年份 | 降雨量 |
+| ----- | ----- | ---- | ------ |
+| 東京 | 日本 | 2020 | 1690 |
+| 東京 | 日本 | 2019 | 1874 |
+| 東京 | 日本 | 2018 | 1445 |
+
+你注意到我們的表格有什麼問題嗎?你可能會注意到我們重複了城市名稱和國家多次。這可能會佔用相當多的存儲空間,而且大部分情況下是不必要的。畢竟,東京的名稱只有一個。
+
+好吧,讓我們嘗試另一種方法。讓我們為每一年添加新的欄:
+
+| 城市 | 國家 | 2018 | 2019 | 2020 |
+| -------- | ------------- | ---- | ---- | ---- |
+| 東京 | 日本 | 1445 | 1874 | 1690 |
+| 亞特蘭大 | 美國 | 1779 | 1111 | 1683 |
+| 奧克蘭 | 紐西蘭 | 1386 | 942 | 1176 |
+
+雖然這避免了列的重複,但也帶來了其他挑戰。我們需要在每次有新年份時修改表格的結構。此外,隨著資料的增長,將年份作為欄可能會使檢索和計算值變得更加困難。
+
+這就是為什麼我們需要多個表格和關係。通過拆分資料,我們可以避免重複,並在處理資料時擁有更大的靈活性。
+
+## 關係的概念
+
+讓我們回到資料,並決定如何拆分它們。我們知道我們希望存儲城市的名稱和國家,因此這些資訊可能最適合存儲在一個表格中。
+
+| 城市 | 國家 |
+| -------- | ------------- |
+| 東京 | 日本 |
+| 亞特蘭大 | 美國 |
+| 奧克蘭 | 紐西蘭 |
+
+但在建立下一個表格之前,我們需要弄清楚如何引用每個城市。我們需要某種形式的識別碼、ID或(在技術資料庫術語中)主鍵。主鍵是一個用於識別表格中特定列的值。雖然這可以基於某個值本身(例如,我們可以使用城市名稱),但它幾乎應該是一個數字或其他識別碼。我們不希望ID發生變化,因為這會破壞關係。你會發現,在大多數情況下,主鍵或ID通常是一個自動生成的數字。
+
+> ✅ 主鍵通常縮寫為PK
+
+### 城市表格
+
+| city_id | 城市 | 國家 |
+| ------- | -------- | ------------- |
+| 1 | 東京 | 日本 |
+| 2 | 亞特蘭大 | 美國 |
+| 3 | 奧克蘭 | 紐西蘭 |
+
+> ✅ 在本課程中,你會注意到我們交替使用“id”和“主鍵”這些術語。這些概念也適用於DataFrames,你將在後續學習中探索。DataFrames不使用“主鍵”這一術語,但你會注意到它們的行為非常相似。
+
+建立城市表格後,讓我們存儲降雨量。與其重複城市的完整資訊,我們可以使用ID。我們還應確保新建立的表格也有一個*id*欄,因為所有表格都應該有一個ID或主鍵。
+
+### 降雨量表格
+
+| rainfall_id | city_id | 年份 | 降雨量 |
+| ----------- | ------- | ---- | ------ |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+注意新建立的**降雨量**表格中的**city_id**欄。這個欄包含引用**城市**表格中ID的值。在技術關聯資料術語中,這被稱為**外鍵**;它是來自另一個表格的主鍵。你可以簡單地將其視為一個引用或指針。**city_id** 1指向東京。
+
+> [!NOTE] 外鍵通常縮寫為FK
+
+## 資料的檢索
+
+將資料分成兩個表格後,你可能會想知道如何檢索它。如果我們使用像MySQL、SQL Server或Oracle這樣的關聯式資料庫,我們可以使用一種叫做結構化查詢語言(SQL)的語言。SQL(有時讀作sequel)是一種標準語言,用於在關聯式資料庫中檢索和修改資料。
+
+要檢索資料,你可以使用指令`SELECT`。其核心是,你**選擇**想要查看的欄,**從**它們所在的表格中檢索。如果你只想顯示城市的名稱,可以使用以下指令:
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT`是列出欄名的地方,而`FROM`是列出表格的地方。
+
+> [NOTE] SQL語法不區分大小寫,這意味著`select`和`SELECT`是相同的。然而,根據你使用的資料庫類型,欄名和表名可能區分大小寫。因此,最佳做法是始終將程式設計中的所有內容視為區分大小寫。在撰寫SQL查詢時,常見的慣例是將關鍵字全部使用大寫字母。
+
+上述查詢將顯示所有城市。假設我們只想顯示紐西蘭的城市。我們需要某種形式的篩選器。SQL的關鍵字是`WHERE`,即“某些條件為真”。
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## 資料的連結
+
+到目前為止,我們已經從單一表格中檢索資料。現在我們希望將**城市**和**降雨量**的資料結合起來。這可以通過*連結*它們來完成。你將有效地在兩個表格之間建立一個接縫,並匹配每個表格中的欄值。
+
+在我們的例子中,我們將匹配**降雨量**表格中的**city_id**欄與**城市**表格中的**city_id**欄。這將把降雨量值與其相應的城市匹配起來。我們將執行的連結類型稱為*內部連結*,這意味著如果某些列與另一個表格中的任何內容不匹配,它們將不會顯示。在我們的例子中,每個城市都有降雨量,因此所有內容都會顯示。
+
+讓我們檢索2019年的所有城市降雨量。
+
+我們將分步完成。第一步是通過指示接縫的欄來連結資料——如前所述的**city_id**。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+我們已經突出顯示了我們想要的兩個欄,以及我們希望通過**city_id**連結表格的事實。現在我們可以添加`WHERE`語句來篩選出僅2019年的資料。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## 總結
+
+關聯式資料庫的核心是將資訊分割到多個表格中,然後將其重新結合以進行顯示和分析。這提供了高度的靈活性來執行計算或以其他方式操作資料。你已經了解了關聯式資料庫的核心概念,以及如何在兩個表格之間執行連結。
+
+## 🚀 挑戰
+
+網路上有許多關聯式資料庫可供使用。你可以使用上述學到的技能來探索這些資料。
+
+## 課後測驗
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## 回顧與自學
+
+[Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum)上有許多資源可供你繼續探索SQL和關聯式資料庫的概念
+
+- [描述關聯資料的概念](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [開始使用Transact-SQL進行查詢](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum)(Transact-SQL是SQL的一個版本)
+- [Microsoft Learn上的SQL內容](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## 作業
+
+[作業標題](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/05-relational-databases/assignment.md b/translations/tw/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..aebf7f72
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# 顯示機場數據
+
+您已獲得一個基於 [SQLite](https://sqlite.org/index.html) 的 [資料庫](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db),其中包含有關機場的資訊。以下顯示了資料庫的結構。您將使用 [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) 中的 [SQLite 擴展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) 來顯示不同城市的機場資訊。
+
+## 指導說明
+
+要開始這項作業,您需要完成幾個步驟。您需要安裝一些工具並下載範例資料庫。
+
+### 設置您的系統
+
+您可以使用 Visual Studio Code 和 SQLite 擴展來與資料庫互動。
+
+1. 前往 [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) 並按照指示安裝 Visual Studio Code
+1. 按照 Marketplace 頁面上的指示安裝 [SQLite 擴展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+### 下載並打開資料庫
+
+接下來,您將下載並打開資料庫。
+
+1. 從 [GitHub 下載資料庫檔案](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) 並將其保存到一個目錄中
+1. 打開 Visual Studio Code
+1. 在 SQLite 擴展中打開資料庫,按下 **Ctl-Shift-P**(Mac 上為 **Cmd-Shift-P**),然後輸入 `SQLite: Open database`
+1. 選擇 **Choose database from file** 並打開您之前下載的 **airports.db** 檔案
+1. 打開資料庫後(螢幕上不會顯示更新),通過按下 **Ctl-Shift-P**(Mac 上為 **Cmd-Shift-P**)並輸入 `SQLite: New query` 創建一個新的查詢窗口
+
+打開後,新的查詢窗口可用於對資料庫執行 SQL 語句。您可以使用命令 **Ctl-Shift-Q**(Mac 上為 **Cmd-Shift-Q**)來執行資料庫查詢。
+
+> [!NOTE] 有關 SQLite 擴展的更多資訊,您可以參考 [文檔](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+## 資料庫結構
+
+資料庫的結構是其表格的設計和架構。**airports** 資料庫有兩個表格,`cities` 包含英國和愛爾蘭的城市列表,`airports` 包含所有機場的列表。由於某些城市可能有多個機場,因此創建了兩個表格來存儲資訊。在此練習中,您將使用連接來顯示不同城市的資訊。
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK to id in **Cities**) |
+
+## 作業
+
+創建查詢以返回以下資訊:
+
+1. `Cities` 表中的所有城市名稱
+1. `Cities` 表中所有位於愛爾蘭的城市
+1. 所有機場名稱及其所在城市和國家
+1. 所有位於英國倫敦的機場
+
+## 評分標準
+
+| 優秀 | 合格 | 需要改進 |
+| --------- | --------- | --------- |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/06-non-relational/README.md b/translations/tw/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..04b3bc75
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# 使用資料:非關聯式資料
+
+| 繪製的速記筆記](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|使用 NoSQL 資料 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+資料並不限於關聯式資料庫。本課程聚焦於非關聯式資料,並將涵蓋試算表和 NoSQL 的基礎知識。
+
+## 試算表
+
+試算表是一種流行的資料存儲和探索方式,因為它需要較少的設置工作即可開始使用。在本課程中,您將學習試算表的基本組成部分,以及公式和函數。範例將以 Microsoft Excel 為例,但大多數部分和主題在其他試算表軟體中都有類似的名稱和步驟。
+
+
+
+試算表是一個檔案,可以在電腦、設備或基於雲的檔案系統中訪問。軟體本身可能是基於瀏覽器的,或者需要安裝在電腦上或下載為應用程式。在 Excel 中,這些檔案也被定義為 **工作簿**,本課程將使用這個術語。
+
+工作簿包含一個或多個 **工作表**,每個工作表都以標籤命名。在工作表中有稱為 **儲存格** 的矩形,這些儲存格包含實際的資料。儲存格是行和列的交叉點,其中列以字母標記,行以數字標記。一些試算表會在前幾行中包含標題,以描述儲存格中的資料。
+
+基於 Excel 工作簿的這些基本元素,我們將使用 [Microsoft Templates](https://templates.office.com/) 中的一個專注於庫存的範例來演示試算表的一些其他部分。
+
+### 管理庫存
+
+名為 "InventoryExample" 的試算表檔案是一個格式化的庫存項目試算表,包含三個工作表,標籤分別為 "Inventory List"、"Inventory Pick List" 和 "Bin Lookup"。Inventory List 工作表的第 4 行是標題,描述了標題列中每個儲存格的值。
+
+
+
+有些情況下,儲存格的值依賴於其他儲存格的值來生成。在庫存清單試算表中,我們追蹤庫存中每個項目的成本,但如果我們需要知道整個庫存的價值呢?[**公式**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) 用於對儲存格資料執行操作,並在此範例中用於計算庫存的成本。此試算表在 Inventory Value 列中使用公式,通過將 QTY 標題下的數量與 COST 標題下的成本相乘來計算每個項目的價值。雙擊或高亮顯示儲存格將顯示公式。您會注意到公式以等號開頭,後面是計算或操作。
+
+
+
+我們可以使用另一個公式將所有 Inventory Value 的值相加以獲得其總價值。這可以通過逐一添加每個儲存格來計算總和,但這可能是一項繁瑣的任務。Excel 提供了 [**函數**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89),即預定義的公式,用於對儲存格值進行計算。函數需要參數,即執行計算所需的值。當函數需要多個參數時,它們需要按特定順序列出,否則函數可能無法計算正確的值。本範例使用 SUM 函數,並使用 Inventory Value 的值作為參數來生成列於第 3 行、第 B 列(也稱為 B3)的總和。
+
+## NoSQL
+
+NoSQL 是一個涵蓋非關聯式資料存儲方式的術語,可以解釋為 "非 SQL"、"非關聯式" 或 "不僅僅是 SQL"。這些類型的資料庫系統可以分為四種類型。
+
+
+> 來源:[Michał Białecki Blog](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/) 和適當的哈希函數存儲。
+
+
+> 來源:[Microsoft](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) 資料存儲將資料組織為列和行,類似於關聯式資料結構,但每列被分為稱為列族的群組,其中一列下的所有資料都是相關的,可以作為一個單元檢索和更改。
+
+### 使用 Azure Cosmos DB 的文件資料存儲
+
+[文件](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) 資料存儲基於鍵值資料存儲的概念,由一系列字段和物件組成。本節將使用 Cosmos DB 模擬器探索文件資料庫。
+
+Cosmos DB 資料庫符合 "不僅僅是 SQL" 的定義,其中 Cosmos DB 的文件資料庫依賴 SQL 來查詢資料。[前一課程](../05-relational-databases/README.md) 涵蓋了 SQL 的基礎知識,我們將能夠在此處將一些相同的查詢應用於文件資料庫。我們將使用 Cosmos DB 模擬器,該模擬器允許我們在電腦上本地創建和探索文件資料庫。閱讀更多關於模擬器的資訊 [此處](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)。
+
+文件是字段和物件值的集合,其中字段描述物件值代表的內容。以下是一個文件範例。
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+此文件中的關鍵字段包括:`firstname`、`id` 和 `age`。其餘帶有下劃線的字段是由 Cosmos DB 生成的。
+
+#### 使用 Cosmos DB 模擬器探索資料
+
+您可以 [在此處下載並安裝 Windows 版模擬器](https://aka.ms/cosmosdb-emulator)。有關如何在 macOS 和 Linux 上運行模擬器的選項,請參考 [此文件](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos)。
+
+模擬器啟動後會打開一個瀏覽器窗口,其中的 Explorer 視圖允許您探索文件。
+
+
+
+如果您正在跟隨操作,請點擊 "Start with Sample" 以生成名為 SampleDB 的示例資料庫。如果通過點擊箭頭展開 SampleDB,您會找到一個名為 `Persons` 的容器,容器包含一系列項目,即容器中的文件。您可以探索 `Items` 下的四個單獨文件。
+
+
+
+#### 使用 Cosmos DB 模擬器查詢文件資料
+
+我們還可以通過點擊 "New SQL Query" 按鈕(第二個按鈕)來查詢示例資料。
+
+`SELECT * FROM c` 返回容器中的所有文件。讓我們添加一個 where 子句,查找年齡小於 40 的人。
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+查詢返回了兩個文件,注意每個文件的年齡值都小於 40。
+
+#### JSON 與文件
+
+如果您熟悉 JavaScript Object Notation (JSON),您會注意到文件看起來與 JSON 類似。此目錄中有一個 `PersonsData.json` 檔案,包含更多資料,您可以通過模擬器中的 `Upload Item` 按鈕將其上傳到 Persons 容器。
+
+在大多數情況下,返回 JSON 資料的 API 可以直接轉移並存儲在文件資料庫中。以下是另一個文件,它表示從 Microsoft Twitter 帳戶檢索的推文,該推文使用 Twitter API 獲取,然後插入到 Cosmos DB 中。
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+此文件中的關鍵字段包括:`created_at`、`id` 和 `text`。
+
+## 🚀 挑戰
+
+目錄中有一個 `TwitterData.json` 檔案,您可以將其上傳到 SampleDB 資料庫。建議您將其添加到單獨的容器中。這可以通過以下步驟完成:
+
+1. 點擊右上角的 "New Container" 按鈕
+1. 選擇現有資料庫 (SampleDB),為容器創建一個容器 ID
+1. 將分區鍵設置為 `/id`
+1. 點擊 OK(您可以忽略此視圖中的其他資訊,因為這是一個在本地運行的小型資料集)
+1. 打開您的新容器,並使用 `Upload Item` 按鈕上傳 Twitter Data 檔案
+
+嘗試運行一些 SELECT 查詢,查找 `text` 字段中包含 Microsoft 的文件。提示:嘗試使用 [LIKE 關鍵字](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character)。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## 回顧與自學
+
+- 該試算表中添加了一些本課程未涵蓋的額外格式和功能。如果您有興趣了解更多,Microsoft 提供了 [大量的 Excel 文件和影片](https://support.microsoft.com/excel)。
+
+- 此架構文件詳細說明了不同類型非關聯式資料的特徵:[非關聯式資料與 NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)。
+
+- Cosmos DB 是一個基於雲的非關聯式資料庫,也可以存儲本課程中提到的不同 NoSQL 類型。了解更多這些類型的資訊,請參考 [Cosmos DB Microsoft Learn 模組](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/)。
+
+## 作業
+
+[Soda Profits](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/06-non-relational/assignment.md b/translations/tw/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..4f67903a
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# 蘇打水利潤
+
+## 說明
+
+[Coca Cola Co 試算表](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx) 缺少了一些計算。您的任務是:
+
+1. 計算 2015、2016、2017 和 2018 財年的毛利
+ - 毛利 = 營業淨收入 - 銷售成本
+1. 計算所有毛利的平均值。嘗試使用函數來完成此操作。
+ - 平均值 = 毛利總和除以財年數量 (10)
+ - [AVERAGE 函數](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6) 的文件
+1. 這是一個 Excel 文件,但應該可以在任何試算表平台中編輯
+
+[數據來源感謝 Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | ---
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/07-python/README.md b/translations/tw/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..07bcc489
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,288 @@
+
+# 使用數據:Python 與 Pandas 函式庫
+
+|  繪製的手繪筆記 ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| 使用 Python - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+雖然資料庫提供了非常高效的方式來存儲數據並使用查詢語言進行查詢,但最靈活的數據處理方式是編寫自己的程式來操作數據。在許多情況下,使用資料庫查詢會更有效。然而,在某些需要更複雜數據處理的情況下,SQL 無法輕鬆完成這些操作。
+
+數據處理可以用任何程式語言來編寫,但有些語言在處理數據方面更高效。數據科學家通常偏好以下幾種語言:
+
+* **[Python](https://www.python.org/)**:一種通用程式語言,因其簡單性常被認為是初學者的最佳選擇之一。Python 擁有許多額外的函式庫,可以幫助解決許多實際問題,例如從 ZIP 壓縮檔中提取數據,或將圖片轉換為灰階。除了數據科學,Python 也常用於網頁開發。
+* **[R](https://www.r-project.org/)**:一個專為統計數據處理而開發的傳統工具箱。它擁有大量的函式庫資源(CRAN),使其成為數據處理的良好選擇。然而,R 並非通用程式語言,且很少用於數據科學領域以外的場景。
+* **[Julia](https://julialang.org/)**:另一種專為數據科學開發的語言。它旨在提供比 Python 更好的性能,是科學實驗的強大工具。
+
+在本課程中,我們將專注於使用 Python 進行簡單的數據處理。我們假設您對該語言已有基本的了解。如果您想更深入地學習 Python,可以參考以下資源:
+
+* [用烏龜圖形和分形圖有趣地學習 Python](https://github.com/shwars/pycourse) - 基於 GitHub 的 Python 程式設計快速入門課程
+* [從零開始學習 Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) - [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) 上的學習路徑
+
+數據可以有多種形式。在本課程中,我們將探討三種數據形式:**表格數據**、**文本**和**圖片**。
+
+我們將專注於數據處理的一些示例,而不是全面介紹所有相關函式庫。這樣可以讓您掌握主要概念,並在需要時知道去哪裡尋找解決方案。
+
+> **最有用的建議**:當您需要對數據執行某些操作但不知道如何進行時,嘗試在網路上搜尋解決方案。[Stackoverflow](https://stackoverflow.com/) 通常包含許多針對常見任務的 Python 範例程式碼。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## 表格數據與 DataFrame
+
+當我們討論關聯式資料庫時,您已經接觸過表格數據。當您擁有大量數據,且這些數據存儲於多個相互關聯的表中時,使用 SQL 來處理它們是非常合理的。然而,在許多情況下,我們擁有一個數據表,並需要對該數據進行一些**理解**或**洞察**,例如分佈情況、數值之間的相關性等。在數據科學中,經常需要對原始數據進行一些轉換,然後進行可視化。這兩個步驟都可以輕鬆地使用 Python 完成。
+
+Python 中有兩個非常有用的函式庫可以幫助您處理表格數據:
+* **[Pandas](https://pandas.pydata.org/)**:允許您操作所謂的 **DataFrame**,類似於關聯式表格。您可以擁有命名的列,並對行、列和整個 DataFrame 執行不同的操作。
+* **[Numpy](https://numpy.org/)**:用於處理 **張量**(即多維**陣列**)的函式庫。陣列的值具有相同的基礎類型,比 DataFrame 更簡單,但提供了更多數學運算,並且開銷更小。
+
+此外,還有幾個您應該了解的函式庫:
+* **[Matplotlib](https://matplotlib.org/)**:用於數據可視化和繪製圖表的函式庫
+* **[SciPy](https://www.scipy.org/)**:包含一些額外科學函數的函式庫。我們在討論概率和統計時已經接觸過該函式庫
+
+以下是您通常在 Python 程式開頭用來匯入這些函式庫的程式碼:
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandas 圍繞幾個基本概念進行設計。
+
+### Series
+
+**Series** 是一個值的序列,類似於列表或 numpy 陣列。主要區別在於 Series 還有一個 **索引**,當我們對 Series 進行操作(例如相加)時,索引會被考慮在內。索引可以是簡單的整數行號(從列表或陣列創建 Series 時的默認索引),也可以具有複雜結構,例如日期區間。
+
+> **注意**:在附帶的筆記本 [`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb) 中有一些 Pandas 的入門程式碼。我們在這裡僅概述一些示例,您可以查看完整的筆記本。
+
+舉個例子:我們想分析我們冰淇淋店的銷售情況。讓我們生成一段時間內的銷售數據(每天售出的數量):
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+當我們將兩個 Series 相加時,我們會得到總數:
+```python
+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` 參數。
+
+對於時間序列,我們還可以使用不同的時間間隔對其進行**重採樣**。例如,假設我們想計算每月的平均銷售量。我們可以使用以下程式碼:
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### DataFrame
+
+DataFrame 本質上是具有相同索引的多個 Series 的集合。我們可以將幾個 Series 組合成一個 DataFrame:
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+這將創建如下的橫向表格:
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+我們還可以將 Series 作為列,並使用字典指定列名:
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+這將生成如下表格:
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**注意**:我們也可以通過轉置前一個表格來獲得這種表格佈局,例如:
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+這裡 `.T` 表示轉置 DataFrame 的操作,即更改行和列,而 `rename` 操作允許我們將列名重命名以匹配前一個示例。
+
+以下是我們可以對 DataFrame 執行的一些最重要操作:
+
+**選擇列**。我們可以通過 `df['A']` 選擇單個列,該操作返回一個 Series。我們還可以通過 `df[['B','A']]` 選擇列的子集,這將返回另一個 DataFrame。
+
+**篩選**符合條件的行。例如,要僅保留列 `A` 大於 5 的行,我們可以寫 `df[df['A']>5]`。
+
+> **注意**:篩選的工作方式如下。表達式 `df['A']<5` 返回一個布林 Series,指示原始 Series `df['A']` 中每個元素的表達式是否為 `True` 或 `False`。當布林 Series 用作索引時,它返回 DataFrame 中的行子集。因此,無法使用任意的 Python 布林表達式,例如,寫 `df[df['A']>5 and df['A']<7]` 是錯誤的。相反,您應該對布林 Series 使用特殊的 `&` 運算符,寫作 `df[(df['A']>5) & (df['A']<7)]`(*括號在這裡很重要*)。
+
+**創建新的可計算列**。我們可以通過直觀的表達式輕鬆為 DataFrame 創建新的可計算列:
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+此示例計算 A 與其平均值的偏差。實際上,我們是在計算一個 Series,然後將該 Series 賦值給左側,創建另一列。因此,我們不能使用與 Series 不兼容的任何操作,例如,以下程式碼是錯誤的:
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+後一個示例雖然語法正確,但結果錯誤,因為它將 Series `B` 的長度賦值給列中的所有值,而不是我們預期的每個元素的長度。
+
+如果我們需要計算這樣的複雜表達式,可以使用 `apply` 函數。最後一個示例可以寫成如下:
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+經過上述操作後,我們將得到以下 DataFrame:
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**基於數字選擇行**可以使用 `iloc` 結構。例如,要選擇 DataFrame 的前 5 行:
+```python
+df.iloc[:5]
+```
+
+**分組**通常用於獲得類似於 Excel 中*樞軸表*的結果。例如,假設我們想計算每個 `LenB` 值對應的列 `A` 的平均值。我們可以按 `LenB` 將 DataFrame 分組,然後調用 `mean`:
+```python
+df.groupby(by='LenB').mean()
+```
+如果我們需要計算平均值和組中元素的數量,可以使用更複雜的 `aggregate` 函數:
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+這將生成以下表格:
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### 獲取數據
+我們已經看到如何輕鬆地從 Python 物件構建 Series 和 DataFrame。然而,數據通常以文字檔案或 Excel 表格的形式出現。幸運的是,Pandas 提供了一種簡單的方法來從磁碟載入數據。例如,讀取 CSV 檔案就像這樣簡單:
+```python
+df = pd.read_csv('file.csv')
+```
+我們將在“挑戰”部分看到更多載入數據的範例,包括從外部網站獲取數據。
+
+### 列印與繪圖
+
+數據科學家經常需要探索數據,因此能夠視覺化數據非常重要。當 DataFrame 很大時,我們通常只想確認我們的操作是否正確,這可以通過列印出前幾行來完成。這可以通過呼叫 `df.head()` 完成。如果你在 Jupyter Notebook 中執行,它會以漂亮的表格形式顯示 DataFrame。
+
+我們還看到了使用 `plot` 函數來視覺化某些列的用法。雖然 `plot` 對於許多任務非常有用,並且通過 `kind=` 參數支持多種不同的圖表類型,但你也可以使用原始的 `matplotlib` 庫來繪製更複雜的圖表。我們將在單獨的課程中詳細介紹數據視覺化。
+
+這個概述涵蓋了 Pandas 的最重要概念,但這個庫非常豐富,幾乎沒有你無法完成的事情!現在,讓我們應用這些知識來解決具體問題。
+
+## 🚀 挑戰 1:分析 COVID 傳播
+
+我們將專注於的第一個問題是 COVID-19 的流行病傳播建模。為了做到這一點,我們將使用由 [約翰霍普金斯大學](https://jhu.edu/) 的 [系統科學與工程中心](https://systems.jhu.edu/) (CSSE) 提供的不同國家感染人數數據。數據集可在 [這個 GitHub 資源庫](https://github.com/CSSEGISandData/COVID-19) 中找到。
+
+由於我們想展示如何處理數據,我們邀請你打開 [`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/notebook-covidspread.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後為你留下的一些挑戰。
+
+
+
+> 如果你不知道如何在 Jupyter Notebook 中執行程式碼,可以參考 [這篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## 處理非結構化數據
+
+雖然數據通常以表格形式出現,但在某些情況下,我們需要處理結構化程度較低的數據,例如文字或圖片。在這種情況下,要應用我們上面看到的數據處理技術,我們需要以某種方式**提取**結構化數據。以下是一些範例:
+
+* 從文字中提取關鍵字,並查看這些關鍵字出現的頻率
+* 使用神經網絡從圖片中提取物件資訊
+* 從視頻鏡頭中獲取人們的情緒資訊
+
+## 🚀 挑戰 2:分析 COVID 論文
+
+在這個挑戰中,我們將繼續探討 COVID 大流行的主題,並專注於處理有關該主題的科學論文。有一個 [CORD-19 數據集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge),其中包含超過 7000 篇(撰寫時)關於 COVID 的論文,並附有元數據和摘要(其中約一半還提供全文)。
+
+使用 [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) 認知服務分析此數據集的完整範例已在 [這篇部落格文章](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/) 中描述。我們將討論此分析的簡化版本。
+
+> **NOTE**: 我們未在此資源庫中提供數據集的副本。你可能需要先從 [Kaggle 上的這個數據集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 下載 [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 文件。可能需要在 Kaggle 註冊。你也可以從 [這裡](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) 無需註冊下載數據集,但它將包括所有全文以及元數據文件。
+
+打開 [`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/notebook-papers.ipynb) 並從頭到尾閱讀。你也可以執行單元格,並完成我們在最後為你留下的一些挑戰。
+
+
+
+## 處理圖片數據
+
+最近,已經開發出非常強大的 AI 模型,能夠理解圖片。有許多任務可以使用預訓練的神經網絡或雲服務解決。一些範例包括:
+
+* **圖片分類**,可以幫助你將圖片分類到預定義的類別中。你可以使用像 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 這樣的服務輕鬆訓練自己的圖片分類器。
+* **物件檢測**,用於檢測圖片中的不同物件。像 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 這樣的服務可以檢測許多常見物件,你也可以訓練 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 模型來檢測一些特定的感興趣物件。
+* **人臉檢測**,包括年齡、性別和情緒檢測。這可以通過 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 完成。
+
+所有這些雲服務都可以通過 [Python SDK](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) 呼叫,因此可以輕鬆地整合到你的數據探索工作流程中。
+
+以下是一些探索圖片數據來源的範例:
+* 在部落格文章 [如何在不編碼的情況下學習數據科學](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) 中,我們探索了 Instagram 照片,試圖了解什麼使人們對照片按更多讚。我們首先使用 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 從圖片中提取盡可能多的資訊,然後使用 [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) 建立可解釋的模型。
+* 在 [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) 中,我們使用 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 提取活動照片中人們的情緒,試圖了解什麼讓人們感到快樂。
+
+## 結論
+
+無論你已經擁有結構化數據還是非結構化數據,使用 Python 你都可以執行與數據處理和理解相關的所有步驟。這可能是數據處理最靈活的方式,這也是為什麼大多數數據科學家將 Python 作為主要工具的原因。如果你對數據科學之旅是認真的,那麼深入學習 Python 可能是一個好主意!
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## 回顧與自學
+
+**書籍**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**線上資源**
+* 官方 [10 分鐘學 Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) 教程
+* [Pandas 視覺化文檔](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**學習 Python**
+* [用 Turtle Graphics 和分形圖形以有趣的方式學習 Python](https://github.com/shwars/pycourse)
+* [從 Python 的第一步開始](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) 的學習路徑在 [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)
+
+## 作業
+
+[對上述挑戰進行更詳細的數據研究](assignment.md)
+
+## 致謝
+
+這節課由 [Dmitry Soshnikov](http://soshnikov.com) 用 ♥️ 編寫。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/07-python/assignment.md b/translations/tw/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..96b39691
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# 使用 Python 進行數據處理的作業
+
+在這份作業中,我們將要求您詳細說明我們在挑戰中開始開發的代碼。作業分為兩部分:
+
+## COVID-19 傳播建模
+
+ - [ ] 在一個圖表中繪製 5-6 個不同國家的 *R* 圖表進行比較,或者使用多個並排的圖表。
+ - [ ] 查看死亡人數和康復人數與感染病例數之間的相關性。
+ - [ ] 通過視覺化比較感染率和死亡率,找出疾病通常持續的時間,並尋找一些異常情況。您可能需要查看不同國家的數據來得出結論。
+ - [ ] 計算致死率以及其隨時間的變化。*您可能需要考慮疾病的持續天數,將一個時間序列進行偏移後再進行計算。*
+
+## COVID-19 論文分析
+
+- [ ] 構建不同藥物的共現矩陣,查看哪些藥物經常一起出現(即在同一摘要中提到)。您可以修改用於構建藥物和診斷共現矩陣的代碼。
+- [ ] 使用熱圖可視化此矩陣。
+- [ ] 作為進階目標,使用 [chord diagram](https://en.wikipedia.org/wiki/Chord_diagram) 可視化藥物的共現情況。[這個庫](https://pypi.org/project/chord/) 可能會幫助您繪製弦圖。
+- [ ] 作為另一個進階目標,使用正則表達式提取不同藥物的劑量(例如 *每天服用 400mg 氯喹* 中的 **400mg**),並構建一個數據框架,顯示不同藥物的不同劑量。**注意**:考慮藥物名稱附近的數值。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+所有任務均完成,並附有圖形說明和解釋,包括至少完成一個進階目標 | 完成超過 5 項任務,但未嘗試進階目標,或結果不夠清晰 | 完成少於 5 項(但超過 3 項)任務,且可視化未能有效展示重點
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/08-data-preparation/README.md b/translations/tw/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..6df1a0fe
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,344 @@
+
+# 處理數據:數據準備
+
+| 繪製的手繪筆記](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|數據準備 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+根據數據的來源,原始數據可能包含一些不一致性,這些不一致性會對分析和建模造成挑戰。換句話說,這些數據可以被歸類為「髒數據」,需要進行清理。本課程專注於清理和轉換數據的技術,以處理缺失、不準確或不完整的數據。本課程涵蓋的主題將使用 Python 和 Pandas 庫,並在本目錄中的[筆記本中展示](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)。
+
+## 清理數據的重要性
+
+- **便於使用和重用**:當數據被正確地組織和標準化後,搜索、使用和與他人共享數據會變得更加容易。
+
+- **一致性**:數據科學通常需要處理多個數據集,這些數據集可能來自不同的來源,需要合併在一起。確保每個數據集都有共同的標準化,能保證在合併為一個數據集時,數據仍然有用。
+
+- **模型準確性**:清理過的數據能提高依賴於這些數據的模型的準確性。
+
+## 常見的清理目標和策略
+
+- **探索數據集**:數據探索(在[後續課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing)中會介紹)可以幫助你發現需要清理的數據。通過可視化觀察數據集中的值,可以設置對其餘部分的期望,或者提供解決問題的思路。探索可以包括基本查詢、可視化和抽樣。
+
+- **格式化**:根據數據的來源,數據在呈現方式上可能存在不一致性。這可能導致在搜索和表示值時出現問題,數據雖然在數據集中可見,但在可視化或查詢結果中未正確表示。常見的格式化問題包括解決空白、日期和數據類型問題。解決格式化問題通常由使用數據的人來決定。例如,不同國家對日期和數字的表示方式可能不同。
+
+- **重複數據**:多次出現的數據可能會產生不準確的結果,通常應該刪除。這在合併兩個或多個數據集時很常見。然而,有時合併數據集中包含的重複部分可能提供額外的信息,這些信息可能需要保留。
+
+- **缺失數據**:缺失數據可能導致不準確以及結果的偏差或弱化。有時可以通過重新加載數據、使用 Python 等代碼計算並填充缺失值,或者乾脆刪除缺失值及其相關數據來解決。數據缺失的原因有很多,解決缺失值的行動取決於數據缺失的方式和原因。
+
+## 探索 DataFrame 信息
+> **學習目標**:在本小節結束時,你應該能夠熟練地查找存儲在 pandas DataFrame 中的數據的一般信息。
+
+當你將數據加載到 pandas 中時,它很可能會以 DataFrame 的形式存在(參考之前的[課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe)以獲取詳細概述)。然而,如果你的 DataFrame 中的數據集有 60,000 行和 400 列,你該如何開始了解你正在處理的內容?幸運的是,[pandas](https://pandas.pydata.org/) 提供了一些方便的工具,可以快速查看 DataFrame 的整體信息以及前幾行和後幾行。
+
+為了探索這些功能,我們將導入 Python 的 scikit-learn 庫並使用一個經典的數據集:**Iris 數據集**。
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |sepal length (cm)|sepal width (cm)|petal length (cm)|petal width (cm)|
+|----------------------------------------|-----------------|----------------|-----------------|----------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info**:首先,`info()` 方法用於打印 `DataFrame` 中內容的摘要。我們來看看這個數據集包含什麼:
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+從中我們知道,*Iris* 數據集有 150 條記錄,分佈在四列中,且沒有空值。所有數據都存儲為 64 位浮點數。
+
+- **DataFrame.head()**:接下來,為了檢查 `DataFrame` 的實際內容,我們使用 `head()` 方法。讓我們看看 `iris_df` 的前幾行:
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()**:相反,為了檢查 `DataFrame` 的最後幾行,我們使用 `tail()` 方法:
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **重點**:僅僅通過查看 DataFrame 中信息的元數據或其中的前幾個和後幾個值,你就可以立即了解你正在處理的數據的大小、形狀和內容。
+
+## 處理缺失數據
+> **學習目標**:在本小節結束時,你應該知道如何從 DataFrame 中替換或刪除空值。
+
+大多數時候,你想要使用(或不得不使用)的數據集中都會有缺失值。如何處理缺失數據涉及一些微妙的權衡,這些權衡可能會影響你的最終分析和現實世界的結果。
+
+Pandas 以兩種方式處理缺失值。第一種方式你在之前的部分中已經見過:`NaN`,即非數值(Not a Number)。這實際上是一個特殊值,是 IEEE 浮點數規範的一部分,僅用於表示缺失的浮點值。
+
+對於浮點數以外的缺失值,pandas 使用 Python 的 `None` 對象。雖然遇到兩種不同的值來表示相同的含義可能會讓人感到困惑,但這種設計選擇有其合理的編程原因,實際上,這種方式能夠在大多數情況下提供一個良好的折衷。不過,`None` 和 `NaN` 都有一些限制,這些限制需要你在使用它們時注意。
+
+在[筆記本](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)中了解更多關於 `NaN` 和 `None` 的內容!
+
+- **檢測空值**:在 `pandas` 中,`isnull()` 和 `notnull()` 方法是檢測空數據的主要方法。這兩個方法都返回布爾掩碼。我們將使用 `numpy` 來處理 `NaN` 值:
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+仔細觀察輸出。是否有任何結果讓你感到驚訝?雖然 `0` 是一個算術上的空值,但它仍然是一個完全有效的整數,pandas 將其視為這樣。`''` 更微妙一些。雖然我們在第一部分中使用它來表示一個空字符串值,但它仍然是一個字符串對象,而不是 pandas 所認為的空值表示。
+
+現在,讓我們反過來以更實際的方式使用這些方法。你可以直接將布爾掩碼用作 `Series` 或 `DataFrame` 的索引,這在處理孤立的缺失(或存在)值時非常有用。
+
+> **重點**:`isnull()` 和 `notnull()` 方法在 `DataFrame` 中產生類似的結果:它們顯示結果及其索引,這對於處理數據時非常有幫助。
+
+- **刪除空值**:除了識別缺失值,pandas 還提供了一種方便的方法來從 `Series` 和 `DataFrame` 中刪除空值。(特別是在大型數據集中,通常建議直接刪除缺失值,而不是以其他方式處理它們。)讓我們回到 `example1` 來看看這一點:
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+注意,這應該與 `example3[example3.notnull()]` 的輸出類似。不同之處在於,`dropna` 刪除了 `Series` `example1` 中的缺失值,而不是僅僅基於掩碼值進行索引。
+
+由於 `DataFrame` 是二維的,因此它提供了更多刪除數據的選項。
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(你是否注意到 pandas 將兩列數據提升為浮點數以容納 `NaN`?)
+
+你無法從 `DataFrame` 中刪除單個值,因此必須刪除整行或整列。根據你的需求,你可能需要刪除其中之一,pandas 為此提供了選項。由於在數據科學中,列通常表示變量,行表示觀測值,因此你更可能刪除數據行;`dropna()` 的默認設置是刪除包含任何空值的所有行:
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+如果需要,你也可以刪除列中的 NA 值。使用 `axis=1` 即可:
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+注意,這可能會刪除你可能想保留的大量數據,特別是在較小的數據集中。如果你只想刪除包含多個甚至所有空值的行或列該怎麼辦?你可以在 `dropna` 中使用 `how` 和 `thresh` 參數來指定這些設置。
+
+默認情況下,`how='any'`(如果你想自行檢查或查看該方法的其他參數,可以在代碼單元中運行 `example4.dropna?`)。你也可以選擇指定 `how='all'`,以便僅刪除包含所有空值的行或列。讓我們擴展我們的示例 `DataFrame` 來看看這一點。
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+`thresh` 參數為你提供了更細粒度的控制:你可以設置一行或一列需要保留的*非空值*數量:
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+在這裡,第一行和最後一行被刪除,因為它們僅包含兩個非空值。
+
+- **填充空值**:根據你的數據集,有時用有效值填充空值比刪除它們更有意義。你可以使用 `isnull` 就地完成這項工作,但這可能很繁瑣,特別是當你有很多值需要填充時。由於這是數據科學中的一項常見任務,pandas 提供了 `fillna`,它返回一個 `Series` 或 `DataFrame` 的副本,其中的缺失值被你選擇的值替換。讓我們創建另一個示例 `Series`,看看這在實踐中如何運作。
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+你可以用單個值(例如 `0`)填充所有空條目:
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+你可以**向前填充**空值,即使用最後一個有效值填充空值:
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+你也可以**向後填充**,即將下一個有效值向後傳播以填充空值:
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+正如你可能猜到的,這對於 `DataFrame` 也適用,但你還可以指定沿著哪個 `axis` 填充空值。再次使用之前的 `example2`:
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+注意,當沒有可用的前一個值進行向前填充時,空值仍然保留。
+> **重點:** 在處理資料集中的遺漏值時,有多種方法可供選擇。具體使用的策略(移除、替換,甚至如何替換)應根據資料的特性來決定。隨著你處理和互動資料集的次數增加,你將更能掌握如何應對遺漏值。
+
+## 移除重複資料
+
+> **學習目標:** 在本小節結束時,你應該能夠熟練地識別並移除 DataFrame 中的重複值。
+
+除了遺漏資料外,你在真實世界的資料集中還會經常遇到重複的資料。幸運的是,`pandas` 提供了一種簡便的方法來檢測和移除重複的條目。
+
+- **識別重複值: `duplicated`**: 你可以使用 pandas 中的 `duplicated` 方法輕鬆地找到重複值。該方法返回一個布林遮罩,指示 `DataFrame` 中某個條目是否是之前條目的重複。讓我們創建另一個範例 `DataFrame` 來看看它的運作方式。
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |letters|numbers|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **移除重複值: `drop_duplicates`:** 該方法會返回一份資料的副本,其中所有 `duplicated` 值均為 `False`:
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+`duplicated` 和 `drop_duplicates` 預設會考慮所有列,但你可以指定它們僅檢查 `DataFrame` 中的部分列:
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **重點:** 移除重複資料是幾乎每個資料科學專案中的重要部分。重複的資料可能會改變你的分析結果,並導致不準確的結論!
+
+
+## 🚀 挑戰
+
+所有討論的材料都提供為 [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb)。此外,每個部分後面都有練習題,試著完成它們吧!
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+
+
+## 回顧與自學
+
+有許多方法可以探索並準備你的資料進行分析和建模,而清理資料是一個需要「親身操作」的步驟。試試 Kaggle 上的這些挑戰,探索本課未涵蓋的技術。
+
+- [資料清理挑戰:解析日期](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [資料清理挑戰:縮放與正規化資料](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+
+## 作業
+
+[評估表單中的資料](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/08-data-preparation/assignment.md b/translations/tw/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..e04ca92c
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# 評估表單中的數據
+
+一位客戶正在測試一個[小型表單](../../../../2-Working-With-Data/08-data-preparation/index.html),以收集一些關於其客戶群的基本數據。他們將測試結果交給你,請你驗證所收集的數據。你可以在瀏覽器中打開 `index.html` 頁面來查看該表單。
+
+你已獲得一份[包含表單記錄的 CSV 數據集](../../../../data/form.csv),其中包括表單的輸入內容以及一些基本的可視化圖表。客戶指出其中一些可視化圖表看起來不正確,但他們不確定如何解決。你可以在[作業筆記本](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb)中進行探索。
+
+## 指導
+
+使用本課程中的技術,提出建議以改進表單,使其能夠收集準確且一致的信息。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/2-Working-With-Data/README.md b/translations/tw/2-Working-With-Data/README.md
new file mode 100644
index 00000000..6a11d721
--- /dev/null
+++ b/translations/tw/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# 使用數據
+
+
+> 圖片由 Alexander Sinn 提供,來自 Unsplash
+
+在這些課程中,您將學習一些管理、操作和應用數據的方法。您將了解關聯式和非關聯式數據庫,以及數據如何存儲在其中。您還將學習使用 Python 管理數據的基礎知識,並探索使用 Python 管理和挖掘數據的多種方式。
+
+### 主題
+
+1. [關聯式數據庫](05-relational-databases/README.md)
+2. [非關聯式數據庫](06-non-relational/README.md)
+3. [使用 Python](07-python/README.md)
+4. [準備數據](08-data-preparation/README.md)
+
+### 致謝
+
+這些課程由 [Christopher Harrison](https://twitter.com/geektrainer)、[Dmitry Soshnikov](https://twitter.com/shwars) 和 [Jasmine Greenaway](https://twitter.com/paladique) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/09-visualization-quantities/README.md b/translations/tw/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..9c631159
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,220 @@
+
+# 視覺化數量
+
+| 繪製的手繪筆記](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 視覺化數量 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+在這節課中,你將探索如何使用眾多可用的 Python 庫之一,學習如何圍繞數量的概念創建有趣的視覺化。使用關於明尼蘇達州鳥類的清理過的數據集,你可以了解許多有趣的本地野生動物資訊。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 Matplotlib 觀察翼展
+
+[Matplotlib](https://matplotlib.org/stable/index.html) 是一個非常出色的庫,可以用來創建各種簡單或複雜的圖表和圖形。一般來說,使用這些庫繪製數據的過程包括:識別你想要處理的數據框部分,對數據進行必要的轉換,分配 x 和 y 軸的值,決定要顯示的圖表類型,然後顯示圖表。Matplotlib 提供了多種視覺化選擇,但在這節課中,我們將專注於最適合視覺化數量的圖表類型:折線圖、散點圖和柱狀圖。
+
+> ✅ 根據數據的結構和你想要講述的故事,選擇最合適的圖表。
+> - 分析時間趨勢:折線圖
+> - 比較數值:柱狀圖、條形圖、餅圖、散點圖
+> - 顯示部分與整體的關係:餅圖
+> - 顯示數據分佈:散點圖、柱狀圖
+> - 顯示趨勢:折線圖、條形圖
+> - 顯示數值之間的關係:折線圖、散點圖、氣泡圖
+
+如果你有一個數據集並需要了解某個項目的數量,第一步通常是檢查其值。
+
+✅ Matplotlib 有非常好的「速查表」,可以在[這裡](https://matplotlib.org/cheatsheets/cheatsheets.pdf)找到。
+
+## 建立鳥類翼展數值的折線圖
+
+打開本課文件夾根目錄中的 `notebook.ipynb` 文件並添加一個單元格。
+
+> 注意:數據存儲在本倉庫的根目錄 `/data` 文件夾中。
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+這些數據是文本和數字的混合:
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀態 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鵝 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯鵝 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額雁 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+讓我們從使用基本折線圖繪製一些數字數據開始。假設你想查看這些有趣鳥類的最大翼展。
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+你立刻注意到什麼?似乎至少有一個異常值——這是一個相當大的翼展!2300 公分的翼展等於 23 公尺——明尼蘇達州有翼龍在飛翔嗎?讓我們調查一下。
+
+雖然你可以在 Excel 中快速排序以找到這些可能是錯誤的異常值,但繼續從圖表中進行視覺化分析。
+
+在 x 軸上添加標籤以顯示涉及的鳥類類型:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+即使將標籤旋轉設置為 45 度,仍然太多以至於無法閱讀。讓我們嘗試另一種策略:僅標記那些異常值並在圖表內設置標籤。你可以使用散點圖來為標籤留出更多空間:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+這裡發生了什麼?你使用 `tick_params` 隱藏了底部標籤,然後對你的鳥類數據集進行了迴圈。通過使用 `bo` 繪製帶有小圓形藍點的圖表,你檢查了任何最大翼展超過 500 的鳥類,並在點旁邊顯示其標籤。你在 y 軸上稍微偏移了標籤 (`y * (1 - 0.05)`) 並使用鳥類名稱作為標籤。
+
+你發現了什麼?
+
+
+
+## 篩選數據
+
+禿鷹和草原隼,雖然可能是非常大的鳥類,但似乎被錯誤標記了,其最大翼展多加了一個 `0`。不太可能遇到翼展 25 公尺的禿鷹,但如果真的遇到,請告訴我們!讓我們創建一個新的數據框,去掉這兩個異常值:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+通過篩選掉異常值,你的數據現在更加一致且易於理解。
+
+
+
+現在我們至少在翼展方面有一個更乾淨的數據集,讓我們進一步了解這些鳥類。
+
+雖然折線圖和散點圖可以顯示數據值及其分佈的信息,但我們想要思考這個數據集中固有的數值。你可以創建視覺化來回答以下關於數量的問題:
+
+> 有多少類別的鳥類?它們的數量是多少?
+> 有多少鳥類是滅絕、瀕危、稀有或常見的?
+> 根據林奈分類法,有多少屬和目?
+
+## 探索柱狀圖
+
+當你需要顯示數據分組時,柱狀圖非常實用。讓我們探索這個數據集中存在的鳥類類別,看看哪一類最常見。
+
+在 notebook 文件中,創建一個基本柱狀圖。
+
+✅ 注意,你可以篩選掉我們在上一節中識別的兩個異常鳥類,編輯它們翼展中的錯誤,或者保留它們,因為這些練習不依賴於翼展值。
+
+如果你想創建柱狀圖,可以選擇你想要關注的數據。柱狀圖可以從原始數據中創建:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+然而,這個柱狀圖因為數據未分組而難以閱讀。你需要選擇你想要繪製的數據,所以讓我們看看基於鳥類類別的長度。
+
+篩選數據以僅包含鳥類的類別。
+
+✅ 注意,你使用 Pandas 管理數據,然後讓 Matplotlib 繪製圖表。
+
+由於類別很多,你可以垂直顯示此圖表並調整其高度以容納所有數據:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+這個柱狀圖很好地展示了每個類別中鳥類的數量。一眼就能看出,這個地區最多的鳥類屬於鴨/鵝/水禽類別。明尼蘇達州是「萬湖之地」,所以這並不令人驚訝!
+
+✅ 嘗試對這個數據集進行其他計數。有什麼讓你感到驚訝嗎?
+
+## 比較數據
+
+你可以通過創建新軸嘗試不同的分組數據比較。試試基於類別比較鳥類的最大長度:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+這裡沒有什麼令人驚訝的:蜂鳥的最大長度比鵜鶘或鵝要小得多。當數據符合邏輯時,這是件好事!
+
+你可以通過疊加數據創建更有趣的柱狀圖視覺化。讓我們在給定的鳥類類別上疊加最小和最大長度:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+在這個圖表中,你可以看到每個鳥類類別的最小長度和最大長度範圍。你可以有把握地說,根據這些數據,鳥越大,其長度範圍越大。真是有趣!
+
+
+
+## 🚀 挑戰
+
+這個鳥類數據集提供了關於特定生態系統中不同類型鳥類的大量信息。在網上搜索,看看你是否能找到其他與鳥類相關的數據集。練習圍繞這些鳥類構建圖表和圖形,發現你之前未曾意識到的事實。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 回顧與自學
+
+這第一節課向你介紹了如何使用 Matplotlib 視覺化數量。研究其他方法來處理數據集進行視覺化。[Plotly](https://github.com/plotly/plotly.py) 是我們不會在這些課程中涵蓋的一個工具,看看它能提供什麼。
+
+## 作業
+
+[折線圖、散點圖和柱狀圖](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/tw/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..07a8f90a
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折線圖、散點圖與長條圖
+
+## 課程指導
+
+在本課程中,你使用了折線圖、散點圖和長條圖來展示這個數據集中的有趣事實。在這次作業中,深入探索數據集,發掘關於某種特定鳥類的事實。例如,創建一個筆記本,視覺化所有你能找到的關於雪雁的有趣數據。使用上述三種圖表,在你的筆記本中講述一個故事。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+筆記本包含良好的註解、完整的故事敘述以及吸引人的圖表 | 筆記本缺少其中一個元素 | 筆記本缺少其中兩個元素
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/10-visualization-distributions/README.md b/translations/tw/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..ec7cabaf
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,216 @@
+
+# 視覺化分佈
+
+| 繪製的速記筆記](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 視覺化分佈 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+在上一課中,你學到了一些關於明尼蘇達州鳥類數據集的有趣事實。你通過視覺化異常值發現了一些錯誤的數據,並通過最大長度比較了不同鳥類類別的差異。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鳥類數據集
+
+另一種深入了解數據的方法是查看其分佈,即數據如何沿著某個軸排列。例如,你可能想了解這個數據集中鳥類的最大翼展或最大體重的分佈情況。
+
+讓我們來探索這個數據集中一些關於分佈的事實。在本課文件夾根目錄中的 _notebook.ipynb_ 文件中,導入 Pandas、Matplotlib 和你的數據:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀態 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鵝 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯鵝 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額鵝 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通過使用散點圖快速查看數據的分佈方式,就像我們在上一課中所做的那樣:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+這提供了每個鳥類目身體長度的一般分佈概況,但它並不是顯示真實分佈的最佳方式。這項任務通常通過創建直方圖來完成。
+
+## 使用直方圖
+
+Matplotlib 提供了非常好的方法來使用直方圖視覺化數據分佈。這種類型的圖表類似於柱狀圖,分佈可以通過柱狀的升降來看到。要構建直方圖,你需要數值型數據。要構建直方圖,你可以繪製一個圖表,將類型定義為 'hist' 以表示直方圖。此圖表顯示了整個數據集的最大體重分佈。通過將給定的數據數組分成較小的區間,它可以顯示數據值的分佈:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+如你所見,這個數據集中的大多數 400 多種鳥類的最大體重都在 2000 以下。通過將 `bins` 參數更改為更高的數字,例如 30,可以獲得更多的洞察:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+此圖表以更細緻的方式顯示了分佈。通過確保僅選擇特定範圍內的數據,可以創建一個不太偏向左側的圖表:
+
+篩選數據以僅獲取體重低於 60 的鳥類,並顯示 40 個 `bins`:
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 嘗試其他篩選器和數據點。要查看數據的完整分佈,移除 `['MaxBodyMass']` 篩選器以顯示標籤分佈。
+
+直方圖還提供了一些不錯的顏色和標籤增強功能可以嘗試:
+
+創建一個 2D 直方圖來比較兩個分佈之間的關係。讓我們比較 `MaxBodyMass` 和 `MaxLength`。Matplotlib 提供了一種內置方法來通過更亮的顏色顯示收斂:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+沿著預期的軸,這兩個元素之間似乎存在預期的相關性,其中有一個特別強的收斂點:
+
+
+
+直方圖默認對數值型數據效果很好。如果你需要根據文本數據查看分佈該怎麼辦?
+
+## 使用文本數據探索數據集的分佈
+
+此數據集還包括有關鳥類類別及其屬、種、科以及保育狀態的良好信息。讓我們深入了解這些保育信息。根據保育狀態,鳥類的分佈情況如何?
+
+> ✅ 在數據集中,使用了幾個縮寫來描述保育狀態。這些縮寫來自 [IUCN 紅色名錄分類](https://www.iucnredlist.org/),該組織記錄了物種的狀態。
+>
+> - CR: 極危
+> - EN: 瀕危
+> - EX: 滅絕
+> - LC: 無危
+> - NT: 近危
+> - VU: 易危
+
+這些是基於文本的值,因此你需要進行轉換以創建直方圖。使用篩選後的鳥類數據框,顯示其保育狀態及其最小翼展。你看到了什麼?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+最小翼展與保育狀態之間似乎沒有良好的相關性。使用此方法測試數據集的其他元素。你也可以嘗試不同的篩選器。你是否發現任何相關性?
+
+## 密度圖
+
+你可能已經注意到,我們迄今為止看到的直方圖是“階梯式”的,並未以平滑的弧線呈現。要顯示更平滑的密度圖,你可以嘗試使用密度圖。
+
+要使用密度圖,請熟悉一個新的繪圖庫 [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)。
+
+加載 Seaborn,嘗試一個基本的密度圖:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+你可以看到該圖表反映了之前的最小翼展數據;它只是稍微平滑了一些。根據 Seaborn 的文檔,“相對於直方圖,KDE 可以生成一個不那麼混亂且更易於解釋的圖表,特別是在繪製多個分佈時。但如果基礎分佈是有界的或不平滑的,它可能會引入失真。與直方圖一樣,表示的質量也取決於良好平滑參數的選擇。” [來源](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 換句話說,異常值一如既往地會使你的圖表表現不佳。
+
+如果你想重新訪問第二個圖表中那條鋸齒狀的 MaxBodyMass 線,你可以通過使用此方法非常好地將其平滑化:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+如果你想要一條平滑但不過於平滑的線,請編輯 `bw_adjust` 參數:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ 閱讀此類圖表可用的參數並進行實驗!
+
+此類圖表提供了非常具有解釋性的視覺化。例如,通過幾行代碼,你可以顯示每個鳥類目最大體重的密度:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+你還可以在一個圖表中映射多個變量的密度。測試鳥類的最大長度和最小長度與其保育狀態的關係:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+或許值得研究根據鳥類長度的“易危”群體是否具有意義。
+
+## 🚀 挑戰
+
+直方圖是一種比基本散點圖、柱狀圖或折線圖更為複雜的圖表類型。上網搜索直方圖的良好使用示例。它們如何使用、展示了什麼,以及它們通常在哪些領域或研究領域中使用?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 回顧與自學
+
+在本課中,你使用了 Matplotlib 並開始使用 Seaborn 來顯示更為複雜的圖表。研究 Seaborn 中的 `kdeplot`,這是一種“在一個或多個維度上的連續概率密度曲線”。閱讀 [文檔](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 以了解其工作原理。
+
+## 作業
+
+[應用你的技能](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不精確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/tw/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..8ca9ecdd
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 運用你的技能
+
+## 指導說明
+
+到目前為止,你已經使用了明尼蘇達州鳥類數據集來探索有關鳥類數量和種群密度的信息。現在,嘗試應用這些技術到另一個數據集上,或許可以從 [Kaggle](https://www.kaggle.com/) 獲取數據集。建立一個筆記本,講述這個數據集的故事,並確保在討論數據時使用直方圖。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+筆記本包含有關數據集的註解,包括其來源,並使用至少 5 個直方圖來探索數據中的信息。 | 筆記本包含不完整的註解或存在錯誤。 | 筆記本缺乏註解且包含錯誤。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/11-visualization-proportions/README.md b/translations/tw/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..e7622507
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,203 @@
+
+# 視覺化比例
+
+| 繪製的速記筆記](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|視覺化比例 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+在這節課中,你將使用一個以自然為主題的數據集來視覺化比例,例如在一個關於蘑菇的數據集中有多少不同種類的真菌。讓我們使用一個來自 Audubon 的數據集來探索這些迷人的真菌,該數據集列出了 Agaricus 和 Lepiota 家族中 23 種有鰓蘑菇的詳細信息。你將嘗試一些有趣的視覺化方式,例如:
+
+- 圓餅圖 🥧
+- 甜甜圈圖 🍩
+- 華夫圖 🧇
+
+> 💡 一個非常有趣的項目 [Charticulator](https://charticulator.com) 由 Microsoft Research 開發,提供了一個免費的拖放界面來進行數據視覺化。在他們的一個教程中也使用了這個蘑菇數據集!因此,你可以同時探索數據並學習這個庫:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 認識你的蘑菇 🍄
+
+蘑菇非常有趣。讓我們導入一個數據集來研究它們:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+一個表格被打印出來,包含一些很棒的分析數據:
+
+| 類別 | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | 菌柄根部 | 菌柄環上表面 | 菌柄環下表面 | 菌柄環上顏色 | 菌柄環下顏色 | 菌幕類型 | 菌幕顏色 | 環數量 | 環類型 | 孢子印顏色 | 分布情況 | 棲息地 |
+| --------- | --------- | --------- | --------- | --------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 黑色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黃色 | 有瘀傷 | 杏仁 | 自由 | 緊密 | 寬廣 | 黑色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 棕色 | 大量 | 草地 |
+| 可食用 | 鐘形 | 光滑 | 白色 | 有瘀傷 | 茴香 | 自由 | 緊密 | 寬廣 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 棕色 | 大量 | 草地 |
+| 有毒 | 凸形 | 鱗片狀 | 白色 | 有瘀傷 | 刺鼻 | 自由 | 緊密 | 狹窄 | 棕色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂飾 | 黑色 | 分散 | 城市 |
+
+你會立刻注意到所有的數據都是文本格式。你需要將這些數據轉換才能在圖表中使用。事實上,大部分數據是以對象形式表示的:
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+輸出結果是:
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+將這些數據轉換,並將「類別」列轉換為分類:
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+現在,如果你打印出蘑菇數據,你可以看到它已經根據有毒/可食用類別分組:
+
+| | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | ... | 菌柄環下表面 | 菌柄環上顏色 | 菌柄環下顏色 | 菌幕類型 | 菌幕顏色 | 環數量 | 環類型 | 孢子印顏色 | 分布情況 | 棲息地 |
+| --------- | --------- | --------- | --------- | --------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 類別 | | | | | | | | | | | | | | | | | | | | | |
+| 可食用 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| 有毒 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+如果你按照這個表格中呈現的順序來創建類別標籤,你可以製作一個圓餅圖:
+
+## 圓餅圖!
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+完成了,一個圓餅圖展示了根據這兩類蘑菇的比例數據。正確排列標籤的順序非常重要,尤其是在這裡,因此請務必確認標籤陣列的構建順序!
+
+
+
+## 甜甜圈圖!
+
+一個更具視覺吸引力的圓餅圖是甜甜圈圖,它是一個中間有洞的圓餅圖。讓我們用這種方法來查看我們的數據。
+
+看看蘑菇生長的各種棲息地:
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+在這裡,你將數據按棲息地分組。共有 7 個棲息地,因此使用它們作為甜甜圈圖的標籤:
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+這段代碼繪製了一個圖表和一個中心圓,然後將該中心圓添加到圖表中。通過更改 `0.40` 的值來編輯中心圓的寬度。
+
+甜甜圈圖可以通過多種方式進行調整以改變標籤。特別是標籤可以被突出顯示以提高可讀性。更多信息請參考 [文檔](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut)。
+
+現在你已經知道如何分組數據並將其顯示為圓餅圖或甜甜圈圖,你可以探索其他類型的圖表。試試華夫圖,這是一種不同的方式來探索數量。
+
+## 華夫圖!
+
+華夫圖是一種以 2D 方塊陣列視覺化數量的方式。試著視覺化這個數據集中蘑菇菌蓋顏色的不同數量。為此,你需要安裝一個名為 [PyWaffle](https://pypi.org/project/pywaffle/) 的輔助庫並使用 Matplotlib:
+
+```python
+pip install pywaffle
+```
+
+選擇一段數據進行分組:
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+通過創建標籤並分組數據來製作華夫圖:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+使用華夫圖,你可以清楚地看到這個蘑菇數據集中菌蓋顏色的比例。有趣的是,有許多綠色菌蓋的蘑菇!
+
+
+
+✅ PyWaffle 支持在圖表中使用 [Font Awesome](https://fontawesome.com/) 中的任何圖標。嘗試進行一些實驗,用圖標代替方塊來創建更有趣的華夫圖。
+
+在這節課中,你學到了三種視覺化比例的方法。首先,你需要將數據分組到分類中,然後決定哪種方式最適合展示數據——圓餅圖、甜甜圈圖或華夫圖。這些方法都很有趣,並能讓用戶快速了解數據集。
+
+## 🚀 挑戰
+
+試著在 [Charticulator](https://charticulator.com) 中重現這些有趣的圖表。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 回顧與自學
+
+有時候,什麼時候使用圓餅圖、甜甜圈圖或華夫圖並不明顯。以下是一些相關文章:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+進行一些研究,找到更多關於這個選擇的相關信息。
+
+## 作業
+
+[在 Excel 中試試看](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對於因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/tw/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..008f17a5
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# 在 Excel 中嘗試
+
+## 說明
+
+你知道嗎?你可以在 Excel 中製作甜甜圈圖、圓餅圖和華夫餅圖!使用你選擇的數據集,直接在 Excel 試算表中創建這三種類型的圖表。
+
+## 評分標準
+
+| 優秀 | 合格 | 需要改進 |
+| ------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------- |
+| 提供的 Excel 試算表包含所有三種類型的圖表 | 提供的 Excel 試算表包含兩種類型的圖表 | 提供的 Excel 試算表僅包含一種類型的圖表 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/12-visualization-relationships/README.md b/translations/tw/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..01b80720
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,186 @@
+
+# 視覺化關係:關於蜂蜜 🍯
+
+| ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|視覺化關係 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+延續我們研究的自然主題,讓我們探索一些有趣的視覺化方式,來展示不同種類蜂蜜之間的關係。這些數據集來自[美國農業部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+這個包含約600項的數據集展示了美國多個州的蜂蜜生產情況。例如,您可以查看每個州在1998年至2012年間的蜂群數量、每群產量、總產量、庫存、每磅價格以及蜂蜜的生產價值,每年每州一行數據。
+
+我們可以視覺化某州每年的生產量與該州蜂蜜價格之間的關係。或者,您可以視覺化各州每群蜂蜜產量之間的關係。這段時間涵蓋了2006年首次出現的毀滅性「蜂群崩壞症候群 (CCD)」(http://npic.orst.edu/envir/ccd.html),因此這是一個值得研究的數據集。🐝
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在本課中,您可以使用之前使用過的 Seaborn 庫,這是一個很好的工具來視覺化變數之間的關係。特別有趣的是使用 Seaborn 的 `relplot` 函數,它可以快速生成散點圖和折線圖,視覺化「[統計關係](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)」,幫助數據科學家更好地理解變數之間的關聯。
+
+## 散點圖
+
+使用散點圖展示蜂蜜價格如何隨年份在各州演變。Seaborn 的 `relplot` 可以方便地將州的數據分組,並顯示分類和數值數據的數據點。
+
+首先,導入數據和 Seaborn:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+您會注意到蜂蜜數據中有幾個有趣的列,包括年份和每磅價格。讓我們按美國州分組來探索這些數據:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+創建一個基本的散點圖,展示蜂蜜每磅價格與其來源州之間的關係。讓 `y` 軸足夠高以顯示所有州:
+
+```python
+sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
+```
+
+
+接下來,使用蜂蜜色彩方案展示價格如何隨年份演變。您可以通過添加 'hue' 參數來顯示年份的變化:
+
+> ✅ 了解更多關於 [Seaborn 中可用的色彩方案](https://seaborn.pydata.org/tutorial/color_palettes.html) - 試試美麗的彩虹色方案!
+
+```python
+sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
+```
+
+
+通過這種色彩方案的改變,您可以清楚地看到蜂蜜每磅價格在多年來的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇一個州,亞利桑那州),您可以看到價格逐年上漲的模式,僅有少數例外:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一種視覺化這種演變的方法是使用大小而不是顏色。對於色盲用戶,這可能是一個更好的選擇。編輯您的視覺化,通過點的大小來展示價格的增長:
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+您可以看到點的大小逐漸增大。
+
+
+
+這是否是一個簡單的供需問題?由於氣候變化和蜂群崩壞等因素,是否導致蜂蜜供應逐年減少,從而價格上漲?
+
+為了探索這些數據集中某些變數之間的相關性,讓我們來看看一些折線圖。
+
+## 折線圖
+
+問題:蜂蜜每磅價格是否隨年份逐年上漲?您可以通過創建一個單一折線圖來最容易地發現這一點:
+
+```python
+sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
+```
+答案:是的,除了2003年左右有一些例外:
+
+
+
+✅ 由於 Seaborn 將數據聚合到一條線上,它通過繪製均值和均值周圍的95%置信區間來顯示「每個 x 值的多個測量值」。[來源](https://seaborn.pydata.org/tutorial/relational.html)。這種耗時的行為可以通過添加 `ci=None` 禁用。
+
+問題:那麼在2003年,我們是否也能看到蜂蜜供應的激增?如果您查看每年的總產量呢?
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+答案:並不完全。如果您查看總產量,實際上在那一年似乎有所增加,儘管總體而言蜂蜜的生產量在這些年中呈下降趨勢。
+
+問題:在這種情況下,2003年蜂蜜價格的激增可能是什麼原因?
+
+為了探索這一點,您可以使用 Facet Grid。
+
+## Facet Grid
+
+Facet Grid 將數據集的一個面(在我們的例子中,您可以選擇「年份」以避免生成過多的面)。Seaborn 可以為您選擇的 x 和 y 坐標生成每個面的圖表,以便更容易進行視覺比較。2003年是否在這種比較中脫穎而出?
+
+繼續使用 Seaborn 的 `relplot` 創建 Facet Grid,正如 [Seaborn 文檔](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid) 所推薦的。
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+在此視覺化中,您可以比較每年的每群產量和蜂群數量,並將列的包裹設置為3:
+
+
+
+對於這個數據集,關於蜂群數量和每群產量,按年份和州比較並未顯示出特別突出的地方。是否有其他方式可以找到這兩個變數之間的相關性?
+
+## 雙折線圖
+
+嘗試使用多折線圖,通過將兩個折線圖疊加在一起,使用 Seaborn 的 'despine' 移除其上方和右側的邊框,並使用 `ax.twinx` [源自 Matplotlib](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html)。Twins 允許圖表共享 x 軸並顯示兩個 y 軸。因此,顯示每群產量和蜂群數量,疊加在一起:
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+sns.despine(right=False)
+plt.ylabel('colony yield')
+ax.figure.legend();
+```
+
+
+雖然在2003年並未有明顯的異常,但這讓我們以一個稍微樂觀的結論結束本課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群產量在減少。
+
+加油,蜜蜂們!
+
+🐝❤️
+## 🚀 挑戰
+
+在本課中,您學到了更多關於散點圖和折線圖的其他用途,包括 Facet Grid。挑戰自己使用不同的數據集創建 Facet Grid,也許是您之前課程中使用過的數據集。注意它們的生成時間以及如何小心選擇需要繪製的網格數量。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 回顧與自學
+
+折線圖可以很簡單,也可以非常複雜。閱讀 [Seaborn 文檔](https://seaborn.pydata.org/generated/seaborn.lineplot.html) 中關於構建折線圖的各種方法。嘗試使用文檔中列出的其他方法來增強您在本課中構建的折線圖。
+
+## 作業
+
+[深入蜂巢](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/tw/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..2ce4efd6
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# 探索蜂巢
+
+## 說明
+
+在本課程中,你開始研究一組有關蜜蜂及其蜂蜜產量的數據,涵蓋了一段時間內蜂群數量整體下降的情況。深入分析這組數據,建立一個筆記本,講述蜂群健康狀況的故事,按州和年份進行分析。你是否在這組數據中發現了任何有趣的內容?
+
+## 評分標準
+
+| 卓越表現 | 合格表現 | 需要改進 |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| 提供了一個筆記本,包含至少三個不同的圖表,註解展示數據集的各個方面,按州和年份進行分析 | 筆記本缺少其中一個元素 | 筆記本缺少其中兩個元素 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..cb0d39e1
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# 製作有意義的視覺化圖表
+
+| 繪製的手繪筆記](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意義的視覺化圖表 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+> 「如果你對數據施加足夠的壓力,它會承認任何事情。」-- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+作為一名數據科學家,基本技能之一就是能夠創建有意義的數據視覺化圖表,幫助回答你可能有的問題。在進行數據視覺化之前,你需要確保數據已經像之前課程中所做的那樣被清理和準備好。之後,你就可以開始決定如何最好地呈現數據。
+
+在本課中,你將學習:
+
+1. 如何選擇正確的圖表類型
+2. 如何避免誤導性的圖表
+3. 如何使用顏色
+4. 如何設計圖表以提高可讀性
+5. 如何構建動畫或3D圖表解決方案
+6. 如何創建創意視覺化
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 選擇正確的圖表類型
+
+在之前的課程中,你已經嘗試使用 Matplotlib 和 Seaborn 創建各種有趣的數據視覺化圖表。通常,你可以使用以下表格來選擇[正確的圖表類型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)來回答你的問題:
+
+| 需求 | 建議使用的圖表類型 |
+| ----------------------------- | ----------------------------- |
+| 顯示隨時間變化的數據趨勢 | 折線圖 |
+| 比較類別 | 條形圖、圓餅圖 |
+| 比較總量 | 圓餅圖、堆疊條形圖 |
+| 顯示關係 | 散點圖、折線圖、分面圖、雙折線圖 |
+| 顯示分佈 | 散點圖、直方圖、箱形圖 |
+| 顯示比例 | 圓餅圖、甜甜圈圖、華夫圖 |
+
+> ✅ 根據數據的組成,你可能需要將其從文本轉換為數值,以支持某些圖表。
+
+## 避免誤導
+
+即使數據科學家謹慎地為數據選擇了正確的圖表類型,數據仍然可能以某種方式被展示來證明某個觀點,往往以犧牲數據本身為代價。有許多關於誤導性圖表和信息圖的例子!
+
+[](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)。
+
+了解視線如何容易被誤導性圖表欺騙是很重要的。即使數據科學家的意圖是好的,選擇一個不合適的圖表類型(例如顯示過多類別的圓餅圖)也可能具有誤導性。
+
+## 顏色
+
+從上面提到的「佛羅里達槍支暴力」圖表中可以看到,顏色可以為圖表提供額外的意義層次,特別是那些不是使用 Matplotlib 和 Seaborn 等庫設計的圖表,這些庫自帶各種經過驗證的顏色庫和調色板。如果你是手動製作圖表,可以稍微學習一下[色彩理論](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在設計圖表時,請注意可訪問性是視覺化的一個重要方面。你的某些用戶可能是色盲——你的圖表是否對視障用戶友好?
+
+選擇圖表顏色時要小心,因為顏色可能傳達你未曾預料的含義。上面「身高」圖表中的「粉紅女士」傳達了一種明顯的「女性化」意義,這進一步增加了圖表本身的怪異感。
+
+雖然[顏色的意義](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地區而異,並且根據其色調的不同而改變,但一般來說,顏色的意義包括:
+
+| 顏色 | 意義 |
+| ------ | ------------------- |
+| 紅色 | 力量 |
+| 藍色 | 信任、忠誠 |
+| 黃色 | 快樂、警告 |
+| 綠色 | 生態、幸運、嫉妒 |
+| 紫色 | 快樂 |
+| 橙色 | 活力 |
+
+如果你需要為圖表設置自定義顏色,請確保你的圖表既具有可訪問性,又能與你想要傳達的意義相符。
+
+## 設計圖表以提高可讀性
+
+如果圖表不可讀,那麼它就沒有意義!花點時間考慮調整圖表的寬度和高度,使其與數據比例相符。如果需要顯示的變量(例如所有 50 個州)很多,盡量將它們垂直顯示在 Y 軸上,以避免水平滾動的圖表。
+
+標記你的軸,必要時提供圖例,並提供工具提示以便更好地理解數據。
+
+如果你的數據在 X 軸上是文本且冗長,可以將文本傾斜以提高可讀性。[Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) 提供了 3D 繪圖功能,如果你的數據支持的話。使用 `mpl_toolkits.mplot3d` 可以生成更高級的數據視覺化。
+
+
+
+## 動畫和 3D 圖表展示
+
+當今一些最好的數據視覺化是動畫的。Shirley Wu 使用 D3 創作了許多令人驚嘆的作品,例如「[電影之花](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)」,每朵花都是一部電影的視覺化。另一個為《衛報》製作的例子是「Bussed Out」,這是一個結合了 Greensock 和 D3 的互動體驗,並採用滾動敘事的文章格式,展示了紐約市如何通過將無家可歸者送出城市來處理這一問題。
+
+
+
+> 「Bussed Out: How America Moves its Homeless」來自 [The Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study)。視覺化由 Nadieh Bremer 和 Shirley Wu 製作
+
+雖然本課無法深入教授這些強大的視覺化庫,但你可以嘗試在 Vue.js 應用中使用 D3,創建一本書《危險關係》的動畫社交網絡視覺化。
+
+> 《危險關係》是一部書信體小說,或以一系列信件形式呈現的小說。由 Choderlos de Laclos 於 1782 年撰寫,講述了 18 世紀末法國貴族中兩位主角 Vicomte de Valmont 和 Marquise de Merteuil 的惡毒、道德淪喪的社交操縱故事。最終兩人都走向毀滅,但在此之前造成了巨大的社會破壞。小說以他們寫給圈內各人的信件形式展開,或為復仇,或僅僅為製造麻煩。創建這些信件的視覺化,來發現敘事中的主要關鍵人物。
+
+你將完成一個網頁應用,展示這個社交網絡的動畫視圖。它使用了一個庫來創建[網絡視覺化](https://github.com/emiliorizzo/vue-d3-network),基於 Vue.js 和 D3。當應用運行時,你可以在屏幕上拖動節點來重新排列數據。
+
+
+
+## 專案:使用 D3.js 構建一個網絡圖表
+
+> 本課文件夾包含一個 `solution` 文件夾,你可以在其中找到完整的專案作為參考。
+
+1. 按照起始文件夾根目錄中的 README.md 文件中的指示進行操作。在安裝專案依賴項之前,確保你的機器上已運行 NPM 和 Node.js。
+
+2. 打開 `starter/src` 文件夾。你會發現一個 `assets` 文件夾,其中包含一個 .json 文件,記錄了小說中的所有信件,按編號排列,並帶有「to」和「from」的註釋。
+
+3. 完成 `components/Nodes.vue` 中的代碼以啟用視覺化。找到名為 `createLinks()` 的方法,並添加以下嵌套循環。
+
+遍歷 .json 對象以捕獲信件的「to」和「from」數據,並構建 `links` 對象,以便視覺化庫可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+從終端運行你的應用(npm run serve),享受視覺化的樂趣!
+
+## 🚀 挑戰
+
+瀏覽互聯網,發現誤導性的視覺化圖表。作者是如何誤導用戶的?這是有意的嗎?嘗試修正這些視覺化圖表,展示它們應該的樣子。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 回顧與自學
+
+以下是一些關於誤導性數據視覺化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看這些有趣的歷史資產和文物視覺化:
+
+https://handbook.pubpub.org/
+
+閱讀這篇文章,了解動畫如何增強你的視覺化效果:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作業
+
+[創建你自己的自定義視覺化](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..78dd58db
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# 建立自己的自訂視覺化
+
+## 指導說明
+
+使用此專案中的程式碼範例來建立一個社交網絡,模擬您自己的社交互動數據。您可以繪製自己的社交媒體使用情況,或者製作一個家庭成員的圖表。創建一個有趣的網頁應用程式,展示一個獨特的社交網絡視覺化。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+提供一個 GitHub 儲存庫,其中的程式碼能正常運行(嘗試將其部署為靜態網頁應用程式),並且有一份註解清晰的 README 文件解釋專案 | 儲存庫無法正常運行或文件記錄不充分 | 儲存庫無法正常運行且文件記錄不充分
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用本翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..fbcbf8f5
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# 危險關係數據可視化項目
+
+開始之前,請確保您的電腦上已安裝 NPM 和 Node。安裝依賴項(npm install),然後在本地運行項目(npm run serve):
+
+## 項目設置
+```
+npm install
+```
+
+### 編譯並熱重載以進行開發
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境
+```
+npm run build
+```
+
+### 檢查並修復文件
+```
+npm run lint
+```
+
+### 自定義配置
+請參閱 [配置參考](https://cli.vuejs.org/config/)。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..d9352959
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# 危險關係數據可視化項目
+
+開始之前,請確保您的機器上已安裝 NPM 和 Node。安裝依賴項(npm install),然後在本地運行項目(npm run serve):
+
+## 項目設置
+```
+npm install
+```
+
+### 編譯並熱重載以進行開發
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境
+```
+npm run build
+```
+
+### 檢查並修復文件
+```
+npm run lint
+```
+
+### 自定義配置
+請參閱 [配置參考](https://cli.vuejs.org/config/)。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/tw/3-Data-Visualization/R/09-visualization-quantities/README.md
new file mode 100644
index 00000000..bb944f16
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,232 @@
+
+# 視覺化數量
+| 繪製的手繪筆記](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 視覺化數量 - _由 [@nitya](https://twitter.com/nitya) 繪製的手繪筆記_ |
+
+在本課程中,您將探索如何使用一些可用的 R 套件庫,學習如何圍繞數量概念創建有趣的視覺化。使用有關明尼蘇達州鳥類的清理後數據集,您可以了解許多有趣的本地野生動物事實。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 ggplot2 觀察翼展
+一個非常出色的庫是 [ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html),它可以用來創建各種簡單或複雜的圖表和圖形。一般來說,使用這些庫繪製數據的過程包括:識別您想要處理的數據框部分,對數據進行必要的轉換,分配其 x 和 y 軸值,決定要顯示的圖表類型,然後顯示圖表。
+
+`ggplot2` 是一個基於圖形語法(Grammar of Graphics)聲明性創建圖形的系統。[圖形語法](https://en.wikipedia.org/wiki/Ggplot2) 是一種通用的數據視覺化方案,它將圖形分解為語義組件,例如比例和層次。換句話說,使用少量代碼即可輕鬆為單變量或多變量數據創建圖表和圖形,使得 `ggplot2` 成為 R 中最受歡迎的視覺化套件。使用者告訴 `ggplot2` 如何將變量映射到美學屬性、使用哪些圖形元素,然後 `ggplot2` 負責其餘部分。
+
+> ✅ 圖表 = 數據 + 美學 + 幾何
+> - 數據指的是數據集
+> - 美學表示要研究的變量(x 和 y 變量)
+> - 幾何指的是圖表類型(折線圖、柱狀圖等)
+
+根據您的數據和希望通過圖表講述的故事,選擇最佳的幾何(圖表類型)。
+
+> - 分析趨勢:折線圖、柱狀圖
+> - 比較數值:條形圖、柱狀圖、餅圖、散點圖
+> - 顯示部分與整體的關係:餅圖
+> - 顯示數據分佈:散點圖、柱狀圖
+> - 顯示數值之間的關係:折線圖、散點圖、氣泡圖
+
+✅ 您也可以查看這份描述性的 [ggplot2 速查表](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf)。
+
+## 建立鳥類翼展值的折線圖
+
+打開 R 控制台並導入數據集。
+> 注意:數據集存儲在此 repo 的 `/data` 文件夾中。
+
+讓我們導入數據集並觀察數據的頭部(前 5 行)。
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+數據的頭部包含文本和數字的混合:
+
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀態 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鵝 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯鵝 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額雁 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+讓我們開始使用基本折線圖繪製一些數值數據。假設您想查看這些有趣鳥類的最大翼展。
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+在這裡,您安裝了 `ggplot2` 套件,然後使用 `library("ggplot2")` 命令將其導入工作空間。要在 ggplot 中繪製任何圖表,使用 `ggplot()` 函數並指定數據集、x 和 y 變量作為屬性。在此情況下,我們使用 `geom_line()` 函數,因為我們的目標是繪製折線圖。
+
+
+
+您立即注意到什麼?似乎至少有一個異常值——那是一個相當大的翼展!2000+ 公分的翼展超過 20 公尺——明尼蘇達州有翼龍在漫遊嗎?讓我們調查一下。
+
+雖然您可以在 Excel 中快速排序以找到這些可能是錯誤的異常值,但請繼續從圖表內部進行視覺化處理。
+
+為 x 軸添加標籤以顯示涉及哪些鳥類:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+我們在 `theme` 中指定角度,並分別在 `xlab()` 和 `ylab()` 中指定 x 和 y 軸標籤。`ggtitle()` 為圖表/圖形命名。
+
+
+
+即使將標籤旋轉設置為 45 度,仍然有太多標籤無法閱讀。讓我們嘗試另一種策略:僅標記那些異常值並在圖表內設置標籤。您可以使用散點圖來為標籤留出更多空間:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+這裡發生了什麼?您使用 `geom_point()` 函數繪製散點。通過這個,您為 `MaxWingspan > 500` 的鳥類添加了標籤,並隱藏了 x 軸上的標籤以減少圖表的混亂。
+
+您發現了什麼?
+
+
+
+## 篩選數據
+
+禿鷹和草原隼,雖然可能是非常大的鳥類,但似乎被錯誤標記了,其最大翼展多加了一個 0。遇到翼展 25 公尺的禿鷹的可能性不大,但如果有,請告訴我們!讓我們創建一個新的數據框,去掉這兩個異常值:
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+我們創建了一個新的數據框 `birds_filtered`,然後繪製了一個散點圖。通過篩選掉異常值,您的數據現在更加一致且易於理解。
+
+
+
+現在我們至少在翼展方面有了一個更乾淨的數據集,讓我們進一步了解這些鳥類。
+
+雖然折線圖和散點圖可以顯示有關數據值及其分佈的信息,但我們希望思考這個數據集中固有的數值。您可以創建視覺化來回答以下有關數量的問題:
+
+> 有多少類別的鳥類?它們的數量是多少?
+> 有多少鳥類是滅絕、瀕危、稀有或常見的?
+> 根據林奈的術語,有多少屬和目?
+
+## 探索條形圖
+
+當您需要顯示數據分組時,條形圖非常實用。讓我們探索這個數據集中存在的鳥類類別,看看哪一類最常見。
+
+讓我們在篩選後的數據上創建一個條形圖。
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+在以下代碼片段中,我們安裝了 [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` 套件繪製條形圖並指定不同類別的顏色和標籤。
+
+
+
+然而,這個條形圖因為有太多未分組的數據而難以閱讀。您需要選擇要繪製的數據,因此讓我們看看基於鳥類類別的鳥類長度。
+
+篩選您的數據以僅包含鳥類的類別。
+
+由於有許多類別,您可以垂直顯示此圖表並調整其高度以容納所有數據:
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
+```
+您首先計算 `Category` 列中的唯一值,然後將它們排序到新的數據框 `birds_count` 中。這些排序後的數據在相同層次中進行分級,以便按排序方式繪製。使用 `ggplot2`,您接著繪製條形圖。`coord_flip()` 繪製水平條形圖。
+
+
+
+此條形圖清楚地顯示了每個類別中鳥類的數量。一眼就能看出,在這個地區,鴨/鵝/水禽類別的鳥類數量最多。明尼蘇達州是“萬湖之地”,所以這並不令人驚訝!
+
+✅ 嘗試對此數據集進行其他計數。是否有任何結果令您驚訝?
+
+## 比較數據
+
+您可以通過創建新的軸嘗試不同的分組數據比較。嘗試比較基於鳥類類別的最大長度:
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+我們按 `Category` 分組 `birds_filtered` 數據,然後繪製條形圖。
+
+
+
+這裡沒有什麼令人驚訝的:蜂鳥的最大長度比鵜鶘或鵝要小得多。當數據符合邏輯時,這是件好事!
+
+您可以通過疊加數據創建更有趣的條形圖視覺化。讓我們在給定的鳥類類別上疊加最小和最大長度:
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 挑戰
+
+這個鳥類數據集提供了大量有關特定生態系統中不同類型鳥類的信息。在網上搜索,看看是否能找到其他與鳥類相關的數據集。練習圍繞這些鳥類構建圖表和圖形,發現您之前未曾意識到的事實。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 回顧與自學
+
+本課程的第一課向您介紹了如何使用 `ggplot2` 視覺化數量。進一步研究其他方法來處理數據集進行視覺化。研究並尋找可以使用其他套件(如 [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) 和 [Plotly](https://github.com/plotly/plotly.R#readme))進行視覺化的數據集。
+
+## 作業
+[折線圖、散點圖和條形圖](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不精確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/tw/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..56cf29bc
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折線圖、散點圖與長條圖
+
+## 說明
+
+在這節課中,你學習了如何使用折線圖、散點圖和長條圖來展示這個數據集中的有趣事實。在這次作業中,深入挖掘數據集,發現關於某種特定鳥類的事實。例如,撰寫一個腳本,將你能找到的所有關於雪雁的有趣數據可視化。使用上述三種圖表,在你的筆記本中講述一個故事。
+
+## 評分標準
+
+優秀 | 合格 | 需要改進
+--- | --- | -- |
+腳本具有良好的註解、完整的故事性以及吸引人的圖表 | 腳本缺少其中一個要素 | 腳本缺少其中兩個要素
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/tw/3-Data-Visualization/R/10-visualization-distributions/README.md
new file mode 100644
index 00000000..23a8ae94
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,181 @@
+
+# 視覺化分佈
+
+| 繪製的手繪筆記 ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 視覺化分佈 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+在上一課中,你學習了關於明尼蘇達州鳥類數據集的一些有趣事實。通過視覺化異常值,你發現了一些錯誤的數據,並通過最大長度比較了不同鳥類類別的差異。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鳥類數據集
+
+另一種深入了解數據的方法是查看其分佈,或者數據如何沿著某個軸排列。例如,你可能想了解這個數據集中鳥類的最大翼展或最大體重的一般分佈情況。
+
+讓我們來發現一些關於這個數據集中數據分佈的事實。在你的 R 控制台中,導入 `ggplot2` 和數據庫。像上一個主題中一樣,從數據庫中移除異常值。
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | 名稱 | 學名 | 類別 | 目 | 科 | 屬 | 保育狀況 | 最小長度 | 最大長度 | 最小體重 | 最大體重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹樹鴨 | Dendrocygna autumnalis | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕樹鴨 | Dendrocygna bicolor | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 樹鴨屬 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪雁 | Anser caerulescens | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 羅斯雁 | Anser rossii | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白額雁 | Anser albifrons | 鴨/鵝/水禽 | 雁形目 | 鴨科 | 雁屬 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通過使用散點圖快速查看數據的分佈方式,就像我們在上一課中所做的那樣:
+
+```r
+ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
+ geom_point() +
+ ggtitle("Max Length per order") + coord_flip()
+```
+
+
+這提供了每個鳥類目身體長度的一般分佈概覽,但這並不是顯示真實分佈的最佳方式。這項任務通常通過創建直方圖來完成。
+## 使用直方圖
+
+`ggplot2` 提供了非常好的方法來使用直方圖視覺化數據分佈。這種類型的圖表類似於條形圖,通過條形的升降可以看到分佈情況。要構建直方圖,你需要數值數據。構建直方圖時,可以將圖表類型定義為 'hist' 來表示直方圖。此圖表顯示了整個數據集中 MaxBodyMass 的分佈範圍。通過將數據陣列分成較小的區間,它可以顯示數據值的分佈:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=10)+ylab('Frequency')
+```
+
+
+如你所見,這個數據集中大多數的 400 多種鳥類的最大體重都在 2000 以下。通過將 `bins` 參數更改為更高的數字,例如 30,可以獲得更多的數據洞察:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+此圖表以更細緻的方式顯示了分佈。通過確保僅選擇特定範圍內的數據,可以創建一個不那麼偏向左側的圖表:
+
+篩選數據以僅獲取體重低於 60 的鳥類,並顯示 30 個 `bins`:
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+✅ 嘗試其他篩選條件和數據點。要查看數據的完整分佈,移除 `['MaxBodyMass']` 篩選條件以顯示帶標籤的分佈。
+
+直方圖還提供了一些不錯的顏色和標籤增強功能可以嘗試:
+
+創建一個 2D 直方圖來比較兩個分佈之間的關係。我們來比較 `MaxBodyMass` 和 `MaxLength`。`ggplot2` 提供了一種內建方式來通過更亮的顏色顯示匯聚點:
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+看起來這兩個元素沿著預期的軸有一個預期的相關性,其中有一個特別強的匯聚點:
+
+
+
+直方圖對於數值數據默認效果很好。如果你需要根據文本數據查看分佈該怎麼辦?
+## 使用文本數據探索數據集的分佈
+
+此數據集還包括有關鳥類類別及其屬、種、科以及保育狀況的良好信息。讓我們深入了解這些保育信息。鳥類根據其保育狀況的分佈是什麼樣的?
+
+> ✅ 在數據集中,使用了一些縮寫來描述保育狀況。這些縮寫來自 [IUCN 紅色名錄分類](https://www.iucnredlist.org/),該組織記錄了物種的狀況。
+>
+> - CR: 極危
+> - EN: 瀕危
+> - EX: 滅絕
+> - LC: 無危
+> - NT: 近危
+> - VU: 易危
+
+這些是基於文本的值,因此你需要進行轉換來創建直方圖。使用篩選後的鳥類數據框架,顯示其保育狀況與最小翼展。你看到了什麼?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
+```
+
+
+
+最小翼展與保育狀況之間似乎沒有明顯的相關性。使用此方法測試數據集的其他元素。你也可以嘗試不同的篩選條件。你發現了任何相關性嗎?
+
+## 密度圖
+
+你可能已經注意到,我們目前看到的直方圖是“階梯式”的,並未以平滑的弧線呈現。要顯示更平滑的密度圖,可以嘗試密度圖。
+
+現在讓我們來使用密度圖!
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
+ geom_density()
+```
+
+
+你可以看到,這個圖表反映了之前的最小翼展數據,只是稍微平滑了一些。如果你想重新訪問第二個圖表中那條鋸齒狀的 MaxBodyMass 線,可以通過這種方法非常好地將其平滑化:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density()
+```
+
+
+如果你想要一條平滑但不過於平滑的線,可以編輯 `adjust` 參數:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density(adjust = 1/5)
+```
+
+
+✅ 閱讀此類圖表可用的參數並進行實驗!
+
+這種類型的圖表提供了非常直觀的視覺化效果。例如,通過幾行代碼,你可以顯示每個鳥類目最大體重的密度:
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 挑戰
+
+直方圖比基本的散點圖、條形圖或折線圖更為複雜。上網搜索一些使用直方圖的好例子。它們是如何使用的,展示了什麼,以及它們通常在哪些領域或研究中被使用?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 回顧與自學
+
+在本課中,你使用了 `ggplot2` 並開始製作更為複雜的圖表。研究一下 `geom_density_2d()`,這是一種“在一個或多個維度上的連續概率密度曲線”。閱讀 [文檔](https://ggplot2.tidyverse.org/reference/geom_density_2d.html) 以了解其工作原理。
+
+## 作業
+
+[應用你的技能](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/tw/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..68dda5d8
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 運用你的技能
+
+## 指示
+
+到目前為止,你已經使用了明尼蘇達州鳥類數據集來探索有關鳥類數量和人口密度的信息。嘗試運用這些技術來分析另一個數據集,或許可以從 [Kaggle](https://www.kaggle.com/) 獲取。撰寫一個 R 腳本來講述這個數據集的故事,並確保在討論時使用直方圖。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+提供了一個腳本,包含有關此數據集的註解,包括其來源,並使用至少 5 個直方圖來探索數據的事實。 | 提供了一個腳本,但註解不完整或存在錯誤。 | 提供了一個腳本,但沒有註解且包含錯誤。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/tw/3-Data-Visualization/R/11-visualization-proportions/README.md
new file mode 100644
index 00000000..4eb78039
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,198 @@
+
+# 視覺化比例
+
+| 繪製的速記筆記](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|視覺化比例 - _由 [@nitya](https://twitter.com/nitya) 繪製的速記筆記_ |
+
+在本課程中,你將使用一個以自然為主題的數據集來視覺化比例,例如在一個關於蘑菇的數據集中有多少不同類型的真菌。讓我們使用一個來自 Audubon 的數據集來探索這些迷人的真菌,該數據集列出了 Agaricus 和 Lepiota 家族中 23 種有鰓蘑菇的詳細信息。你將嘗試一些有趣的視覺化方式,例如:
+
+- 圓餅圖 🥧
+- 甜甜圈圖 🍩
+- 華夫圖 🧇
+
+> 💡 微軟研究院的一個非常有趣的項目 [Charticulator](https://charticulator.com) 提供了一個免費的拖放界面,用於數據視覺化。在他們的一個教程中,他們也使用了這個蘑菇數據集!因此,你可以同時探索數據並學習這個工具庫:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 認識你的蘑菇 🍄
+
+蘑菇非常有趣。讓我們導入一個數據集來研究它們:
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+一個表格被打印出來,包含一些很棒的分析數據:
+
+| 類別 | 菌蓋形狀 | 菌蓋表面 | 菌蓋顏色 | 是否有瘀傷 | 氣味 | 鰓附著方式 | 鰓間距 | 鰓大小 | 鰓顏色 | 菌柄形狀 | 菌柄根部 | 菌柄表面(環上方) | 菌柄表面(環下方) | 菌柄顏色(環上方) | 菌柄顏色(環下方) | 菌幕類型 | 菌幕顏色 | 環數量 | 環類型 | 孢子印顏色 | 分布 | 棲息地 |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀傷 | 刺鼻 | 自由附著 | 緊密 | 狹窄 | 黑色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黃色 | 有瘀傷 | 杏仁 | 自由附著 | 緊密 | 寬廣 | 黑色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 棕色 | 多數 | 草地 |
+| 可食用 | 鐘形 | 光滑 | 白色 | 有瘀傷 | 茴香 | 自由附著 | 緊密 | 寬廣 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 棕色 | 多數 | 草原 |
+| 有毒 | 凸形 | 鱗片狀 | 白色 | 有瘀傷 | 刺鼻 | 自由附著 | 緊密 | 狹窄 | 棕色 | 擴大 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 綠色 | 無瘀傷 | 無氣味 | 自由附著 | 擁擠 | 寬廣 | 黑色 | 錐形 | 等長 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 消失 | 棕色 | 豐富 | 草地 |
+| 可食用 | 凸形 | 鱗片狀 | 黃色 | 有瘀傷 | 杏仁 | 自由附著 | 緊密 | 寬廣 | 棕色 | 擴大 | 棍狀 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一個 | 垂懸 | 黑色 | 多數 | 草地 |
+
+你會立刻注意到所有數據都是文本格式。你需要將這些數據轉換為可以用於圖表的格式。事實上,大部分數據是以對象形式表示的:
+
+```r
+names(mushrooms)
+```
+
+輸出為:
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+將這些數據中的「類別」列轉換為分類:
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+現在,如果你打印出蘑菇數據,你可以看到它已根據有毒/可食用類別分組:
+
+```r
+View(grouped)
+```
+
+| 類別 | 數量 |
+| --------- | --------- |
+| 可食用 | 4208 |
+| 有毒 | 3916 |
+
+如果你按照此表格中呈現的順序來創建類別標籤,你可以製作一個圓餅圖。
+
+## 圓餅圖!
+
+```r
+pie(grouped$count,grouped$class, main="Edible?")
+```
+瞧,一個圓餅圖展示了根據這兩類蘑菇的比例數據。在這裡,正確的標籤順序非常重要,因此請務必確認標籤數組的構建順序!
+
+
+
+## 甜甜圈圖!
+
+一種更具視覺吸引力的圓餅圖是甜甜圈圖,它是在圓餅圖中間挖了一個洞。讓我們用這種方法來查看數據。
+
+看看蘑菇生長的各種棲息地:
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+輸出為:
+
+| 棲息地 | 數量 |
+| --------- | --------- |
+| 草地 | 2148 |
+| 樹葉 | 832 |
+| 草原 | 292 |
+| 小徑 | 1144 |
+| 城市 | 368 |
+| 廢棄地 | 192 |
+| 樹木 | 3148 |
+
+在這裡,你將數據按棲息地分組。共有 7 種棲息地,因此使用它們作為甜甜圈圖的標籤:
+
+```r
+library(ggplot2)
+library(webr)
+PieDonut(habitat, aes(habitat, count=count))
+```
+
+
+
+此代碼使用了兩個庫 - ggplot2 和 webr。使用 webr 庫的 PieDonut 函數,我們可以輕鬆創建甜甜圈圖!
+
+僅使用 ggplot2 庫也可以在 R 中製作甜甜圈圖。你可以在[這裡](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html)了解更多並自己嘗試。
+
+現在你知道如何分組數據並以圓餅圖或甜甜圈圖顯示它,你可以探索其他類型的圖表。試試華夫圖,它是一種不同的方式來探索數量。
+
+## 華夫圖!
+
+「華夫」類型的圖表是一種以 2D 方格陣列視覺化數量的方式。嘗試視覺化此數據集中蘑菇菌蓋顏色的不同數量。為此,你需要安裝一個名為 [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf) 的輔助庫,並使用它來生成你的視覺化:
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+選擇數據的一部分進行分組:
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+通過創建標籤並分組數據來製作華夫圖:
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+使用華夫圖,你可以清楚地看到此蘑菇數據集中菌蓋顏色的比例。有趣的是,有許多綠色菌蓋的蘑菇!
+
+
+
+在本課程中,你學到了三種視覺化比例的方法。首先,你需要將數據分組到分類中,然後決定哪種方式最適合顯示數據 - 圓餅圖、甜甜圈圖或華夫圖。這些方法都很有趣,並能讓用戶快速了解數據集。
+
+## 🚀 挑戰
+
+嘗試在 [Charticulator](https://charticulator.com) 中重現這些有趣的圖表。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 回顧與自學
+
+有時候,何時使用圓餅圖、甜甜圈圖或華夫圖並不明顯。以下是一些相關文章供你閱讀:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+進行一些研究,找到更多關於這個選擇的資訊。
+
+## 作業
+
+[在 Excel 中嘗試](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對於因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/tw/3-Data-Visualization/R/12-visualization-relationships/README.md
new file mode 100644
index 00000000..fd6dca13
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,177 @@
+
+# 視覺化關係:關於蜂蜜 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|視覺化關係 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+延續我們研究的自然主題,讓我們探索一些有趣的視覺化方式,來展示不同種類蜂蜜之間的關係。這些數據集來自[美國農業部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+這個包含約600項的數據集展示了美國多個州的蜂蜜生產情況。例如,您可以查看每個州在1998年至2012年間的蜂群數量、每群產量、總產量、庫存、每磅價格以及蜂蜜的生產價值,每個州每年一行數據。
+
+我們可以視覺化某個州每年的生產量與該州蜂蜜價格之間的關係。或者,您也可以視覺化各州每群蜂蜜產量之間的關係。這段時間涵蓋了2006年首次出現的毀滅性「蜂群崩壞症候群 (CCD)」(http://npic.orst.edu/envir/ccd.html),因此這是一個值得研究的數據集。🐝
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在本課中,您可以使用 ggplot2,這是一個您之前使用過的優秀庫,用於視覺化變數之間的關係。特別有趣的是 ggplot2 的 `geom_point` 和 `qplot` 函數,它們可以快速生成散點圖和折線圖,視覺化「[統計關係](https://ggplot2.tidyverse.org/)」,幫助數據科學家更好地理解變數之間的關聯。
+
+## 散點圖
+
+使用散點圖展示蜂蜜價格如何隨年份在各州演變。ggplot2 的 `ggplot` 和 `geom_point` 可以方便地將州的數據分組,並顯示分類和數值數據的數據點。
+
+首先,導入數據和 Seaborn:
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+您會注意到蜂蜜數據中有幾個有趣的列,包括年份和每磅價格。讓我們按美國州分組來探索這些數據:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | -------- | -------- | -------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 | 22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+創建一個基本散點圖,展示蜂蜜每磅價格與其來源州之間的關係。讓 `y` 軸足夠高以顯示所有州:
+
+```r
+library(ggplot2)
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(colour = "blue")
+```
+
+
+接下來,使用蜂蜜色彩方案展示價格如何隨年份演變。您可以通過添加 `scale_color_gradientn` 參數來展示年份的變化:
+
+> ✅ 了解更多關於 [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn) 的信息 - 試試美麗的彩虹色方案!
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
+ geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
+```
+
+
+使用這種色彩方案,您可以清楚地看到蜂蜜每磅價格在多年來的明顯增長趨勢。事實上,如果您查看數據中的樣本集(例如選擇亞利桑那州),您可以看到價格逐年上漲的模式,只有少數例外:
+
+| 州 | 蜂群數量 | 每群產量 | 總產量 | 庫存 | 每磅價格 | 生產價值 | 年份 |
+| ----- | -------- | -------- | -------- | -------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一種視覺化這種演變的方法是使用大小而不是顏色。對於色盲用戶,這可能是一個更好的選擇。編輯您的視覺化,通過點的圓周大小來展示價格的增長:
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+您可以看到點的大小逐漸增大。
+
+
+
+這是否是一個簡單的供需問題?由於氣候變化和蜂群崩壞等因素,是否每年可供購買的蜂蜜減少,導致價格上漲?
+
+為了探索這個數據集中一些變數之間的相關性,讓我們來看看一些折線圖。
+
+## 折線圖
+
+問題:蜂蜜每磅價格是否隨年份逐年明顯上漲?您可以通過創建一個單一折線圖來最簡單地發現這一點:
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+答案:是的,但在2003年左右有一些例外:
+
+
+
+問題:那麼在2003年,我們是否也能看到蜂蜜供應的激增?如果您查看每年的總產量呢?
+
+```python
+qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
+```
+
+
+
+答案:並不完全。如果您查看總產量,實際上在那一年似乎有所增加,儘管總的來說蜂蜜的生產量在這些年中呈下降趨勢。
+
+問題:在這種情況下,2003年蜂蜜價格的激增可能是什麼原因?
+
+為了探索這一點,您可以使用分面網格。
+
+## 分面網格
+
+分面網格可以選擇數據集的一個分面(在我們的例子中,您可以選擇「年份」,以避免生成過多的分面)。Seaborn 可以根據您選擇的 x 和 y 坐標為每個分面生成一個圖表,方便進行視覺比較。2003年是否在這種比較中顯得突出?
+
+使用 `facet_wrap` 創建分面網格,這是 [ggplot2 文檔](https://ggplot2.tidyverse.org/reference/facet_wrap.html) 推薦的方法。
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+在這個視覺化中,您可以比較每年的每群產量和蜂群數量,並將列的分面設置為3:
+
+
+
+對於這個數據集,關於蜂群數量和每群產量,年份與州之間並沒有特別突出的地方。是否有其他方式可以找到這兩個變數之間的相關性?
+
+## 雙折線圖
+
+嘗試使用 R 的 `par` 和 `plot` 函數,通過疊加兩個折線圖來創建多折線圖。我們將在 x 軸上繪製年份,並顯示兩個 y 軸。展示每群產量和蜂群數量,疊加在一起:
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+axis(side = 4, at = pretty(range(y2)))
+mtext("colony yield", side = 4, line = 3)
+```
+
+
+雖然在2003年沒有明顯的異常,但這讓我們可以以一個稍微樂觀的結論結束這節課:儘管蜂群數量總體上在下降,但蜂群數量正在穩定,即使每群產量在減少。
+
+加油,蜜蜂們,加油!
+
+🐝❤️
+## 🚀 挑戰
+
+在本課中,您學到了更多關於散點圖和折線網格的其他用途,包括分面網格。挑戰自己使用不同的數據集(也許是您之前使用過的數據集)來創建分面網格。注意它們的生成時間以及如何小心選擇需要繪製的網格數量。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 回顧與自學
+
+折線圖可以是簡單的,也可以是非常複雜的。閱讀 [ggplot2 文檔](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together),了解構建折線圖的各種方法。嘗試使用文檔中列出的其他方法來增強您在本課中構建的折線圖。
+
+## 作業
+
+[深入蜂巢](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/tw/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
new file mode 100644
index 00000000..f12b75cd
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# 製作有意義的視覺化圖表
+
+| 繪製的手繪筆記 ](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意義的視覺化圖表 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+> 「如果你對數據施加足夠的壓力,它會承認任何事情。」-- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+作為一名數據科學家,基本技能之一就是能夠創建有意義的數據視覺化,幫助回答你可能有的問題。在進行數據視覺化之前,你需要確保數據已經像之前課程中那樣被清理和準備好。之後,你就可以開始決定如何最好地呈現數據。
+
+在本課中,你將學習:
+
+1. 如何選擇正確的圖表類型
+2. 如何避免誤導性的圖表
+3. 如何使用顏色
+4. 如何設計圖表以提高可讀性
+5. 如何構建動畫或3D圖表解決方案
+6. 如何創建有創意的視覺化
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 選擇正確的圖表類型
+
+在之前的課程中,你已經嘗試使用 Matplotlib 和 Seaborn 創建各種有趣的數據視覺化。通常,你可以根據這張表格選擇[合適的圖表類型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/)來回答你的問題:
+
+| 你的需求: | 你應該使用: |
+| -------------------------- | ------------------------------- |
+| 展示隨時間變化的數據趨勢 | 折線圖 |
+| 比較類別 | 條形圖、圓餅圖 |
+| 比較總量 | 圓餅圖、堆疊條形圖 |
+| 展示關係 | 散點圖、折線圖、分面圖、雙折線圖 |
+| 展示分佈 | 散點圖、直方圖、箱形圖 |
+| 展示比例 | 圓餅圖、甜甜圈圖、華夫圖 |
+
+> ✅ 根據數據的組成,你可能需要將其從文本轉換為數值,才能支持某些圖表。
+
+## 避免誤導
+
+即使數據科學家謹慎地為數據選擇了正確的圖表類型,數據仍然可能以某種方式被展示來證明某個觀點,往往以犧牲數據本身為代價。有許多關於誤導性圖表和信息圖的例子!
+
+[](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)。
+
+了解視線如何容易被誤導性圖表欺騙是很重要的。即使數據科學家的意圖是好的,選擇一個不合適的圖表類型(例如顯示過多類別的圓餅圖)也可能具有誤導性。
+
+## 顏色
+
+從上面「佛羅里達槍支暴力」的圖表中可以看到,顏色可以為圖表提供額外的意義層次,特別是那些不是使用 ggplot2 和 RColorBrewer 等庫設計的圖表,這些庫自帶經過驗證的顏色庫和調色板。如果你是手動製作圖表,可以稍微學習一下[色彩理論](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在設計圖表時,請注意無障礙性是視覺化的一個重要方面。你的一些用戶可能是色盲——你的圖表是否對視覺障礙用戶友好?
+
+選擇圖表顏色時要小心,因為顏色可能傳達你未曾預料的含義。上面「身高」圖表中的「粉紅女士」傳遞了一種明顯的「女性化」意義,這增加了圖表本身的怪異感。
+
+雖然[顏色的意義](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地區而異,並且根據色調的不同而改變,但一般來說,顏色的意義包括:
+
+| 顏色 | 意義 |
+| ------ | ------------------- |
+| 紅色 | 力量 |
+| 藍色 | 信任、忠誠 |
+| 黃色 | 快樂、警告 |
+| 綠色 | 生態、幸運、嫉妒 |
+| 紫色 | 快樂 |
+| 橙色 | 活力 |
+
+如果你需要為圖表設置自定義顏色,請確保你的圖表既無障礙又符合你想要傳達的意義。
+
+## 設計圖表以提高可讀性
+
+如果圖表不可讀,那它就沒有意義!花點時間考慮調整圖表的寬度和高度,使其能夠與數據良好匹配。如果需要顯示一個變量(例如所有 50 個州),盡量將它們垂直顯示在 Y 軸上,以避免水平滾動的圖表。
+
+標記你的軸,必要時提供圖例,並提供工具提示以便更好地理解數據。
+
+如果你的數據在 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 創作。
+
+雖然本課不足以深入教授這些強大的視覺化庫,但你可以嘗試在 Vue.js 應用中使用 D3,通過一個庫來展示《危險關係》這本書的動畫化社交網絡視覺化。
+
+> 《危險關係》是一部書信體小說,或以一系列信件形式呈現的小說。由 Choderlos de Laclos 於 1782 年創作,講述了 18 世紀末法國貴族中兩位主角 Vicomte de Valmont 和 Marquise de Merteuil 的惡毒、道德淪喪的社交操縱故事。最終兩人都走向毀滅,但在此之前造成了巨大的社會破壞。小說以他們寫給圈內各人的信件形式展開,策劃復仇或僅僅是製造麻煩。創建這些信件的視覺化,來發現敘事中的主要關鍵人物。
+
+你將完成一個網頁應用,展示這個社交網絡的動畫化視圖。它使用了一個基於 Vue.js 和 D3 的庫來創建[網絡視覺化](https://github.com/emiliorizzo/vue-d3-network)。應用運行時,你可以在屏幕上拖動節點來重新排列數據。
+
+
+
+## 專案:使用 D3.js 構建一個展示網絡的圖表
+
+> 本課文件夾中包含一個 `solution` 文件夾,你可以在其中找到完整的專案作為參考。
+
+1. 按照起始文件夾根目錄中的 README.md 文件中的指示進行操作。在安裝專案依賴項之前,確保你的機器上已運行 NPM 和 Node.js。
+
+2. 打開 `starter/src` 文件夾。你會發現一個 `assets` 文件夾,其中有一個 .json 文件,包含小說中的所有信件,按編號排列,並帶有「to」和「from」的註釋。
+
+3. 完成 `components/Nodes.vue` 中的代碼以啟用視覺化。找到名為 `createLinks()` 的方法,並添加以下嵌套循環。
+
+遍歷 .json 對象以捕獲信件的「to」和「from」數據,並構建 `links` 對象,以便視覺化庫可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+從終端運行你的應用(npm run serve),享受視覺化的樂趣!
+
+## 🚀 挑戰
+
+在互聯網上探索誤導性的視覺化圖表。作者是如何欺騙用戶的,這是有意的嗎?嘗試修正這些圖表,展示它們應有的樣子。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 回顧與自學
+
+以下是一些關於誤導性數據視覺化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看這些有趣的歷史資產和文物視覺化:
+
+https://handbook.pubpub.org/
+
+閱讀這篇文章,了解動畫如何增強你的視覺化效果:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作業
+
+[創建你自己的自定義視覺化](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/3-Data-Visualization/README.md b/translations/tw/3-Data-Visualization/README.md
new file mode 100644
index 00000000..55e27549
--- /dev/null
+++ b/translations/tw/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# 視覺化
+
+
+> 照片由 Jenna Lee 提供,來自 Unsplash
+
+視覺化數據是數據科學家最重要的任務之一。一張圖片勝過千言萬語,視覺化可以幫助你識別數據中的各種有趣部分,例如尖峰、異常值、分組、趨勢等等,這些都能幫助你理解數據背後的故事。
+
+在這五節課中,你將探索來自自然界的數據,並使用各種技術創建有趣且美觀的視覺化圖表。
+
+| 主題編號 | 主題 | 相關課程 | 作者 |
+| :-----------: | :--: | :-----------: | :----: |
+| 1. | 數量視覺化 | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | 分佈視覺化 | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | 比例視覺化 | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | 關係視覺化 | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | 創建有意義的視覺化 | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### 致謝
+
+這些視覺化課程由 [Jen Looper](https://twitter.com/jenlooper)、[Jasleen Sondhi](https://github.com/jasleen101010) 和 [Vidushi Gupta](https://github.com/Vidushi-Gupta) 用 🌸 精心撰寫。
+
+🍯 美國蜂蜜生產數據來自 Jessica Li 在 [Kaggle](https://www.kaggle.com/jessicali9530/honey-production) 上的項目。該[數據](https://usda.library.cornell.edu/concern/publications/rn301137d)來源於[美國農業部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+🍄 蘑菇數據同樣來自 [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset),由 Hatteras Dunton 修訂。該數據集包括對假設樣本的描述,這些樣本對應於伞菌科和口蘑科的 23 種有鰓蘑菇。數據來源於《Audubon Society Field Guide to North American Mushrooms》(1981)。該數據集於 1987 年捐贈給 UCI ML 27。
+
+🦆 明尼蘇達州鳥類數據來自 [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds),由 Hannah Collins 從 [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) 抓取。
+
+所有這些數據集均以 [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/) 授權。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/tw/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..94a6faeb
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,121 @@
+
+# 資料科學生命週期簡介
+
+| 繪製的手繪筆記 ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| 資料科學生命週期簡介 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## [課前測驗](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+到目前為止,你可能已經意識到資料科學是一個過程。這個過程可以分為五個階段:
+
+- 資料收集
+- 資料處理
+- 資料分析
+- 資料溝通
+- 資料維護
+
+本課程將重點介紹生命週期中的三個部分:資料收集、資料處理和資料維護。
+
+
+> 圖片來源:[Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
+
+## 資料收集
+
+生命週期的第一階段非常重要,因為接下來的階段都依賴於此。這實際上是兩個階段的結合:獲取資料以及定義需要解決的目標和問題。
+定義專案的目標需要對問題或問題有更深入的背景了解。首先,我們需要識別並獲取需要解決問題的對象。這些可能是企業的利益相關者或專案的贊助者,他們可以幫助確定誰或什麼將從這個專案中受益,以及他們需要什麼和為什麼需要它。一個明確定義的目標應該是可衡量且可量化的,以便定義可接受的結果。
+
+資料科學家可能會問的問題:
+- 這個問題以前是否被解決過?發現了什麼?
+- 所有相關人員是否都理解目標和目的?
+- 是否存在模糊性?如何減少模糊性?
+- 有哪些限制條件?
+- 最終結果可能會是什麼樣子?
+- 有多少資源(時間、人員、計算能力)可用?
+
+接下來是識別、收集,最後探索為實現這些目標所需的資料。在這個獲取階段,資料科學家還必須評估資料的數量和質量。這需要一些資料探索,以確認所獲取的資料是否能支持達成預期結果。
+
+資料科學家可能會問的資料相關問題:
+- 我已經擁有哪些資料?
+- 誰擁有這些資料?
+- 有哪些隱私問題?
+- 我是否有足夠的資料來解決這個問題?
+- 這些資料的質量是否適合解決這個問題?
+- 如果通過這些資料發現了額外的信息,我們是否應該考慮更改或重新定義目標?
+
+## 資料處理
+
+生命週期的資料處理階段專注於發現資料中的模式以及建模。在資料處理階段使用的一些技術需要統計方法來揭示模式。對於人類來說,處理大型資料集通常是一項繁瑣的任務,因此需要依賴計算機來加速這一過程。這個階段也是資料科學與機器學習交叉的地方。正如你在第一課中學到的,機器學習是構建模型以理解資料的過程。模型是資料中變數之間關係的表示,有助於預測結果。
+
+本階段常用的技術在《機器學習初學者》課程中有介紹。點擊以下連結了解更多:
+
+- [分類](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification):將資料組織成類別以提高使用效率。
+- [分群](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering):將資料分組為相似的群組。
+- [回歸](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression):確定變數之間的關係以預測或預估值。
+
+## 資料維護
+
+在生命週期的圖示中,你可能注意到資料維護位於資料收集和資料處理之間。資料維護是專案過程中持續進行的資料管理、存儲和安全保障過程,應在整個專案中加以考慮。
+
+### 資料存儲
+
+資料存儲的方式和位置會影響存儲成本以及資料訪問的速度。這些決策通常不僅由資料科學家決定,但他們可能需要根據資料的存儲方式來選擇如何處理資料。
+
+以下是現代資料存儲系統的一些影響因素:
+
+**內部存儲 vs 外部存儲 vs 公有雲或私有雲**
+
+內部存儲指的是在自己的設備上管理資料,例如擁有一台伺服器來存儲資料;而外部存儲則依賴於你不擁有的設備,例如資料中心。公有雲是存儲資料的一種流行選擇,無需了解資料的具體存儲方式或位置;公有雲指的是所有使用者共享的統一基礎設施。一些組織有嚴格的安全政策,要求完全訪問存儲資料的設備,因此會依賴於提供專屬雲服務的私有雲。你將在[後續課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud)中學到更多關於雲端資料的內容。
+
+**冷資料 vs 熱資料**
+
+在訓練模型時,你可能需要更多的訓練資料。如果你對模型感到滿意,仍然會有更多資料到來以支持模型的運行。無論如何,隨著資料的累積,存儲和訪問資料的成本將會增加。將很少使用的資料(稱為冷資料)與經常訪問的資料(稱為熱資料)分開存儲,可能是一種更便宜的存儲選擇,無論是通過硬體還是軟體服務。如果需要訪問冷資料,可能會比熱資料花費更長的時間。
+
+### 資料管理
+
+在處理資料時,你可能會發現需要使用[資料準備](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation)課程中介紹的一些技術來清理資料,以構建準確的模型。當新資料到來時,也需要應用相同的技術來保持資料質量的一致性。一些專案會使用自動化工具來進行清理、聚合和壓縮,然後將資料移動到最終位置。Azure Data Factory 就是一個這樣的工具。
+
+### 資料安全
+
+確保資料安全的主要目標之一是確保資料的收集和使用處於控制之中。保持資料安全包括限制只有需要的人才能訪問資料,遵守當地法律和法規,以及維持道德標準,這些內容在[倫理課程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics)中有介紹。
+
+以下是團隊可能採取的一些安全措施:
+- 確保所有資料都已加密
+- 向客戶提供有關其資料使用方式的信息
+- 移除已離開專案成員的資料訪問權限
+- 僅允許特定專案成員更改資料
+
+## 🚀 挑戰
+
+資料科學生命週期有許多不同的版本,每個步驟可能有不同的名稱和階段數量,但都包含本課程中提到的相同過程。
+
+探索 [團隊資料科學過程生命週期](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle) 和 [跨行業標準資料挖掘過程](https://www.datascience-pm.com/crisp-dm-2/)。列出兩者的三個相似點和不同點。
+
+|團隊資料科學過程 (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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## 回顧與自學
+
+應用資料科學生命週期涉及多種角色和任務,其中一些可能專注於每個階段的特定部分。團隊資料科學過程提供了一些資源,解釋了專案中可能涉及的角色和任務類型。
+
+* [團隊資料科學過程的角色與任務](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [執行資料科學任務:探索、建模和部署](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## 作業
+
+[評估一個資料集](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/tw/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..91e78bec
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,35 @@
+
+# 評估數據集
+
+一位客戶向您的團隊尋求幫助,調查紐約市計程車乘客的季節性消費習慣。
+
+他們想知道:**紐約市的黃計程車乘客在冬季還是夏季給司機的小費更多?**
+
+您的團隊目前處於數據科學生命週期的[捕捉階段](Readme.md#Capturing),而您負責處理數據集。您已獲得一個筆記本和[數據](../../../../data/taxi.csv)進行探索。
+
+在此目錄中,有一個[筆記本](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb),使用 Python 從[紐約市計程車與禮車委員會](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)載入黃計程車行程數據。
+您也可以使用文字編輯器或像 Excel 這樣的電子表格軟體打開計程車數據文件。
+
+## 指導說明
+
+- 評估此數據集中的數據是否能幫助回答問題。
+- 探索[紐約市開放數據目錄](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93)。識別一個可能有助於回答客戶問題的額外數據集。
+- 撰寫 3 個您會向客戶提出的問題,以便更清楚地了解問題並獲得更多澄清。
+
+請參考[數據集字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[用戶指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf),以獲取有關數據的更多信息。
+
+## 評分標準
+
+卓越 | 足夠 | 需要改進
+--- | --- | ---
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/tw/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..c2e0716c
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,60 @@
+
+# 數據科學生命周期:分析
+
+| ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| 數據科學生命周期:分析 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## 課前測驗
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+在數據生命周期中的分析階段,確認數據是否能回答所提出的問題或解決特定問題。這一步驟也可以用來確認模型是否正確地解決了這些問題。本課程專注於探索性數據分析(Exploratory Data Analysis,EDA),這是一種用於定義數據特徵和關係的技術,並可用於為建模準備數據。
+
+我們將使用 [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) 的示例數據集,展示如何使用 Python 和 Pandas 庫來應用這些技術。該數據集包含一些電子郵件中常見詞彙的計數,這些電子郵件的來源是匿名的。使用此目錄中的 [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) 來跟隨學習。
+
+## 探索性數據分析
+
+在生命周期的捕獲階段,數據被收集以及問題和疑問被提出,但我們如何知道數據能夠支持最終結果呢?
+回想一下,數據科學家在獲取數據時可能會提出以下問題:
+- 我是否擁有足夠的數據來解決這個問題?
+- 這些數據的質量是否足以解決這個問題?
+- 如果通過這些數據發現了額外的信息,我們是否應該考慮改變或重新定義目標?
+
+探索性數據分析是一個了解數據的過程,可以用來回答這些問題,並識別處理數據集時可能面臨的挑戰。讓我們來看看一些用於實現這些目標的技術。
+
+## 數據剖析、描述性統計和 Pandas
+我們如何評估是否擁有足夠的數據來解決這個問題?數據剖析可以通過描述性統計技術來總結和收集數據集的一些整體信息。數據剖析幫助我們了解可用的數據,而描述性統計幫助我們了解數據的數量。
+
+在之前的一些課程中,我們使用 Pandas 的 [`describe()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html) 提供了一些描述性統計。它可以提供數據的計數、最大值和最小值、平均值、標準差以及分位數等信息。使用像 `describe()` 函數這樣的描述性統計可以幫助你評估數據的數量以及是否需要更多數據。
+
+## 抽樣和查詢
+探索大型數據集中的所有內容可能非常耗時,通常由計算機完成。然而,抽樣是一種理解數據的有用工具,能幫助我們更好地了解數據集的內容及其代表的意義。通過抽樣,你可以應用概率和統計來對數據得出一些一般性的結論。雖然沒有明確規定應該抽取多少數據,但需要注意的是,抽取的數據越多,對數據的概括就越精確。
+
+Pandas 提供了 [`sample()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html),你可以傳遞參數來指定希望獲取的隨機樣本數量並使用它。
+
+對數據進行一般性查詢可以幫助你回答一些普遍的問題和假設。與抽樣不同,查詢允許你控制並專注於數據中你感興趣的特定部分。
+Pandas 庫中的 [`query()` 函數](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) 允許你選擇列並通過檢索的行獲得關於數據的簡單答案。
+
+## 使用可視化進行探索
+你不必等到數據完全清理和分析後才開始創建可視化。事實上,在探索過程中使用可視化可以幫助識別數據中的模式、關係和問題。此外,可視化為那些未參與數據管理的人提供了一種溝通方式,並且可以是一個分享和澄清捕獲階段未解決問題的機會。請參考 [可視化部分](../../../../../../../../../3-Data-Visualization) 了解更多流行的可視化探索方法。
+
+## 探索以識別不一致性
+本課程中的所有主題都可以幫助識別缺失或不一致的值,但 Pandas 提供了一些函數來檢查這些問題。[isna() 或 isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) 可以檢查缺失值。探索這些值在數據中出現的原因是一個重要的步驟,這可以幫助你決定 [採取哪些行動來解決它們](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## 作業
+
+[探索答案](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/tw/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..1e72c541
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,34 @@
+
+# 探索答案
+
+這是上一課[作業](../14-Introduction/assignment.md)的延續,我們之前簡單瀏覽了數據集。現在,我們將更深入地研究這些數據。
+
+再次重申,客戶想知道的問題是:**紐約市的黃色計程車乘客在冬季還是夏季給司機的小費更多?**
+
+您的團隊目前處於數據科學生命周期的[分析](README.md)階段,負責對數據集進行探索性數據分析。您已獲得一個筆記本和數據集,其中包含2019年1月和7月的200筆計程車交易記錄。
+
+## 指導說明
+
+在此目錄中,有一個[筆記本](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb)和來自[計程車與禮車委員會](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)的數據。請參考[數據集字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[用戶指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)以獲取更多關於數據的信息。
+
+使用本課中學到的一些技術,在筆記本中進行自己的探索性數據分析(如有需要可新增單元格),並回答以下問題:
+
+- 數據中還有哪些其他因素可能影響小費金額?
+- 哪些欄位最有可能不需要用來回答客戶的問題?
+- 根據目前提供的數據,是否有任何證據顯示季節性的小費行為?
+
+## 評分標準
+
+卓越 | 足夠 | 需要改進
+--- | --- | ---
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/16-communication/README.md b/translations/tw/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..6075fbd8
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,220 @@
+
+# 數據科學生命周期:溝通
+
+|](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| 數據科學生命周期:溝通 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+透過上方的課前測驗來測試你對即將學習內容的了解!
+
+# 簡介
+
+### 什麼是溝通?
+讓我們從定義溝通的意義開始這堂課。**溝通是傳遞或交換信息的過程。** 信息可以是想法、思考、感受、訊息、隱秘信號、數據——任何一個**_發送者_**(傳遞信息的人)希望**_接收者_**(接收信息的人)理解的內容。在這堂課中,我們將把發送者稱為溝通者,而接收者稱為受眾。
+
+### 數據溝通與故事講述
+我們知道,溝通的目的是傳遞或交換信息。但在進行數據溝通時,你的目標不應該僅僅是向受眾傳遞數字。你的目標應該是通過數據講述一個故事——有效的數據溝通與故事講述是密不可分的。你的受眾更可能記住你講述的故事,而不是你提供的數字。在這堂課的後面,我們將討論一些方法,幫助你通過故事講述更有效地傳遞數據。
+
+### 溝通的類型
+在這堂課中,我們將討論兩種不同的溝通類型:單向溝通和雙向溝通。
+
+**單向溝通** 是指發送者向接收者傳遞信息,沒有任何反饋或回應。我們每天都能看到單向溝通的例子——例如群發郵件、新聞報導最新事件,或者電視廣告告訴你他們的產品有多好。在這些情況下,發送者並不尋求信息的交換,他們只是想傳遞或提供信息。
+
+**雙向溝通** 是指所有參與方既是發送者又是接收者。發送者首先向接收者傳遞信息,接收者則提供反饋或回應。雙向溝通是我們通常所認為的溝通方式。我們通常會想到人們進行的對話——無論是面對面、電話、社交媒體還是短信。
+
+在進行數據溝通時,有些情況下你會使用單向溝通(例如在會議或大型群體中進行演講,之後不會直接回答問題),而有些情況下你會使用雙向溝通(例如用數據說服幾位利益相關者支持某個提案,或者說服團隊成員投入時間和精力開發新項目)。
+
+# 有效溝通
+
+### 作為溝通者的責任
+在溝通時,你的責任是確保接收者能夠接收到你希望他們理解的信息。在進行數據溝通時,你不僅希望接收者記住數字,還希望他們記住由數據支撐的故事。一位優秀的數據溝通者也是一位優秀的故事講述者。
+
+那麼,如何用數據講述故事呢?方法無窮無盡——但以下是我們在這堂課中將討論的六種方法:
+1. 理解你的受眾、溝通渠道與溝通方式
+2. 以終為始
+3. 像講述真正的故事一樣進行溝通
+4. 使用有意義的詞語和短語
+5. 善用情感
+
+以下將詳細解釋這些策略。
+
+### 1. 理解你的受眾、溝通渠道與溝通方式
+你與家人溝通的方式可能與你與朋友溝通的方式不同。你可能會使用不同的詞語和短語,讓對方更容易理解。同樣的原則也適用於數據溝通。思考你正在與誰溝通,思考他們的目標以及他們對你所描述情況的背景知識。
+
+你可以將大多數受眾歸類到某個類別中。在 _哈佛商業評論_ 的文章《[如何用數據講故事](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)》中,戴爾的執行策略師 Jim Stikeleather 將受眾分為五類:
+
+- **新手**:首次接觸該主題,但不希望過於簡化
+- **普通人**:對主題有所了解,但希望獲得概述和主要主題
+- **管理者**:對細節和相互關係有深入、可行的理解,並能獲取詳細信息
+- **專家**:更注重探索和發現,較少需要故事講述,並需要大量細節
+- **高管**:只關注權重概率的意義和結論,時間有限
+
+這些類別可以幫助你決定如何向受眾展示數據。
+
+除了考慮受眾的類別外,你還應該考慮與受眾溝通的渠道。如果你是寫備忘錄或電子郵件,與開會或在會議上演講的方式應該略有不同。
+
+在了解受眾的基礎上,知道你將如何與他們溝通(使用單向溝通還是雙向溝通)也至關重要。
+
+如果你的受眾主要是新手,並且你使用的是單向溝通,你必須首先教育受眾,為他們提供適當的背景知識。然後,你需要向他們展示數據,並解釋數據的意義以及為什麼數據重要。在這種情況下,你可能需要專注於清晰性,因為你的受眾無法直接向你提問。
+
+如果你的受眾主要是管理者,並且你使用的是雙向溝通,你可能不需要教育受眾或提供太多背景知識。你可以直接討論你收集的數據及其重要性。然而,在這種情況下,你應該專注於時間管理和控制你的演示。當使用雙向溝通時(尤其是面對尋求“對細節和相互關係的可行理解”的管理者受眾),可能會出現一些問題,將討論引向與你試圖講述的故事無關的方向。當這種情況發生時,你可以採取行動,將討論拉回到你的故事主題上。
+
+### 2. 以終為始
+以終為始意味著在開始與受眾溝通之前,先了解你希望他們獲得的關鍵信息。提前思考你希望受眾記住的內容,可以幫助你構建一個他們能夠理解的故事。以終為始適用於單向溝通和雙向溝通。
+
+如何以終為始?在溝通數據之前,寫下你的關鍵信息。然後,在準備你想用數據講述的故事的每一步,都問自己:“這如何融入我正在講述的故事?”
+
+需要注意的是——雖然以終為始是理想的,但你不應該只溝通支持你結論的數據。這種做法被稱為“挑選性呈現”,即溝通者只傳遞支持其觀點的數據,而忽略其他數據。
+
+如果你收集的所有數據都清楚地支持你的結論,那很好。但如果你收集的數據中有些不支持你的結論,甚至支持與你的結論相反的觀點,你也應該傳遞這些數據。如果出現這種情況,坦誠地告訴受眾,並解釋為什麼即使所有數據並不完全支持你的結論,你仍然選擇堅持你的故事。
+
+### 3. 像講述真正的故事一樣進行溝通
+一個傳統的故事通常分為五個階段。你可能聽過這些階段被表述為:開端、上升行動、高潮、下降行動和結局。或者更容易記住的:背景、衝突、高潮、結束、結論。在溝通你的數據和故事時,你可以採用類似的方法。
+
+你可以從背景開始,設定場景,確保受眾在同一個起點。然後引入衝突。為什麼你需要收集這些數據?你試圖解決什麼問題?接下來是高潮。數據是什麼?數據的意義是什麼?數據告訴我們需要哪些解決方案?然後是結束,你可以重申問題和建議的解決方案。最後是結論,你可以總結你的關鍵信息以及你建議團隊採取的下一步行動。
+
+### 4. 使用有意義的詞語和短語
+如果我們一起開發一款產品,我對你說:“我們的用戶在註冊我們的平台時花了很長時間。”你會估計“很長時間”是多久?一小時?一周?很難知道。如果我對整個受眾說這句話,每個人可能會對“很長時間”有不同的理解。
+
+但如果我說:“我們的用戶平均花了3分鐘註冊並完成平台的使用。”
+
+這樣的表述就更清晰了。在溝通數據時,很容易認為受眾的想法與你一致。但事實並非總是如此。清晰地傳遞數據及其意義是你作為溝通者的責任。如果數據或你的故事不清晰,受眾將難以理解,也更不可能記住你的關鍵信息。
+
+你可以通過使用有意義的詞語和短語,而不是模糊的表述來更清晰地溝通數據。以下是一些例子:
+
+- 我們有一個*令人印象深刻*的一年!
+ - 一個人可能認為“令人印象深刻”意味著收入增長2%-3%,而另一個人可能認為是50%-60%的增長。
+- 我們用戶的成功率*顯著*提高了。
+ - “顯著”提高到底是多大幅度的提高?
+- 這項工作需要*大量*的努力。
+ - “大量”努力到底是多少?
+
+使用模糊的詞語可能在引入更多數據或總結故事時有用。但請考慮確保你的演示的每個部分對受眾都是清晰的。
+
+### 5. 善用情感
+情感是故事講述的關鍵。在用數據講故事時,情感更為重要。當你溝通數據時,一切都圍繞你希望受眾獲得的關鍵信息。喚起受眾的情感有助於他們產生共鳴,並更有可能採取行動。情感還能增加受眾記住你信息的可能性。
+
+你可能在電視廣告中遇到過這種情況。有些廣告非常沉重,利用悲傷的情感與受眾建立聯繫,讓他們對所呈現的數據印象深刻。或者,有些廣告非常歡快,讓你將他們的數據與快樂的感覺聯繫起來。
+
+那麼,如何在溝通數據時使用情感呢?以下是幾種方法:
+
+- 使用見證和個人故事
+ - 在收集數據時,嘗試收集定量和定性數據,並在溝通時整合這兩種類型的數據。如果你的數據主要是定量的,尋找個人故事來了解他們的經歷,這些經歷可以補充你的數據。
+- 使用圖像
+ - 圖像可以幫助受眾將自己代入某個情境。當你使用圖像時,可以引導受眾產生你希望他們對數據的情感反應。
+- 使用顏色
+ - 不同的顏色會喚起不同的情感。以下是一些常見顏色及其通常喚起的情感。需要注意的是,不同文化中顏色的含義可能不同。
+ - 藍色通常喚起和平與信任的情感
+ - 綠色通常與自然和環境相關
+ - 紅色通常代表激情和興奮
+ - 黃色通常代表樂觀和快樂
+
+# 溝通案例研究
+Emerson 是一款移動應用的產品經理。Emerson 發現用戶在週末提交的投訴和錯誤報告多了42%。Emerson 還發現,如果用戶提交的投訴在48小時內未得到回應,他們給應用打1或2星評分的可能性會增加32%。
+
+經過研究,Emerson 提出了幾個解決方案來解決這個問題。Emerson 與公司三位負責人安排了一次30分鐘的會議,來溝通數據和建議的解決方案。
+
+在這次會議中,Emerson 的目標是讓公司負責人理解以下兩個解決方案可以改善應用評分,這可能會轉化為更高的收入。
+
+**解決方案1.** 招募客服人員在週末工作
+
+**解決方案2.** 購買一個新的客服工單系統,讓客服人員能輕鬆識別哪些投訴在隊列中等待時間最長——以便優先處理。
+在會議中,Emerson 花了 5 分鐘解釋為什麼在應用程式商店中獲得低評分是不好的,10 分鐘解釋研究過程以及如何識別趨勢,10 分鐘討論一些最近的客戶投訴,最後 5 分鐘簡略提到兩個潛在解決方案。
+
+這是 Emerson 在會議中有效的溝通方式嗎?
+
+在會議中,一位公司主管對 Emerson 花 10 分鐘討論的客戶投訴內容特別執著。會後,這些投訴成為這位主管唯一記得的內容。另一位公司主管主要關注 Emerson 描述的研究過程。第三位公司主管記得 Emerson 提出的解決方案,但不確定這些解決方案如何實施。
+
+在上述情況中,可以看到 Emerson 想讓公司主管們記住的重點與他們實際記住的內容之間存在顯著差距。以下是 Emerson 可以考慮的另一種方法。
+
+Emerson 如何改進這種方法?
+情境、衝突、高潮、結尾、結論
+**情境** - Emerson 可以花前 5 分鐘介紹整個情況,確保公司主管們了解這些問題如何影響對公司至關重要的指標,例如收入。
+
+可以這樣表述:「目前,我們的應用程式在應用程式商店的評分是 2.5。應用程式商店的評分對應用程式商店優化至關重要,這會影響有多少用戶在搜尋中看到我們的應用程式,以及潛在用戶如何看待我們的應用程式。而且,當然,用戶數量直接與收入掛鉤。」
+
+**衝突** Emerson 接下來可以花大約 5 分鐘談論衝突。
+
+可以這樣說:「用戶在週末提交的投訴和錯誤報告多了 42%。提交投訴後 48 小時內未獲回覆的客戶,給我們應用程式評分超過 2 分的可能性降低了 32%。如果我們能將應用程式商店的評分提高到 4 分,將提升 20-30% 的可見度,我預計這將使收入增加 10%。」當然,Emerson 應該準備好為這些數據提供依據。
+
+**高潮** 在鋪墊好背景後,Emerson 可以花大約 5 分鐘進入高潮部分。
+
+Emerson 可以介紹提出的解決方案,說明這些解決方案如何解決所列出的問題,如何將這些解決方案整合到現有的工作流程中,解決方案的成本是多少,投資回報率 (ROI) 是多少,甚至可以展示一些解決方案實施後的截圖或線框圖。Emerson 還可以分享一些用戶的感言,例如那些在 48 小時後才收到回覆的用戶,甚至可以分享一位公司內部現任客服代表對現有工單系統的評論。
+
+**結尾** 現在 Emerson 可以花 5 分鐘重申公司面臨的問題,重溫提出的解決方案,並回顧為什麼這些解決方案是正確的選擇。
+
+**結論** 由於這是一場與少數利益相關者的會議,會使用雙向溝通,Emerson 可以計劃留出 10 分鐘的時間回答問題,確保在會議結束前解決公司主管們的任何疑問。
+
+如果 Emerson 採用方法 #2,公司主管們更有可能從會議中帶走 Emerson 想要他們記住的內容——即投訴和錯誤的處理方式可以改進,並且有兩個解決方案可以實施來實現這些改進。這種方法將更有效地傳達 Emerson 想要傳遞的數據和故事。
+
+# 結論
+### 主要要點總結
+- 溝通是傳遞或交換信息的過程。
+- 在傳遞數據時,目標不應該只是向觀眾傳遞數字,而是要傳遞一個由數據支撐的故事。
+- 溝通有兩種類型:單向溝通(信息傳遞無需回應)和雙向溝通(信息在雙方之間傳遞)。
+- 有許多策略可以用來用數據講故事,我們討論了以下 5 種策略:
+ - 了解你的觀眾、媒介和溝通方式
+ - 以終為始
+ - 像講故事一樣處理
+ - 使用有意義的詞語和短語
+ - 善用情感
+
+### 自學推薦資源
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+透過上方的課後測驗來複習你剛學到的內容!
+
+## 作業
+
+[市場研究](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/tw/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..425ada5f
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# 講述一個故事
+
+## 說明
+
+數據科學的核心在於講故事。選擇任意一個數據集,撰寫一篇簡短的文章,描述你可以從中講述的故事。你希望你的數據集能揭示什麼?如果它的揭示結果出現問題,你會怎麼做?如果數據無法輕易揭示其秘密,你又該如何應對?思考你的數據集可能呈現的各種情境,並將它們記錄下來。
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | --- |
+
+一篇一頁的文章以 .doc 格式呈現,對數據集進行了解釋、記錄、標註來源,並基於數據提供了一個連貫的故事,包含詳細的數據示例。| 一篇較短的文章,細節較少 | 文章在上述某一方面有所欠缺。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/4-Data-Science-Lifecycle/README.md b/translations/tw/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..49ac04a6
--- /dev/null
+++ b/translations/tw/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# 數據科學生命週期
+
+
+> 圖片由 Headway 提供,來自 Unsplash
+
+在這些課程中,您將探索數據科學生命週期的一些方面,包括數據的分析和溝通。
+
+### 主題
+
+1. [介紹](14-Introduction/README.md)
+2. [分析](15-analyzing/README.md)
+3. [溝通](16-communication/README.md)
+
+### 致謝
+
+這些課程由 [Jalen McGee](https://twitter.com/JalenMCG) 和 [Jasmine Greenaway](https://twitter.com/paladique) 用 ❤️ 編寫。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/tw/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..3284d5c9
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,111 @@
+
+# 雲端中的資料科學介紹
+
+| ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的資料科學:介紹 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+在本課程中,您將學習雲端的基本原則,了解使用雲端服務來執行資料科學項目的好處,並探索一些在雲端中運行的資料科學項目範例。
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## 什麼是雲端?
+
+雲端,或稱雲端運算,是透過網際網路提供一系列按需付費的運算服務,這些服務基於一個基礎設施上運行。服務包括存儲、資料庫、網路、軟體、分析以及智能服務等解決方案。
+
+我們通常將公有雲、私有雲和混合雲區分如下:
+
+* 公有雲:公有雲由第三方雲端服務提供商擁有和運營,並透過網際網路向公眾提供其運算資源。
+* 私有雲:私有雲指的是專門由單一企業或組織使用的雲端運算資源,服務和基礎設施維護在私人網路上。
+* 混合雲:混合雲是一種結合公有雲和私有雲的系統。使用者可以選擇在本地數據中心運行,同時允許數據和應用程式在一個或多個公有雲上運行。
+
+大多數雲端運算服務分為三類:基礎設施即服務 (IaaS)、平台即服務 (PaaS) 和軟體即服務 (SaaS)。
+
+* 基礎設施即服務 (IaaS):使用者租用 IT 基礎設施,例如伺服器和虛擬機 (VM)、存儲、網路、操作系統。
+* 平台即服務 (PaaS):使用者租用一個開發、測試、交付和管理軟體應用程式的環境。使用者不需要擔心設置或管理伺服器、存儲、網路和資料庫等基礎設施。
+* 軟體即服務 (SaaS):使用者透過網際網路按需訪問軟體應用程式,通常以訂閱方式提供。使用者不需要擔心托管和管理軟體應用程式、基礎設施或維護,例如軟體升級和安全修補。
+
+一些最大的雲端提供商包括 Amazon Web Services、Google Cloud Platform 和 Microsoft Azure。
+
+## 為什麼選擇雲端進行資料科學?
+
+開發者和 IT 專業人士選擇使用雲端的原因有很多,包括以下幾點:
+
+* 創新:您可以透過將雲端提供商創建的創新服務直接整合到您的應用程式中來提升應用程式的功能。
+* 靈活性:您只需支付所需的服務費用,並可從多種服務中選擇。通常採用按需付費模式,並根據需求調整服務。
+* 預算:您不需要進行初期投資來購買硬體和軟體,設置和運行本地數據中心,僅需支付使用的費用。
+* 可擴展性:您的資源可以根據項目需求進行擴展,這意味著您的應用程式可以根據外部因素在任何時間使用更多或更少的運算能力、存儲和頻寬。
+* 生產力:您可以專注於您的業務,而不是花時間處理可以由其他人管理的任務,例如管理數據中心。
+* 可靠性:雲端運算提供多種方式來持續備份您的數據,並可設置災難恢復計劃,即使在危機時期也能保持業務和服務運行。
+* 安全性:您可以受益於加強項目安全性的政策、技術和控制措施。
+
+以上是人們選擇使用雲端服務的一些常見原因。現在我們對雲端及其主要優勢有了更好的理解,讓我們更具體地探討資料科學家和處理數據的開發者的工作,以及雲端如何幫助他們應對可能面臨的多種挑戰:
+
+* 存儲大量數據:與其購買、管理和保護大型伺服器,您可以直接將數據存儲在雲端中,例如使用 Azure Cosmos DB、Azure SQL Database 和 Azure Data Lake Storage。
+* 執行數據整合:數據整合是資料科學的重要部分,讓您從數據收集過渡到採取行動。透過雲端提供的數據整合服務,您可以從多個來源收集、轉換和整合數據到單一數據倉庫,例如使用 Data Factory。
+* 處理數據:處理大量數據需要大量運算能力,而並非每個人都能擁有足夠強大的機器,因此許多人選擇直接利用雲端的巨大運算能力來運行和部署解決方案。
+* 使用數據分析服務:雲端服務如 Azure Synapse Analytics、Azure Stream Analytics 和 Azure Databricks,幫助您將數據轉化為可行的洞察。
+* 使用機器學習和數據智能服務:與其從零開始,您可以使用雲端提供商提供的機器學習算法,例如 AzureML。您還可以使用認知服務,例如語音轉文字、文字轉語音、電腦視覺等。
+
+## 雲端中的資料科學範例
+
+讓我們透過幾個場景來更具體地了解。
+
+### 即時社交媒體情感分析
+我們從一個常見的機器學習入門場景開始:即時社交媒體情感分析。
+
+假設您運營一個新聞媒體網站,並希望利用即時數據來了解讀者可能感興趣的內容。為了更深入了解,您可以建立一個程序,對 Twitter 上與讀者相關的主題進行即時情感分析。
+
+您需要關注的關鍵指標是特定主題(標籤)的推文數量和情感,情感是透過分析工具對指定主題進行情感分析得出的。
+
+建立此項目所需的步驟如下:
+
+* 創建一個事件中心以流式輸入,收集來自 Twitter 的數據
+* 配置並啟動 Twitter 客戶端應用程式,調用 Twitter Streaming APIs
+* 創建一個 Stream Analytics 作業
+* 指定作業輸入和查詢
+* 創建輸出接收器並指定作業輸出
+* 啟動作業
+
+查看完整過程,請參考[文件](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)。
+
+### 科學論文分析
+讓我們看另一個由本課程作者之一 [Dmitry Soshnikov](http://soshnikov.com) 創建的項目範例。
+
+Dmitry 創建了一個分析 COVID 論文的工具。透過審視此項目,您將了解如何創建一個工具,從科學論文中提取知識,獲得洞察,並幫助研究人員高效地瀏覽大量論文。
+
+以下是使用的不同步驟:
+* 使用 [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 提取和預處理信息
+* 使用 [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 進行並行處理
+* 使用 [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 存儲和查詢信息
+* 使用 Power BI 創建一個互動式儀表板進行數據探索和可視化
+
+查看完整過程,請訪問 [Dmitry 的博客](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)。
+
+如您所見,我們可以以多種方式利用雲端服務來進行資料科學。
+
+## 備註
+
+來源:
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## 課後測驗
+
+[課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## 作業
+
+[市場研究](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/tw/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..48fdf9d9
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# 市場調查
+
+## 說明
+
+在本課程中,你學到了幾個重要的雲端服務提供商。進行一些市場調查,了解每個提供商能為數據科學家提供什麼服務。這些服務是否具有可比性?撰寫一篇文章,描述其中三個或更多雲端服務提供商的服務內容。
+
+## 評分標準
+
+優秀 | 足夠 | 需要改進
+--- | --- | --- |
+一篇一頁的文章描述了三個雲端服務提供商的數據科學服務,並區分了它們之間的差異。 | 提交了一篇較短的文章 | 提交了一篇未完成分析的文章
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..6fc0cd0f
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,350 @@
+
+# 雲端中的數據科學:「低代碼/無代碼」方式
+
+| 繪製的速記筆記](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的數據科學:低代碼 - _速記筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+目錄:
+
+- [雲端中的數據科學:「低代碼/無代碼」方式](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [課前測驗](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. 簡介](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 什麼是 Azure Machine Learning?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 心臟衰竭預測項目:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 心臟衰竭數據集:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. 在 Azure ML Studio 中進行低代碼/無代碼模型訓練](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 創建 Azure ML 工作區](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 計算資源](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 選擇適合的計算資源選項](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 創建計算叢集](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 加載數據集](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 使用 AutoML 進行低代碼/無代碼訓練](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. 低代碼/無代碼模型部署與端點使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 模型部署](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 端點使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 挑戰](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [課後測驗](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [回顧與自學](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [作業](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+
+## 1. 簡介
+
+### 1.1 什麼是 Azure Machine Learning?
+
+Azure 雲平台包含超過 200 種產品和雲服務,旨在幫助您實現創新解決方案。
+數據科學家需要花費大量精力來探索和預處理數據,並嘗試各種模型訓練算法以生成準確的模型。這些任務耗時且經常導致昂貴的計算硬件資源使用效率低下。
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 是一個基於雲的平臺,用於在 Azure 中構建和運行機器學習解決方案。它提供了廣泛的功能,幫助數據科學家準備數據、訓練模型、發布預測服務並監控其使用情況。最重要的是,它通過自動化許多與模型訓練相關的耗時任務來提高效率;並且它允許使用可有效擴展的雲端計算資源來處理大量數據,僅在實際使用時產生成本。
+
+Azure ML 提供了開發人員和數據科學家所需的所有工具來完成機器學習工作流程,包括:
+
+- **Azure Machine Learning Studio**:Azure Machine Learning 的網頁入口,提供低代碼和無代碼選項,用於模型訓練、部署、自動化、跟蹤和資產管理。該 Studio 與 Azure Machine Learning SDK 無縫集成。
+- **Jupyter Notebooks**:快速原型設計和測試 ML 模型。
+- **Azure Machine Learning Designer**:允許通過拖放模塊來構建實驗,並在低代碼環境中部署管道。
+- **自動化機器學習界面 (AutoML)**:自動化機器學習模型開發的迭代任務,實現高效能和高生產力,同時保持模型質量。
+- **數據標籤**:一種輔助 ML 工具,用於自動標籤數據。
+- **Visual Studio Code 的機器學習擴展**:提供完整的開發環境,用於構建和管理 ML 項目。
+- **機器學習 CLI**:提供命令行工具來管理 Azure ML 資源。
+- **與開源框架的集成**:如 PyTorch、TensorFlow、Scikit-learn 等,用於訓練、部署和管理端到端的機器學習過程。
+- **MLflow**:一個開源庫,用於管理機器學習實驗的生命周期。**MLFlow Tracking** 是 MLflow 的一個組件,用於記錄和跟蹤訓練運行的指標和模型工件,無論實驗的環境如何。
+
+### 1.2 心臟衰竭預測項目:
+
+毫無疑問,製作和構建項目是檢驗技能和知識的最佳方式。在本課程中,我們將探索兩種不同的方法來構建一個用於預測心臟衰竭的數據科學項目,分別是通過低代碼/無代碼方式和通過 Azure ML SDK,如下圖所示:
+
+
+
+每種方法都有其優缺點。低代碼/無代碼方式更容易上手,因為它涉及與圖形用戶界面 (GUI) 交互,無需事先了解代碼。這種方法可以快速測試項目的可行性並創建概念驗證 (POC)。然而,隨著項目規模的增長並需要進入生產階段,通過 GUI 創建資源將變得不可行。我們需要以編程方式自動化所有內容,從資源創建到模型部署。在這種情況下,了解如何使用 Azure ML SDK 就變得至關重要。
+
+| | 低代碼/無代碼 | Azure ML SDK |
+|-------------------|----------------|---------------------------|
+| 代碼專業知識 | 不需要 | 需要 |
+| 開發時間 | 快速且簡單 | 取決於代碼專業知識 |
+| 生產就緒 | 否 | 是 |
+
+### 1.3 心臟衰竭數據集:
+
+心血管疾病 (CVDs) 是全球死亡的首要原因,佔全球死亡人數的 31%。環境和行為風險因素(如吸煙、不健康飲食和肥胖、缺乏運動以及有害的酒精使用)可以用作估算模型的特徵。能夠估算 CVD 發展的可能性對於預防高風險人群的發作具有重要意義。
+
+Kaggle 提供了一個[心臟衰竭數據集](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data),我們將在本項目中使用該數據集。您現在可以下載該數據集。這是一個包含 13 列(12 個特徵和 1 個目標變量)和 299 行的表格數據集。
+
+| | 變量名稱 | 類型 | 描述 | 示例 |
+|----|---------------------------|-----------------|----------------------------------------------------------|-------------------|
+| 1 | age | 數值型 | 患者年齡 | 25 |
+| 2 | anaemia | 布爾型 | 紅細胞或血紅蛋白減少 | 0 或 1 |
+| 3 | creatinine_phosphokinase | 數值型 | 血液中 CPK 酶的水平 | 542 |
+| 4 | diabetes | 布爾型 | 患者是否有糖尿病 | 0 或 1 |
+| 5 | ejection_fraction | 數值型 | 每次心臟收縮時血液排出的百分比 | 45 |
+| 6 | high_blood_pressure | 布爾型 | 患者是否有高血壓 | 0 或 1 |
+| 7 | platelets | 數值型 | 血液中的血小板數量 | 149000 |
+| 8 | serum_creatinine | 數值型 | 血液中血清肌酐的水平 | 0.5 |
+| 9 | serum_sodium | 數值型 | 血液中血清鈉的水平 | jun |
+| 10 | sex | 布爾型 | 女性或男性 | 0 或 1 |
+| 11 | smoking | 布爾型 | 患者是否吸煙 | 0 或 1 |
+| 12 | time | 數值型 | 隨訪期(天) | 4 |
+|----|---------------------------|-----------------|----------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [目標] | 布爾型 | 患者是否在隨訪期間死亡 | 0 或 1 |
+
+獲取數據集後,我們就可以在 Azure 中開始項目了。
+
+## 2. 在 Azure ML Studio 中進行低代碼/無代碼模型訓練
+
+### 2.1 創建 Azure ML 工作區
+
+要在 Azure ML 中訓練模型,您首先需要創建一個 Azure ML 工作區。工作區是 Azure Machine Learning 的頂級資源,提供了一個集中式位置來管理您在使用 Azure Machine Learning 時創建的所有工件。工作區會保留所有訓練運行的歷史記錄,包括日誌、指標、輸出以及腳本的快照。您可以使用這些信息來確定哪次訓練運行生成了最佳模型。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+建議使用與您的操作系統兼容的最新瀏覽器。支持以下瀏覽器:
+
+- Microsoft Edge(新版本的 Microsoft Edge,不是舊版)
+- Safari(最新版本,僅限 Mac)
+- Chrome(最新版本)
+- Firefox(最新版本)
+
+要使用 Azure Machine Learning,請在您的 Azure 訂閱中創建一個工作區。然後,您可以使用此工作區來管理與機器學習工作負載相關的數據、計算資源、代碼、模型和其他工件。
+
+> **_注意:_** 只要 Azure Machine Learning 工作區存在於您的訂閱中,您的 Azure 訂閱將會因數據存儲而產生少量費用,因此建議在不再使用時刪除 Azure Machine Learning 工作區。
+
+1. 使用與您的 Azure 訂閱相關聯的 Microsoft 賬戶登錄 [Azure 入口網站](https://ms.portal.azure.com/)。
+2. 選擇 **+創建資源**
+
+ 
+
+ 搜索 Machine Learning 並選擇 Machine Learning 磚塊
+
+ 
+
+ 點擊創建按鈕
+
+ 
+
+ 填寫以下設置:
+ - 訂閱:您的 Azure 訂閱
+ - 資源組:創建或選擇一個資源組
+ - 工作區名稱:輸入一個唯一的工作區名稱
+ - 區域:選擇離您最近的地理區域
+ - 存儲帳戶:注意將為您的工作區創建的默認新存儲帳戶
+ - 密鑰保管庫:注意將為您的工作區創建的默認新密鑰保管庫
+ - 應用洞察:注意將為您的工作區創建的默認新應用洞察資源
+ - 容器註冊表:無(首次將模型部署到容器時會自動創建)
+
+ 
+
+ - 點擊創建 + 查看,然後點擊創建按鈕
+3. 等待您的工作區創建完成(這可能需要幾分鐘)。然後在入口網站中進入該工作區。您可以通過 Machine Learning Azure 服務找到它。
+4. 在工作區的概覽頁面,啟動 Azure Machine Learning Studio(或打開一個新的瀏覽器標籤並導航到 https://ml.azure.com),並使用您的 Microsoft 賬戶登錄 Azure Machine Learning Studio。如果出現提示,選擇您的 Azure 目錄和訂閱,以及您的 Azure Machine Learning 工作區。
+
+
+
+5. 在 Azure Machine Learning Studio 中,切換左上角的 ☰ 圖標以查看界面中的各個頁面。您可以使用這些頁面來管理工作區中的資源。
+
+
+
+您可以使用 Azure 入口網站管理您的工作區,但對於數據科學家和機器學習運營工程師來說,Azure Machine Learning Studio 提供了一個更專注的用戶界面來管理工作區資源。
+
+### 2.2 計算資源
+
+計算資源是基於雲的資源,您可以在其上運行模型訓練和數據探索過程。您可以創建四種類型的計算資源:
+
+- **計算實例**:數據科學家用於處理數據和模型的開發工作站。這涉及創建虛擬機 (VM) 並啟動筆記本實例。然後,您可以通過調用計算叢集來訓練模型。
+- **計算叢集**:可擴展的虛擬機叢集,用於按需處理實驗代碼。訓練模型時需要使用計算叢集。計算叢集還可以使用專門的 GPU 或 CPU 資源。
+- **推理叢集**:用於部署使用您訓練模型的預測服務的目標。
+- **附加計算資源**:連結到現有的 Azure 計算資源,例如虛擬機器或 Azure Databricks 叢集。
+
+#### 2.2.1 為您的計算資源選擇合適的選項
+
+在建立計算資源時需要考慮一些關鍵因素,這些選擇可能是至關重要的決策。
+
+**您需要 CPU 還是 GPU?**
+
+CPU(中央處理器)是執行計算機程式指令的電子電路。GPU(圖形處理器)是一種專門的電子電路,可以以非常高的速度執行與圖形相關的程式碼。
+
+CPU 和 GPU 架構的主要區別在於,CPU 設計用於快速處理廣泛的任務(以 CPU 時鐘速度衡量),但在同時執行的任務數量上有限。GPU 則專為平行計算設計,因此在深度學習任務中表現更佳。
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| 成本較低 | 成本較高 |
+| 並行性較低 | 並行性較高 |
+| 訓練深度學習模型速度較慢 | 深度學習的最佳選擇 |
+
+**叢集大小**
+
+較大的叢集成本較高,但會帶來更好的響應速度。因此,如果您有時間但預算有限,應該從小型叢集開始。相反,如果您有預算但時間有限,應該從大型叢集開始。
+
+**虛擬機器大小**
+
+根據您的時間和預算限制,您可以調整 RAM、磁碟、核心數量和時鐘速度的大小。增加這些參數會提高成本,但性能也會更好。
+
+**專用或低優先級實例?**
+
+低優先級實例意味著它是可中斷的:基本上,Microsoft Azure 可以將這些資源分配給其他任務,從而中斷當前的工作。專用實例(或不可中斷實例)則意味著工作不會在未經您允許的情況下被終止。這是另一個時間與金錢的權衡考量,因為可中斷實例比專用實例便宜。
+
+#### 2.2.2 建立計算叢集
+
+在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,進入計算資源頁面,您將能夠看到我們剛剛討論的不同計算資源(例如計算實例、計算叢集、推理叢集和附加計算資源)。在這個專案中,我們需要一個計算叢集來進行模型訓練。在 Studio 中,點擊「計算」選單,然後選擇「計算叢集」標籤,接著點擊「+ 新建」按鈕來建立計算叢集。
+
+
+
+1. 選擇您的選項:專用或低優先級、CPU 或 GPU、虛擬機器大小和核心數量(對於此專案,您可以保留預設設定)。
+2. 點擊「下一步」按鈕。
+
+
+
+3. 為叢集命名。
+4. 選擇您的選項:節點的最小/最大數量、閒置秒數後縮減規模、SSH 訪問。請注意,如果最小節點數為 0,當叢集閒置時您可以節省成本。請注意,最大節點數越高,訓練時間越短。建議的最大節點數為 3。
+5. 點擊「建立」按鈕。此步驟可能需要幾分鐘。
+
+
+
+太棒了!現在我們已經有了一個計算叢集,接下來我們需要將數據加載到 Azure ML Studio。
+
+### 2.3 加載數據集
+
+1. 在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,點擊左側選單中的「數據集」,然後點擊「+ 建立數據集」按鈕來建立數據集。選擇「從本地文件」選項並選擇我們之前下載的 Kaggle 數據集。
+
+ 
+
+2. 為您的數據集命名、選擇類型並添加描述。點擊「下一步」。從文件中上傳數據。點擊「下一步」。
+
+ 
+
+3. 在架構中,將以下特徵的數據類型更改為布林值:anaemia、diabetes、high blood pressure、sex、smoking 和 DEATH_EVENT。點擊「下一步」,然後點擊「建立」。
+
+ 
+
+太棒了!現在數據集已經準備就緒,計算叢集也已建立,我們可以開始訓練模型了!
+
+### 2.4 使用 AutoML 進行低代碼/無代碼訓練
+
+傳統的機器學習模型開發需要大量資源,並且需要豐富的領域知識和時間來生成和比較多個模型。自動化機器學習(AutoML)是一種自動化機器學習模型開發中耗時且反覆的任務的過程。它使數據科學家、分析師和開發人員能夠以高效能和高生產力構建機器學習模型,同時保持模型質量。它大大縮短了獲得可投入生產的機器學習模型所需的時間,並且操作簡便高效。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. 在我們之前建立的 [Azure ML 工作區](https://ml.azure.com/) 中,點擊左側選單中的「自動化機器學習」,然後選擇您剛剛上傳的數據集。點擊「下一步」。
+
+ 
+
+2. 輸入一個新的實驗名稱,選擇目標列(DEATH_EVENT)和我們建立的計算叢集。點擊「下一步」。
+
+ 
+
+3. 選擇「分類」,然後點擊「完成」。此步驟可能需要 30 分鐘到 1 小時,具體取決於您的計算叢集大小。
+
+ 
+
+4. 一旦運行完成,點擊「自動化機器學習」標籤,選擇您的運行,然後在「最佳模型摘要」卡片中點擊算法。
+
+ 
+
+在這裡,您可以看到 AutoML 生成的最佳模型的詳細描述。您還可以在「模型」標籤中探索其他生成的模型。花幾分鐘時間探索「解釋(預覽)」中的模型。一旦您選擇了要使用的模型(在這裡我們選擇 AutoML 選出的最佳模型),我們將學習如何部署它。
+
+## 3. 低代碼/無代碼模型部署與端點使用
+### 3.1 模型部署
+
+自動化機器學習介面允許您將最佳模型作為 Web 服務部署,只需幾個步驟。部署是將模型整合以便根據新數據進行預測並識別潛在機會區域的過程。對於此專案,部署到 Web 服務意味著醫療應用程式將能夠使用該模型來即時預測患者的心臟病風險。
+
+在最佳模型描述中,點擊「部署」按鈕。
+
+
+
+15. 為其命名,添加描述,選擇計算類型(Azure 容器實例),啟用身份驗證,然後點擊「部署」。此步驟可能需要約 20 分鐘完成。部署過程包括多個步驟,例如註冊模型、生成資源並為 Web 服務配置它們。在「部署狀態」下會顯示狀態消息。定期點擊「刷新」以檢查部署狀態。當狀態顯示為「健康」時,表示部署已完成並正在運行。
+
+
+
+16. 部署完成後,點擊「端點」標籤,然後選擇您剛剛部署的端點。在這裡,您可以找到有關該端點的所有詳細資訊。
+
+
+
+太棒了!現在我們已經部署了一個模型,接下來我們可以開始使用該端點。
+
+### 3.2 端點使用
+
+點擊「使用」標籤。在這裡,您可以找到 REST 端點和一個 Python 腳本的使用選項。花些時間閱讀該 Python 程式碼。
+
+該腳本可以直接從您的本地機器運行,並將使用您的端點。
+
+
+
+花點時間查看以下兩行程式碼:
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+`url` 變數是使用標籤中找到的 REST 端點,而 `api_key` 變數是使用標籤中找到的主金鑰(僅在啟用了身份驗證的情況下)。這就是腳本如何使用端點的方式。
+
+18. 運行該腳本,您應該會看到以下輸出:
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+這表示對於給定數據的心臟衰竭預測結果為真。這是合理的,因為如果您仔細查看腳本中自動生成的數據,所有值默認為 0 和 false。您可以使用以下輸入樣本更改數據:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+腳本應返回:
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+恭喜!您剛剛使用 Azure ML 訓練並部署了模型,並成功使用了該模型!
+
+> **_注意:_** 完成專案後,請記得刪除所有資源。
+## 🚀 挑戰
+
+仔細查看 AutoML 為頂級模型生成的模型解釋和詳細資訊。試著理解為什麼最佳模型比其他模型更好。比較了哪些算法?它們之間有什麼區別?為什麼在這種情況下最佳模型表現更好?
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## 回顧與自學
+
+在本課中,您學習了如何在雲端以低代碼/無代碼方式訓練、部署和使用模型來預測心臟衰竭風險。如果您還沒有深入研究,請深入了解 AutoML 為頂級模型生成的模型解釋,並試著理解為什麼最佳模型比其他模型更好。
+
+您可以通過閱讀這篇[文檔](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)進一步了解低代碼/無代碼 AutoML。
+
+## 作業
+
+[Azure ML 上的低代碼/無代碼數據科學專案](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用本翻譯而引起的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..3c12e984
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# 在 Azure ML 上進行低代碼/無代碼的數據科學專案
+
+## 指導說明
+
+我們已經學習了如何使用 Azure ML 平台以低代碼/無代碼的方式訓練、部署和使用模型。現在,請尋找一些可以用來訓練另一個模型的數據,並將其部署和使用。你可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上尋找數據集。
+
+## 評分標準
+
+| 優秀 | 合格 | 需要改進 |
+|------|------|----------|
+|在上傳數據時,你注意到了是否需要更改特徵的類型。如果需要,你也對數據進行了清理。你使用 AutoML 對數據集進行了訓練,並檢查了模型解釋。你部署了最佳模型,並成功使用了它。 | 在上傳數據時,你注意到了是否需要更改特徵的類型。你使用 AutoML 對數據集進行了訓練,部署了最佳模型,並成功使用了它。 | 你部署了 AutoML 訓練出的最佳模型,並成功使用了它。 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/tw/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..ca38797c
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,310 @@
+
+# 雲端中的數據科學:使用 "Azure ML SDK"
+
+| 繪製的速寫筆記](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| 雲端中的數據科學:Azure ML SDK - _速寫筆記由 [@nitya](https://twitter.com/nitya)_ 提供 |
+
+目錄:
+
+- [雲端中的數據科學:使用 "Azure ML SDK"](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [課前測驗](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. 簡介](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 什麼是 Azure ML SDK?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 心臟衰竭預測項目和數據集介紹](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. 使用 Azure ML SDK 訓練模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 建立 Azure ML 工作區](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 建立計算實例](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 加載數據集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 建立筆記本](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 訓練模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 設置工作區、實驗、計算叢集和數據集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 AutoML 配置和訓練](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. 使用 Azure ML SDK 部署模型和消費端點](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 保存最佳模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 模型部署](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 消費端點](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 挑戰](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [課後測驗](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [回顧與自學](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [作業](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. 簡介
+
+### 1.1 什麼是 Azure ML SDK?
+
+數據科學家和 AI 開發者使用 Azure Machine Learning SDK 與 Azure Machine Learning 服務一起構建和運行機器學習工作流程。您可以在任何 Python 環境中與該服務交互,包括 Jupyter Notebooks、Visual Studio Code 或您喜愛的 Python IDE。
+
+SDK 的主要功能包括:
+
+- 探索、準備和管理機器學習實驗中使用的數據集的生命周期。
+- 管理雲端資源以進行監控、日誌記錄和組織機器學習實驗。
+- 在本地或使用雲端資源(包括 GPU 加速的模型訓練)訓練模型。
+- 使用自動化機器學習,該功能接受配置參數和訓練數據,並自動迭代算法和超參數設置以找到最佳模型進行預測。
+- 部署 Web 服務,將訓練好的模型轉換為可在任何應用中使用的 RESTful 服務。
+
+[了解更多關於 Azure Machine Learning SDK 的信息](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+在[上一課](../18-Low-Code/README.md)中,我們學習了如何以低代碼/無代碼方式訓練、部署和使用模型。我們使用了心臟衰竭數據集來生成心臟衰竭預測模型。在本課中,我們將使用 Azure Machine Learning SDK 完成相同的任務。
+
+
+
+### 1.2 心臟衰竭預測項目和數據集介紹
+
+查看[此處](../18-Low-Code/README.md)了解心臟衰竭預測項目和數據集介紹。
+
+## 2. 使用 Azure ML SDK 訓練模型
+### 2.1 建立 Azure ML 工作區
+
+為了簡化操作,我們將在 Jupyter Notebook 中工作。這意味著您已經擁有一個工作區和一個計算實例。如果您已經有工作區,可以直接跳到 2.3 筆記本創建部分。
+
+如果沒有,請按照[上一課](../18-Low-Code/README.md)中 **2.1 建立 Azure ML 工作區** 部分的指示來創建工作區。
+
+### 2.2 建立計算實例
+
+在我們之前創建的 [Azure ML 工作區](https://ml.azure.com/) 中,進入計算菜單,您將看到不同的計算資源。
+
+
+
+讓我們創建一個計算實例來提供 Jupyter Notebook。
+1. 點擊 + New 按鈕。
+2. 為您的計算實例命名。
+3. 選擇您的選項:CPU 或 GPU、VM 大小和核心數量。
+4. 點擊 Create 按鈕。
+
+恭喜,您剛剛創建了一個計算實例!我們將在[建立筆記本部分](../../../../5-Data-Science-In-Cloud/19-Azure)中使用此計算實例。
+
+### 2.3 加載數據集
+如果您尚未上傳數據集,請參考[上一課](../18-Low-Code/README.md)中的 **2.3 加載數據集** 部分。
+
+### 2.4 建立筆記本
+
+> **_注意:_** 接下來的步驟,您可以選擇從頭創建一個新的筆記本,或者上傳我們之前創建的 [筆記本](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb) 到您的 Azure ML Studio。要上傳,簡單地點擊 "Notebook" 菜單並上傳筆記本。
+
+筆記本是數據科學過程中非常重要的一部分。它們可以用於進行探索性數據分析(EDA)、調用計算叢集來訓練模型、調用推理叢集來部署端點。
+
+要創建筆記本,我們需要一個提供 Jupyter Notebook 實例的計算節點。返回 [Azure ML 工作區](https://ml.azure.com/) 並點擊計算實例。在計算實例列表中,您應該看到我們之前創建的[計算實例](../../../../5-Data-Science-In-Cloud/19-Azure)。
+
+1. 在 Applications 部分,點擊 Jupyter 選項。
+2. 勾選 "Yes, I understand" 框並點擊 Continue 按鈕。
+
+3. 這將在瀏覽器中打開一個新的標籤頁,顯示您的 Jupyter Notebook 實例。點擊 "New" 按鈕以創建筆記本。
+
+
+
+現在我們有了一個筆記本,可以開始使用 Azure ML SDK 訓練模型。
+
+### 2.5 訓練模型
+
+首先,如果您有任何疑問,請參考 [Azure ML SDK 文檔](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。它包含了理解我們在本課中將看到的模塊所需的所有信息。
+
+#### 2.5.1 設置工作區、實驗、計算叢集和數據集
+
+您需要使用以下代碼從配置文件加載 `workspace`:
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+這將返回一個表示工作區的 `Workspace` 類型的對象。接下來,您需要使用以下代碼創建一個 `experiment`:
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+要從工作區獲取或創建實驗,您需要使用實驗名稱請求實驗。實驗名稱必須是 3-36 個字符,並以字母或數字開頭,只能包含字母、數字、下劃線和連字符。如果在工作區中找不到實驗,則會創建一個新的實驗。
+
+現在,您需要使用以下代碼創建一個計算叢集來進行訓練。請注意,此步驟可能需要幾分鐘。
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+您可以通過數據集名稱從工作區獲取數據集,如下所示:
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+#### 2.5.2 AutoML 配置和訓練
+
+要設置 AutoML 配置,請使用 [AutoMLConfig 類](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。
+
+如文檔所述,您可以使用許多參數進行配置。對於本項目,我們將使用以下參數:
+
+- `experiment_timeout_minutes`:實驗允許運行的最大時間(以分鐘為單位),超過此時間後實驗將自動停止並自動提供結果。
+- `max_concurrent_iterations`:實驗允許的最大並發訓練迭代次數。
+- `primary_metric`:用於確定實驗狀態的主要指標。
+- `compute_target`:運行自動化機器學習實驗的 Azure Machine Learning 計算目標。
+- `task`:要運行的任務類型。值可以是 'classification'、'regression' 或 'forecasting',具體取決於要解決的自動化機器學習問題類型。
+- `training_data`:實驗中使用的訓練數據。它應包含訓練特徵和標籤列(可選的樣本權重列)。
+- `label_column_name`:標籤列的名稱。
+- `path`:Azure Machine Learning 項目文件夾的完整路徑。
+- `enable_early_stopping`:是否啟用早期終止,如果短期內分數沒有改善。
+- `featurization`:指示是否應自動進行特徵化步驟,或者是否應使用自定義特徵化。
+- `debug_log`:寫入調試信息的日誌文件。
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+現在您已設置好配置,可以使用以下代碼訓練模型。此步驟可能需要長達一小時,具體取決於您的叢集大小。
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+您可以運行 RunDetails 小部件以顯示不同的實驗。
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+## 3. 使用 Azure ML SDK 部署模型和消費端點
+
+### 3.1 保存最佳模型
+
+`remote_run` 是 [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 類型的對象。此對象包含 `get_output()` 方法,該方法返回最佳運行及其相應的擬合模型。
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+您可以通過打印 fitted_model 查看最佳模型使用的參數,並使用 [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法查看最佳模型的屬性。
+
+```python
+best_run.get_properties()
+```
+
+現在使用 [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法註冊模型。
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+### 3.2 模型部署
+
+保存最佳模型後,我們可以使用 [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) 類進行部署。InferenceConfig 表示用於部署的自定義環境的配置設置。[AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) 類表示部署為 Azure 容器實例上的 Web 服務端點的機器學習模型。部署的服務由模型、腳本和相關文件創建。生成的 Web 服務是一個負載均衡的 HTTP 端點,具有 REST API。您可以向此 API 發送數據並接收模型返回的預測。
+
+模型使用 [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法進行部署。
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+此步驟可能需要幾分鐘。
+
+### 3.3 消費端點
+
+您可以通過創建一個樣本輸入來使用您的端點:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+然後,您可以將此輸入發送到您的模型進行預測:
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+這應該輸出 `'{"result": [false]}'`。這表示我們傳送到端點的患者輸入生成了預測結果 `false`,這意味著此人不太可能發生心臟病。
+
+恭喜!你剛剛使用 Azure ML SDK 消耗了在 Azure ML 上部署和訓練的模型!
+
+> **_NOTE:_** 完成專案後,別忘了刪除所有資源。
+
+## 🚀 挑戰
+
+透過 SDK 還有許多其他功能可以實現,但很遺憾,我們無法在這節課中全部介紹。不過有個好消息,學會如何快速瀏覽 SDK 文件可以幫助你在學習路上走得更遠。查看 Azure ML SDK 文件,並找到允許你建立管道的 `Pipeline` 類別。管道是一系列可以作為工作流程執行的步驟集合。
+
+**提示:** 前往 [SDK 文件](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109),在搜索欄中輸入關鍵字如 "Pipeline"。你應該能在搜索結果中找到 `azureml.pipeline.core.Pipeline` 類別。
+
+## [課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## 回顧與自學
+
+在這節課中,你學會了如何使用 Azure ML SDK 在雲端訓練、部署和消耗模型,以預測心臟衰竭風險。查看這份 [文件](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109),了解更多關於 Azure ML SDK 的資訊。嘗試使用 Azure ML SDK 建立你自己的模型。
+
+## 作業
+
+[使用 Azure ML SDK 的數據科學專案](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/tw/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..41c247a2
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# 使用 Azure ML SDK 的數據科學專案
+
+## 指示
+
+我們已經學習如何使用 Azure ML 平台透過 Azure ML SDK 進行模型的訓練、部署和使用。現在,請尋找一些可以用來訓練其他模型的數據,並將其部署和使用。您可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上尋找數據集。
+
+## 評分標準
+
+| 卓越 | 合格 | 需要改進 |
+|------|------|----------|
+|在進行 AutoML 配置時,您查閱了 SDK 文件以了解可以使用的參數。您使用 Azure ML SDK 透過 AutoML 在數據集上進行了訓練,並檢查了模型解釋。您部署了最佳模型,並能夠透過 Azure ML SDK 使用該模型。 | 您使用 Azure ML SDK 透過 AutoML 在數據集上進行了訓練,並檢查了模型解釋。您部署了最佳模型,並能夠透過 Azure ML SDK 使用該模型。 | 您使用 Azure ML SDK 透過 AutoML 在數據集上進行了訓練。您部署了最佳模型,並能夠透過 Azure ML SDK 使用該模型。 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/5-Data-Science-In-Cloud/README.md b/translations/tw/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..e8f93ebc
--- /dev/null
+++ b/translations/tw/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,32 @@
+
+# 雲端中的數據科學
+
+
+
+> 照片由 [Jelleke Vanooteghem](https://unsplash.com/@ilumire) 提供,來自 [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
+
+在處理大數據的數據科學時,雲端可以帶來革命性的改變。在接下來的三節課中,我們將了解什麼是雲端以及它為什麼如此有用。我們還將探索一個心臟衰竭數據集,並建立一個模型來幫助評估某人患心臟衰竭的可能性。我們將利用雲端的強大功能來訓練、部署並以兩種不同的方式使用模型。一種方式是僅使用用戶界面,以低代碼/無代碼的方式進行;另一種方式是使用 Azure 機器學習軟件開發工具包 (Azure ML SDK)。
+
+
+
+### 主題
+
+1. [為什麼在數據科學中使用雲端?](17-Introduction/README.md)
+2. [雲端中的數據科學:低代碼/無代碼方式](18-Low-Code/README.md)
+3. [雲端中的數據科學:Azure ML SDK 方式](19-Azure/README.md)
+
+### 致謝
+這些課程由 [Maud Levy](https://twitter.com/maudstweets) 和 [Tiffany Souterre](https://twitter.com/TiffanySouterre) 用 ☁️ 和 💕 編寫。
+
+心臟衰竭預測項目的數據來源於 [Larxel](https://www.kaggle.com/andrewmvd) 在 [Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data) 上提供。該數據遵循 [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) 授權。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
new file mode 100644
index 00000000..4fdd7a39
--- /dev/null
+++ b/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# 數據科學在現實世界中的應用
+
+|  繪製的速寫筆記](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| 數據科學在現實世界中的應用 - _由 [@nitya](https://twitter.com/nitya) 繪製的速寫筆記_ |
+
+我們的學習旅程即將結束!
+
+我們從數據科學和倫理的定義開始,探索了各種數據分析和可視化工具與技術,回顧了數據科學的生命周期,並研究了如何利用雲端計算服務擴展和自動化數據科學工作流程。所以,你可能會想:_"如何將這些學到的知識應用到現實世界中?"_
+
+在本課程中,我們將探討數據科學在各行業中的現實應用,並深入研究在研究、數字人文和可持續性等背景中的具體案例。我們還會介紹學生項目機會,並提供一些有用的資源,幫助你繼續學習旅程!
+
+## 課前測驗
+
+[課前測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## 數據科學 + 行業
+
+隨著人工智能的普及化,開發者現在可以更輕鬆地設計和整合基於人工智能的決策以及數據驅動的洞察到用戶體驗和開發工作流程中。以下是數據科學在各行業中現實應用的一些例子:
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends/) 使用數據科學將搜索詞與流感趨勢相關聯。儘管方法存在缺陷,但它提高了人們對數據驅動的醫療預測可能性(以及挑戰)的認識。
+
+ * [UPS 路線預測](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - 解釋了 UPS 如何使用數據科學和機器學習來預測最佳配送路線,考慮到天氣條件、交通模式、配送截止日期等因素。
+
+ * [紐約市計程車路線可視化](http://chriswhong.github.io/nyctaxi/) - 使用[信息自由法](https://chriswhong.com/open-data/foil_nyc_taxi/)收集的數據幫助可視化紐約市計程車一天的運作情況,幫助我們了解它們如何在繁忙的城市中穿梭、賺取的收入以及每24小時內行程的持續時間。
+
+ * [Uber 數據科學工作台](https://eng.uber.com/dsw/) - 使用每天從數百萬次 Uber 行程中收集的數據(如接送地點、行程持續時間、偏好路線等),構建數據分析工具以幫助定價、安全、欺詐檢測和導航決策。
+
+ * [運動分析](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - 專注於_預測分析_(團隊和球員分析 - 想想[點球成金](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/) - 和粉絲管理)以及_數據可視化_(團隊和粉絲儀表板、比賽等),應用於人才選拔、運動博彩和庫存/場地管理。
+
+ * [銀行業中的數據科學](https://data-flair.training/blogs/data-science-in-banking/) - 強調數據科學在金融行業中的價值,應用包括風險建模和欺詐檢測、客戶細分、實時預測和推薦系統。預測分析還推動了關鍵措施,如[信用評分](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit)。
+
+ * [醫療保健中的數據科學](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/)
+
+該圖展示了其他領域和應用數據科學技術的例子。想探索其他應用?請查看下面的[回顧與自學](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)部分。
+
+## 數據科學 + 研究
+
+|  繪製的速寫筆記](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與研究 - _由 [@nitya](https://twitter.com/nitya) 繪製的速寫筆記_ |
+
+雖然現實世界的應用通常專注於大規模的行業案例,_研究_應用和項目可以從兩個角度提供價值:
+
+* _創新機會_ - 探索先進概念的快速原型設計以及下一代應用的用戶體驗測試。
+* _部署挑戰_ - 調查數據科學技術在現實世界中的潛在危害或意外後果。
+
+對於學生來說,這些研究項目可以提供學習和合作的機會,幫助你加深對主題的理解,並擴展你與相關領域中工作的人或團隊的認識和參與。那麼研究項目是什麼樣的?它們如何產生影響?
+
+讓我們看一個例子——[MIT 性別陰影研究](http://gendershades.org/overview.html),由 Joy Buolamwini(MIT 媒體實驗室)進行,並與 Timnit Gebru(當時在微軟研究院)共同撰寫了一篇[標誌性研究論文](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf),該研究專注於:
+
+ * **什麼:** 該研究項目的目標是_評估基於性別和膚色的自動面部分析算法和數據集中的偏差_。
+ * **為什麼:** 面部分析被用於執法、機場安檢、招聘系統等領域——在這些背景中,由於偏差導致的不準確分類可能對受影響的個人或群體造成潛在的經濟和社會危害。理解(並消除或減輕)偏差是使用公平性的關鍵。
+ * **如何:** 研究人員認識到現有基準主要使用膚色較淺的受試者,並策劃了一個新的數據集(1000+ 圖像),該數據集在性別和膚色方面更加平衡。該數據集被用於評估三個性別分類產品(來自微軟、IBM 和 Face++)的準確性。
+
+結果顯示,儘管整體分類準確性良好,但不同子群體之間的錯誤率存在顯著差異——其中**性別錯誤分類**在女性或膚色較深的人群中更高,表明存在偏差。
+
+**主要成果:** 提高了人們對數據科學需要更多_代表性數據集_(平衡的子群體)和更多_包容性團隊_(多樣化背景)的認識,以便在人工智能解決方案中更早地識別並消除或減輕這些偏差。像這樣的研究努力對許多組織定義負責任人工智能的原則和實踐也至關重要,以改善其人工智能產品和流程的公平性。
+
+**想了解微軟相關的研究工作?**
+
+* 查看[微軟研究項目](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project)中的人工智能研究。
+* 探索[微軟研究數據科學暑期學校](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/)的學生項目。
+* 查看[Fairlearn](https://fairlearn.org/)項目和[負責任人工智能](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)倡議。
+
+## 數據科學 + 人文
+
+|  繪製的速寫筆記](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與數字人文 - _由 [@nitya](https://twitter.com/nitya) 繪製的速寫筆記_ |
+
+數字人文[被定義為](https://digitalhumanities.stanford.edu/about-dh-stanford)“結合計算方法與人文探究的一系列實踐和方法”。[斯坦福項目](https://digitalhumanities.stanford.edu/projects)如_“重啟歷史”_和_“詩意思考”_展示了[數字人文與數據科學](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science)之間的聯繫——強調了網絡分析、信息可視化、空間和文本分析等技術,這些技術可以幫助我們重新審視歷史和文學數據集,從而獲得新的洞察和視角。
+
+*想探索並擴展這一領域的項目?*
+
+查看["Emily Dickinson 和情感的韻律"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671)——這是一個由[Jen Looper](https://twitter.com/jenlooper)提供的精彩例子,探討我們如何利用數據科學重新審視熟悉的詩歌,並在新的背景下重新評估其意義及作者的貢獻。例如,_我們能否通過分析詩歌的語氣或情感來預測詩歌創作的季節_——這對於作者在相關時期的心理狀態有什麼啟示?
+
+為了回答這個問題,我們遵循數據科學生命周期的步驟:
+ * [`數據獲取`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - 收集相關數據集進行分析。選項包括使用 API(例如 [Poetry DB API](https://poetrydb.org/index.html))或使用工具(例如 [Scrapy](https://scrapy.org/))抓取網頁(例如 [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm))。
+ * [`數據清理`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - 解釋如何使用基本工具(如 Visual Studio Code 和 Microsoft Excel)格式化、清理和簡化文本。
+ * [`數據分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - 解釋如何將數據集導入“筆記本”進行分析,使用 Python 包(如 pandas、numpy 和 matplotlib)組織和可視化數據。
+ * [`情感分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - 解釋如何使用低代碼工具(如 [Power Automate](https://flow.microsoft.com/en-us/))集成雲服務(如文本分析)進行自動化數據處理工作流程。
+
+通過這一工作流程,我們可以探索季節對詩歌情感的影響,並幫助我們形成對作者的獨特視角。自己試試看——然後擴展筆記本以提出其他問題或以新的方式可視化數據!
+
+> 你可以使用[數字人文工具包](https://github.com/Digital-Humanities-Toolkit)中的一些工具來進行這些探究。
+
+## 數據科學 + 可持續性
+
+|  繪製的速寫筆記](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 數據科學與可持續性 - _由 [@nitya](https://twitter.com/nitya) 繪製的速寫筆記_ |
+
+[2030 可持續發展議程](https://sdgs.un.org/2030agenda)——由所有聯合國成員於 2015 年通過——確定了 17 個目標,其中包括專注於**保護地球**免受退化和氣候變化影響的目標。[微軟可持續性](https://www.microsoft.com/en-us/sustainability)倡議支持這些目標,探索技術解決方案如何支持並構建更可持續的未來,並專注於[四個目標](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh)——到 2030 年實現碳負排放、正水影響、零廢物和生物多樣性。
+
+以可擴展和及時的方式應對這些挑戰需要雲端規模的思維——以及大規模數據。[Planetary Computer](https://planetarycomputer.microsoft.com/)倡議提供了四個組件,幫助數據科學家和開發者應對這些挑戰:
+
+ * [數據目錄](https://planetarycomputer.microsoft.com/catalog) - 提供數百萬兆字節的地球系統數據(免費且托管於 Azure)。
+ * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - 幫助用戶在空間和時間上搜索相關數據。
+ * [Hub](https://planetarycomputer.microsoft.com/docs/overview/environment/) - 為科學家提供處理大規模地理空間數據集的管理環境。
+ * [應用](https://planetarycomputer.microsoft.com/applications) - 展示可持續性洞察的使用案例和工具。
+**Planetary Computer Project 目前處於預覽階段(截至 2021 年 9 月)** - 以下是如何開始使用資料科學為永續解決方案做出貢獻。
+
+* [申請訪問權限](https://planetarycomputer.microsoft.com/account/request),開始探索並與同行交流。
+* [探索文件](https://planetarycomputer.microsoft.com/docs/overview/about),了解支援的資料集和 API。
+* 探索像 [生態系統監測](https://analytics-lab.org/ecosystemmonitoring/) 這樣的應用程式,尋找應用程式創意的靈感。
+
+思考如何利用資料視覺化揭示或放大與氣候變遷和森林砍伐等領域相關的洞察力。或者思考如何利用洞察力創造新的使用者體驗,激勵行為改變以實現更永續的生活。
+
+## 資料科學 + 學生
+
+我們已經討論了在產業和研究中的實際應用,並探索了數位人文和永續性中的資料科學應用範例。那麼,作為資料科學初學者,你如何建立技能並分享專業知識呢?
+
+以下是一些資料科學學生專案的範例,供你參考。
+
+ * [MSR 資料科學夏季學校](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects) 的 GitHub [專案](https://github.com/msr-ds3),探索以下主題:
+ - [警察使用武力中的種族偏見](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [紐約地鐵系統的可靠性](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+ * [數位化物質文化:探索 Sirkap 的社會經濟分佈](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - 由 [Ornella Altunyan](https://twitter.com/ornelladotcom) 和 Claremont 團隊使用 [ArcGIS StoryMaps](https://storymaps.arcgis.com/) 完成。
+
+## 🚀 挑戰
+
+搜尋推薦給初學者的資料科學專案文章,例如 [這 50 個主題領域](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/)、[這 21 個專案創意](https://www.intellspot.com/data-science-project-ideas) 或 [這 16 個帶有原始碼的專案](https://data-flair.training/blogs/data-science-project-ideas/),你可以拆解並重新混合。別忘了撰寫部落格分享你的學習旅程,並與我們分享你的洞察力。
+
+## 課後測驗
+
+[課後測驗](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## 回顧與自學
+
+想探索更多使用案例嗎?以下是一些相關文章:
+ * [17 個資料科學應用與範例](https://builtin.com/data-science/data-science-applications-examples) - 2021 年 7 月
+ * [11 個令人驚嘆的資料科學實際應用](https://myblindbird.com/data-science-applications-real-world/) - 2021 年 5 月
+ * [資料科學在現實世界中的應用](https://towardsdatascience.com/data-science-in-the-real-world/home) - 文章合集
+ * 資料科學在以下領域的應用:[教育](https://data-flair.training/blogs/data-science-in-education/)、[農業](https://data-flair.training/blogs/data-science-in-agriculture/)、[金融](https://data-flair.training/blogs/data-science-in-finance/)、[電影](https://data-flair.training/blogs/data-science-at-movies/) 等。
+
+## 作業
+
+[探索 Planetary Computer 資料集](assignment.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
new file mode 100644
index 00000000..a0a74926
--- /dev/null
+++ b/translations/tw/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# 探索行星電腦數據集
+
+## 說明
+
+在本課程中,我們討論了各種數據科學應用領域,深入探討了與研究、可持續性和數字人文相關的示例。在這次作業中,您將更詳細地探索其中一個示例,並應用您在數據可視化和分析方面的學習成果,從可持續性數據中獲得洞察。
+
+[行星電腦](https://planetarycomputer.microsoft.com/)項目提供了可以通過帳戶訪問的數據集和API——如果您想嘗試作業的額外步驟,可以申請帳戶以獲得訪問權限。該網站還提供了一個[Explorer](https://planetarycomputer.microsoft.com/explore)功能,您可以在不創建帳戶的情況下使用。
+
+`步驟:`
+Explorer界面(如下圖所示)允許您選擇數據集(從提供的選項中)、預設查詢(用於篩選數據)和渲染選項(用於創建相關的可視化)。在這次作業中,您的任務是:
+
+ 1. 閱讀[Explorer文檔](https://planetarycomputer.microsoft.com/docs/overview/explorer/)——了解選項。
+ 2. 探索數據集[目錄](https://planetarycomputer.microsoft.com/catalog)——了解每個數據集的用途。
+ 3. 使用Explorer——選擇一個感興趣的數據集,選擇相關的查詢和渲染選項。
+
+
+
+`您的任務:`
+現在研究瀏覽器中渲染的可視化,並回答以下問題:
+ * 數據集有哪些_特徵_?
+ * 可視化提供了哪些_洞察_或結果?
+ * 這些洞察對項目的可持續性目標有什麼_影響_?
+ * 可視化的_局限性_是什麼(即,您未獲得哪些洞察)?
+ * 如果您能獲得原始數據,您會創建哪些_替代可視化_,為什麼?
+
+`額外加分:`
+申請帳戶——並在獲得批准後登錄。
+ * 使用 _Launch Hub_ 選項在Notebook中打開原始數據。
+ * 交互式探索數據,並實現您想到的替代可視化。
+ * 現在分析您的自定義可視化——您是否能夠獲得之前未能獲得的洞察?
+
+## 評分標準
+
+卓越 | 合格 | 需要改進
+--- | --- | -- |
+回答了所有五個核心問題。學生清楚地指出了當前和替代可視化如何提供有關可持續性目標或結果的洞察。| 學生詳細回答了至少前三個問題,表明他們對Explorer有實際經驗。| 學生未能回答多個問題,或提供的細節不足——表明未對項目進行有意義的嘗試 |
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/6-Data-Science-In-Wild/README.md b/translations/tw/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..7c117a84
--- /dev/null
+++ b/translations/tw/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# 野外數據科學
+
+數據科學在各行各業中的實際應用。
+
+### 主題
+
+1. [現實世界中的數據科學](20-Real-World-Examples/README.md)
+
+### 致謝
+
+由 [Nitya Narasimhan](https://twitter.com/nitya) 用 ❤️ 撰寫
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/CODE_OF_CONDUCT.md b/translations/tw/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..4a5c31e3
--- /dev/null
+++ b/translations/tw/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# Microsoft 開源行為準則
+
+此專案已採用 [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)。
+
+資源:
+
+- [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)
+- [Microsoft 行為準則常見問題](https://opensource.microsoft.com/codeofconduct/faq/)
+- 如有疑問或擔憂,請聯繫 [opencode@microsoft.com](mailto:opencode@microsoft.com)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/CONTRIBUTING.md b/translations/tw/CONTRIBUTING.md
new file mode 100644
index 00000000..ab217e4d
--- /dev/null
+++ b/translations/tw/CONTRIBUTING.md
@@ -0,0 +1,20 @@
+
+# 貢獻指南
+
+此專案歡迎各種貢獻與建議。大多數的貢獻需要您同意一份貢獻者授權協議 (CLA),以聲明您擁有授權權利,並且確實授予我們使用您貢獻內容的權利。詳細資訊請參訪 https://cla.microsoft.com。
+
+當您提交拉取請求 (pull request) 時,CLA 機器人會自動判斷您是否需要提供 CLA,並適當地標記 PR(例如,添加標籤或評論)。只需按照機器人提供的指示操作即可。您只需在所有使用我們 CLA 的存儲庫中完成一次此流程。
+
+此專案已採用 [Microsoft 開源行為準則](https://opensource.microsoft.com/codeofconduct/)。
+如需更多資訊,請參閱 [行為準則常見問題](https://opensource.microsoft.com/codeofconduct/faq/) 或透過 [opencode@microsoft.com](mailto:opencode@microsoft.com) 聯絡我們,提出其他問題或意見。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/README.md b/translations/tw/README.md
new file mode 100644
index 00000000..79929c71
--- /dev/null
+++ b/translations/tw/README.md
@@ -0,0 +1,161 @@
+
+# 資料科學入門 - 課程大綱
+
+Azure 的雲端倡導者團隊很高興為您提供一個為期 10 週、共 20 節課的資料科學課程。每節課包含課前與課後測驗、完成課程的書面指導、解答以及作業。我們採用以專案為基礎的教學法,讓您在實作中學習,這是一種能讓新技能更牢固掌握的有效方法。
+
+**特別感謝我們的作者們:** [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)。
+
+**🙏 特別感謝 🙏 我們的 [Microsoft 學生大使](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/)。
+
+| 繪製的手繪筆記](./sketchnotes/00-Title.png)|
+|:---:|
+| 資料科學入門 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+## 公告 - 全新生成式 AI 課程已發布!
+
+我們剛剛發布了一個包含 12 節課的生成式 AI 課程。學習內容包括:
+
+- 提示與提示工程
+- 文本與圖像應用程式生成
+- 搜尋應用程式
+
+如往常一樣,每節課包含課程內容、作業、知識檢查與挑戰。
+
+查看課程內容:
+
+> https://aka.ms/genai-beginners
+
+# 您是學生嗎?
+
+可以從以下資源開始:
+
+- [學生中心頁面](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) 在這個頁面,您可以找到入門資源、學生套件,甚至有機會獲得免費認證憑證。這是您應該收藏並定期查看的頁面,因為我們至少每月更新一次內容。
+- [Microsoft 學生大使](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) 加入全球學生大使社群,這可能是您進入 Microsoft 的途徑。
+
+# 開始使用
+
+> **教師們**:我們已[提供一些建議](for-teachers.md)來幫助您使用這份課程。我們期待您在[討論區](https://github.com/microsoft/Data-Science-For-Beginners/discussions)中的反饋!
+
+> **[學生們](https://aka.ms/student-page)**:如果您想自行使用這份課程,請將整個倉庫分叉,並從課前測驗開始完成練習。接著閱讀課程內容並完成其餘活動。嘗試通過理解課程內容來完成專案,而不是直接複製解答程式碼;不過,解答程式碼可以在每個專案導向課程的 /solutions 資料夾中找到。另一個建議是與朋友組成學習小組,一起學習這些內容。進一步學習,我們推薦 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum)。
+
+## 認識團隊
+
+[](https://youtu.be/8mzavjQSMM4 "宣傳影片")
+
+**Gif 作者** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
+
+> 🎥 點擊上方圖片觀看關於這個專案及其創作者的影片!
+
+## 教學法
+
+在設計這份課程時,我們選擇了兩個教學原則:確保課程以專案為基礎,並包含頻繁的測驗。在這個系列結束時,學生將學會資料科學的基本原則,包括倫理概念、資料準備、不同的資料處理方式、資料視覺化、資料分析、資料科學的實際應用案例等。
+
+此外,課前的低壓力測驗能幫助學生專注於學習主題,而課後測驗則能進一步鞏固記憶。這份課程設計靈活且有趣,可以完整學習,也可以部分選修。專案從簡單開始,並在 10 週的學習週期中逐漸變得更具挑戰性。
+
+> 查看我們的 [行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯指南](TRANSLATIONS.md)。我們歡迎您的建設性反饋!
+
+## 每節課包含:
+
+- 可選的手繪筆記
+- 可選的補充影片
+- 課前熱身測驗
+- 書面課程內容
+- 專案導向課程的逐步指導
+- 知識檢查
+- 挑戰
+- 補充閱讀
+- 作業
+- 課後測驗
+
+> **關於測驗的說明**:所有測驗都包含在 Quiz-App 資料夾中,共有 40 個測驗,每個測驗包含三個問題。測驗已從課程中連結,但測驗應用程式可以在本地運行或部署到 Azure;請按照 `quiz-app` 資料夾中的指導進行操作。測驗正在逐步進行本地化。
+
+## 課程內容
+
+| 繪製的手繪筆記](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| 資料科學入門:路線圖 - _手繪筆記由 [@nitya](https://twitter.com/nitya) 繪製_ |
+
+| 課程編號 | 主題 | 課程分組 | 學習目標 | 課程連結 | 作者 |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | 定義資料科學 | [簡介](1-Introduction/README.md) | 學習資料科學的基本概念,以及它與人工智慧、機器學習和大數據的關係。 | [課程](1-Introduction/01-defining-data-science/README.md) [影片](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | 資料科學倫理 | [簡介](1-Introduction/README.md) | 資料倫理的概念、挑戰與框架。 | [課程](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | 定義資料 | [簡介](1-Introduction/README.md) | 資料的分類方式及其常見來源。 | [課程](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | 統計與機率入門 | [簡介](1-Introduction/README.md) | 使用機率與統計的數學技術來理解資料。 | [課程](1-Introduction/04-stats-and-probability/README.md) [影片](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | 使用關聯式資料 | [資料處理](2-Working-With-Data/README.md) | 關聯式資料的介紹,以及使用結構化查詢語言(SQL,發音為 "see-quell")探索與分析關聯式資料的基礎知識。 | [課程](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) |
+| 06 | 使用 NoSQL 資料 | [資料處理](2-Working-With-Data/README.md) | 非關聯式資料的介紹、其各種類型以及探索與分析文件型資料庫的基礎知識。 | [課程](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 07 | 使用 Python | [資料處理](2-Working-With-Data/README.md) | 使用 Python 進行資料探索的基礎知識,包括 Pandas 等庫。建議具備 Python 程式設計的基礎知識。 | [課程](2-Working-With-Data/07-python/README.md) [影片](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | 數據準備 | [處理數據](2-Working-With-Data/README.md) | 關於清理和轉換數據的技術主題,以應對缺失、不準確或不完整數據的挑戰。 | [課程](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | 數量可視化 | [數據可視化](3-Data-Visualization/README.md) | 學習如何使用 Matplotlib 可視化鳥類數據 🦆 | [課程](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | 數據分佈可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化區間內的觀察和趨勢。 | [課程](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | 比例可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化離散和分組百分比。 | [課程](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | 關係可視化 | [數據可視化](3-Data-Visualization/README.md) | 可視化數據集及其變量之間的連接和相關性。 | [課程](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | 有意義的可視化 | [數據可視化](3-Data-Visualization/README.md) | 提供技術和指導,使您的可視化在解決問題和洞察方面更具價值。 | [課程](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | 數據科學生命周期介紹 | [生命周期](4-Data-Science-Lifecycle/README.md) | 介紹數據科學生命周期及其第一步:獲取和提取數據。 | [課程](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | 分析 | [生命周期](4-Data-Science-Lifecycle/README.md) | 數據科學生命周期的這一階段專注於分析數據的技術。 | [課程](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | 溝通 | [生命周期](4-Data-Science-Lifecycle/README.md) | 數據科學生命周期的這一階段專注於以易於決策者理解的方式呈現數據洞察。 | [課程](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 這系列課程介紹雲端中的數據科學及其優勢。 | [課程](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 18 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 使用低代碼工具訓練模型。 | [課程](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 19 | 雲端中的數據科學 | [雲端數據](5-Data-Science-In-Cloud/README.md) | 使用 Azure Machine Learning Studio 部署模型。 | [課程](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 20 | 野外的數據科學 | [野外應用](6-Data-Science-In-Wild/README.md) | 現實世界中的數據科學驅動項目。 | [課程](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+按照以下步驟在 Codespace 中打開此範例:
+1. 點擊 Code 下拉選單,選擇 Open with Codespaces 選項。
+2. 在面板底部選擇 + New codespace。
+如需更多資訊,請查看 [GitHub 文檔](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace)。
+
+## VSCode Remote - Containers
+按照以下步驟使用本地機器和 VSCode 的 VS Code Remote - Containers 擴展在容器中打開此倉庫:
+
+1. 如果您是第一次使用開發容器,請確保您的系統符合前置要求(例如已安裝 Docker),請參考 [入門文檔](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started)。
+
+要使用此倉庫,您可以選擇在隔離的 Docker 卷中打開倉庫:
+
+**注意**:在底層,這將使用 Remote-Containers: **Clone Repository in Container Volume...** 命令將源代碼克隆到 Docker 卷中,而不是本地文件系統。[卷](https://docs.docker.com/storage/volumes/) 是持久化容器數據的首選機制。
+
+或者打開本地克隆或下載的倉庫版本:
+
+- 將此倉庫克隆到您的本地文件系統。
+- 按 F1,選擇 **Remote-Containers: Open Folder in Container...** 命令。
+- 選擇此文件夾的克隆副本,等待容器啟動,然後試試看。
+
+## 離線訪問
+
+您可以使用 [Docsify](https://docsify.js.org/#/) 離線運行此文檔。Fork 此倉庫,在您的本地機器上 [安裝 Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫的根文件夾中輸入 `docsify serve`。網站將在您的本地主機的 3000 端口上提供服務:`localhost:3000`。
+
+> 注意,筆記本文件不會通過 Docsify 渲染,因此當您需要運行筆記本時,請在 VS Code 中使用 Python 核心單獨運行。
+
+## 尋求幫助!
+
+如果您希望翻譯全部或部分課程,請遵循我們的 [翻譯指南](TRANSLATIONS.md)。
+
+## 其他課程
+
+我們的團隊還製作了其他課程!查看以下內容:
+
+- [生成式 AI 初學者課程](https://aka.ms/genai-beginners)
+- [生成式 AI 初學者課程 .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [生成式 AI 與 JavaScript](https://github.com/microsoft/generative-ai-with-javascript)
+- [生成式 AI 與 Java](https://aka.ms/genaijava)
+- [AI 初學者課程](https://aka.ms/ai-beginners)
+- [數據科學初學者課程](https://aka.ms/datascience-beginners)
+- [機器學習初學者課程](https://aka.ms/ml-beginners)
+- [網絡安全初學者課程](https://github.com/microsoft/Security-101)
+- [Web 開發初學者課程](https://aka.ms/webdev-beginners)
+- [物聯網初學者課程](https://aka.ms/iot-beginners)
+- [XR 開發初學者課程](https://github.com/microsoft/xr-development-for-beginners)
+- [掌握 GitHub Copilot 進行配對編程](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [掌握 GitHub Copilot 用於 C#/.NET 開發者](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [選擇您的 Copilot 冒險](https://github.com/microsoft/CopilotAdventures)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/SECURITY.md b/translations/tw/SECURITY.md
new file mode 100644
index 00000000..a27958c7
--- /dev/null
+++ b/translations/tw/SECURITY.md
@@ -0,0 +1,49 @@
+
+## 安全性
+
+Microsoft 非常重視我們軟體產品和服務的安全性,包括透過我們的 GitHub 組織管理的所有原始碼庫,這些組織包括 [Microsoft](https://github.com/Microsoft)、[Azure](https://github.com/Azure)、[DotNet](https://github.com/dotnet)、[AspNet](https://github.com/aspnet)、[Xamarin](https://github.com/xamarin) 以及 [我們的 GitHub 組織](https://opensource.microsoft.com/)。
+
+如果您認為在任何 Microsoft 擁有的原始碼庫中發現了符合 [Microsoft 對安全性漏洞的定義](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) 的安全性漏洞,請按照以下描述向我們報告。
+
+## 回報安全性問題
+
+**請勿透過公開的 GitHub 問題回報安全性漏洞。**
+
+相反,請透過 Microsoft Security Response Center (MSRC) 回報,網址為 [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report)。
+
+如果您希望在不登入的情況下提交,請發送電子郵件至 [secure@microsoft.com](mailto:secure@microsoft.com)。如果可能,請使用我們的 PGP 金鑰加密您的訊息;您可以從 [Microsoft Security Response Center PGP Key 頁面](https://www.microsoft.com/en-us/msrc/pgp-key-msrc) 下載。
+
+您應該在 24 小時內收到回覆。如果因某些原因未收到回覆,請透過電子郵件跟進,以確保我們收到您的原始訊息。更多資訊可參考 [microsoft.com/msrc](https://www.microsoft.com/msrc)。
+
+請提供以下所需資訊(盡可能完整),以幫助我們更好地了解問題的性質和範圍:
+
+ * 問題類型(例如:緩衝區溢位、SQL 注入、跨站腳本攻擊等)
+ * 與問題表現相關的原始檔案完整路徑
+ * 受影響原始碼的位置(標籤/分支/提交或直接 URL)
+ * 重現問題所需的任何特殊配置
+ * 重現問題的逐步指導
+ * 概念驗證或漏洞利用程式碼(如果可能)
+ * 問題的影響,包括攻擊者可能如何利用該問題
+
+這些資訊將幫助我們更快速地分類您的報告。
+
+如果您是為了漏洞賞金計劃而回報,提供更完整的報告可能有助於獲得更高的賞金獎勵。請造訪我們的 [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) 頁面,了解更多有關我們現行計劃的詳細資訊。
+
+## 偏好語言
+
+我們偏好所有的溝通使用英文。
+
+## 政策
+
+Microsoft 遵循 [協調式漏洞披露](https://www.microsoft.com/en-us/msrc/cvd) 的原則。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/SUPPORT.md b/translations/tw/SUPPORT.md
new file mode 100644
index 00000000..81aa1a20
--- /dev/null
+++ b/translations/tw/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# 支援
+## 如何提交問題並獲得協助
+
+此專案使用 GitHub Issues 來追蹤錯誤和功能請求。在提交新問題之前,請先搜尋現有的問題以避免重複。對於新問題,請將您的錯誤或功能請求提交為一個新的 Issue。
+
+如果需要協助或對使用此專案有任何疑問,請提交一個 Issue。
+
+## Microsoft 支援政策
+
+對此存儲庫的支援僅限於上述列出的資源。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。
\ No newline at end of file
diff --git a/translations/tw/docs/_sidebar.md b/translations/tw/docs/_sidebar.md
new file mode 100644
index 00000000..fd966079
--- /dev/null
+++ b/translations/tw/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- 介紹
+ - [定義數據科學](../1-Introduction/01-defining-data-science/README.md)
+ - [數據科學的倫理](../1-Introduction/02-ethics/README.md)
+ - [定義數據](../1-Introduction/03-defining-data/README.md)
+ - [概率與統計](../1-Introduction/04-stats-and-probability/README.md)
+- 處理數據
+ - [關聯式數據庫](../2-Working-With-Data/05-relational-databases/README.md)
+ - [非關聯式數據庫](../2-Working-With-Data/06-non-relational/README.md)
+ - [Python](../2-Working-With-Data/07-python/README.md)
+ - [數據準備](../2-Working-With-Data/08-data-preparation/README.md)
+- 數據可視化
+ - [可視化數量](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [可視化分佈](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [可視化比例](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [可視化關係](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [有意義的可視化](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- 數據科學生命周期
+ - [介紹](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [分析](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [溝通](../4-Data-Science-Lifecycle/16-communication/README.md)
+- 雲端中的數據科學
+ - [介紹](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [低代碼](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- 野外的數據科學
+ - [野外的數據科學](../6-Data-Science-In-Wild/README.md)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/for-teachers.md b/translations/tw/for-teachers.md
new file mode 100644
index 00000000..52e26fb1
--- /dev/null
+++ b/translations/tw/for-teachers.md
@@ -0,0 +1,76 @@
+
+## 給教育工作者
+
+您是否希望在課堂上使用這份課程?請隨意使用!
+
+事實上,您可以直接在 GitHub 上使用 GitHub Classroom 來進行。
+
+要做到這一點,請先 fork 此 repo。您需要為每一課建立一個 repo,因此需要將每個資料夾提取到一個單獨的 repo 中。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 就能分別處理每一課。
+
+這些[完整的指導](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以幫助您了解如何設置您的課堂。
+
+## 直接使用此 repo
+
+如果您希望直接使用目前的 repo,而不使用 GitHub Classroom,也可以這樣做。您需要與您的學生溝通,告訴他們一起學習哪一課。
+
+在線上教學形式(例如 Zoom、Teams 或其他平台)中,您可以為測驗設置分組討論室,並指導學生準備學習。然後邀請學生參加測驗,並在指定時間以 "issues" 的形式提交答案。如果您希望學生公開合作,也可以用相同的方式進行作業。
+
+如果您更喜歡私密的教學形式,可以要求學生逐課 fork 課程到他們自己的 GitHub 私人 repo,並授予您訪問權限。然後他們可以私下完成測驗和作業,並通過 classroom repo 的 issues 提交給您。
+
+在線課堂有許多不同的運作方式。請告訴我們哪種方式最適合您!
+
+## 課程內容包括:
+
+20 篇課程、40 個測驗和 20 個作業。課程配有手繪筆記,適合視覺型學習者。許多課程提供 Python 和 R 版本,並可使用 Jupyter notebooks 在 VS Code 中完成。了解更多關於如何設置您的課堂以使用這些技術堆疊:https://code.visualstudio.com/docs/datascience/jupyter-notebooks。
+
+所有手繪筆記,包括一張大幅海報,都在[此資料夾](../../sketchnotes)中。
+
+整個課程也可以[以 PDF 格式](../../pdf/readme.pdf)獲取。
+
+您還可以使用 [Docsify](https://docsify.js.org/#/) 將此課程作為獨立的、離線友好的網站運行。[安裝 Docsify](https://docsify.js.org/#/quickstart) 到您的本地機器,然後在本地 repo 的根目錄中輸入 `docsify serve`。網站將在本地端口 3000 上運行:`localhost:3000`。
+
+課程的離線版本將以獨立網頁形式打開:https://localhost:3000
+
+課程分為六個部分:
+
+- 1: 介紹
+ - 1: 定義數據科學
+ - 2: 倫理
+ - 3: 定義數據
+ - 4: 概率與統計概述
+- 2: 處理數據
+ - 5: 關聯式數據庫
+ - 6: 非關聯式數據庫
+ - 7: Python
+ - 8: 數據準備
+- 3: 數據可視化
+ - 9: 數量的可視化
+ - 10: 分佈的可視化
+ - 11: 比例的可視化
+ - 12: 關係的可視化
+ - 13: 有意義的可視化
+- 4: 數據科學生命周期
+ - 14: 介紹
+ - 15: 分析
+ - 16: 溝通
+- 5: 雲端中的數據科學
+ - 17: 介紹
+ - 18: 低代碼選項
+ - 19: Azure
+- 6: 真實世界中的數據科學
+ - 20: 概述
+
+## 請分享您的想法!
+
+我們希望這份課程能夠滿足您和您的學生的需求。請在討論區提供反饋!也可以在討論區為您的學生創建一個課堂專區。
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/quiz-app/README.md b/translations/tw/quiz-app/README.md
new file mode 100644
index 00000000..5cee8d20
--- /dev/null
+++ b/translations/tw/quiz-app/README.md
@@ -0,0 +1,137 @@
+
+# 測驗
+
+這些測驗是數據科學課程的課前和課後測驗,課程網址為:https://aka.ms/datascience-beginners
+
+## 新增翻譯的測驗集
+
+要新增測驗翻譯,請在 `assets/translations` 資料夾中建立相應的測驗結構。原始測驗位於 `assets/translations/en`。測驗分為多個組別。請確保編號與正確的測驗部分對齊。整個課程共有 40 個測驗,編號從 0 開始。
+
+完成翻譯後,編輯翻譯資料夾中的 `index.js` 文件,按照 `en` 的約定導入所有文件。
+
+接著,編輯 `assets/translations` 中的 `index.js` 文件以導入新的翻譯文件。
+
+然後,編輯此應用中的 `App.vue` 文件中的下拉選單,新增您的語言。將本地化縮寫與您的語言資料夾名稱匹配。
+
+最後,編輯翻譯課程中的所有測驗連結(如果存在),以包含本地化的查詢參數,例如:`?loc=fr`。
+
+## 專案設置
+
+```
+npm install
+```
+
+### 編譯並熱重載以進行開發
+
+```
+npm run serve
+```
+
+### 編譯並壓縮以進行生產環境
+
+```
+npm run build
+```
+
+### 檢查並修復文件
+
+```
+npm run lint
+```
+
+### 自訂配置
+
+請參閱 [配置參考](https://cli.vuejs.org/config/)。
+
+致謝:感謝此測驗應用的原始版本:https://github.com/arpan45/simple-quiz-vue
+
+## 部署到 Azure
+
+以下是幫助您開始的逐步指南:
+
+1. Fork GitHub 儲存庫
+確保您的靜態網頁應用程式代碼位於您的 GitHub 儲存庫中。Fork 此儲存庫。
+
+2. 建立 Azure 靜態網頁應用
+- 建立 [Azure 帳戶](http://azure.microsoft.com)
+- 前往 [Azure 入口網站](https://portal.azure.com)
+- 點擊「建立資源」,搜尋「靜態網頁應用」。
+- 點擊「建立」。
+
+3. 配置靜態網頁應用
+- 基本設定:
+ - 訂閱:選擇您的 Azure 訂閱。
+ - 資源群組:建立新的資源群組或使用現有的資源群組。
+ - 名稱:為您的靜態網頁應用提供名稱。
+ - 地區:選擇最接近使用者的地區。
+
+- #### 部署詳情:
+ - 原始碼:選擇「GitHub」。
+ - GitHub 帳戶:授權 Azure 訪問您的 GitHub 帳戶。
+ - 組織:選擇您的 GitHub 組織。
+ - 儲存庫:選擇包含靜態網頁應用的儲存庫。
+ - 分支:選擇您要部署的分支。
+
+- #### 建置詳情:
+ - 建置預設:選擇您的應用所使用的框架(例如 React、Angular、Vue 等)。
+ - 應用位置:指定包含應用程式代碼的資料夾(例如 / 如果在根目錄)。
+ - API 位置:如果有 API,請指定其位置(可選)。
+ - 輸出位置:指定建置輸出生成的資料夾(例如 build 或 dist)。
+
+4. 檢查並建立
+檢查您的設置並點擊「建立」。Azure 會設置必要的資源並在您的儲存庫中建立 GitHub Actions 工作流程。
+
+5. GitHub Actions 工作流程
+Azure 會自動在您的儲存庫中建立 GitHub Actions 工作流程文件(.github/workflows/azure-static-web-apps-.yml)。此工作流程將處理建置和部署過程。
+
+6. 監控部署
+前往 GitHub 儲存庫中的「Actions」標籤。
+您應該看到工作流程正在運行。此工作流程將建置並部署您的靜態網頁應用到 Azure。
+工作流程完成後,您的應用將在提供的 Azure URL 上線。
+
+### 範例工作流程文件
+
+以下是 GitHub Actions 工作流程文件的範例:
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### 其他資源
+- [Azure 靜態網頁應用文件](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [GitHub Actions 文件](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/tw/sketchnotes/README.md b/translations/tw/sketchnotes/README.md
new file mode 100644
index 00000000..caabdb4d
--- /dev/null
+++ b/translations/tw/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+在這裡可以找到所有的手繪筆記!
+
+## 致謝
+
+Nitya Narasimhan,藝術家
+
+
+
+**免責聲明**:
+本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/01-defining-data-science/README.md b/translations/zh/1-Introduction/01-defining-data-science/README.md
new file mode 100644
index 00000000..ead2f9ab
--- /dev/null
+++ b/translations/zh/1-Introduction/01-defining-data-science/README.md
@@ -0,0 +1,78 @@
+
+## 数据的类型
+
+正如我们已经提到的,数据无处不在。我们只需要以正确的方式捕捉它!区分**结构化数据**和**非结构化数据**是很有用的。前者通常以某种良好的结构形式表示,通常是表格或多个表格,而后者则只是文件的集合。有时我们也会提到**半结构化数据**,它具有某种结构,但可能差异很大。
+
+| 结构化数据 | 半结构化数据 | 非结构化数据 |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------- |
+| 包含人名及其电话号码的列表 | 带有链接的维基百科页面 | 《大英百科全书》的文本 |
+| 过去20年中每分钟记录的建筑内所有房间的温度 | 以JSON格式存储的科学论文集合,包括作者、发表日期和摘要 | 包含公司文件的文件共享 |
+| 进入建筑的所有人的年龄和性别数据 | 互联网页面 | 监控摄像头的原始视频流 |
+
+## 数据的来源
+
+数据的来源有很多种,几乎无法全部列举!不过,我们可以提到一些典型的数据来源:
+
+* **结构化数据**
+ - **物联网**(IoT),包括来自不同传感器的数据,例如温度或压力传感器,提供了许多有用的数据。例如,如果办公楼配备了物联网传感器,我们可以自动控制供暖和照明,以降低成本。
+ - **调查问卷**,例如用户在购买后或访问网站后填写的问卷。
+ - **行为分析**,例如帮助我们了解用户在网站上的深入程度,以及用户离开网站的典型原因。
+* **非结构化数据**
+ - **文本**可以是丰富的洞察来源,例如整体**情感评分**,或提取关键词和语义意义。
+ - **图像**或**视频**。监控摄像头的视频可以用来估算道路上的交通流量,并通知人们潜在的交通拥堵。
+ - 网站服务器的**日志**可以用来了解我们网站上最常被访问的页面,以及访问时长。
+* **半结构化数据**
+ - **社交网络**图可以是关于用户个性以及信息传播潜力的绝佳数据来源。
+ - 当我们有一堆聚会照片时,可以尝试通过构建人与人之间拍照的关系图来提取**群体动态**数据。
+
+通过了解不同的数据来源,你可以尝试思考不同的场景,数据科学技术可以应用于这些场景以更好地了解情况并改善业务流程。
+
+## 数据可以做什么
+
+在数据科学中,我们专注于数据旅程的以下步骤:
+
+当然,根据实际数据的情况,有些步骤可能会缺失(例如,当数据已经存储在数据库中,或者我们不需要进行模型训练时),或者某些步骤可能会重复多次(例如数据处理)。
+
+## 数字化与数字化转型
+
+在过去十年中,许多企业开始认识到在做出业务决策时数据的重要性。要将数据科学原则应用于企业运营,首先需要收集一些数据,即将业务流程转化为数字形式。这被称为**数字化**。将数据科学技术应用于这些数据以指导决策,可以显著提高生产力(甚至实现业务转型),这被称为**数字化转型**。
+
+让我们来看一个例子。假设我们有一个数据科学课程(比如这个课程),我们在线上向学生提供,并希望利用数据科学来改进它。我们该怎么做呢?
+
+我们可以从问“什么可以数字化?”开始。最简单的方法是测量每个学生完成每个模块所需的时间,并通过在每个模块结束时进行选择题测试来测量获得的知识。通过计算所有学生的平均完成时间,我们可以找出哪些模块对学生来说最困难,并着手简化这些模块。
+你可能会认为这种方法并不理想,因为模块的长度可能不同。或许更公平的做法是根据模块的长度(以字符数计算)来划分时间,然后比较这些值。
+当我们开始分析多选测试的结果时,可以尝试确定学生在哪些概念上存在理解困难,并利用这些信息改进内容。为此,我们需要设计测试,使每个问题都能映射到某个特定的概念或知识点。
+
+如果我们想更复杂一些,可以将每个模块所花费的时间与学生的年龄类别进行对比分析。我们可能会发现,对于某些年龄段来说,完成模块所需时间过长,或者学生在完成之前就中途退出了。这可以帮助我们为模块提供年龄建议,并减少因错误期望而导致的不满。
+
+## 🚀 挑战
+
+在这个挑战中,我们将通过分析文本来尝试找到与数据科学领域相关的概念。我们会选取一篇关于数据科学的维基百科文章,下载并处理文本,然后构建一个像这样的词云:
+
+
+
+访问 [`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') 阅读代码。你还可以运行代码,实时查看它如何执行所有数据转换。
+
+> 如果你不知道如何在 Jupyter Notebook 中运行代码,可以查看 [这篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1)
+
+## 作业
+
+* **任务 1**:修改上述代码,找出与 **大数据** 和 **机器学习** 领域相关的概念
+* **任务 2**:[思考数据科学场景](assignment.md)
+
+## 致谢
+
+本课程由 [Dmitry Soshnikov](http://soshnikov.com) 倾情创作 ♥️
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们尽力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/01-defining-data-science/assignment.md b/translations/zh/1-Introduction/01-defining-data-science/assignment.md
new file mode 100644
index 00000000..b6e67339
--- /dev/null
+++ b/translations/zh/1-Introduction/01-defining-data-science/assignment.md
@@ -0,0 +1,44 @@
+
+# 作业:数据科学场景
+
+在本次作业中,我们希望你思考一些现实生活中的流程或问题,涉及不同的问题领域,并考虑如何通过数据科学流程来改进它们。请思考以下问题:
+
+1. 你可以收集哪些数据?
+1. 你将如何收集这些数据?
+1. 你将如何存储这些数据?数据的规模可能有多大?
+1. 你可能从这些数据中获得哪些洞察?基于这些数据,我们可以做出哪些决策?
+
+尝试思考三个不同的问题/流程,并针对每个问题领域描述上述每个要点。
+
+以下是一些可以帮助你开始思考的问题领域和问题:
+
+1. 如何利用数据改进学校中儿童的教育过程?
+1. 如何利用数据在疫情期间控制疫苗接种?
+1. 如何利用数据确保自己在工作中保持高效?
+
+## 指导
+
+填写下表(如果需要,可以用你自己的问题领域替换建议的问题领域):
+
+| 问题领域 | 问题 | 收集哪些数据 | 如何存储数据 | 我们可以做出的洞察/决策 |
+|----------|------|--------------|--------------|--------------------------|
+| 教育 | | | | |
+| 疫苗接种 | | | | |
+| 工作效率 | | | | |
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | -- |
+能够为所有问题领域识别出合理的数据来源、数据存储方式以及可能的决策/洞察 | 解决方案的某些方面缺乏细节,未讨论数据存储,至少描述了两个问题领域 | 仅描述了部分数据解决方案,仅考虑了一个问题领域。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/zh/1-Introduction/01-defining-data-science/solution/assignment.md
new file mode 100644
index 00000000..16426830
--- /dev/null
+++ b/translations/zh/1-Introduction/01-defining-data-science/solution/assignment.md
@@ -0,0 +1,46 @@
+
+# 作业:数据科学场景
+
+在这个第一次作业中,我们希望你思考一些现实生活中的过程或问题,涉及不同的领域,并考虑如何通过数据科学流程来改进它。请思考以下问题:
+
+1. 可以收集哪些数据?
+1. 如何收集这些数据?
+1. 如何存储这些数据?数据的规模可能有多大?
+1. 可以从这些数据中获得哪些洞察?基于数据可以做出哪些决策?
+
+尝试思考三个不同的问题/过程,并针对每个问题领域描述上述每个点。
+
+以下是一些问题领域和问题,可以帮助你开始思考:
+
+1. 如何利用数据改善学校中儿童的教育过程?
+1. 如何利用数据在疫情期间控制疫苗接种?
+1. 如何利用数据确保自己在工作中保持高效?
+
+## 说明
+
+填写以下表格(如果需要,可以用自己的问题领域替换建议的领域):
+
+| 问题领域 | 问题 | 收集哪些数据 | 如何存储数据 | 可以做出的洞察/决策 |
+|----------|------|--------------|--------------|----------------------|
+| 教育 | 在大学中,通常课堂出勤率较低,我们假设出勤率较高的学生在考试中表现更好。我们希望提高出勤率并验证这一假设。 | 我们可以通过课堂上的安全摄像头拍摄的照片,或者通过追踪学生手机的蓝牙/WiFi地址来记录出勤情况。考试数据已经存储在大学数据库中。 | 如果我们追踪安全摄像头的图像——我们需要存储课堂期间拍摄的几张(5-10张)照片(非结构化数据),然后使用AI识别学生的面部(将数据转换为结构化形式)。 | 我们可以计算每个学生的平均出勤率,并查看是否与考试成绩存在相关性。我们将在[概率与统计](../../04-stats-and-probability/README.md)部分中进一步讨论相关性。为了提高学生的出勤率,我们可以在学校门户网站上发布每周出勤排名,并在出勤率最高的学生中抽奖。 |
+| 疫苗接种 | | | | |
+| 工作效率 | | | | |
+
+> *我们仅提供一个答案作为示例,以便你了解作业的预期内容。*
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | --- |
+能够为所有问题领域识别合理的数据来源、数据存储方式以及可能的决策/洞察 | 部分解决方案细节不足,未讨论数据存储,至少描述了两个问题领域 | 仅描述了部分数据解决方案,仅考虑了一个问题领域。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用本翻译而引起的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/02-ethics/README.md b/translations/zh/1-Introduction/02-ethics/README.md
new file mode 100644
index 00000000..8d1527ba
--- /dev/null
+++ b/translations/zh/1-Introduction/02-ethics/README.md
@@ -0,0 +1,265 @@
+
+# 数据伦理简介
+
+| ](../../sketchnotes/02-Ethics.png)|
+|:---:|
+| 数据科学伦理 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+---
+
+我们都是生活在数据化世界中的数据公民。
+
+市场趋势表明,到2022年,三分之一的大型组织将通过在线[市场和交易所](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/)买卖数据。作为**应用开发者**,我们会发现将数据驱动的洞察和算法驱动的自动化集成到日常用户体验中变得更加容易和便宜。但随着人工智能的普及,我们也需要了解这种算法在大规模应用时可能带来的[武器化](https://www.youtube.com/watch?v=TQHs8SA1qpk)潜在危害。
+
+趋势还表明,到2025年,我们将创造和消费超过[180泽字节](https://www.statista.com/statistics/871513/worldwide-data-created/)的数据。作为**数据科学家**,这使我们能够前所未有地访问个人数据。这意味着我们可以构建用户行为档案,并以某种方式影响决策,创造一种[自由选择的幻觉](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice),同时可能引导用户朝着我们偏好的结果发展。这也引发了关于数据隐私和用户保护的更广泛问题。
+
+数据伦理现在是数据科学和工程的_必要护栏_,帮助我们尽量减少数据驱动行为可能带来的潜在危害和意外后果。[Gartner人工智能技术成熟度曲线](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/)将数字伦理、负责任的人工智能和人工智能治理作为推动人工智能_民主化_和_工业化_的关键趋势。
+
+
+
+在本课程中,我们将探索数据伦理这一迷人的领域——从核心概念和挑战,到案例研究和应用人工智能概念(如治理),帮助团队和组织建立数据和人工智能的伦理文化。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯
+
+## 基本定义
+
+让我们从理解基本术语开始。
+
+“伦理”一词来源于[希腊词“ethikos”](https://en.wikipedia.org/wiki/Ethics)(及其词根“ethos”),意为_品格或道德本质_。
+
+**伦理**是关于在社会中规范我们行为的共同价值观和道德原则。伦理不是基于法律,而是基于广泛接受的“对与错”的规范。然而,伦理考虑可以影响企业治理举措和政府法规,从而创造更多的合规激励。
+
+**数据伦理**是一个[新的伦理分支](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1),研究和评估与_数据、算法及相关实践_相关的道德问题。在这里,**“数据”**关注与生成、记录、管理、处理、传播、共享和使用相关的行为,**“算法”**关注人工智能、代理、机器学习和机器人,**“实践”**关注负责任的创新、编程、黑客行为和伦理规范等主题。
+
+**应用伦理**是[道德考虑的实际应用](https://en.wikipedia.org/wiki/Applied_ethics)。它是积极调查_现实世界行为、产品和流程_中的伦理问题,并采取纠正措施以确保这些行为与我们定义的伦理价值保持一致的过程。
+
+**伦理文化**是关于[_将应用伦理付诸实践_](https://hbr.org/2019/05/how-to-design-an-ethical-organization),确保我们的伦理原则和实践在整个组织中以一致且可扩展的方式被采用。成功的伦理文化定义了全组织范围的伦理原则,提供有意义的合规激励,并通过鼓励和放大组织各级的期望行为来强化伦理规范。
+
+## 伦理概念
+
+在本节中,我们将讨论数据伦理中的**共同价值观**(原则)和**伦理挑战**(问题)等概念,并通过**案例研究**帮助您在现实世界的背景中理解这些概念。
+
+### 1. 伦理原则
+
+每个数据伦理策略都从定义_伦理原则_开始——这些“共同价值观”描述了可接受的行为,并指导我们在数据和人工智能项目中的合规行动。您可以在个人或团队层面定义这些原则。然而,大多数大型组织会在企业层面定义一个_伦理人工智能_使命声明或框架,并在所有团队中一致执行。
+
+**示例:**微软的[负责任的人工智能](https://www.microsoft.com/en-us/ai/responsible-ai)使命声明写道:_“我们致力于推动以伦理原则为驱动的人工智能发展,将人放在首位”_,并在以下框架中定义了6个伦理原则:
+
+
+
+让我们简要探讨这些原则。_透明性_和_问责性_是其他原则的基础价值观,因此我们从这里开始:
+
+* [**问责性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)使从业者对其数据和人工智能操作以及遵守这些伦理原则负责。
+* [**透明性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)确保数据和人工智能行为对用户是_可理解的_(可解释的),解释决策背后的内容和原因。
+* [**公平性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6)——关注确保人工智能对_所有人_公平对待,解决数据和系统中的任何系统性或隐性社会技术偏见。
+* [**可靠性与安全性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——确保人工智能行为与定义的价值观_一致_,尽量减少潜在危害或意外后果。
+* [**隐私与安全**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——关注理解数据来源,并为用户提供_数据隐私及相关保护_。
+* [**包容性**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6)——关注有意设计人工智能解决方案,使其适应_广泛的人类需求_和能力。
+
+> 🚨 思考您的数据伦理使命声明可能是什么。探索其他组织的伦理人工智能框架——以下是[IBM](https://www.ibm.com/cloud/learn/ai-ethics)、[Google](https://ai.google/principles)和[Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/)的示例。它们有哪些共同的价值观?这些原则与它们所运营的人工智能产品或行业有何关系?
+
+### 2. 伦理挑战
+
+一旦定义了伦理原则,下一步就是评估我们的数据和人工智能行为是否与这些共同价值观一致。思考您的行为可以分为两个类别:_数据收集_和_算法设计_。
+
+在数据收集方面,行为可能涉及**个人数据**或可识别的个人信息(PII),这些信息可以识别特定的活体个体。这包括[各种非个人数据](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en),这些数据_共同_可以识别一个个体。伦理挑战可能涉及_数据隐私_、_数据所有权_以及相关主题,如_知情同意_和用户的_知识产权_。
+
+在算法设计方面,行为将涉及收集和管理**数据集**,然后使用它们训练和部署**数据模型**,以在现实世界中预测结果或自动化决策。伦理挑战可能源于_数据集偏差_、_数据质量_问题、_不公平性_以及算法中的_误导性_——包括一些系统性问题。
+
+在这两种情况下,伦理挑战都突显了我们的行为可能与共同价值观发生冲突的领域。为了检测、缓解、最小化或消除这些问题,我们需要针对我们的行为提出道德“是/否”问题,然后根据需要采取纠正措施。让我们看看一些伦理挑战及其引发的道德问题:
+
+#### 2.1 数据所有权
+
+数据收集通常涉及可以识别数据主体的个人数据。[数据所有权](https://permission.io/blog/data-ownership)是关于与数据的创建、处理和传播相关的_控制_和[_用户权利_](https://permission.io/blog/data-ownership)。
+
+我们需要提出的道德问题是:
+* 谁拥有数据?(用户还是组织)
+* 数据主体拥有哪些权利?(例如:访问、删除、可移植性)
+* 组织拥有哪些权利?(例如:纠正恶意用户评论)
+
+#### 2.2 知情同意
+
+[知情同意](https://legaldictionary.net/informed-consent/)定义了用户在_充分了解_相关事实(包括目的、潜在风险和替代方案)的情况下同意某项行为(如数据收集)的行为。
+
+需要探讨的问题包括:
+* 用户(数据主体)是否允许数据的捕获和使用?
+* 用户是否理解数据捕获的目的?
+* 用户是否理解参与可能带来的潜在风险?
+
+#### 2.3 知识产权
+
+[知识产权](https://en.wikipedia.org/wiki/Intellectual_property)指的是人类创造的无形成果,这些成果可能对个人或企业具有_经济价值_。
+
+需要探讨的问题包括:
+* 收集的数据是否对用户或企业具有经济价值?
+* **用户**是否拥有知识产权?
+* **组织**是否拥有知识产权?
+* 如果这些权利存在,我们如何保护它们?
+
+#### 2.4 数据隐私
+
+[数据隐私](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/)或信息隐私指的是在涉及个人可识别信息时保护用户隐私和身份。
+
+需要探讨的问题包括:
+* 用户的(个人)数据是否安全,防止黑客攻击和泄漏?
+* 用户的数据是否仅对授权用户和场景可访问?
+* 在数据共享或传播时,用户的匿名性是否得到保护?
+* 用户是否可以从匿名数据集中被去识别?
+
+#### 2.5 被遗忘权
+
+[被遗忘权](https://en.wikipedia.org/wiki/Right_to_be_forgotten)或[删除权](https://www.gdpreu.org/right-to-be-forgotten/)为用户提供了额外的个人数据保护。具体来说,它允许用户在特定情况下请求删除或移除个人数据,从而在网上获得新的开始,不受过去行为的影响。
+
+需要探讨的问题包括:
+* 系统是否允许数据主体请求删除?
+* 用户撤回同意是否应触发自动删除?
+* 数据是否未经同意或通过非法手段收集?
+* 我们是否符合政府关于数据隐私的规定?
+
+#### 2.6 数据集偏差
+
+数据集或[收集偏差](http://researcharticles.com/index.php/bias-in-data-collection-in-research/)是指为算法开发选择了一个_非代表性_的数据子集,从而在结果中对不同群体可能造成不公平。偏差类型包括选择或抽样偏差、志愿者偏差和工具偏差。
+
+需要探讨的问题包括:
+* 我们是否招募了一个具有代表性的数据主体集合?
+* 我们是否测试了收集或管理的数据集以发现各种偏差?
+* 我们是否可以缓解或消除发现的任何偏差?
+
+#### 2.7 数据质量
+
+[数据质量](https://lakefs.io/data-quality-testing/)关注用于开发算法的数据集的有效性,检查特征和记录是否满足人工智能目的所需的准确性和一致性要求。
+
+需要探讨的问题包括:
+* 我们是否捕获了适合我们用例的有效_特征_?
+* 数据是否在不同数据源之间_一致_地捕获?
+* 数据集是否_完整_,涵盖了不同条件或场景?
+* 捕获的信息是否_准确_反映了现实?
+
+#### 2.8 算法公平性
+[算法公平性](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f)旨在检查算法设计是否系统性地对特定数据主体的子群体存在歧视,从而导致在资源分配(即资源被拒绝或扣留)和服务质量(即人工智能对某些子群体的准确性不如对其他群体)方面的[潜在危害](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml)。
+
+需要探讨的问题包括:
+* 我们是否评估了模型在不同子群体和条件下的准确性?
+* 我们是否仔细审查了系统可能带来的潜在危害(例如刻板印象)?
+* 我们是否可以通过修订数据或重新训练模型来减轻已识别的危害?
+
+可以探索诸如[AI公平性检查表](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA)等资源以了解更多信息。
+
+#### 2.9 数据误导
+
+[数据误导](https://www.sciencedirect.com/topics/computer-science/misrepresentation)关注我们是否通过诚实报告的数据传递洞察,但以欺骗性方式支持某种期望的叙述。
+
+需要探讨的问题包括:
+* 我们是否报告了不完整或不准确的数据?
+* 我们是否以误导性结论的方式可视化数据?
+* 我们是否使用选择性统计技术操纵结果?
+* 是否存在可能提供不同结论的替代解释?
+
+#### 2.10 自由选择
+
+[自由选择的幻觉](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice)发生在系统的“选择架构”使用决策算法引导人们采取偏好的结果,同时看似给予他们选择和控制权。这些[暗模式](https://www.darkpatterns.org/)可能对用户造成社会和经济上的伤害。由于用户的决策会影响行为画像,这些行为可能驱动未来的选择,从而放大或延续这些伤害的影响。
+
+需要探讨的问题包括:
+* 用户是否理解做出该选择的影响?
+* 用户是否了解(替代)选择及其优缺点?
+* 用户是否可以在之后撤销自动化或受影响的选择?
+
+### 3. 案例研究
+
+为了将这些伦理挑战置于现实世界的背景中,可以查看一些案例研究,这些研究突出了忽视伦理问题时对个人和社会可能造成的潜在危害和后果。
+
+以下是一些示例:
+
+| 伦理挑战 | 案例研究 |
+|--- |--- |
+| **知情同意** | 1972年 - [塔斯基吉梅毒研究](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - 参与研究的非裔美国男性被承诺提供免费医疗服务,但研究人员欺骗了他们,没有告知他们的诊断或治疗的可用性。许多受试者死亡,其伴侣或子女受到影响;研究持续了40年。 |
+| **数据隐私** | 2007年 - [Netflix数据奖](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/)向研究人员提供了_来自5万客户的1000万匿名电影评分_,以帮助改进推荐算法。然而,研究人员能够将匿名数据与_外部数据集_(例如IMDb评论)中的个人身份数据相关联,从而有效地“去匿名化”了一些Netflix订阅者。|
+| **数据收集偏差** | 2013年 - 波士顿市[开发了Street Bump](https://www.boston.gov/transportation/street-bump),一个让市民报告路面坑洞的应用,为城市提供更好的道路数据以发现和解决问题。然而,[低收入群体的人们较少拥有汽车和手机](https://hbr.org/2013/04/the-hidden-biases-in-big-data),使得他们的道路问题在该应用中不可见。开发人员与学术界合作解决_公平访问和数字鸿沟_问题。 |
+| **算法公平性** | 2018年 - MIT [Gender Shades研究](http://gendershades.org/overview.html)评估了性别分类AI产品的准确性,揭示了对女性和有色人种的准确性差距。[2019年Apple Card](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/)似乎为女性提供的信用额度低于男性。这两者都说明了算法偏差导致的社会经济危害问题。|
+| **数据误导** | 2020年 - [乔治亚州公共卫生部发布的COVID-19图表](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening)通过非时间顺序的x轴排序误导了公民关于确诊病例趋势的认知。这说明了通过可视化技巧进行误导的情况。 |
+| **自由选择的幻觉** | 2020年 - 学习应用[ABCmouse支付了1000万美元以解决FTC投诉](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/),家长被困于无法取消的订阅费用中。这说明了选择架构中的暗模式,用户被引导做出可能有害的选择。 |
+| **数据隐私与用户权利** | 2021年 - Facebook [数据泄露](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users)暴露了5.3亿用户的数据,导致向FTC支付了50亿美元的和解金。然而,它拒绝通知用户数据泄露情况,侵犯了用户关于数据透明度和访问的权利。 |
+
+想要探索更多案例研究?可以查看以下资源:
+* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - 涉及多个行业的伦理困境。
+* [数据科学伦理课程](https://www.coursera.org/learn/data-science-ethics#syllabus) - 探讨标志性案例研究。
+* [问题案例](https://deon.drivendata.org/examples/) - Deon检查表中的示例。
+
+> 🚨 回想你看到的案例研究——你是否经历过或受到类似伦理挑战的影响?你能想到至少一个其他案例研究来说明我们在本节中讨论的伦理挑战吗?
+
+## 应用伦理
+
+我们已经讨论了伦理概念、挑战以及现实世界中的案例研究。那么如何开始在项目中_应用_伦理原则和实践?又如何_实现_这些实践以改善治理?让我们探索一些现实世界的解决方案:
+
+### 1. 专业准则
+
+专业准则为组织提供了一种选择,用以“激励”成员支持其伦理原则和使命声明。准则是专业行为的_道德指南_,帮助员工或成员做出符合组织原则的决策。它的效果取决于成员的自愿遵守;然而,许多组织提供额外的奖励和惩罚以激励成员遵守。
+
+示例包括:
+* [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/)伦理准则
+* [数据科学协会](http://datascienceassn.org/code-of-conduct.html)行为准则(创建于2013年)
+* [ACM伦理准则与专业行为准则](https://www.acm.org/code-of-ethics)(自1993年起)
+
+> 🚨 你是否属于某个专业工程或数据科学组织?探索他们的网站,看看是否定义了专业伦理准则。这些准则说明了他们的伦理原则是什么?他们如何“激励”成员遵守准则?
+
+### 2. 伦理检查表
+
+虽然专业准则定义了从业者所需的_伦理行为_,但它们在执行方面[存在已知的局限性](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),特别是在大型项目中。因此,许多数据科学专家[提倡使用检查表](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md),以**将原则与实践连接**,使其更具确定性和可操作性。
+
+检查表将问题转化为“是/否”任务,可以被操作化,允许它们作为标准产品发布工作流程的一部分进行跟踪。
+
+示例包括:
+* [Deon](https://deon.drivendata.org/) - 一个通用的数据伦理检查表,由[行业建议](https://deon.drivendata.org/#checklist-citations)创建,并配备命令行工具以便于集成。
+* [隐私审计检查表](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - 从法律和社会曝光角度提供信息处理实践的一般指导。
+* [AI公平性检查表](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - 由AI从业者创建,用以支持公平性检查在AI开发周期中的采用和集成。
+* [数据与AI伦理的22个问题](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - 更开放的框架,结构化用于设计、实施和组织背景下伦理问题的初步探索。
+
+### 3. 伦理法规
+
+伦理是关于定义共享价值并自愿做正确的事情。**合规**是关于_遵守法律_(如果有定义)。**治理**广泛涵盖了组织为执行伦理原则和遵守既定法律所采取的所有方式。
+
+今天,治理在组织中有两种形式。首先,它是关于定义**伦理AI**原则并建立实践,以在组织的所有AI相关项目中实现采用。其次,它是关于遵守组织运营地区的所有政府规定的**数据保护法规**。
+
+数据保护和隐私法规的示例:
+
+* `1974年`,[美国隐私法案](https://www.justice.gov/opcl/privacy-act-1974) - 规范_联邦政府_对个人信息的收集、使用和披露。
+* `1996年`,[美国健康保险携带与责任法案(HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - 保护个人健康数据。
+* `1998年`,[美国儿童在线隐私保护法案(COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - 保护13岁以下儿童的数据隐私。
+* `2018年`,[通用数据保护条例(GDPR)](https://gdpr-info.eu/) - 提供用户权利、数据保护和隐私。
+* `2018年`,[加州消费者隐私法案(CCPA)](https://www.oag.ca.gov/privacy/ccpa) - 赋予消费者更多关于其(个人)数据的_权利_。
+* `2021年`,中国[个人信息保护法](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/)刚刚通过,成为全球最强的在线数据隐私法规之一。
+
+> 🚨 欧盟定义的GDPR(通用数据保护条例)仍然是今天最具影响力的数据隐私法规之一。你知道它还定义了[8项用户权利](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr)以保护公民的数字隐私和个人数据吗?了解这些权利是什么以及为什么它们重要。
+
+### 4. 伦理文化
+
+注意,_合规_(做到足以满足“法律条文”)与解决[系统性问题](https://www.coursera.org/learn/data-science-ethics/home/week/4)(如僵化、信息不对称和分配不公平)之间仍然存在无形的差距,这些问题可能加速AI的武器化。
+
+后者需要[协作定义伦理文化的方法](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f),以在行业内建立情感联系和一致的共享价值。这需要在组织中[正式化数据伦理文化](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/)——允许_任何人_在早期阶段[拉动安灯绳](https://en.wikipedia.org/wiki/Andon_(manufacturing))(提出伦理问题),并将_伦理评估_(例如在招聘中)作为AI项目团队组建的核心标准。
+
+---
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯
+## 复习与自学
+
+课程和书籍有助于理解核心伦理概念和挑战,而案例研究和工具有助于在现实世界中应用伦理实践。以下是一些入门资源:
+
+* [机器学习初学者](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - 来自微软的公平性课程。
+* [负责任人工智能原则](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - 来自 Microsoft Learn 的免费学习路径。
+* [伦理与数据科学](https://resources.oreilly.com/examples/0636920203964) - O'Reilly 电子书 (M. Loukides, H. Mason 等人著)
+* [数据科学伦理](https://www.coursera.org/learn/data-science-ethics#syllabus) - 密歇根大学的在线课程。
+* [伦理解读](https://ethicsunwrapped.utexas.edu/case-studies) - 来自德克萨斯大学的案例研究。
+
+# 作业
+
+[撰写数据伦理案例研究](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/02-ethics/assignment.md b/translations/zh/1-Introduction/02-ethics/assignment.md
new file mode 100644
index 00000000..e4869acd
--- /dev/null
+++ b/translations/zh/1-Introduction/02-ethics/assignment.md
@@ -0,0 +1,33 @@
+
+## 撰写数据伦理案例研究
+
+## 说明
+
+你已经学习了各种[数据伦理挑战](README.md#2-ethics-challenges),并且看过一些反映现实世界中数据伦理挑战的[案例研究](README.md#3-case-studies)示例。
+
+在这个任务中,你将撰写一个反映数据伦理挑战的案例研究。这个案例可以来自你的个人经历,或者是你熟悉的相关现实世界情境。只需按照以下步骤操作:
+
+1. `选择一个数据伦理挑战`。查看[课程中的示例](README.md#2-ethics-challenges)或在线探索类似[Deon清单](https://deon.drivendata.org/examples/)的案例以获取灵感。
+
+2. `描述一个真实世界的例子`。思考你听说过的某个情境(新闻头条、研究报告等)或你经历过的情境(本地社区),其中发生了这一具体挑战。思考与该挑战相关的数据伦理问题,并讨论因这一问题而产生的潜在危害或意外后果。加分项:思考可以在此处应用的潜在解决方案或流程,以帮助消除或减轻这一挑战的不利影响。
+
+3. `提供相关资源列表`。分享一个或多个资源(例如文章链接、个人博客文章或图片、在线研究论文等),以证明这是一个真实发生的事件。加分项:分享能够展示该事件潜在危害和后果的资源,或突出防止其再次发生的积极措施。
+
+
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | -- |
+识别出一个或多个数据伦理挑战。
案例研究清晰地描述了一个反映该挑战的真实事件,并突出了其造成的不良后果或危害。
至少提供了一个链接资源以证明事件的发生。 | 识别出一个数据伦理挑战。
至少简要讨论了一个相关的危害或后果。
然而,讨论较为有限或缺乏真实事件的证明。 | 识别出一个数据挑战。
然而,描述或资源未能充分反映该挑战或证明其真实发生。 |
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/03-defining-data/README.md b/translations/zh/1-Introduction/03-defining-data/README.md
new file mode 100644
index 00000000..4ccc4d4d
--- /dev/null
+++ b/translations/zh/1-Introduction/03-defining-data/README.md
@@ -0,0 +1,83 @@
+
+# 定义数据
+
+| ](../../sketchnotes/03-DefiningData.png)|
+|:---:|
+|定义数据 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+数据是用于发现和支持明智决策的事实、信息、观察和测量。数据点是数据集中的单个数据单位,而数据集是数据点的集合。数据集可能有不同的格式和结构,通常基于其来源或数据的来源。例如,一家公司每月的收入可能存储在电子表格中,而智能手表的每小时心率数据可能是 [JSON](https://stackoverflow.com/a/383699) 格式。数据科学家通常需要处理数据集中不同类型的数据。
+
+本课程重点是根据数据的特性和来源来识别和分类数据。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4)
+
+## 数据的描述方式
+
+### 原始数据
+原始数据是从其来源获得的初始状态数据,尚未经过分析或组织。为了理解数据集中的情况,需要将其组织成一种人类和技术都能理解的格式。数据集的结构描述了它的组织方式,可以分为结构化、非结构化和半结构化。这些结构类型会因来源而异,但最终会归入这三类。
+
+### 定量数据
+定量数据是数据集中的数值观察,通常可以进行分析、测量并用于数学计算。一些定量数据的例子包括:一个国家的人口、一个人的身高或一家公司季度收入。通过进一步分析,定量数据可以用于发现空气质量指数(AQI)的季节性趋势或估算典型工作日的高峰交通概率。
+
+### 定性数据
+定性数据,也称为分类数据,是无法像定量数据那样客观测量的观察数据。它通常是各种主观数据格式,用于捕捉某物的质量,例如产品或过程。有时,定性数据是数值形式,但通常不会用于数学计算,例如电话号码或时间戳。一些定性数据的例子包括:视频评论、汽车的品牌和型号或你最亲密朋友最喜欢的颜色。定性数据可以用于了解消费者最喜欢哪些产品或识别求职简历中的热门关键词。
+
+### 结构化数据
+结构化数据是以行和列组织的数据,其中每行都有相同的一组列。列表示特定类型的值,并通过名称标识该值代表的内容,而行包含实际的值。列通常会有一组特定的规则或限制,以确保值准确地代表列。例如,想象一个客户的电子表格,其中每行必须有一个电话号码,并且电话号码不能包含字母字符。可能会对电话号码列应用规则,确保它永远不为空且只包含数字。
+
+结构化数据的一个优点是可以以某种方式组织,使其可以与其他结构化数据相关联。然而,由于数据设计为以特定方式组织,改变其整体结构可能需要付出很大的努力。例如,向客户电子表格添加一个不能为空的电子邮件列意味着需要弄清楚如何为数据集中现有的客户行添加这些值。
+
+结构化数据的例子:电子表格、关系数据库、电话号码、银行对账单
+
+### 非结构化数据
+非结构化数据通常无法分类为行或列,也没有格式或规则可遵循。由于非结构化数据对结构的限制较少,与结构化数据相比,添加新信息更容易。如果一个传感器每两分钟捕获一次气压数据,并收到更新后可以测量和记录温度,那么如果数据是非结构化的,就不需要更改现有数据。然而,这可能会使分析或调查这种类型的数据耗时更长。例如,一个科学家想从传感器数据中找到上个月的平均温度,但发现传感器在某些记录数据中标记了一个“e”,表示它坏了,而不是典型的数字,这意味着数据不完整。
+
+非结构化数据的例子:文本文件、短信、视频文件
+
+### 半结构化数据
+半结构化数据具有使其成为结构化和非结构化数据结合的特征。它通常不符合行和列的格式,但以一种被认为是结构化的方式组织,并可能遵循固定格式或规则。结构会因来源而异,例如一个定义良好的层次结构或更灵活的方式,允许轻松集成新信息。元数据是帮助决定数据如何组织和存储的指标,并根据数据类型有各种名称。一些常见的元数据名称包括标签、元素、实体和属性。例如,一个典型的电子邮件消息会有主题、正文和一组收件人,并可以根据发送者或发送时间进行组织。
+
+半结构化数据的例子:HTML、CSV 文件、JavaScript Object Notation (JSON)
+
+## 数据来源
+
+数据来源是数据生成的初始位置或数据“存储”的地方,会因数据的收集方式和时间而异。由用户生成的数据称为原始数据,而二次数据来自为一般用途收集数据的来源。例如,一组科学家在雨林中收集观察数据被认为是原始数据,如果他们决定与其他科学家分享,则对使用这些数据的人来说是二次数据。
+
+数据库是常见的数据来源,依赖数据库管理系统来托管和维护数据,用户通过称为查询的命令来探索数据。作为数据来源的文件可以是音频、图像和视频文件,也可以是像 Excel 这样的电子表格。互联网来源是托管数据的常见位置,其中可以找到数据库和文件。应用程序编程接口(API)允许程序员通过互联网创建与外部用户共享数据的方法,而网页抓取则从网页中提取数据。[《处理数据》课程](../../../../../../../../../2-Working-With-Data)重点介绍如何使用各种数据来源。
+
+## 总结
+
+在本课程中,我们学习了:
+
+- 什么是数据
+- 数据的描述方式
+- 数据的分类和归类方式
+- 数据的来源
+
+## 🚀 挑战
+
+Kaggle 是一个优秀的开放数据集来源。使用 [数据集搜索工具](https://www.kaggle.com/datasets) 找到一些有趣的数据集,并根据以下标准分类 3-5 个数据集:
+
+- 数据是定量还是定性?
+- 数据是结构化、非结构化还是半结构化?
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5)
+
+## 复习与自学
+
+- Microsoft Learn 单元 [分类你的数据](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) 对结构化、半结构化和非结构化数据进行了详细的分解。
+
+## 作业
+
+[分类数据集](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/03-defining-data/assignment.md b/translations/zh/1-Introduction/03-defining-data/assignment.md
new file mode 100644
index 00000000..21ce3500
--- /dev/null
+++ b/translations/zh/1-Introduction/03-defining-data/assignment.md
@@ -0,0 +1,77 @@
+
+# 数据集分类
+
+## 说明
+
+按照本作业中的提示,识别并分类数据为以下每种数据类型之一:
+
+**结构类型**:结构化、半结构化或非结构化
+
+**数值类型**:定性或定量
+
+**来源类型**:原始数据或二手数据
+
+1. 一家公司被收购,现在有了母公司。数据科学家从母公司收到了一份包含客户电话号码的电子表格。
+
+结构类型:
+
+数值类型:
+
+来源类型:
+
+---
+
+2. 一款智能手表正在收集佩戴者的心率数据,原始数据以 JSON 格式存储。
+
+结构类型:
+
+数值类型:
+
+来源类型:
+
+---
+
+3. 一份关于员工士气的职场调查,数据存储在一个 CSV 文件中。
+
+结构类型:
+
+数值类型:
+
+来源类型:
+
+---
+
+4. 天体物理学家正在访问由太空探测器收集的星系数据库。数据包含每个星系中的行星数量。
+
+结构类型:
+
+数值类型:
+
+来源类型:
+
+---
+
+5. 一款个人理财应用通过 API 连接用户的金融账户,以计算其净资产。用户可以看到所有交易记录,格式为行和列,类似于电子表格。
+
+结构类型:
+
+数值类型:
+
+来源类型:
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | --- |
+正确识别所有结构、数值和来源类型 | 正确识别 3 个结构、数值和来源类型 | 正确识别 2 个或更少的结构、数值和来源类型 |
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/04-stats-and-probability/README.md b/translations/zh/1-Introduction/04-stats-and-probability/README.md
new file mode 100644
index 00000000..f8753686
--- /dev/null
+++ b/translations/zh/1-Introduction/04-stats-and-probability/README.md
@@ -0,0 +1,274 @@
+
+# 统计与概率简要介绍
+
+| ](../../sketchnotes/04-Statistics-Probability.png)|
+|:---:|
+| 统计与概率 - _由 [@nitya](https://twitter.com/nitya) 绘制的速记图_ |
+
+统计学和概率论是数学中两个密切相关的领域,与数据科学息息相关。虽然可以在不了解深奥数学知识的情况下处理数据,但至少掌握一些基本概念会更好。这里我们将提供一个简短的介绍,帮助你入门。
+
+[](https://youtu.be/Z5Zy85g4Yjw)
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6)
+
+## 概率与随机变量
+
+**概率**是一个介于 0 和 1 之间的数字,用来表示某个**事件**发生的可能性。它定义为正结果(导致事件发生的结果)的数量除以总结果数量,前提是所有结果的可能性相等。例如,当我们掷骰子时,得到偶数的概率是 3/6 = 0.5。
+
+谈到事件时,我们会使用**随机变量**。例如,表示掷骰子结果的随机变量会取值 1 到 6。1 到 6 的集合称为**样本空间**。我们可以讨论随机变量取某个值的概率,例如 P(X=3)=1/6。
+
+上述例子中的随机变量称为**离散型**,因为它有一个可计数的样本空间,即可以枚举的独立值。有些情况下,样本空间是实数范围或整个实数集。这类变量称为**连续型**。一个典型的例子是公交车到达的时间。
+
+## 概率分布
+
+对于离散随机变量,可以通过函数 P(X)轻松描述每个事件的概率。对于样本空间 *S* 中的每个值 *s*,它会给出一个介于 0 和 1 之间的数字,并且所有事件的 P(X=s) 值的总和为 1。
+
+最著名的离散分布是**均匀分布**,其中样本空间有 N 个元素,每个元素的概率均为 1/N。
+
+描述连续变量的概率分布则更复杂,这些变量的值可能来自某个区间 [a,b] 或整个实数集 ℝ。以公交车到达时间为例。实际上,对于每个确切的到达时间 *t*,公交车恰好在该时间到达的概率是 0!
+
+> 现在你知道了概率为 0 的事件是会发生的,而且非常频繁!至少每次公交车到达时都是如此!
+
+我们只能讨论变量落入某个值区间的概率,例如 P(t1≤X2)。在这种情况下,概率分布由**概率密度函数** p(x) 描述,其满足:
+
+![P(t_1\le X1, x2, ..., xn。我们可以用传统方式定义序列的**均值**(或**算术平均值**)为 (x1+x2+...+xn)/n。当样本量增加(即 n→∞),我们将得到分布的均值(也称为**期望值**)。我们用 **E**(x) 表示期望值。
+
+> 可以证明,对于任何离散分布,其值为 {x1, x2, ..., xN},对应概率为 p1, p2, ..., pN,期望值为 E(X)=x1p1+x2p2+...+xNpN。
+
+为了衡量值的分散程度,我们可以计算方差 σ2 = ∑(xi - μ)2/n,其中 μ 是序列的均值。值 σ 称为**标准差**,而 σ2 称为**方差**。
+
+## 众数、中位数与四分位数
+
+有时,均值无法充分代表数据的“典型”值。例如,当存在一些极端值完全超出范围时,它们可能会影响均值。另一个良好的指标是**中位数**,即一半数据点低于该值,另一半高于该值。
+
+为了帮助我们理解数据分布,可以讨论**四分位数**:
+
+* 第一四分位数(Q1):25% 的数据低于该值
+* 第三四分位数(Q3):75% 的数据低于该值
+
+我们可以用一个称为**箱形图**的图表来直观表示中位数和四分位数之间的关系:
+
+
+
+这里我们还计算了**四分位距** IQR=Q3-Q1,以及所谓的**离群值**——位于区间 [Q1-1.5*IQR,Q3+1.5*IQR] 之外的值。
+
+对于包含少量可能值的有限分布,一个良好的“典型”值是出现频率最高的值,称为**众数**。众数通常应用于分类数据,例如颜色。考虑一种情况,我们有两组人——一组强烈偏爱红色,另一组偏爱蓝色。如果我们用数字编码颜色,最喜欢的颜色的均值可能会落在橙色或绿色范围,这无法反映任何一组的实际偏好。然而,众数可能是其中一种颜色,或者两种颜色(如果投票人数相等,在这种情况下称为**多众分布**)。
+
+## 真实世界数据
+
+当我们分析现实生活中的数据时,它们通常不是严格意义上的随机变量,因为我们并未进行未知结果的实验。例如,考虑一组棒球运动员及其身体数据,如身高、体重和年龄。这些数字并不完全随机,但我们仍然可以应用相同的数学概念。例如,一组人的体重可以被视为从某个随机变量中抽取的一组值。以下是来自 [美国职业棒球大联盟](http://mlb.mlb.com/index.jsp) 的实际棒球运动员体重序列(数据来源于 [此数据集](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights),为方便起见,仅显示前 20 个值):
+
+```
+[180.0, 215.0, 210.0, 210.0, 188.0, 176.0, 209.0, 200.0, 231.0, 180.0, 188.0, 180.0, 185.0, 160.0, 180.0, 185.0, 197.0, 189.0, 185.0, 219.0]
+```
+
+> **注意**:要查看使用此数据集的示例,请参阅[配套笔记本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb)。本课程中还有许多挑战,你可以通过向该笔记本添加代码来完成它们。如果你不确定如何操作数据,不必担心——我们稍后会回到使用 Python 处理数据的部分。如果你不知道如何在 Jupyter Notebook 中运行代码,请查看[这篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+以下是显示我们数据均值、中位数和四分位数的箱形图:
+
+
+
+由于我们的数据包含不同球员**角色**的信息,我们还可以按角色绘制箱形图——这将帮助我们了解参数值在不同角色之间的差异。这次我们考虑身高:
+
+
+
+该图表表明,平均而言,一垒手的身高高于二垒手的身高。在本课程后面,我们将学习如何更正式地验证这一假设,以及如何证明我们的数据在统计上具有显著性。
+
+> 在处理真实世界数据时,我们假设所有数据点是从某个概率分布中抽取的样本。这个假设使我们能够应用机器学习技术并构建有效的预测模型。
+
+为了查看数据的分布,我们可以绘制一个称为**直方图**的图表。X 轴包含多个不同的体重区间(即所谓的**分箱**),Y 轴显示随机变量样本落入某个区间的次数。
+
+
+
+从这个直方图可以看出,所有值都集中在某个平均体重附近,离平均体重越远,出现该体重值的次数越少。也就是说,棒球运动员的体重与平均体重差异很大的可能性非常小。体重的方差显示了体重值与平均值可能的差异程度。
+
+> 如果我们取其他人群的体重数据,而不是棒球联盟的球员,分布可能会有所不同。然而,分布的形状会保持一致,但均值和方差会发生变化。因此,如果我们在棒球运动员上训练模型,当应用于大学学生时可能会产生错误结果,因为底层分布不同。
+
+## 正态分布
+
+我们上面看到的体重分布非常典型,许多现实世界的测量值遵循相同类型的分布,但均值和方差不同。这种分布称为**正态分布**,在统计学中具有非常重要的作用。
+
+使用正态分布是生成潜在棒球运动员随机体重的正确方法。一旦我们知道平均体重 `mean` 和标准差 `std`,我们可以通过以下方式生成 1000 个体重样本:
+```python
+samples = np.random.normal(mean,std,1000)
+```
+
+如果我们绘制生成样本的直方图,会看到与上图非常相似的图像。如果我们增加样本数量和分箱数量,可以生成更接近理想的正态分布图像:
+
+
+
+*均值=0,标准差=1 的正态分布*
+
+## 置信区间
+
+当我们讨论棒球运动员的体重时,我们假设存在某个**随机变量 W**,它对应于所有棒球运动员体重的理想概率分布(即所谓的**总体**)。我们的体重序列对应于所有棒球运动员的一个子集,称为**样本**。一个有趣的问题是,我们能否知道 W 的分布参数,即总体的均值和方差?
+
+最简单的答案是计算样本的均值和方差。然而,可能出现我们的随机样本未能准确代表完整总体的情况。因此,谈论**置信区间**是有意义的。
+> **置信区间** 是基于我们的样本对总体真实均值的估计,其准确性在某一概率(或 **置信水平**)范围内。
+假设我们有一个样本 X1, ..., Xn 来自某个分布。每次从分布中抽取样本时,我们会得到不同的均值 μ。因此,μ 可以被视为一个随机变量。一个置信度为 p 的 **置信区间** 是一对值 (Lp,Rp),使得 **P**(Lp≤μ≤Rp) = p,即测得的均值落在该区间内的概率等于 p。
+
+详细讨论如何计算这些置信区间超出了我们的简短介绍范围。更多细节可以参考 [维基百科](https://en.wikipedia.org/wiki/Confidence_interval)。简而言之,我们定义了相对于总体真实均值的样本均值分布,这被称为 **t 分布**。
+
+> **有趣的事实**:t 分布的名称来源于数学家 William Sealy Gosset,他以笔名 "Student" 发表了相关论文。他当时在健力士啤酒厂工作,据说他的雇主不希望公众知道他们使用统计测试来评估原材料的质量。
+
+如果我们希望以置信度 p 估计总体均值 μ,我们需要取 t 分布 A 的 *(1-p)/2 分位数*,这可以从表格中查得,或者通过统计软件(如 Python、R 等)的内置函数计算。然后,μ 的区间为 X±A*D/√n,其中 X 是样本的均值,D 是标准差。
+
+> **注意**:我们还省略了与 t 分布相关的重要概念 [自由度](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)) 的讨论。您可以参考更完整的统计学书籍以深入理解这一概念。
+
+关于体重和身高的置信区间计算示例可以在 [附带的笔记本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+| p | 体重均值 |
+|------|---------------|
+| 0.85 | 201.73±0.94 |
+| 0.90 | 201.73±1.08 |
+| 0.95 | 201.73±1.28 |
+
+注意,置信概率越高,置信区间越宽。
+
+## 假设检验
+
+在我们的棒球运动员数据集中,有不同的球员角色,可以总结如下(查看 [附带的笔记本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 了解如何计算此表):
+
+| 角色 | 身高 | 体重 | 数量 |
+|-------------------|-----------|-----------|-------|
+| 捕手 | 72.723684 | 204.328947 | 76 |
+| 指定打击手 | 74.222222 | 220.888889 | 18 |
+| 一垒手 | 74.000000 | 213.109091 | 55 |
+| 外野手 | 73.010309 | 199.113402 | 194 |
+| 救援投手 | 74.374603 | 203.517460 | 315 |
+| 二垒手 | 71.362069 | 184.344828 | 58 |
+| 游击手 | 71.903846 | 182.923077 | 52 |
+| 先发投手 | 74.719457 | 205.163636 | 221 |
+| 三垒手 | 73.044444 | 200.955556 | 45 |
+
+我们可以注意到,一垒手的平均身高高于二垒手。因此,我们可能会得出结论:**一垒手比二垒手高**。
+
+> 这个陈述被称为 **假设**,因为我们并不知道这一事实是否真的成立。
+
+然而,是否可以得出这一结论并不总是显而易见的。从上面的讨论中我们知道,每个均值都有一个相关的置信区间,因此这种差异可能只是统计误差。我们需要更正式的方法来检验我们的假设。
+
+让我们分别计算一垒手和二垒手身高的置信区间:
+
+| 置信度 | 一垒手 | 二垒手 |
+|--------|---------------|---------------|
+| 0.85 | 73.62..74.38 | 71.04..71.69 |
+| 0.90 | 73.56..74.44 | 70.99..71.73 |
+| 0.95 | 73.47..74.53 | 70.92..71.81 |
+
+我们可以看到,在任何置信度下,这些区间都没有重叠。这证明了我们的假设:一垒手比二垒手高。
+
+更正式地说,我们要解决的问题是判断 **两个概率分布是否相同**,或者至少它们的参数是否相同。根据分布的不同,我们需要使用不同的检验方法。如果我们知道分布是正态分布,我们可以应用 **[t 检验](https://en.wikipedia.org/wiki/Student%27s_t-test)**。
+
+在 t 检验中,我们计算所谓的 **t 值**,它表示均值之间的差异,同时考虑方差。研究表明,t 值服从 **t 分布**,这使我们能够为给定的置信水平 **p** 获取阈值(可以通过计算或查表获得)。然后,我们将 t 值与该阈值进行比较,以接受或拒绝假设。
+
+在 Python 中,我们可以使用 **SciPy** 包,其中包括 `ttest_ind` 函数(以及许多其他有用的统计函数!)。它为我们计算 t 值,并反向查找置信 p 值,这样我们只需查看置信度即可得出结论。
+
+例如,我们比较一垒手和二垒手身高的结果如下:
+```python
+from scipy.stats import ttest_ind
+
+tval, pval = ttest_ind(df.loc[df['Role']=='First_Baseman',['Height']], df.loc[df['Role']=='Designated_Hitter',['Height']],equal_var=False)
+print(f"T-value = {tval[0]:.2f}\nP-value: {pval[0]}")
+```
+```
+T-value = 7.65
+P-value: 9.137321189738925e-12
+```
+在我们的例子中,p 值非常低,这意味着有强有力的证据支持一垒手更高的结论。
+
+我们还可以测试其他类型的假设,例如:
+* 证明某个样本符合某种分布。在我们的例子中,我们假设身高是正态分布的,但这需要正式的统计验证。
+* 证明样本的均值与某个预定义值相符。
+* 比较多个样本的均值(例如,不同年龄组的幸福感差异)。
+
+## 大数法则和中心极限定理
+
+正态分布如此重要的原因之一是所谓的 **中心极限定理**。假设我们有一个独立的 N 个值 X1, ..., XN 的大样本,这些值来自任何均值为 μ、方差为 σ2 的分布。那么,当 N 足够大时(换句话说,当 N→∞),均值 ΣiXi 将服从正态分布,均值为 μ,方差为 σ2/N。
+
+> 中心极限定理的另一种解释是,无论分布如何,当你计算任意随机变量值的和的均值时,最终都会得到正态分布。
+
+根据中心极限定理,当 N→∞ 时,样本均值等于 μ 的概率趋于 1。这被称为 **大数法则**。
+
+## 协方差和相关性
+
+数据科学的一个任务是发现数据之间的关系。当两个序列在同一时间表现出相似的行为时,我们称它们 **相关**,即它们要么同时上升/下降,要么一个序列上升时另一个下降,反之亦然。换句话说,这两个序列之间似乎存在某种关系。
+
+> 相关性并不一定表明两个序列之间存在因果关系;有时两个变量可能依赖于某个外部原因,或者它们的相关性可能纯属偶然。然而,强烈的数学相关性是两个变量某种程度上相互关联的良好指示。
+
+从数学上讲,显示两个随机变量之间关系的主要概念是 **协方差**,其计算公式为:Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]。我们计算两个变量相对于其均值的偏差,然后将这些偏差相乘。如果两个变量一起偏离,其乘积总是正值,最终得到正协方差。如果两个变量不同步偏离(即一个低于平均值时另一个高于平均值),我们总是得到负值,最终得到负协方差。如果偏差无关,它们的和大致为零。
+
+协方差的绝对值并不能告诉我们相关性的强弱,因为它取决于实际值的大小。为了归一化,我们可以将协方差除以两个变量的标准差,得到 **相关性**。相关性的好处是它总是介于 [-1,1] 之间,其中 1 表示强正相关,-1 表示强负相关,0 表示完全无相关(变量独立)。
+
+**示例**:我们可以计算棒球运动员体重和身高之间的相关性:
+```python
+print(np.corrcoef(weights,heights))
+```
+结果是一个 **相关性矩阵**,如下所示:
+```
+array([[1. , 0.52959196],
+ [0.52959196, 1. ]])
+```
+
+> 相关性矩阵 C 可以针对任意数量的输入序列 S1, ..., Sn 计算。Cij 的值是 Si 和 Sj 之间的相关性,对角线元素总是 1(即 Si 的自相关性)。
+
+在我们的例子中,值 0.53 表明体重和身高之间存在一定的相关性。我们还可以绘制一个散点图,将一个值与另一个值进行比较,以直观地观察它们之间的关系:
+
+
+
+> 更多关于相关性和协方差的示例可以在 [附带的笔记本](../../../../1-Introduction/04-stats-and-probability/notebook.ipynb) 中找到。
+
+## 总结
+
+在本节中,我们学习了:
+
+* 数据的基本统计属性,如均值、方差、中位数和四分位数
+* 随机变量的不同分布,包括正态分布
+* 如何找到不同属性之间的相关性
+* 如何使用数学和统计学的严谨工具来验证假设
+* 如何根据数据样本计算随机变量的置信区间
+
+虽然这绝不是概率和统计学中所有主题的详尽列表,但它应该足以为您进入本课程提供一个良好的起点。
+
+## 🚀 挑战
+
+使用笔记本中的示例代码测试以下假设:
+1. 一垒手比二垒手年长
+2. 一垒手比三垒手高
+3. 游击手比二垒手高
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7)
+
+## 复习与自学
+
+概率和统计学是一个非常广泛的主题,值得开设一门独立的课程。如果您有兴趣深入研究理论,可以继续阅读以下书籍:
+
+1. [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/) 来自纽约大学的优秀讲义 [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf)(在线可用)
+2. [Peter and Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[R 示例代码](https://github.com/andrewgbruce/statistics-for-data-scientists)]。
+3. [James D. Miller. Statistics for Data Science](https://www.packtpub.com/product/statistics-for-data-science/9781788290678) [[R 示例代码](https://github.com/PacktPublishing/Statistics-for-Data-Science)]
+
+## 作业
+
+[小型糖尿病研究](assignment.md)
+
+## 致谢
+
+本课程由 [Dmitry Soshnikov](http://soshnikov.com) 倾情创作。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/04-stats-and-probability/assignment.md b/translations/zh/1-Introduction/04-stats-and-probability/assignment.md
new file mode 100644
index 00000000..0325d181
--- /dev/null
+++ b/translations/zh/1-Introduction/04-stats-and-probability/assignment.md
@@ -0,0 +1,38 @@
+
+# 小型糖尿病研究
+
+在本次作业中,我们将使用一个小型糖尿病患者数据集,数据来源于[这里](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html)。
+
+| | 年龄 (AGE) | 性别 (SEX) | 体重指数 (BMI) | 血压 (BP) | S1 | S2 | S3 | S4 | S5 | S6 | Y(疾病进展) |
+|---|-----|-----|-----|----|----|----|----|----|----|----|----|
+| 0 | 59 | 2 | 32.1 | 101. | 157 | 93.2 | 38.0 | 4. | 4.8598 | 87 | 151 |
+| 1 | 48 | 1 | 21.6 | 87.0 | 183 | 103.2 | 70. | 3. | 3.8918 | 69 | 75 |
+| 2 | 72 | 2 | 30.5 | 93.0 | 156 | 93.6 | 41.0 | 4.0 | 4. | 85 | 141 |
+| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... |
+
+## 说明
+
+* 在 jupyter notebook 环境中打开[作业笔记本](../../../../1-Introduction/04-stats-and-probability/assignment.ipynb)
+* 完成笔记本中列出的所有任务,包括:
+ * [ ] 计算所有值的均值和方差
+ * [ ] 根据性别绘制 BMI、BP 和 Y 的箱线图
+ * [ ] 分析年龄、性别、BMI 和 Y 变量的分布情况
+ * [ ] 测试不同变量与疾病进展 (Y) 之间的相关性
+ * [ ] 检验糖尿病进展程度在男性和女性之间是否存在显著差异
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | -- |
+所有要求的任务均已完成,且有图表展示和详细解释 | 大部分任务已完成,但缺少图表或计算结果的解释 | 仅完成了基本任务,如均值/方差计算和基础图表绘制,未对数据得出任何结论
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/1-Introduction/README.md b/translations/zh/1-Introduction/README.md
new file mode 100644
index 00000000..8392b804
--- /dev/null
+++ b/translations/zh/1-Introduction/README.md
@@ -0,0 +1,29 @@
+
+# 数据科学简介
+
+
+> 图片由 Stephen Dawson 提供,来自 Unsplash
+
+在这些课程中,您将了解数据科学的定义,并学习数据科学家必须考虑的伦理问题。您还将学习数据的定义,并对统计学和概率论有一些初步了解,这些是数据科学的核心学术领域。
+
+### 主题
+
+1. [定义数据科学](01-defining-data-science/README.md)
+2. [数据科学伦理](02-ethics/README.md)
+3. [定义数据](03-defining-data/README.md)
+4. [统计与概率简介](04-stats-and-probability/README.md)
+
+### 致谢
+
+这些课程由 [Nitya Narasimhan](https://twitter.com/nitya) 和 [Dmitry Soshnikov](https://twitter.com/shwars) 倾注 ❤️ 编写完成。
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/05-relational-databases/README.md b/translations/zh/2-Working-With-Data/05-relational-databases/README.md
new file mode 100644
index 00000000..b1cdd75a
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/05-relational-databases/README.md
@@ -0,0 +1,193 @@
+
+# 数据处理:关系型数据库
+
+| ](../../sketchnotes/05-RelationalData.png)|
+|:---:|
+| 数据处理:关系型数据库 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+你可能曾经使用过电子表格来存储信息。电子表格由一组行和列组成,其中行包含信息(或数据),列描述信息(有时称为元数据)。关系型数据库基于这种表格中行和列的核心原则构建,允许你将信息分散到多个表中。这使得你可以处理更复杂的数据,避免重复,并灵活地探索数据。让我们来探讨关系型数据库的概念。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8)
+
+## 一切从表开始
+
+关系型数据库的核心是表。就像电子表格一样,表是列和行的集合。行包含我们希望处理的数据或信息,例如城市名称或降雨量。列则描述存储的数据。
+
+让我们从创建一个存储城市信息的表开始。我们可以从城市名称和国家开始。你可以将其存储在如下表中:
+
+| 城市 | 国家 |
+| -------- | ------------ |
+| 东京 | 日本 |
+| 亚特兰大 | 美国 |
+| 奥克兰 | 新西兰 |
+
+注意,**城市**、**国家**和**人口**这些列名描述了存储的数据,每一行包含一个城市的信息。
+
+## 单表方法的局限性
+
+上述表格可能看起来对你来说比较熟悉。现在让我们开始为这个初步的数据库添加一些额外的数据——年度降雨量(单位:毫米)。我们关注2018年、2019年和2020年。如果我们为东京添加数据,它可能看起来像这样:
+
+| 城市 | 国家 | 年份 | 降雨量 |
+| ----- | ------ | ---- | ------ |
+| 东京 | 日本 | 2020 | 1690 |
+| 东京 | 日本 | 2019 | 1874 |
+| 东京 | 日本 | 2018 | 1445 |
+
+你注意到我们的表格有什么问题了吗?你可能会发现我们重复了城市名称和国家信息。这会占用相当多的存储空间,而且没有必要多次复制这些信息。毕竟,我们只关心一个东京。
+
+好吧,让我们尝试另一种方法。我们为每一年添加新的列:
+
+| 城市 | 国家 | 2018 | 2019 | 2020 |
+| -------- | ------------ | ---- | ---- | ---- |
+| 东京 | 日本 | 1445 | 1874 | 1690 |
+| 亚特兰大 | 美国 | 1779 | 1111 | 1683 |
+| 奥克兰 | 新西兰 | 1386 | 942 | 1176 |
+
+虽然这种方法避免了行的重复,但它带来了其他一些问题。每次有新的一年,我们都需要修改表的结构。此外,随着数据的增长,将年份作为列会使得检索和计算值变得更加困难。
+
+这就是为什么我们需要多个表和关系。通过拆分数据,我们可以避免重复,并在处理数据时拥有更大的灵活性。
+
+## 关系的概念
+
+让我们回到数据,确定如何拆分。我们知道我们想存储城市的名称和国家信息,所以这可能最适合放在一个表中。
+
+| 城市 | 国家 |
+| -------- | ------------ |
+| 东京 | 日本 |
+| 亚特兰大 | 美国 |
+| 奥克兰 | 新西兰 |
+
+但在创建下一个表之前,我们需要弄清楚如何引用每个城市。我们需要某种形式的标识符、ID或(在技术数据库术语中)主键。主键是用于标识表中某一特定行的值。虽然这可以基于某个值本身(例如,我们可以使用城市名称),但它几乎总是一个数字或其他标识符。我们不希望ID发生变化,因为这会破坏关系。你会发现,在大多数情况下,主键或ID是自动生成的数字。
+
+> ✅ 主键通常缩写为PK
+
+### 城市表
+
+| city_id | 城市 | 国家 |
+| ------- | -------- | ------------ |
+| 1 | 东京 | 日本 |
+| 2 | 亚特兰大 | 美国 |
+| 3 | 奥克兰 | 新西兰 |
+
+> ✅ 在本课程中,你会注意到我们交替使用“id”和“主键”这两个术语。这里的概念也适用于DataFrame,你将在后续学习中探索。虽然DataFrame不使用“主键”这一术语,但你会发现它们的行为非常相似。
+
+创建城市表后,让我们存储降雨量。与其重复城市的完整信息,我们可以使用ID。我们还应该确保新创建的表也有一个*id*列,因为所有表都应该有一个ID或主键。
+
+### 降雨量表
+
+| rainfall_id | city_id | 年份 | 降雨量 |
+| ----------- | ------- | ---- | ------ |
+| 1 | 1 | 2018 | 1445 |
+| 2 | 1 | 2019 | 1874 |
+| 3 | 1 | 2020 | 1690 |
+| 4 | 2 | 2018 | 1779 |
+| 5 | 2 | 2019 | 1111 |
+| 6 | 2 | 2020 | 1683 |
+| 7 | 3 | 2018 | 1386 |
+| 8 | 3 | 2019 | 942 |
+| 9 | 3 | 2020 | 1176 |
+
+注意新创建的**降雨量表**中的**city_id**列。该列包含引用**城市表**中ID的值。在关系型数据的技术术语中,这被称为**外键**;它是另一个表的主键。你可以简单地将其视为一个引用或指针。**city_id** 1引用的是东京。
+
+> [!NOTE] 外键通常缩写为FK
+
+## 数据检索
+
+将数据分成两个表后,你可能会想如何检索它。如果我们使用的是关系型数据库,例如MySQL、SQL Server或Oracle,我们可以使用一种叫做结构化查询语言(SQL)的语言。SQL(有时读作“sequel”)是一种标准语言,用于在关系型数据库中检索和修改数据。
+
+要检索数据,你可以使用命令`SELECT`。其核心是,你**选择**想要查看的列,**从**它们所在的表中。如果你只想显示城市名称,可以使用以下命令:
+
+```sql
+SELECT city
+FROM cities;
+
+-- Output:
+-- Tokyo
+-- Atlanta
+-- Auckland
+```
+
+`SELECT`用于列出列名,`FROM`用于列出表名。
+
+> [NOTE] SQL语法不区分大小写,这意味着`select`和`SELECT`是一样的。然而,根据你使用的数据库类型,列名和表名可能区分大小写。因此,最佳实践是始终将编程中的所有内容视为区分大小写。在编写SQL查询时,常见的约定是将关键字全部写成大写字母。
+
+上述查询将显示所有城市。假设我们只想显示新西兰的城市。我们需要某种形式的过滤器。SQL中的关键字是`WHERE`,即“某条件为真”。
+
+```sql
+SELECT city
+FROM cities
+WHERE country = 'New Zealand';
+
+-- Output:
+-- Auckland
+```
+
+## 数据连接
+
+到目前为止,我们只从单个表中检索数据。现在我们想将**城市表**和**降雨量表**中的数据结合起来。这可以通过*连接*来实现。你实际上是在两个表之间创建一个连接,并将每个表中的列值匹配起来。
+
+在我们的例子中,我们将匹配**降雨量表**中的**city_id**列和**城市表**中的**city_id**列。这将把降雨量值与其对应的城市匹配起来。我们将执行一种称为*内连接*的连接类型,这意味着如果某些行与另一个表中的任何内容不匹配,它们将不会被显示。在我们的例子中,每个城市都有降雨量数据,因此所有内容都会被显示。
+
+让我们检索2019年所有城市的降雨量。
+
+我们将分步骤进行。第一步是通过指定连接列(**city_id**)将数据连接起来。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+```
+
+我们已经突出显示了我们想要的两列,以及我们想通过**city_id**连接表的事实。现在我们可以添加`WHERE`语句来过滤出仅2019年的数据。
+
+```sql
+SELECT cities.city
+ rainfall.amount
+FROM cities
+ INNER JOIN rainfall ON cities.city_id = rainfall.city_id
+WHERE rainfall.year = 2019
+
+-- Output
+
+-- city | amount
+-- -------- | ------
+-- Tokyo | 1874
+-- Atlanta | 1111
+-- Auckland | 942
+```
+
+## 总结
+
+关系型数据库的核心是将信息分成多个表,然后将其重新组合以进行显示和分析。这提供了高度的灵活性来执行计算或以其他方式操作数据。你已经了解了关系型数据库的核心概念,以及如何在两个表之间执行连接。
+
+## 🚀 挑战
+
+互联网上有许多关系型数据库可供使用。你可以通过使用上述技能来探索数据。
+
+## 课后测验
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9)
+
+## 复习与自学
+
+[Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum)上有许多资源可供你继续探索SQL和关系型数据库的概念
+
+- [描述关系型数据的概念](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum)
+- [开始使用Transact-SQL进行查询](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum)(Transact-SQL是SQL的一种版本)
+- [Microsoft Learn上的SQL内容](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum)
+
+## 作业
+
+[作业标题](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而引起的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/05-relational-databases/assignment.md b/translations/zh/2-Working-With-Data/05-relational-databases/assignment.md
new file mode 100644
index 00000000..2092675b
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/05-relational-databases/assignment.md
@@ -0,0 +1,71 @@
+
+# 显示机场数据
+
+您已获得一个基于 [SQLite](https://sqlite.org/index.html) 的[数据库](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db),其中包含有关机场的信息。以下是该数据库的模式。您将使用 [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) 中的 [SQLite 扩展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) 来显示不同城市机场的信息。
+
+## 指导说明
+
+要开始完成此任务,您需要执行几个步骤。您需要安装一些工具并下载示例数据库。
+
+### 设置您的系统
+
+您可以使用 Visual Studio Code 和 SQLite 扩展与数据库交互。
+
+1. 访问 [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum),按照说明安装 Visual Studio Code
+1. 按照 Marketplace 页面上的说明安装 [SQLite 扩展](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+### 下载并打开数据库
+
+接下来,您将下载并打开数据库。
+
+1. 从 [GitHub 下载数据库文件](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db),并将其保存到一个目录中
+1. 打开 Visual Studio Code
+1. 在 SQLite 扩展中打开数据库,按下 **Ctl-Shift-P**(Mac 上为 **Cmd-Shift-P**),然后输入 `SQLite: Open database`
+1. 选择 **Choose database from file**,然后打开您之前下载的 **airports.db** 文件
+1. 打开数据库后(屏幕上不会有更新显示),通过按下 **Ctl-Shift-P**(Mac 上为 **Cmd-Shift-P**),输入 `SQLite: New query` 创建一个新的查询窗口
+
+打开后,新的查询窗口可用于对数据库运行 SQL 语句。您可以使用命令 **Ctl-Shift-Q**(Mac 上为 **Cmd-Shift-Q**)对数据库运行查询。
+
+> [!NOTE] 有关 SQLite 扩展的更多信息,您可以查阅 [文档](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum)
+
+## 数据库模式
+
+数据库的模式是其表的设计和结构。**airports** 数据库有两个表:`cities`,包含英国和爱尔兰的城市列表;以及 `airports`,包含所有机场的列表。由于某些城市可能有多个机场,因此创建了两个表来存储信息。在本练习中,您将使用联接来显示不同城市的信息。
+
+| Cities |
+| ---------------- |
+| id (PK, integer) |
+| city (text) |
+| country (text) |
+
+| Airports |
+| -------------------------------- |
+| id (PK, integer) |
+| name (text) |
+| code (text) |
+| city_id (FK to id in **Cities**) |
+
+## 任务
+
+创建查询以返回以下信息:
+
+1. `Cities` 表中所有城市的名称
+1. `Cities` 表中所有位于爱尔兰的城市
+1. 所有机场的名称及其所在的城市和国家
+1. 所有位于英国伦敦的机场
+
+## 评分标准
+
+| 优秀 | 合格 | 需要改进 |
+| ---------- | ---------- | -------------- |
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/06-non-relational/README.md b/translations/zh/2-Working-With-Data/06-non-relational/README.md
new file mode 100644
index 00000000..701e2130
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/06-non-relational/README.md
@@ -0,0 +1,156 @@
+
+# 使用数据:非关系型数据
+
+| 绘制的速记图 ](../../sketchnotes/06-NoSQL.png)|
+|:---:|
+|使用 NoSQL 数据 - _速记图由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10)
+
+数据并不仅限于关系型数据库。本课将重点介绍非关系型数据,并涵盖电子表格和 NoSQL 的基础知识。
+
+## 电子表格
+
+电子表格是一种流行的数据存储和探索方式,因为它设置和使用起来相对简单。在本课中,您将学习电子表格的基本组成部分,以及公式和函数。示例将以 Microsoft Excel 为例,但大多数部分和主题在其他电子表格软件中也有类似的名称和操作步骤。
+
+
+
+电子表格是一个文件,可以通过计算机、设备或基于云的文件系统访问。软件本身可能是基于浏览器的,也可能是需要安装在计算机上的应用程序,或者作为应用下载。在 Excel 中,这些文件也被定义为 **工作簿**,本课将使用这一术语。
+
+一个工作簿包含一个或多个 **工作表**,每个工作表通过标签标识。在工作表中有称为 **单元格** 的矩形区域,用于存储实际数据。单元格是行和列的交叉点,其中列用字母标识,行用数字标识。一些电子表格会在前几行中包含标题,用于描述单元格中的数据。
+
+了解了 Excel 工作簿的这些基本元素后,我们将使用 [Microsoft 模板](https://templates.office.com/) 中的一个库存示例,来演示电子表格的其他部分。
+
+### 管理库存
+
+名为 "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 的值相加,得到总价值。虽然可以通过逐一相加每个单元格的值来计算总和,但这会非常繁琐。Excel 提供了 [**函数**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89),即预定义的公式,用于对单元格值进行计算。函数需要参数,即执行这些计算所需的值。当函数需要多个参数时,这些参数需要按特定顺序列出,否则函数可能无法正确计算值。本例使用了 SUM 函数,并将 Inventory Value 的值作为参数,生成总和,结果列在第 3 行,第 B 列(也称为 B3)。
+
+## NoSQL
+
+NoSQL 是一个总称,涵盖了存储非关系型数据的不同方式,可以解释为 "非 SQL"、"非关系型" 或 "不仅仅是 SQL"。这类数据库系统可以分为四种类型。
+
+
+> 来源:[Michał Białecki Blog](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/) 和适当的哈希函数存储。
+
+
+> 来源:[Microsoft](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) 数据存储将数据组织为列和行,类似于关系型数据结构,但每列被分为称为列族的组,其中一列下的所有数据是相关的,可以作为一个单元进行检索和更改。
+
+### 使用 Azure Cosmos DB 的文档数据存储
+
+[文档](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) 数据存储基于键值数据存储的概念,由一系列字段和对象组成。本节将通过 Cosmos DB 模拟器探索文档数据库。
+
+Cosmos DB 数据库符合 "不仅仅是 SQL" 的定义,其中 Cosmos DB 的文档数据库依赖 SQL 来查询数据。[上一课](../05-relational-databases/README.md) 已介绍了 SQL 的基础知识,我们可以在这里将一些相同的查询应用于文档数据库。我们将使用 Cosmos DB 模拟器,它允许我们在本地计算机上创建和探索文档数据库。有关模拟器的更多信息,请阅读 [此处](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21)。
+
+文档是字段和对象值的集合,其中字段描述对象值的含义。以下是一个文档示例。
+
+```json
+{
+ "firstname": "Eva",
+ "age": 44,
+ "id": "8c74a315-aebf-4a16-bb38-2430a9896ce5",
+ "_rid": "bHwDAPQz8s0BAAAAAAAAAA==",
+ "_self": "dbs/bHwDAA==/colls/bHwDAPQz8s0=/docs/bHwDAPQz8s0BAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f95-010a691e01d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630544034
+}
+```
+
+此文档中感兴趣的字段包括:`firstname`、`id` 和 `age`。其余带下划线的字段是由 Cosmos DB 生成的。
+
+#### 使用 Cosmos DB 模拟器探索数据
+
+您可以 [在此处下载并安装 Windows 版模拟器](https://aka.ms/cosmosdb-emulator)。有关在 macOS 和 Linux 上运行模拟器的选项,请参阅此 [文档](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos)。
+
+模拟器会启动一个浏览器窗口,其中的 Explorer 视图允许您探索文档。
+
+
+
+如果您正在跟随操作,请点击 "Start with Sample" 以生成一个名为 SampleDB 的示例数据库。如果您点击箭头展开 SampleDB,您会发现一个名为 `Persons` 的容器。容器包含一组项目,即容器中的文档。您可以探索 `Items` 下的四个单独文档。
+
+
+
+#### 使用 Cosmos DB 模拟器查询文档数据
+
+我们还可以通过点击新 SQL Query 按钮(从左数第二个按钮)来查询示例数据。
+
+`SELECT * FROM c` 返回容器中的所有文档。让我们添加一个 where 子句,查找年龄小于 40 的人。
+
+`SELECT * FROM c where c.age < 40`
+
+
+
+查询返回了两个文档,注意每个文档的年龄值都小于 40。
+
+#### JSON 与文档
+
+如果您熟悉 JavaScript 对象表示法 (JSON),您会注意到文档看起来与 JSON 类似。本目录中有一个 `PersonsData.json` 文件,包含更多数据,您可以通过模拟器中的 `Upload Item` 按钮将其上传到 Persons 容器。
+
+在大多数情况下,返回 JSON 数据的 API 可以直接传输并存储到文档数据库中。以下是另一个文档示例,它表示从 Microsoft Twitter 账户获取的推文数据,这些数据通过 Twitter API 检索后插入到 Cosmos DB 中。
+
+```json
+{
+ "created_at": "2021-08-31T19:03:01.000Z",
+ "id": "1432780985872142341",
+ "text": "Blank slate. Like this tweet if you’ve ever painted in Microsoft Paint before. https://t.co/cFeEs8eOPK",
+ "_rid": "dhAmAIUsA4oHAAAAAAAAAA==",
+ "_self": "dbs/dhAmAA==/colls/dhAmAIUsA4o=/docs/dhAmAIUsA4oHAAAAAAAAAA==/",
+ "_etag": "\"00000000-0000-0000-9f84-a0958ad901d7\"",
+ "_attachments": "attachments/",
+ "_ts": 1630537000
+```
+
+此文档中感兴趣的字段包括:`created_at`、`id` 和 `text`。
+
+## 🚀 挑战
+
+目录中有一个 `TwitterData.json` 文件,您可以将其上传到 SampleDB 数据库。建议将其添加到一个单独的容器中。操作步骤如下:
+
+1. 点击右上角的新建容器按钮
+1. 选择现有数据库 (SampleDB),为容器创建一个容器 ID
+1. 将分区键设置为 `/id`
+1. 点击 OK(可以忽略此视图中的其他信息,因为这是一个在本地计算机上运行的小型数据集)
+1. 打开新容器,通过 `Upload Item` 按钮上传 Twitter 数据文件
+
+尝试运行一些 SELECT 查询,查找 text 字段中包含 Microsoft 的文档。提示:尝试使用 [LIKE 关键字](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character)。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11)
+
+## 复习与自学
+
+- 本课未涵盖电子表格中的一些额外格式和功能。Microsoft 提供了一个 [丰富的文档和视频库](https://support.microsoft.com/excel),如果您有兴趣了解更多内容,可以参考。
+
+- 此架构文档详细介绍了非关系型数据的不同类型特性:[非关系型数据和 NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data)
+
+- Cosmos DB 是一个基于云的非关系型数据库,也可以存储本课中提到的不同 NoSQL 类型。您可以在此 [Cosmos DB Microsoft Learn 模块](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/) 中了解更多关于这些类型的信息。
+
+## 作业
+
+[Soda Profits](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/06-non-relational/assignment.md b/translations/zh/2-Working-With-Data/06-non-relational/assignment.md
new file mode 100644
index 00000000..773c47a5
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/06-non-relational/assignment.md
@@ -0,0 +1,31 @@
+
+# 苏打利润
+
+## 说明
+
+[Coca Cola Co 电子表格](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx)缺少了一些计算。你的任务是:
+
+1. 计算 2015、2016、2017 和 2018 财年的毛利润
+ - 毛利润 = 营业净收入 - 销售成本
+1. 计算所有毛利润的平均值。尝试使用函数完成此操作。
+ - 平均值 = 毛利润总和除以财年数(10)
+ - 关于 [AVERAGE 函数](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6) 的文档
+1. 这是一个 Excel 文件,但应该可以在任何电子表格平台中编辑
+
+[数据来源归功于 Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel)
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | ---
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/07-python/README.md b/translations/zh/2-Working-With-Data/07-python/README.md
new file mode 100644
index 00000000..85c6b276
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/07-python/README.md
@@ -0,0 +1,288 @@
+
+# 使用数据:Python和Pandas库
+
+|  ](../../sketchnotes/07-WorkWithPython.png) |
+| :-------------------------------------------------------------------------------------------------------: |
+| 使用Python - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+[](https://youtu.be/dZjWOGbsN4Y)
+
+虽然数据库提供了非常高效的方式来存储数据并通过查询语言进行查询,但最灵活的数据处理方式是编写自己的程序来操作数据。在许多情况下,使用数据库查询可能更有效。然而,当需要更复杂的数据处理时,SQL可能无法轻松完成。
+数据处理可以用任何编程语言编写,但有些语言在处理数据方面更高级。数据科学家通常偏好以下语言之一:
+
+* **[Python](https://www.python.org/)** 是一种通用编程语言,由于其简单性,通常被认为是初学者的最佳选择之一。Python有许多额外的库,可以帮助解决许多实际问题,例如从ZIP压缩文件中提取数据或将图片转换为灰度。除了数据科学,Python还常用于Web开发。
+* **[R](https://www.r-project.org/)** 是一个传统工具箱,专为统计数据处理而开发。它包含大量的库(CRAN),使其成为数据处理的良好选择。然而,R不是通用编程语言,通常仅限于数据科学领域使用。
+* **[Julia](https://julialang.org/)** 是另一种专为数据科学开发的语言。它旨在提供比Python更好的性能,是科学实验的绝佳工具。
+
+在本课程中,我们将重点使用Python进行简单的数据处理。我们假设您对该语言有基本的了解。如果您想深入学习Python,可以参考以下资源:
+
+* [通过Turtle Graphics和分形趣味学习Python](https://github.com/shwars/pycourse) - 基于GitHub的Python编程快速入门课程
+* [迈出Python的第一步](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum)上的学习路径
+
+数据可以有多种形式。在本课程中,我们将讨论三种数据形式——**表格数据**、**文本**和**图像**。
+
+我们将专注于几个数据处理的示例,而不是全面介绍所有相关库。这将帮助您了解主要的可能性,并让您知道在需要时在哪里找到解决问题的方法。
+
+> **最有用的建议**:当您需要对数据执行某些操作但不知道如何操作时,请尝试在互联网上搜索。[Stackoverflow](https://stackoverflow.com/)通常包含许多关于Python的典型任务的有用代码示例。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12)
+
+## 表格数据和数据框
+
+在我们讨论关系型数据库时,您已经接触过表格数据。当您拥有大量数据,并且这些数据包含在许多不同的关联表中时,使用SQL来处理它们是非常合理的。然而,在许多情况下,我们只有一个数据表,并且需要对这些数据进行一些**理解**或**洞察**,例如分布、值之间的相关性等。在数据科学中,我们经常需要对原始数据进行一些转换,然后进行可视化。这两个步骤都可以通过Python轻松完成。
+
+Python中有两个最有用的库可以帮助您处理表格数据:
+* **[Pandas](https://pandas.pydata.org/)** 允许您操作所谓的**数据框(Dataframes)**,它类似于关系表。您可以拥有命名的列,并对行、列以及整个数据框执行各种操作。
+* **[Numpy](https://numpy.org/)** 是一个用于处理**张量(Tensors)**的库,即多维**数组(Arrays)**。数组的值具有相同的底层类型,它比数据框更简单,但提供了更多的数学操作,并且开销更小。
+
+此外,还有几个您应该了解的库:
+* **[Matplotlib](https://matplotlib.org/)** 是一个用于数据可视化和绘制图表的库
+* **[SciPy](https://www.scipy.org/)** 是一个包含一些额外科学函数的库。我们在讨论概率和统计时已经接触过这个库
+
+以下是您通常在Python程序开头导入这些库的代码:
+```python
+import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+from scipy import ... # you need to specify exact sub-packages that you need
+```
+
+Pandas围绕几个基本概念构建。
+
+### Series(序列)
+
+**Series** 是一组值的序列,类似于列表或numpy数组。主要区别在于Series还有一个**索引**,当我们对Series进行操作(例如相加)时,会考虑索引。索引可以像整数行号一样简单(这是从列表或数组创建Series时默认使用的索引),也可以具有复杂结构,例如日期区间。
+
+> **注意**:在配套的笔记本文件[`notebook.ipynb`](../../../../2-Working-With-Data/07-python/notebook.ipynb)中有一些Pandas的入门代码。我们在这里仅列出一些示例,您可以查看完整的笔记本文件。
+
+举个例子:我们想分析冰淇淋店的销售情况。让我们生成一段时间内的销售数据(每天售出的商品数量)的序列:
+
+```python
+start_date = "Jan 1, 2020"
+end_date = "Mar 31, 2020"
+idx = pd.date_range(start_date,end_date)
+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
+additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
+```
+当我们将两个序列相加时,就得到了总数:
+```python
+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`参数。
+
+对于时间序列,我们还可以使用不同的时间间隔对序列进行**重采样**。例如,假设我们想计算每月的平均销售量,可以使用以下代码:
+```python
+monthly = total_items.resample("1M").mean()
+ax = monthly.plot(kind='bar')
+```
+
+
+### DataFrame(数据框)
+
+数据框本质上是具有相同索引的多个序列的集合。我们可以将几个序列组合成一个数据框:
+```python
+a = pd.Series(range(1,10))
+b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
+df = pd.DataFrame([a,b])
+```
+这将创建如下的水平表:
+| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
+| --- | --- | ---- | --- | --- | ------ | --- | ------ | ---- | ---- |
+| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| 1 | I | like | to | use | Python | and | Pandas | very | much |
+
+我们还可以将Series作为列,并使用字典指定列名:
+```python
+df = pd.DataFrame({ 'A' : a, 'B' : b })
+```
+这将生成如下表格:
+
+| | A | B |
+| --- | --- | ------ |
+| 0 | 1 | I |
+| 1 | 2 | like |
+| 2 | 3 | to |
+| 3 | 4 | use |
+| 4 | 5 | Python |
+| 5 | 6 | and |
+| 6 | 7 | Pandas |
+| 7 | 8 | very |
+| 8 | 9 | much |
+
+**注意** 我们还可以通过转置前一个表格来获得这种表格布局,例如写:
+```python
+df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' })
+```
+这里`.T`表示转置数据框的操作,即交换行和列,而`rename`操作允许我们重命名列以匹配前面的示例。
+
+以下是我们可以对数据框执行的一些最重要操作:
+
+**列选择**。我们可以通过写`df['A']`选择单个列——此操作返回一个Series。我们还可以通过写`df[['B','A']]`选择列的子集到另一个数据框——此操作返回另一个数据框。
+
+**按条件过滤**某些行。例如,要仅保留列`A`大于5的行,可以写`df[df['A']>5]`。
+
+> **注意**:过滤的工作原理如下。表达式`df['A']<5`返回一个布尔序列,指示原始序列`df['A']`的每个元素是否满足条件。当布尔序列用作索引时,它返回数据框中的行子集。因此,不能使用任意的Python布尔表达式,例如写`df[df['A']>5 and df['A']<7]`是错误的。相反,您应该使用布尔序列上的特殊`&`操作,写`df[(df['A']>5) & (df['A']<7)]`(*括号在这里很重要*)。
+
+**创建新的可计算列**。我们可以通过使用直观的表达式轻松为数据框创建新的可计算列:
+```python
+df['DivA'] = df['A']-df['A'].mean()
+```
+此示例计算列A与其平均值的偏差。实际发生的情况是我们计算了一个序列,然后将该序列分配给左侧,创建了另一个列。因此,我们不能使用与序列不兼容的任何操作,例如以下代码是错误的:
+```python
+# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi"
+df['LenB'] = len(df['B']) # <- Wrong result
+```
+后一个示例虽然语法正确,但会给出错误的结果,因为它将序列`B`的长度分配给列中的所有值,而不是我们预期的每个元素的长度。
+
+如果需要计算复杂表达式,可以使用`apply`函数。最后一个示例可以写成如下:
+```python
+df['LenB'] = df['B'].apply(lambda x : len(x))
+# or
+df['LenB'] = df['B'].apply(len)
+```
+
+经过上述操作后,我们将得到以下数据框:
+
+| | A | B | DivA | LenB |
+| --- | --- | ------ | ---- | ---- |
+| 0 | 1 | I | -4.0 | 1 |
+| 1 | 2 | like | -3.0 | 4 |
+| 2 | 3 | to | -2.0 | 2 |
+| 3 | 4 | use | -1.0 | 3 |
+| 4 | 5 | Python | 0.0 | 6 |
+| 5 | 6 | and | 1.0 | 3 |
+| 6 | 7 | Pandas | 2.0 | 6 |
+| 7 | 8 | very | 3.0 | 4 |
+| 8 | 9 | much | 4.0 | 4 |
+
+**基于行号选择行**可以使用`iloc`构造。例如,要选择数据框的前5行:
+```python
+df.iloc[:5]
+```
+
+**分组**通常用于获得类似于Excel中的*数据透视表*的结果。假设我们想计算列`A`的平均值,按`LenB`的不同值分组。我们可以按`LenB`分组数据框,然后调用`mean`:
+```python
+df.groupby(by='LenB').mean()
+```
+如果我们需要计算平均值和组中的元素数量,可以使用更复杂的`aggregate`函数:
+```python
+df.groupby(by='LenB') \
+ .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
+ .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
+```
+这将生成以下表格:
+
+| LenB | Count | Mean |
+| ---- | ----- | -------- |
+| 1 | 1 | 1.000000 |
+| 2 | 1 | 3.000000 |
+| 3 | 2 | 5.000000 |
+| 4 | 3 | 6.333333 |
+| 6 | 2 | 6.000000 |
+
+### 获取数据
+我们已经看到如何轻松地从 Python 对象构建 Series 和 DataFrame。然而,数据通常以文本文件或 Excel 表格的形式出现。幸运的是,Pandas 为我们提供了一种简单的方法来从磁盘加载数据。例如,读取 CSV 文件就像这样简单:
+```python
+df = pd.read_csv('file.csv')
+```
+我们将在“挑战”部分中看到更多加载数据的示例,包括从外部网站获取数据。
+
+### 打印和绘图
+
+数据科学家经常需要探索数据,因此能够可视化数据非常重要。当 DataFrame 很大时,我们通常只需要打印出前几行以确保操作正确。这可以通过调用 `df.head()` 来完成。如果你在 Jupyter Notebook 中运行,它会以漂亮的表格形式打印出 DataFrame。
+
+我们还看到了使用 `plot` 函数来可视化某些列的用法。虽然 `plot` 对许多任务非常有用,并通过 `kind=` 参数支持多种不同的图表类型,但你也可以使用原始的 `matplotlib` 库来绘制更复杂的图表。我们将在单独的课程中详细讲解数据可视化。
+
+这个概述涵盖了 Pandas 的重要概念,但这个库非常丰富,你可以用它做无限多的事情!现在让我们应用这些知识来解决具体问题。
+
+## 🚀 挑战 1:分析 COVID 传播
+
+我们将关注的第一个问题是 COVID-19 的疫情传播建模。为此,我们将使用由 [约翰霍普金斯大学](https://jhu.edu/) [系统科学与工程中心](https://systems.jhu.edu/) (CSSE) 提供的不同国家感染人数数据。数据集可以在 [这个 GitHub 仓库](https://github.com/CSSEGISandData/COVID-19) 中找到。
+
+由于我们想展示如何处理数据,我们邀请你打开 [`notebook-covidspread.ipynb`](../../../../2-Working-With-Data/07-python/notebook-covidspread.ipynb) 并从头到尾阅读。你还可以执行单元格,并完成我们在最后为你留下的一些挑战。
+
+
+
+> 如果你不知道如何在 Jupyter Notebook 中运行代码,请查看 [这篇文章](https://soshnikov.com/education/how-to-execute-notebooks-from-github/)。
+
+## 处理非结构化数据
+
+虽然数据通常以表格形式出现,但在某些情况下我们需要处理较少结构化的数据,例如文本或图像。在这种情况下,为了应用我们上面看到的数据处理技术,我们需要以某种方式**提取**结构化数据。以下是一些示例:
+
+* 从文本中提取关键词,并查看这些关键词出现的频率
+* 使用神经网络从图片中提取有关对象的信息
+* 获取视频摄像头画面中人物的情绪信息
+
+## 🚀 挑战 2:分析 COVID 论文
+
+在这个挑战中,我们将继续关注 COVID 疫情的主题,重点处理关于该主题的科学论文。有一个 [CORD-19 数据集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge),其中包含超过 7000 篇(截至撰写时)关于 COVID 的论文,提供了元数据和摘要(其中约一半还提供了全文)。
+
+使用 [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health/?WT.mc_id=academic-77958-bethanycheum) 认知服务分析该数据集的完整示例已在 [这篇博客文章](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/) 中描述。我们将讨论此分析的简化版本。
+
+> **NOTE**: 我们没有在此仓库中提供数据集副本。你可能需要先从 [Kaggle 上的这个数据集](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 下载 [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) 文件。可能需要注册 Kaggle。你也可以从 [这里](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html) 下载数据集而无需注册,但它将包括所有全文以及元数据文件。
+
+打开 [`notebook-papers.ipynb`](../../../../2-Working-With-Data/07-python/notebook-papers.ipynb) 并从头到尾阅读。你还可以执行单元格,并完成我们在最后为你留下的一些挑战。
+
+
+
+## 处理图像数据
+
+最近,开发了非常强大的 AI 模型,可以帮助我们理解图像。使用预训练的神经网络或云服务可以解决许多任务。以下是一些示例:
+
+* **图像分类**,可以帮助你将图像分类到预定义的类别中。你可以使用诸如 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 的服务轻松训练自己的图像分类器。
+* **对象检测**,用于检测图像中的不同对象。诸如 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 的服务可以检测许多常见对象,你也可以训练 [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) 模型来检测一些特定的兴趣对象。
+* **人脸检测**,包括年龄、性别和情绪检测。这可以通过 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 完成。
+
+所有这些云服务都可以通过 [Python SDKs](https://docs.microsoft.com/samples/azure-samples/cognitive-services-python-sdk-samples/cognitive-services-python-sdk-samples/?WT.mc_id=academic-77958-bethanycheum) 调用,因此可以轻松地集成到你的数据探索工作流中。
+
+以下是一些从图像数据源探索数据的示例:
+* 在博客文章 [如何在不编程的情况下学习数据科学](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) 中,我们探索 Instagram 照片,试图了解是什么让人们对照片点赞更多。我们首先使用 [Computer Vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) 从图片中提取尽可能多的信息,然后使用 [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) 构建可解释的模型。
+* 在 [面部研究工作坊](https://github.com/CloudAdvocacy/FaceStudies) 中,我们使用 [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) 提取活动照片中人物的情绪,以试图了解是什么让人们感到快乐。
+
+## 结论
+
+无论你已经拥有结构化数据还是非结构化数据,使用 Python 都可以完成与数据处理和理解相关的所有步骤。这可能是数据处理最灵活的方式,这也是为什么大多数数据科学家将 Python 作为主要工具的原因。如果你对数据科学之旅是认真的,深入学习 Python 可能是一个好主意!
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13)
+
+## 复习与自学
+
+**书籍**
+* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662)
+
+**在线资源**
+* 官方 [10 分钟 Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) 教程
+* [Pandas 可视化文档](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html)
+
+**学习 Python**
+* [通过 Turtle Graphics 和分形以有趣的方式学习 Python](https://github.com/shwars/pycourse)
+* [迈出 Python 的第一步](https://docs.microsoft.com/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) 在 [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) 上的学习路径
+
+## 作业
+
+[对上述挑战进行更详细的数据研究](assignment.md)
+
+## 致谢
+
+本课程由 [Dmitry Soshnikov](http://soshnikov.com) ❤️ 编写。
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/07-python/assignment.md b/translations/zh/2-Working-With-Data/07-python/assignment.md
new file mode 100644
index 00000000..f5a72ff1
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/07-python/assignment.md
@@ -0,0 +1,35 @@
+
+# Python数据处理作业
+
+在本次作业中,我们将要求你详细阐述我们在挑战中开始开发的代码。作业分为两个部分:
+
+## COVID-19传播建模
+
+ - [ ] 在一个图中绘制5-6个不同国家的 *R* 图进行比较,或者使用多个图并排展示。
+ - [ ] 查看死亡人数和康复人数与感染病例数量之间的相关性。
+ - [ ] 通过视觉上关联感染率和死亡率并寻找一些异常情况,找出一种典型疾病的持续时间。你可能需要查看不同国家的数据来得出结论。
+ - [ ] 计算病死率及其随时间的变化。*你可能需要考虑疾病持续的天数,将一个时间序列进行偏移后再进行计算。*
+
+## COVID-19论文分析
+
+- [ ] 构建不同药物的共现矩阵,查看哪些药物经常一起出现(即在一个摘要中被提到)。你可以修改用于构建药物和诊断共现矩阵的代码。
+- [ ] 使用热图可视化该矩阵。
+- [ ] 作为一个扩展目标,使用[弦图](https://en.wikipedia.org/wiki/Chord_diagram)可视化药物的共现情况。[这个库](https://pypi.org/project/chord/)可能会帮助你绘制弦图。
+- [ ] 作为另一个扩展目标,使用正则表达式提取不同药物的剂量(例如 *每天服用400mg氯喹中的**400mg***),并构建一个数据框,显示不同药物的不同剂量。**注意**:考虑药物名称附近的数值。
+
+## 评分标准
+
+优秀 | 合格 | 需改进
+--- | --- | -- |
+所有任务完成,图形化展示并解释清楚,包括至少一个扩展目标 | 完成超过5个任务,但未尝试扩展目标,或结果不够清晰 | 完成少于5个(但超过3个)任务,图形化展示未能有效说明问题
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/08-data-preparation/README.md b/translations/zh/2-Working-With-Data/08-data-preparation/README.md
new file mode 100644
index 00000000..de4d353d
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/08-data-preparation/README.md
@@ -0,0 +1,344 @@
+
+# 数据处理:数据准备
+
+| ](../../sketchnotes/08-DataPreparation.png)|
+|:---:|
+|数据准备 - _由 [@nitya](https://twitter.com/nitya) 绘制的速记图_ |
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14)
+
+根据数据来源,原始数据可能存在一些不一致性,这会在分析和建模时带来挑战。换句话说,这些数据可以被归类为“脏数据”,需要进行清理。本课程重点介绍清理和转换数据的技术,以解决数据缺失、不准确或不完整的问题。本课程将使用 Python 和 Pandas 库,并在本目录中的[笔记本](../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)中进行演示。
+
+## 清理数据的重要性
+
+- **易于使用和复用**:当数据被正确组织和规范化时,更容易搜索、使用和与他人共享。
+
+- **一致性**:数据科学通常需要处理多个数据集,不同来源的数据集需要合并在一起。确保每个单独的数据集具有统一的标准化,可以保证在合并为一个数据集时数据仍然有用。
+
+- **模型准确性**:清理过的数据可以提高依赖于这些数据的模型的准确性。
+
+## 常见的清理目标和策略
+
+- **探索数据集**:数据探索(将在[后续课程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing)中介绍)可以帮助发现需要清理的数据。通过可视化观察数据集中的值,可以设定对其余数据的期望,或者提供解决问题的思路。探索可以包括基本查询、可视化和采样。
+
+- **格式化**:根据数据来源,数据在呈现方式上可能存在不一致性。这可能会导致在搜索和表示值时出现问题,数据虽然在数据集中可见,但在可视化或查询结果中未正确表示。常见的格式化问题包括解决空白、日期和数据类型问题。解决格式化问题通常由使用数据的人来决定。例如,不同国家对日期和数字的表示标准可能不同。
+
+- **重复数据**:重复出现的数据可能会产生不准确的结果,通常需要删除。这在合并两个或多个数据集时很常见。然而,有些情况下,合并数据集中的重复数据可能包含额外信息,需要保留。
+
+- **缺失数据**:缺失数据可能导致结果不准确或偏差。有时可以通过重新加载数据、使用 Python 等代码计算填充缺失值,或者简单地删除缺失值及其相关数据来解决。数据缺失的原因有很多,解决缺失值的方式可能取决于数据缺失的原因和方式。
+
+## 探索 DataFrame 信息
+> **学习目标**:在本小节结束时,您应该能够熟练地查找存储在 pandas DataFrame 中的总体数据信息。
+
+将数据加载到 pandas 后,数据通常会以 DataFrame 的形式存储(详细概述请参考之前的[课程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe))。然而,如果您的 DataFrame 数据集有 60,000 行和 400 列,如何开始了解您正在处理的数据呢?幸运的是,[pandas](https://pandas.pydata.org/) 提供了一些方便的工具,可以快速查看 DataFrame 的总体信息以及前几行和后几行。
+
+为了探索这些功能,我们将导入 Python 的 scikit-learn 库,并使用一个经典数据集:**Iris 数据集**。
+
+```python
+import pandas as pd
+from sklearn.datasets import load_iris
+
+iris = load_iris()
+iris_df = pd.DataFrame(data=iris['data'], columns=iris['feature_names'])
+```
+| |sepal length (cm)|sepal width (cm)|petal length (cm)|petal width (cm)|
+|----------------------------------------|-----------------|----------------|-----------------|----------------|
+|0 |5.1 |3.5 |1.4 |0.2 |
+|1 |4.9 |3.0 |1.4 |0.2 |
+|2 |4.7 |3.2 |1.3 |0.2 |
+|3 |4.6 |3.1 |1.5 |0.2 |
+|4 |5.0 |3.6 |1.4 |0.2 |
+
+- **DataFrame.info**:首先,`info()` 方法用于打印 `DataFrame` 中内容的摘要。让我们看看这个数据集包含哪些内容:
+```python
+iris_df.info()
+```
+```
+RangeIndex: 150 entries, 0 to 149
+Data columns (total 4 columns):
+ # Column Non-Null Count Dtype
+--- ------ -------------- -----
+ 0 sepal length (cm) 150 non-null float64
+ 1 sepal width (cm) 150 non-null float64
+ 2 petal length (cm) 150 non-null float64
+ 3 petal width (cm) 150 non-null float64
+dtypes: float64(4)
+memory usage: 4.8 KB
+```
+从中我们可以知道 *Iris* 数据集有 150 条记录,分布在四列中,没有空值。所有数据都存储为 64 位浮点数。
+
+- **DataFrame.head()**:接下来,为了检查 `DataFrame` 的实际内容,我们使用 `head()` 方法。让我们看看 `iris_df` 的前几行:
+```python
+iris_df.head()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+0 5.1 3.5 1.4 0.2
+1 4.9 3.0 1.4 0.2
+2 4.7 3.2 1.3 0.2
+3 4.6 3.1 1.5 0.2
+4 5.0 3.6 1.4 0.2
+```
+- **DataFrame.tail()**:相反,为了检查 `DataFrame` 的最后几行,我们使用 `tail()` 方法:
+```python
+iris_df.tail()
+```
+```
+ sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
+145 6.7 3.0 5.2 2.3
+146 6.3 2.5 5.0 1.9
+147 6.5 3.0 5.2 2.0
+148 6.2 3.4 5.4 2.3
+149 5.9 3.0 5.1 1.8
+```
+> **总结**:仅通过查看 DataFrame 的元数据或前几行和后几行的值,您就可以立即了解数据的大小、形状和内容。
+
+## 处理缺失数据
+> **学习目标**:在本小节结束时,您应该知道如何替换或删除 DataFrame 中的空值。
+
+大多数情况下,您想使用(或必须使用)的数据集中会有缺失值。如何处理缺失数据会带来微妙的权衡,这可能会影响最终分析和实际结果。
+
+Pandas 处理缺失值有两种方式。第一种您在之前的章节中已经见过:`NaN`,即非数字。这实际上是 IEEE 浮点规范的一部分,用于表示缺失的浮点值。
+
+对于浮点值以外的缺失值,pandas 使用 Python 的 `None` 对象。虽然同时遇到两种表示缺失值的方式可能会让人困惑,但这种设计选择有其合理的编程原因,实际上,这种方式为绝大多数情况提供了良好的折中方案。尽管如此,`None` 和 `NaN` 都有一些限制,您需要注意它们的使用方式。
+
+在[笔记本](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)中了解更多关于 `NaN` 和 `None` 的信息!
+
+- **检测空值**:在 `pandas` 中,`isnull()` 和 `notnull()` 方法是检测空数据的主要方法。两者都会返回布尔掩码。我们将使用 `numpy` 来处理 `NaN` 值:
+```python
+import numpy as np
+
+example1 = pd.Series([0, np.nan, '', None])
+example1.isnull()
+```
+```
+0 False
+1 True
+2 False
+3 True
+dtype: bool
+```
+仔细观察输出。是否有任何结果让您感到惊讶?虽然 `0` 是一个算术上的空值,但它仍然是一个有效的整数,pandas 将其视为有效值。`''` 则稍微复杂一些。虽然我们在第 1 节中用它表示空字符串值,但它仍然是一个字符串对象,而不是 pandas 所认为的空值。
+
+现在,让我们反过来以更实际的方式使用这些方法。您可以直接将布尔掩码用作 `Series` 或 `DataFrame` 的索引,这在处理孤立的缺失值(或存在值)时非常有用。
+
+> **总结**:在 `DataFrame` 中使用 `isnull()` 和 `notnull()` 方法时,它们会显示结果及其索引,这在处理数据时非常有帮助。
+
+- **删除空值**:除了识别缺失值,pandas 还提供了一种方便的方法来从 `Series` 和 `DataFrame` 中删除空值。(特别是在大型数据集上,通常建议直接删除缺失值,而不是以其他方式处理它们。)让我们回到 `example1` 来看看:
+```python
+example1 = example1.dropna()
+example1
+```
+```
+0 0
+2
+dtype: object
+```
+注意,这应该与您的 `example3[example3.notnull()]` 输出类似。不同之处在于,`dropna` 删除了 `Series` `example1` 中的缺失值,而不是仅仅索引掩码值。
+
+由于 `DataFrame` 是二维的,它提供了更多删除数据的选项。
+
+```python
+example2 = pd.DataFrame([[1, np.nan, 7],
+ [2, 5, 8],
+ [np.nan, 6, 9]])
+example2
+```
+| | 0 | 1 | 2 |
+|------|---|---|---|
+|0 |1.0|NaN|7 |
+|1 |2.0|5.0|8 |
+|2 |NaN|6.0|9 |
+
+(您是否注意到 pandas 将两列数据类型提升为浮点型以容纳 `NaN`?)
+
+您无法从 `DataFrame` 中删除单个值,因此必须删除整行或整列。根据您的需求,您可能需要删除其中之一,因此 pandas 提供了两种选项。由于在数据科学中,列通常表示变量,行表示观察值,您更可能删除数据行;`dropna()` 的默认设置是删除所有包含任何空值的行:
+
+```python
+example2.dropna()
+```
+```
+ 0 1 2
+1 2.0 5.0 8
+```
+如果需要,您可以从列中删除 NA 值。使用 `axis=1` 来实现:
+```python
+example2.dropna(axis='columns')
+```
+```
+ 2
+0 7
+1 8
+2 9
+```
+注意,这可能会删除许多您可能希望保留的数据,特别是在较小的数据集中。如果您只想删除包含多个或所有空值的行或列,可以在 `dropna` 中使用 `how` 和 `thresh` 参数进行设置。
+
+默认情况下,`how='any'`(如果您想自己检查或查看方法的其他参数,请在代码单元中运行 `example4.dropna?`)。您可以选择指定 `how='all'`,以便仅删除包含所有空值的行或列。让我们扩展示例 `DataFrame` 来看看效果。
+
+```python
+example2[3] = np.nan
+example2
+```
+| |0 |1 |2 |3 |
+|------|---|---|---|---|
+|0 |1.0|NaN|7 |NaN|
+|1 |2.0|5.0|8 |NaN|
+|2 |NaN|6.0|9 |NaN|
+
+`thresh` 参数提供了更细粒度的控制:您可以设置行或列需要保留的*非空值*数量:
+```python
+example2.dropna(axis='rows', thresh=3)
+```
+```
+ 0 1 2 3
+1 2.0 5.0 8 NaN
+```
+这里,第一行和最后一行被删除,因为它们只有两个非空值。
+
+- **填充空值**:根据您的数据集,有时用有效值填充空值比删除它们更合理。您可以使用 `isnull` 来就地填充,但这可能很繁琐,特别是当您有很多值需要填充时。由于这是数据科学中的常见任务,pandas 提供了 `fillna` 方法,它返回一个 `Series` 或 `DataFrame` 的副本,其中的缺失值被您选择的值替换。让我们创建另一个示例 `Series` 来看看实际效果。
+```python
+example3 = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))
+example3
+```
+```
+a 1.0
+b NaN
+c 2.0
+d NaN
+e 3.0
+dtype: float64
+```
+您可以用单个值(例如 `0`)填充所有空值:
+```python
+example3.fillna(0)
+```
+```
+a 1.0
+b 0.0
+c 2.0
+d 0.0
+e 3.0
+dtype: float64
+```
+您可以**向前填充**空值,即使用最后一个有效值填充空值:
+```python
+example3.fillna(method='ffill')
+```
+```
+a 1.0
+b 1.0
+c 2.0
+d 2.0
+e 3.0
+dtype: float64
+```
+您还可以**向后填充**,即将下一个有效值向后传播以填充空值:
+```python
+example3.fillna(method='bfill')
+```
+```
+a 1.0
+b 2.0
+c 2.0
+d 3.0
+e 3.0
+dtype: float64
+```
+正如您可能猜到的,这对 `DataFrame` 同样适用,但您还可以指定沿哪个 `axis` 填充空值。再次使用之前的 `example2`:
+```python
+example2.fillna(method='ffill', axis=1)
+```
+```
+ 0 1 2 3
+0 1.0 1.0 7.0 7.0
+1 2.0 5.0 8.0 8.0
+2 NaN 6.0 9.0 9.0
+```
+注意,当没有前一个值可用于向前填充时,空值仍然保留。
+> **要点总结:** 处理数据集中缺失值的方法有很多。具体采用哪种策略(删除、替换,甚至如何替换)应根据数据的具体情况决定。随着你处理和分析更多的数据集,你会逐渐培养出更好的应对缺失值的能力。
+
+## 删除重复数据
+
+> **学习目标:** 在本小节结束时,你应该能够熟练地识别并删除 DataFrame 中的重复值。
+
+除了缺失数据外,你还会经常在实际数据集中遇到重复数据。幸运的是,`pandas` 提供了一种简单的方法来检测和删除重复条目。
+
+- **识别重复值:`duplicated`**:你可以使用 pandas 的 `duplicated` 方法轻松找到重复值。该方法返回一个布尔掩码,指示 `DataFrame` 中某条记录是否是之前记录的重复项。让我们创建另一个示例 `DataFrame` 来实际操作一下。
+```python
+example4 = pd.DataFrame({'letters': ['A','B'] * 2 + ['B'],
+ 'numbers': [1, 2, 1, 3, 3]})
+example4
+```
+| |letters|numbers|
+|------|-------|-------|
+|0 |A |1 |
+|1 |B |2 |
+|2 |A |1 |
+|3 |B |3 |
+|4 |B |3 |
+
+```python
+example4.duplicated()
+```
+```
+0 False
+1 False
+2 True
+3 False
+4 True
+dtype: bool
+```
+- **删除重复值:`drop_duplicates`**:该方法返回一个副本,其中所有 `duplicated` 值为 `False` 的数据被保留:
+```python
+example4.drop_duplicates()
+```
+```
+ letters numbers
+0 A 1
+1 B 2
+3 B 3
+```
+`duplicated` 和 `drop_duplicates` 默认会考虑所有列,但你可以指定它们只检查 `DataFrame` 中的某些列:
+```python
+example4.drop_duplicates(['letters'])
+```
+```
+letters numbers
+0 A 1
+1 B 2
+```
+
+> **要点总结:** 删除重复数据是几乎每个数据科学项目中的重要步骤。重复数据可能会改变分析结果,导致不准确的结论!
+
+
+## 🚀 挑战
+
+所有讨论的内容都可以在 [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb) 中找到。此外,每节课后还有练习题,试着完成它们吧!
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15)
+
+
+
+## 复习与自学
+
+准备数据进行分析和建模的方法有很多,而清洗数据是一个需要“亲自动手”的重要步骤。试试 Kaggle 上的这些挑战,探索本课未涉及的技术。
+
+- [数据清洗挑战:解析日期](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/)
+
+- [数据清洗挑战:数据缩放与归一化](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data)
+
+
+## 作业
+
+[评估表单中的数据](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/08-data-preparation/assignment.md b/translations/zh/2-Working-With-Data/08-data-preparation/assignment.md
new file mode 100644
index 00000000..106ccd9d
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/08-data-preparation/assignment.md
@@ -0,0 +1,26 @@
+
+# 评估表单数据
+
+一位客户正在测试一个[小型表单](../../../../2-Working-With-Data/08-data-preparation/index.html),以收集有关其客户群的一些基本数据。他们将测试结果带给你,希望你验证他们收集的数据。你可以在浏览器中打开 `index.html` 页面查看表单。
+
+你已获得一个[包含表单记录的 CSV 数据集](../../../../data/form.csv),其中包括表单的条目以及一些基本的可视化图表。客户指出其中一些可视化图表看起来不正确,但他们不确定如何解决这些问题。你可以在[任务笔记本](../../../../2-Working-With-Data/08-data-preparation/assignment.ipynb)中进行探索。
+
+## 指导
+
+使用本课程中的技术提出建议,以确保表单能够收集准确且一致的信息。
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | --- |
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们尽力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/2-Working-With-Data/README.md b/translations/zh/2-Working-With-Data/README.md
new file mode 100644
index 00000000..64b9ee29
--- /dev/null
+++ b/translations/zh/2-Working-With-Data/README.md
@@ -0,0 +1,29 @@
+
+# 数据处理
+
+
+> 图片由 Alexander Sinn 提供,来自 Unsplash
+
+在这些课程中,您将学习一些管理、操作和在应用程序中使用数据的方法。您将了解关系型和非关系型数据库,以及数据如何存储在其中。您将学习使用 Python 管理数据的基础知识,并探索多种使用 Python 管理和挖掘数据的方法。
+
+### 主题
+
+1. [关系型数据库](05-relational-databases/README.md)
+2. [非关系型数据库](06-non-relational/README.md)
+3. [使用 Python](07-python/README.md)
+4. [准备数据](08-data-preparation/README.md)
+
+### 致谢
+
+这些课程由 [Christopher Harrison](https://twitter.com/geektrainer)、[Dmitry Soshnikov](https://twitter.com/shwars) 和 [Jasmine Greenaway](https://twitter.com/paladique) ❤️ 精心编写。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/09-visualization-quantities/README.md b/translations/zh/3-Data-Visualization/09-visualization-quantities/README.md
new file mode 100644
index 00000000..85f42dcd
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/09-visualization-quantities/README.md
@@ -0,0 +1,220 @@
+
+# 可视化数量
+
+| ](../../sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 可视化数量 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+在本课中,您将学习如何使用众多可用的 Python 库之一,围绕数量的概念创建有趣的可视化。通过一个关于明尼苏达州鸟类的清理数据集,您可以了解许多关于当地野生动物的有趣事实。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 Matplotlib 观察翼展
+
+一个非常优秀的库可以创建各种简单和复杂的图表和图形,它就是 [Matplotlib](https://matplotlib.org/stable/index.html)。一般来说,使用这些库绘制数据的过程包括:确定数据框中您想要处理的部分,对数据进行必要的转换,分配 x 和 y 轴的值,决定显示哪种图表,然后显示图表。Matplotlib 提供了多种可视化方式,但在本课中,我们将重点关注最适合可视化数量的图表类型:折线图、散点图和柱状图。
+
+> ✅ 根据数据结构和您想讲述的故事选择最佳图表。
+> - 分析时间趋势:折线图
+> - 比较数值:柱状图、条形图、饼图、散点图
+> - 展示部分与整体的关系:饼图
+> - 展示数据分布:散点图、柱状图
+> - 展示趋势:折线图、条形图
+> - 展示数值之间的关系:折线图、散点图、气泡图
+
+如果您有一个数据集并需要了解某个项目的数量,第一步通常是检查其数值。
+
+✅ Matplotlib 有非常好的“速查表”,可以在 [这里](https://matplotlib.org/cheatsheets/cheatsheets.pdf) 找到。
+
+## 绘制鸟类翼展值的折线图
+
+打开本课文件夹根目录中的 `notebook.ipynb` 文件并添加一个单元格。
+
+> 注意:数据存储在本仓库根目录的 `/data` 文件夹中。
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+这些数据是文本和数字的混合:
+
+| | 名称 | 学名 | 类别 | 目 | 科 | 属 | 保护状态 | 最小长度 | 最大长度 | 最小体重 | 最大体重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹哨鸭 | Dendrocygna autumnalis | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 哨鸭属 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕哨鸭 | Dendrocygna bicolor | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 哨鸭属 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鹅 | Anser caerulescens | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 罗氏鹅 | Anser rossii | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白额雁 | Anser albifrons | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+让我们从使用基本折线图绘制一些数值数据开始。假设您想查看这些有趣鸟类的最大翼展。
+
+```python
+wingspan = birds['MaxWingspan']
+wingspan.plot()
+```
+
+
+您立即注意到什么?似乎至少有一个异常值——这翼展也太大了吧!2300 厘米的翼展相当于 23 米——难道明尼苏达州有翼龙在飞?让我们调查一下。
+
+虽然您可以在 Excel 中快速排序以找到这些异常值(可能是输入错误),但继续从图表中进行可视化处理。
+
+为 x 轴添加标签以显示涉及的鸟类种类:
+
+```
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.xticks(rotation=45)
+x = birds['Name']
+y = birds['MaxWingspan']
+
+plt.plot(x, y)
+
+plt.show()
+```
+
+
+即使标签旋转到 45 度,仍然太多了,无法阅读。让我们尝试另一种策略:仅标记那些异常值,并在图表内设置标签。您可以使用散点图为标签腾出更多空间:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ plt.plot(x, y, 'bo')
+ if birds['MaxWingspan'][i] > 500:
+ plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
+
+plt.show()
+```
+这里发生了什么?您使用 `tick_params` 隐藏了底部标签,然后对鸟类数据集进行了循环。通过使用 `bo` 绘制带有小圆蓝点的图表,您检查了是否有鸟类的最大翼展超过 500,并在点旁边显示其标签。您在 y 轴上稍微偏移标签 (`y * (1 - 0.05)`) 并使用鸟类名称作为标签。
+
+您发现了什么?
+
+
+
+## 筛选数据
+
+秃鹰和草原隼虽然可能是非常大的鸟类,但它们的最大翼展似乎被错误标记了,多加了一个 `0`。遇到翼展 25 米的秃鹰的可能性不大,但如果真的遇到,请告诉我们!让我们创建一个新的数据框,去掉这两个异常值:
+
+```python
+plt.title('Max Wingspan in Centimeters')
+plt.ylabel('Wingspan (CM)')
+plt.xlabel('Birds')
+plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
+for i in range(len(birds)):
+ x = birds['Name'][i]
+ y = birds['MaxWingspan'][i]
+ if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
+ plt.plot(x, y, 'bo')
+plt.show()
+```
+
+通过筛选异常值,您的数据现在更加连贯和易于理解。
+
+
+
+现在我们至少在翼展方面有一个更干净的数据集,让我们进一步了解这些鸟类。
+
+虽然折线图和散点图可以显示数据值及其分布的信息,但我们想要思考这个数据集中固有的数值。您可以创建可视化来回答以下关于数量的问题:
+
+> 有多少种鸟类类别?它们的数量是多少?
+> 有多少鸟类是灭绝、濒危、稀有或常见的?
+> 在林奈分类法中,各种属和目有多少?
+
+## 探索柱状图
+
+当您需要展示数据分组时,柱状图非常实用。让我们探索这个数据集中存在的鸟类类别,看看哪种类别的数量最多。
+
+在 notebook 文件中创建一个基本柱状图。
+
+✅ 注意,您可以筛选掉我们在上一节中识别的两个异常鸟类,编辑它们翼展中的错误,或者将它们保留在这些不依赖翼展值的练习中。
+
+如果您想创建柱状图,可以选择您想要关注的数据。柱状图可以从原始数据创建:
+
+```python
+birds.plot(x='Category',
+ kind='bar',
+ stacked=True,
+ title='Birds of Minnesota')
+
+```
+
+
+然而,这个柱状图难以阅读,因为数据没有分组。您需要选择您想要绘制的数据,所以让我们看看基于鸟类类别的鸟类长度。
+
+筛选数据以仅包含鸟类类别。
+
+✅ 注意,您使用 Pandas 管理数据,然后让 Matplotlib 进行图表绘制。
+
+由于类别较多,您可以垂直显示此图表,并调整其高度以适应所有数据:
+
+```python
+category_count = birds.value_counts(birds['Category'].values, sort=True)
+plt.rcParams['figure.figsize'] = [6, 12]
+category_count.plot.barh()
+```
+
+
+这个柱状图很好地展示了每个类别中鸟类的数量。一眼就能看出,这个地区数量最多的鸟类是鸭/鹅/水禽类别。明尼苏达州是“万湖之地”,所以这并不令人惊讶!
+
+✅ 尝试对这个数据集进行其他计数。有发现让您感到惊讶吗?
+
+## 数据比较
+
+您可以通过创建新轴尝试不同的分组数据比较。尝试比较基于鸟类类别的最大长度:
+
+```python
+maxlength = birds['MaxLength']
+plt.barh(y=birds['Category'], width=maxlength)
+plt.rcParams['figure.figsize'] = [6, 12]
+plt.show()
+```
+
+
+这里没有什么令人惊讶的:与鹈鹕或鹅相比,蜂鸟的最大长度最小。当数据符合逻辑时,这是件好事!
+
+您可以通过叠加数据创建更有趣的柱状图。让我们叠加最小长度和最大长度在给定鸟类类别上的数据:
+
+```python
+minLength = birds['MinLength']
+maxLength = birds['MaxLength']
+category = birds['Category']
+
+plt.barh(category, maxLength)
+plt.barh(category, minLength)
+
+plt.show()
+```
+在这个图表中,您可以看到每个鸟类类别的最小长度和最大长度范围。可以肯定地说,根据这些数据,鸟越大,其长度范围越大。真是有趣!
+
+
+
+## 🚀 挑战
+
+这个鸟类数据集提供了关于特定生态系统中不同类型鸟类的大量信息。在网上搜索,看看是否能找到其他与鸟类相关的数据集。练习围绕这些鸟类构建图表和图形,发现您之前未曾意识到的事实。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 复习与自学
+
+本课首次介绍了如何使用 Matplotlib 可视化数量。研究其他处理数据集进行可视化的方法。[Plotly](https://github.com/plotly/plotly.py) 是我们不会在这些课程中涉及的一个库,可以看看它能提供什么。
+
+## 作业
+
+[折线图、散点图和柱状图](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/zh/3-Data-Visualization/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..4eb0fd6e
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折线图、散点图和柱状图
+
+## 说明
+
+在本课中,你学习了如何使用折线图、散点图和柱状图来展示数据集中的有趣事实。在本次作业中,请深入挖掘数据集,发现关于某种鸟类的一个事实。例如,可以创建一个笔记本,展示你能找到的关于雪雁的所有有趣数据。使用上述三种图表,在你的笔记本中讲述一个故事。
+
+## 评分标准
+
+优秀 | 合格 | 需改进
+--- | --- | --- |
+笔记本包含良好的注释、清晰的故事叙述以及吸引人的图表 | 笔记本缺少其中一个要素 | 笔记本缺少两个要素
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原文档的原始语言版本为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而引起的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/10-visualization-distributions/README.md b/translations/zh/3-Data-Visualization/10-visualization-distributions/README.md
new file mode 100644
index 00000000..a09582e5
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/10-visualization-distributions/README.md
@@ -0,0 +1,214 @@
+
+# 可视化分布
+
+| 绘制的速记图](../../sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 可视化分布 - _速记图由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+在上一节课中,你学习了关于明尼苏达州鸟类数据集的一些有趣事实。通过可视化异常值,你发现了一些错误数据,并观察了不同鸟类类别的最大长度差异。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鸟类数据集
+
+另一种深入了解数据的方法是查看其分布,即数据如何沿轴组织。例如,你可能想了解这个数据集中鸟类最大翼展或最大体重的一般分布情况。
+
+让我们发现一些关于这个数据集分布的事实。在本课文件夹根目录的 _notebook.ipynb_ 文件中,导入 Pandas、Matplotlib 和你的数据:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+birds = pd.read_csv('../../data/birds.csv')
+birds.head()
+```
+
+| | 名称 | 学名 | 类别 | 目 | 科 | 属 | 保护状态 | 最小长度 | 最大长度 | 最小体重 | 最大体重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹树鸭 | Dendrocygna autumnalis | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 树鸭属 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕树鸭 | Dendrocygna bicolor | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 树鸭属 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鹅 | Anser caerulescens | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 罗氏鹅 | Anser rossii | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白额雁 | Anser albifrons | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通过使用散点图快速查看数据的分布方式,就像我们在上一节课中所做的那样:
+
+```python
+birds.plot(kind='scatter',x='MaxLength',y='Order',figsize=(12,8))
+
+plt.title('Max Length per Order')
+plt.ylabel('Order')
+plt.xlabel('Max Length')
+
+plt.show()
+```
+
+
+这提供了每个鸟类目身体长度的一般分布概览,但这并不是显示真实分布的最佳方式。通常通过创建直方图来完成这一任务。
+## 使用直方图
+
+Matplotlib 提供了非常好的方法来使用直方图可视化数据分布。这种类型的图表类似于柱状图,通过柱子的升降可以看到分布情况。要构建直方图,你需要数值数据。构建直方图时,可以将图表类型定义为 'hist'。此图表显示了整个数据集范围内最大体重的分布。通过将数据数组分成较小的区间,它可以显示数据值的分布:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12))
+plt.show()
+```
+
+
+如你所见,这个数据集中的大多数 400 多种鸟类的最大体重都在 2000 以下。通过将 `bins` 参数更改为更高的数字,例如 30,可以获得更多数据洞察:
+
+```python
+birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12))
+plt.show()
+```
+
+
+此图表以更细致的方式显示了分布。通过确保仅选择特定范围内的数据,可以创建一个不那么偏向左侧的图表:
+
+过滤数据以仅获取体重低于 60 的鸟类,并显示 40 个 `bins`:
+
+```python
+filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)]
+filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12))
+plt.show()
+```
+
+
+✅ 尝试其他过滤器和数据点。要查看数据的完整分布,请移除 `['MaxBodyMass']` 过滤器以显示带标签的分布。
+
+直方图还提供了一些不错的颜色和标签增强功能可以尝试:
+
+创建一个二维直方图以比较两个分布之间的关系。让我们比较 `MaxBodyMass` 和 `MaxLength`。Matplotlib 提供了一种内置方法,通过更亮的颜色显示收敛:
+
+```python
+x = filteredBirds['MaxBodyMass']
+y = filteredBirds['MaxLength']
+
+fig, ax = plt.subplots(tight_layout=True)
+hist = ax.hist2d(x, y)
+```
+可以看到,这两个元素沿预期轴存在预期的相关性,并且有一个特别强的收敛点:
+
+
+
+直方图默认适用于数值数据。如果需要查看基于文本数据的分布怎么办?
+## 使用文本数据探索数据集分布
+
+此数据集还包括关于鸟类类别及其属、种、科以及保护状态的良好信息。让我们深入了解这些保护信息。根据保护状态,鸟类的分布是什么样的?
+
+> ✅ 在数据集中,使用了一些缩写来描述保护状态。这些缩写来自 [IUCN 红色名录分类](https://www.iucnredlist.org/),一个记录物种状态的组织。
+>
+> - CR: 极危
+> - EN: 濒危
+> - EX: 灭绝
+> - LC: 无危
+> - NT: 近危
+> - VU: 易危
+
+这些是基于文本的值,因此需要进行转换以创建直方图。使用过滤后的鸟类数据框,显示其保护状态及其最小翼展。你看到了什么?
+
+```python
+x1 = filteredBirds.loc[filteredBirds.ConservationStatus=='EX', 'MinWingspan']
+x2 = filteredBirds.loc[filteredBirds.ConservationStatus=='CR', 'MinWingspan']
+x3 = filteredBirds.loc[filteredBirds.ConservationStatus=='EN', 'MinWingspan']
+x4 = filteredBirds.loc[filteredBirds.ConservationStatus=='NT', 'MinWingspan']
+x5 = filteredBirds.loc[filteredBirds.ConservationStatus=='VU', 'MinWingspan']
+x6 = filteredBirds.loc[filteredBirds.ConservationStatus=='LC', 'MinWingspan']
+
+kwargs = dict(alpha=0.5, bins=20)
+
+plt.hist(x1, **kwargs, color='red', label='Extinct')
+plt.hist(x2, **kwargs, color='orange', label='Critically Endangered')
+plt.hist(x3, **kwargs, color='yellow', label='Endangered')
+plt.hist(x4, **kwargs, color='green', label='Near Threatened')
+plt.hist(x5, **kwargs, color='blue', label='Vulnerable')
+plt.hist(x6, **kwargs, color='gray', label='Least Concern')
+
+plt.gca().set(title='Conservation Status', ylabel='Min Wingspan')
+plt.legend();
+```
+
+
+
+最小翼展和保护状态之间似乎没有明显的关联。使用此方法测试数据集的其他元素。你可以尝试不同的过滤器。是否发现任何关联?
+
+## 密度图
+
+你可能注意到我们到目前为止看到的直方图是“阶梯状”的,并没有平滑地呈弧形。要显示更平滑的密度图,可以尝试密度图。
+
+要使用密度图,请熟悉一个新的绘图库 [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)。
+
+加载 Seaborn,尝试一个基本的密度图:
+
+```python
+import seaborn as sns
+import matplotlib.pyplot as plt
+sns.kdeplot(filteredBirds['MinWingspan'])
+plt.show()
+```
+
+
+你可以看到这个图与之前的最小翼展数据图相呼应;它只是稍微平滑了一些。根据 Seaborn 的文档,“相对于直方图,KDE 可以生成一个不那么杂乱且更易解释的图,尤其是在绘制多个分布时。但如果底层分布是有界的或不平滑的,它可能会引入失真。与直方图一样,表示的质量也取决于良好平滑参数的选择。” [来源](https://seaborn.pydata.org/generated/seaborn.kdeplot.html)。换句话说,异常值总是会让你的图表表现不佳。
+
+如果你想重新审视第二个图表中那个不平滑的最大体重线,可以通过使用这种方法很好地将其平滑:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'])
+plt.show()
+```
+
+
+如果你想要一个平滑但不过于平滑的线条,可以编辑 `bw_adjust` 参数:
+
+```python
+sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2)
+plt.show()
+```
+
+
+✅ 阅读此类型图表可用的参数并进行实验!
+
+这种类型的图表提供了非常直观的可视化。例如,通过几行代码,你可以显示每个鸟类目最大体重的密度:
+
+```python
+sns.kdeplot(
+ data=filteredBirds, x="MaxBodyMass", hue="Order",
+ fill=True, common_norm=False, palette="crest",
+ alpha=.5, linewidth=0,
+)
+```
+
+
+
+你还可以在一个图表中映射多个变量的密度。测试鸟类的最大长度和最小长度与其保护状态的关系:
+
+```python
+sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus")
+```
+
+
+
+也许值得研究根据长度分布的“易危”鸟类群是否具有意义。
+
+## 🚀 挑战
+
+直方图是一种比基本散点图、柱状图或折线图更复杂的图表类型。上网搜索直方图的优秀使用案例。它们是如何使用的,展示了什么内容,以及它们通常在哪些领域或研究领域中使用?
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 复习与自学
+
+在本课中,你使用了 Matplotlib 并开始使用 Seaborn 来展示更复杂的图表。研究 Seaborn 中的 `kdeplot`,一种“一维或多维的连续概率密度曲线”。阅读 [文档](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) 以了解其工作原理。
+
+## 作业
+
+[应用你的技能](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/zh/3-Data-Visualization/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..b08c8652
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 运用你的技能
+
+## 说明
+
+到目前为止,你已经使用了明尼苏达州鸟类数据集来探索鸟类数量和种群密度的信息。尝试使用不同的数据集来练习这些技术,可以从 [Kaggle](https://www.kaggle.com/) 获取数据集。创建一个笔记本来讲述关于这个数据集的故事,并确保在讨论时使用直方图。
+
+## 评分标准
+
+优秀 | 合格 | 需改进
+--- | --- | -- |
+笔记本包含关于数据集的注释,包括其来源,并使用至少5个直方图来发现数据的相关信息。 | 笔记本包含不完整的注释或存在错误。 | 笔记本没有注释且存在错误。
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。因使用本翻译而引起的任何误解或误读,我们概不负责。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/11-visualization-proportions/README.md b/translations/zh/3-Data-Visualization/11-visualization-proportions/README.md
new file mode 100644
index 00000000..94fbcd2c
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/11-visualization-proportions/README.md
@@ -0,0 +1,203 @@
+
+# 可视化比例
+
+| 绘制的速记图](../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|可视化比例 - _速记图作者 [@nitya](https://twitter.com/nitya)_ |
+
+在本课中,你将使用一个以自然为主题的数据集来可视化比例,例如在一个关于蘑菇的数据集中有多少种不同类型的真菌。让我们通过一个来自 Audubon 的数据集来探索这些迷人的真菌,该数据集列出了 Agaricus 和 Lepiota 家族中 23 种有鳃蘑菇的详细信息。你将尝试一些有趣的可视化方法,例如:
+
+- 饼图 🥧
+- 环形图 🍩
+- 华夫图 🧇
+
+> 💡 一个非常有趣的项目 [Charticulator](https://charticulator.com) 由微软研究院开发,提供了一个免费的拖放界面用于数据可视化。在他们的一个教程中也使用了这个蘑菇数据集!因此你可以同时探索数据并学习这个库:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 了解你的蘑菇 🍄
+
+蘑菇非常有趣。让我们导入一个数据集来研究它们:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+mushrooms = pd.read_csv('../../data/mushrooms.csv')
+mushrooms.head()
+```
+一个表格打印出来,包含一些很棒的分析数据:
+
+| 类别 | 帽型 | 帽表面 | 帽颜色 | 是否有瘀伤 | 气味 | 鳃连接方式 | 鳃间距 | 鳃大小 | 鳃颜色 | 茎形状 | 茎根 | 环上方茎表面 | 环下方茎表面 | 环上方茎颜色 | 环下方茎颜色 | 面纱类型 | 面纱颜色 | 环数量 | 环类型 | 孢子印颜色 | 种群 | 栖息地 |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀伤 | 刺鼻 | 自由 | 紧密 | 狭窄 | 黑色 | 扩大 | 等长 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黄色 | 有瘀伤 | 杏仁味 | 自由 | 紧密 | 宽广 | 黑色 | 扩大 | 棍状 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 棕色 | 众多 | 草地 |
+| 可食用 | 钟形 | 光滑 | 白色 | 有瘀伤 | 茴香味 | 自由 | 紧密 | 宽广 | 棕色 | 扩大 | 棍状 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 棕色 | 众多 | 草地 |
+| 有毒 | 凸形 | 鳞片状 | 白色 | 有瘀伤 | 刺鼻 | 自由 | 紧密 | 狭窄 | 棕色 | 扩大 | 等长 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 黑色 | 分散 | 城市 |
+
+你会立即注意到所有数据都是文本格式。为了在图表中使用这些数据,你需要将其转换。事实上,大部分数据是以对象形式表示的:
+
+```python
+print(mushrooms.select_dtypes(["object"]).columns)
+```
+
+输出为:
+
+```output
+Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
+ 'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
+ 'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
+ 'stalk-surface-below-ring', 'stalk-color-above-ring',
+ 'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
+ 'ring-type', 'spore-print-color', 'population', 'habitat'],
+ dtype='object')
+```
+将这些数据转换为类别,例如将“类别”列转换为分类:
+
+```python
+cols = mushrooms.select_dtypes(["object"]).columns
+mushrooms[cols] = mushrooms[cols].astype('category')
+```
+
+```python
+edibleclass=mushrooms.groupby(['class']).count()
+edibleclass
+```
+
+现在,如果打印出蘑菇数据,你会看到它已经根据有毒/可食用类别分组:
+
+| | 帽型 | 帽表面 | 帽颜色 | 是否有瘀伤 | 气味 | 鳃连接方式 | 鳃间距 | 鳃大小 | 鳃颜色 | 茎形状 | ... | 环下方茎表面 | 环上方茎颜色 | 环下方茎颜色 | 面纱类型 | 面纱颜色 | 环数量 | 环类型 | 孢子印颜色 | 种群 | 栖息地 |
+| --------- | --------- | ----------- | --------- | ------- | ---- | --------------- | ------------ | --------- | ---------- | ----------- | --- | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 类别 | | | | | | | | | | | | | | | | | | | | | |
+| 可食用 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
+| 有毒 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
+
+如果按照此表中呈现的顺序创建类别标签,你可以绘制一个饼图:
+
+## 饼图!
+
+```python
+labels=['Edible','Poisonous']
+plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
+plt.title('Edible?')
+plt.show()
+```
+瞧,一个饼图展示了根据蘑菇的两种类别(有毒/可食用)数据的比例。这里正确设置标签的顺序非常重要,因此务必验证标签数组的构建顺序!
+
+
+
+## 环形图!
+
+环形图是一种更具视觉吸引力的饼图,它在中间有一个空洞。让我们用这种方法查看数据。
+
+看看蘑菇生长的各种栖息地:
+
+```python
+habitat=mushrooms.groupby(['habitat']).count()
+habitat
+```
+这里,你将数据按栖息地分组。共有 7 种栖息地,因此使用这些作为环形图的标签:
+
+```python
+labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
+
+plt.pie(habitat['class'], labels=labels,
+ autopct='%1.1f%%', pctdistance=0.85)
+
+center_circle = plt.Circle((0, 0), 0.40, fc='white')
+fig = plt.gcf()
+
+fig.gca().add_artist(center_circle)
+
+plt.title('Mushroom Habitats')
+
+plt.show()
+```
+
+
+
+这段代码绘制了一个图表和一个中心圆,然后将中心圆添加到图表中。通过将 `0.40` 更改为其他值来编辑中心圆的宽度。
+
+环形图可以通过多种方式调整标签。特别是标签可以被突出显示以提高可读性。了解更多信息请参阅 [文档](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut)。
+
+现在你已经知道如何分组数据并将其显示为饼图或环形图,你可以探索其他类型的图表。试试华夫图,这是一种不同的方式来探索数量。
+
+## 华夫图!
+
+华夫图是一种以二维方块阵列可视化数量的图表。尝试可视化数据集中蘑菇帽颜色的不同数量。为此,你需要安装一个辅助库 [PyWaffle](https://pypi.org/project/pywaffle/) 并使用 Matplotlib:
+
+```python
+pip install pywaffle
+```
+
+选择一段数据进行分组:
+
+```python
+capcolor=mushrooms.groupby(['cap-color']).count()
+capcolor
+```
+
+通过创建标签并分组数据来创建华夫图:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+from pywaffle import Waffle
+
+data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
+ 'amount': capcolor['class']
+ }
+
+df = pd.DataFrame(data)
+
+fig = plt.figure(
+ FigureClass = Waffle,
+ rows = 100,
+ values = df.amount,
+ labels = list(df.color),
+ figsize = (30,30),
+ colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
+)
+```
+
+使用华夫图,你可以清楚地看到蘑菇数据集中帽颜色的比例。有趣的是,有许多绿色帽子的蘑菇!
+
+
+
+✅ PyWaffle 支持在图表中使用图标,这些图标可以是 [Font Awesome](https://fontawesome.com/) 中的任何图标。尝试使用图标代替方块来创建更有趣的华夫图。
+
+在本课中,你学习了三种可视化比例的方法。首先,你需要将数据分组为类别,然后决定哪种方式最适合展示数据——饼图、环形图或华夫图。所有这些方法都能让用户快速了解数据集。
+
+## 🚀 挑战
+
+尝试在 [Charticulator](https://charticulator.com) 中重新创建这些有趣的图表。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 复习与自学
+
+有时不容易决定何时使用饼图、环形图或华夫图。以下是一些相关的文章:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+进行一些研究以找到更多关于这个选择的信息。
+
+## 作业
+
+[在 Excel 中尝试](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/zh/3-Data-Visualization/11-visualization-proportions/assignment.md
new file mode 100644
index 00000000..de49aff0
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/11-visualization-proportions/assignment.md
@@ -0,0 +1,23 @@
+
+# 在 Excel 中试一试
+
+## 操作指南
+
+你知道吗?你可以在 Excel 中创建甜甜圈图、饼图和华夫图!使用你选择的数据集,在 Excel 表格中创建这三种图表。
+
+## 评分标准
+
+| 优秀 | 合格 | 需要改进 |
+| ------------------------------------------------------ | ----------------------------------------------- | ----------------------------------------------------- |
+| 提交的 Excel 表格包含所有三种图表 | 提交的 Excel 表格包含两种图表 | 提交的 Excel 表格仅包含一种图表 |
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/12-visualization-relationships/README.md b/translations/zh/3-Data-Visualization/12-visualization-relationships/README.md
new file mode 100644
index 00000000..5650a1bc
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/12-visualization-relationships/README.md
@@ -0,0 +1,186 @@
+
+# 可视化关系:关于蜂蜜的一切 🍯
+
+| 绘制的速写笔记 ](../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|可视化关系 - _速写笔记由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+继续我们以自然为主题的研究,让我们探索一些有趣的可视化方法,展示不同类型蜂蜜之间的关系。这些数据来自[美国农业部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+这个包含约600项数据的数据集展示了美国多个州的蜂蜜生产情况。例如,你可以查看1998年至2012年间某个州每年的蜂群数量、每群产量、总产量、库存、每磅价格以及蜂蜜的总价值,每个州每年一行数据。
+
+将某个州每年的生产情况与该州蜂蜜价格之间的关系可视化会很有趣。或者,你也可以可视化各州每群蜂蜜产量之间的关系。这段时间涵盖了2006年首次出现的毁灭性“蜂群崩溃症”(CCD,http://npic.orst.edu/envir/ccd.html),因此这是一个值得研究的引人深思的数据集。🐝
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在本课中,你可以使用之前用过的 Seaborn,这是一个很好的库,用于可视化变量之间的关系。特别有趣的是 Seaborn 的 `relplot` 函数,它可以快速生成散点图和折线图,用于可视化“[统计关系](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)”,帮助数据科学家更好地理解变量之间的关系。
+
+## 散点图
+
+使用散点图展示蜂蜜价格如何逐年在各州演变。Seaborn 的 `relplot` 函数可以方便地对州数据进行分组,并显示分类数据和数值数据的点。
+
+让我们从导入数据和 Seaborn 开始:
+
+```python
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+honey = pd.read_csv('../../data/honey.csv')
+honey.head()
+```
+你会注意到蜂蜜数据中有几个有趣的列,包括年份和每磅价格。让我们按美国各州分组来探索这些数据:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+
+创建一个基础散点图,展示蜂蜜每磅价格与其产地州之间的关系。将 `y` 轴设置得足够高以显示所有州:
+
+```python
+sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);
+```
+
+
+现在,使用蜂蜜色调展示同样的数据,显示价格如何逐年变化。你可以通过添加一个 'hue' 参数来显示逐年的变化:
+
+> ✅ 了解更多关于 [Seaborn 中可用的颜色调色板](https://seaborn.pydata.org/tutorial/color_palettes.html) - 尝试一个美丽的彩虹配色方案!
+
+```python
+sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);
+```
+
+
+通过这种颜色方案的变化,你可以明显看到蜂蜜每磅价格在逐年上涨。事实上,如果你查看数据中的一个样本集(例如选择亚利桑那州),你会发现价格逐年上涨的模式,只有少数例外:
+
+| state | numcol | yieldpercol | totalprod | stocks | priceperlb | prodvalue | year |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一种可视化这种变化的方法是使用点的大小,而不是颜色。对于色盲用户,这可能是一个更好的选择。编辑你的可视化,通过点的直径增加来显示价格的上涨:
+
+```python
+sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);
+```
+你可以看到点的大小逐渐增大。
+
+
+
+这是否是一个简单的供需问题?由于气候变化和蜂群崩溃等因素,是否每年可供购买的蜂蜜减少,从而导致价格上涨?
+
+为了发现数据集中某些变量之间的相关性,让我们探索一些折线图。
+
+## 折线图
+
+问题:蜂蜜每磅价格是否逐年明显上涨?你可以通过创建一张单一折线图最容易发现这一点:
+
+```python
+sns.relplot(x="year", y="priceperlb", kind="line", data=honey);
+```
+答案:是的,但在2003年左右有一些例外:
+
+
+
+✅ 由于 Seaborn 会围绕一条线聚合数据,它通过绘制均值和均值周围95%的置信区间来显示“每个 x 值的多次测量”。[来源](https://seaborn.pydata.org/tutorial/relational.html)。这种耗时的行为可以通过添加 `ci=None` 来禁用。
+
+问题:那么,在2003年我们是否也能看到蜂蜜供应的激增?如果你查看逐年的总产量呢?
+
+```python
+sns.relplot(x="year", y="totalprod", kind="line", data=honey);
+```
+
+
+
+答案:并没有。如果你查看总产量,实际上在那一年似乎有所增加,尽管总体而言蜂蜜的产量在这些年间呈下降趋势。
+
+问题:在这种情况下,2003年蜂蜜价格的激增可能是什么原因造成的?
+
+为了发现这一点,你可以探索一个分面网格。
+
+## 分面网格
+
+分面网格将数据集的一个方面(在我们的例子中,你可以选择“年份”以避免生成过多的分面)分开。然后 Seaborn 可以为你选择的 x 和 y 坐标生成每个分面的图表,以便更容易进行视觉比较。在这种比较中,2003年是否显得特别突出?
+
+通过继续使用 `relplot` 创建一个分面网格,正如 [Seaborn 文档](https://seaborn.pydata.org/generated/seaborn.FacetGrid.html?highlight=facetgrid#seaborn.FacetGrid) 所推荐的那样。
+
+```python
+sns.relplot(
+ data=honey,
+ x="yieldpercol", y="numcol",
+ col="year",
+ col_wrap=3,
+ kind="line"
+```
+在这个可视化中,你可以比较逐年每群产量和蜂群数量,并将列的换行设置为3:
+
+
+
+对于这个数据集,逐年和各州之间,蜂群数量和产量并没有特别突出的地方。是否有其他方法可以找到这两个变量之间的相关性?
+
+## 双折线图
+
+尝试通过将两条折线图叠加在一起创建一个多折线图,使用 Seaborn 的 'despine' 去除顶部和右侧的轴线,并使用 `ax.twinx` [来源于 Matplotlib](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html)。Twix 允许图表共享 x 轴并显示两个 y 轴。因此,叠加显示每群产量和蜂群数量:
+
+```python
+fig, ax = plt.subplots(figsize=(12,6))
+lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey,
+ label = 'Number of bee colonies', legend=False)
+sns.despine()
+plt.ylabel('# colonies')
+plt.title('Honey Production Year over Year');
+
+ax2 = ax.twinx()
+lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r",
+ label ='Yield per colony', legend=False)
+sns.despine(right=False)
+plt.ylabel('colony yield')
+ax.figure.legend();
+```
+
+
+虽然在2003年没有明显的异常,但这让我们以一个稍微乐观的笔记结束本课:尽管蜂群数量总体上在下降,但蜂群数量正在趋于稳定,即使每群的产量在减少。
+
+加油,蜜蜂们!
+
+🐝❤️
+## 🚀 挑战
+
+在本课中,你学到了更多关于散点图和线网格(包括分面网格)的其他用途。挑战自己使用一个不同的数据集(也许是你在之前课程中使用过的)创建一个分面网格。注意它们的创建时间以及在使用这些技术时需要小心绘制的网格数量。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 复习与自学
+
+折线图可以很简单,也可以很复杂。在 [Seaborn 文档](https://seaborn.pydata.org/generated/seaborn.lineplot.html) 中阅读更多关于构建折线图的方法。尝试用文档中列出的其他方法增强你在本课中构建的折线图。
+
+## 作业
+
+[深入蜂巢](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/zh/3-Data-Visualization/12-visualization-relationships/assignment.md
new file mode 100644
index 00000000..ef0305a8
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/12-visualization-relationships/assignment.md
@@ -0,0 +1,23 @@
+
+# 探索蜂巢
+
+## 指导
+
+在本课中,你开始研究一个关于蜜蜂及其蜂蜜产量的数据集,这段时间内蜜蜂群体数量整体上有所减少。深入挖掘这个数据集,构建一个笔记本,讲述蜜蜂群体健康状况的故事,按州和年份进行分析。你是否在这个数据集中发现了什么有趣的内容?
+
+## 评分标准
+
+| 卓越表现 | 合格表现 | 需要改进 |
+| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| 提供了一个笔记本,包含一个故事,并配有至少三个不同的图表,展示数据集的各个方面,按州和年份进行分析 | 笔记本缺少其中一个要素 | 笔记本缺少其中两个要素 |
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/README.md
new file mode 100644
index 00000000..8d434e9a
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/README.md
@@ -0,0 +1,180 @@
+
+# 创建有意义的数据可视化
+
+| ](../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意义的数据可视化 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+> “如果你对数据施加足够的压力,它会承认任何事情” -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+数据科学家的基本技能之一是能够创建有意义的数据可视化,以帮助回答你可能提出的问题。在可视化数据之前,你需要确保数据已经像之前课程中那样被清理和准备好。之后,你就可以开始决定如何最好地呈现数据。
+
+在本课中,你将学习:
+
+1. 如何选择正确的图表类型
+2. 如何避免误导性图表
+3. 如何使用颜色
+4. 如何为图表设计样式以提高可读性
+5. 如何构建动画或3D图表解决方案
+6. 如何构建创意可视化
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 选择正确的图表类型
+
+在之前的课程中,你已经尝试使用 Matplotlib 和 Seaborn 构建各种有趣的数据可视化。通常,你可以使用以下表格选择适合问题的[正确图表类型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/):
+
+| 你的需求是: | 你应该使用: |
+| ----------------------- | --------------------------- |
+| 展示随时间变化的数据趋势 | 折线图 |
+| 比较类别 | 柱状图、饼图 |
+| 比较总量 | 饼图、堆叠柱状图 |
+| 展示关系 | 散点图、折线图、分面图、双折线图 |
+| 展示分布 | 散点图、直方图、箱线图 |
+| 展示比例 | 饼图、圆环图、华夫图 |
+
+> ✅ 根据数据的组成,你可能需要将其从文本转换为数值,以支持某些图表类型。
+
+## 避免误导
+
+即使数据科学家谨慎选择了适合数据的正确图表,也有很多方法可以通过展示数据来证明某种观点,往往以牺牲数据本身为代价。有许多误导性图表和信息图的例子!
+
+[](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)。
+
+理解视觉如何容易被误导性图表欺骗是很重要的。即使数据科学家的意图是好的,选择错误的图表类型,例如显示过多类别的饼图,也可能具有误导性。
+
+## 颜色
+
+你在上面“佛罗里达枪支暴力”图表中看到,颜色可以为图表提供额外的意义层次,尤其是那些没有使用 Matplotlib 和 Seaborn 等库设计的图表,这些库自带各种经过验证的颜色库和调色板。如果你手动制作图表,可以稍微研究一下[颜色理论](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在设计图表时,请注意可访问性是可视化的重要方面。你的部分用户可能是色盲——你的图表是否对视觉障碍用户友好?
+
+选择图表颜色时要小心,因为颜色可能传递你未曾预料的含义。上面“身高”图表中的“粉色女士”传递了一种明显的“女性化”含义,进一步增加了图表本身的怪异感。
+
+虽然[颜色含义](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地区而异,并且根据色调的不同而改变,但一般来说,颜色含义包括:
+
+| 颜色 | 含义 |
+| ------ | ------------------- |
+| 红色 | 力量 |
+| 蓝色 | 信任、忠诚 |
+| 黄色 | 快乐、警告 |
+| 绿色 | 生态、幸运、嫉妒 |
+| 紫色 | 快乐 |
+| 橙色 | 活力 |
+
+如果你需要为图表选择自定义颜色,请确保你的图表既可访问又符合你想要传递的含义。
+
+## 为图表设计样式以提高可读性
+
+如果图表不可读,它就没有意义!花点时间考虑调整图表的宽度和高度,使其与数据比例良好。如果需要显示一个变量(例如所有50个州),尽量在 Y 轴上垂直显示,以避免水平滚动的图表。
+
+标注你的轴线,必要时提供图例,并提供工具提示以更好地理解数据。
+
+如果你的数据在 X 轴上是文本且冗长,可以将文本倾斜以提高可读性。[Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) 提供了 3D 绘图功能,如果你的数据支持它。可以使用 `mpl_toolkits.mplot3d` 生成复杂的数据可视化。
+
+
+
+## 动画和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 制作
+
+虽然本课不足以深入教授这些强大的可视化库,但可以尝试在 Vue.js 应用中使用 D3,利用一个库展示《危险关系》这本书的动画化社交网络可视化。
+
+> 《危险关系》是一部书信体小说,即以一系列信件形式呈现的小说。由 Choderlos de Laclos 于1782年创作,讲述了18世纪末法国贵族中两位主角——瓦尔蒙子爵和梅尔特伊侯爵夫人——恶毒且道德败坏的社交操纵故事。两人最终都走向毁灭,但在此之前造成了巨大的社会破坏。小说通过写给圈内各种人的信件展开,信件内容包括复仇计划或单纯制造麻烦。创建一个这些信件的可视化,发现叙事中的主要关键人物。
+
+你将完成一个网络应用程序,显示这个社交网络的动画化视图。它使用一个库来创建一个[网络可视化](https://github.com/emiliorizzo/vue-d3-network),基于 Vue.js 和 D3。当应用程序运行时,你可以在屏幕上拖动节点以重新排列数据。
+
+
+
+## 项目:使用 D3.js 构建一个网络图表
+
+> 本课文件夹包含一个 `solution` 文件夹,你可以在其中找到完整的项目供参考。
+
+1. 按照起始文件夹根目录中的 README.md 文件中的说明操作。确保你的机器上运行了 NPM 和 Node.js,然后安装项目依赖项。
+
+2. 打开 `starter/src` 文件夹。你会发现一个 `assets` 文件夹,其中有一个 .json 文件,包含小说中的所有信件,编号,并带有“to”和“from”注释。
+
+3. 完成 `components/Nodes.vue` 中的代码以启用可视化。找到名为 `createLinks()` 的方法,并添加以下嵌套循环。
+
+循环遍历 .json 对象以捕获信件的“to”和“from”数据,并构建 `links` 对象,以便可视化库可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+从终端运行你的应用程序(npm run serve),享受可视化效果!
+
+## 🚀 挑战
+
+浏览互联网,发现误导性可视化。作者是如何欺骗用户的,这是否是故意的?尝试修正这些可视化,展示它们应该如何呈现。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 复习与自学
+
+以下是一些关于误导性数据可视化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看这些关于历史资产和文物的有趣可视化:
+
+https://handbook.pubpub.org/
+
+阅读这篇关于动画如何增强可视化的文章:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作业
+
+[创建你自己的自定义可视化](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/assignment.md
new file mode 100644
index 00000000..650e3243
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/assignment.md
@@ -0,0 +1,23 @@
+
+# 构建你自己的自定义可视化
+
+## 指南
+
+使用本项目中的代码示例创建一个社交网络,模拟你自己的社交互动数据。你可以绘制你的社交媒体使用情况,或者制作一个家庭成员的关系图。创建一个有趣的网页应用,展示一个独特的社交网络可视化。
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | --- |
+提供一个包含正常运行代码的 GitHub 仓库(尝试将其部署为静态网页应用),并附有注释清晰的 README 文件,解释项目内容 | 仓库无法正常运行或文档不够完善 | 仓库无法正常运行且文档不够完善
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。因使用本翻译而导致的任何误解或误读,我们概不负责。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
new file mode 100644
index 00000000..5dea4ba3
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/solution/README.md
@@ -0,0 +1,38 @@
+
+# 危险关系数据可视化项目
+
+在开始之前,请确保您的计算机上已安装并运行了 NPM 和 Node。安装依赖项(npm install),然后在本地运行项目(npm run serve):
+
+## 项目设置
+```
+npm install
+```
+
+### 编译并热加载用于开发
+```
+npm run serve
+```
+
+### 编译并压缩用于生产
+```
+npm run build
+```
+
+### 检查并修复文件
+```
+npm run lint
+```
+
+### 自定义配置
+请参阅[配置参考](https://cli.vuejs.org/config/)。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
new file mode 100644
index 00000000..ce028630
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/13-meaningful-visualizations/starter/README.md
@@ -0,0 +1,38 @@
+
+# 危险关系数据可视化项目
+
+开始之前,请确保您的电脑上已安装 NPM 和 Node。安装依赖项(npm install),然后在本地运行项目(npm run serve):
+
+## 项目设置
+```
+npm install
+```
+
+### 编译并热加载开发环境
+```
+npm run serve
+```
+
+### 编译并压缩生产环境
+```
+npm run build
+```
+
+### 检查并修复文件
+```
+npm run lint
+```
+
+### 自定义配置
+请参阅 [配置参考](https://cli.vuejs.org/config/)。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/zh/3-Data-Visualization/R/09-visualization-quantities/README.md
new file mode 100644
index 00000000..02a28279
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/09-visualization-quantities/README.md
@@ -0,0 +1,231 @@
+
+# 可视化数量
+| 绘制的草图笔记](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)|
+|:---:|
+| 可视化数量 - _草图笔记由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+在本课中,你将学习如何使用一些 R 中可用的包库,围绕数量这一概念创建有趣的可视化。通过一个关于明尼苏达州鸟类的清理数据集,你可以了解许多关于当地野生动物的有趣事实。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16)
+
+## 使用 ggplot2 观察翼展
+[ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html) 是一个非常优秀的库,可以用来创建各种简单或复杂的图表。一般来说,使用这些库绘制数据图的过程包括:确定数据框中要处理的部分,对数据进行必要的转换,指定 x 和 y 轴的值,选择图表类型,然后展示图表。
+
+`ggplot2` 是一个基于《图形语法》(The Grammar of Graphics)声明式创建图形的系统。《图形语法》是一种数据可视化的通用方案,将图形分解为语义组件,如比例和层次。换句话说,`ggplot2` 通过少量代码即可轻松创建单变量或多变量数据的图表,这使其成为 R 中最受欢迎的可视化包。用户只需告诉 `ggplot2` 如何将变量映射到美学属性、使用哪些图形元素,剩下的由 `ggplot2` 处理。
+
+> ✅ 图表 = 数据 + 美学 + 几何
+> - 数据:指数据集
+> - 美学:表示要研究的变量(x 和 y 变量)
+> - 几何:指图表类型(折线图、柱状图等)
+
+根据你的数据和想通过图表讲述的故事,选择最合适的几何类型(图表类型)。
+
+> - 分析趋势:折线图、柱状图
+> - 比较数值:条形图、柱状图、饼图、散点图
+> - 展示部分与整体的关系:饼图
+> - 展示数据分布:散点图、条形图
+> - 展示数值之间的关系:折线图、散点图、气泡图
+
+✅ 你还可以查看这个描述性的 [ggplot2 速查表](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf)。
+
+## 绘制鸟类翼展值的折线图
+
+打开 R 控制台并导入数据集。
+> 注意:数据集存储在本仓库的 `/data` 文件夹中。
+
+让我们导入数据集并观察数据的头部(前 5 行)。
+
+```r
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+head(birds)
+```
+数据头部包含文本和数字的混合:
+
+| | 名称 | 学名 | 类别 | 目 | 科 | 属 | 保护状态 | 最小长度 | 最大长度 | 最小体重 | 最大体重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :---------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹树鸭 | Dendrocygna autumnalis | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 树鸭属 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕树鸭 | Dendrocygna bicolor | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 树鸭属 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鹅 | Anser caerulescens | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 鹅属 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 罗斯氏鹅 | Anser rossii | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 鹅属 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白额雁 | Anser albifrons | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 鹅属 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+让我们从绘制一些数值数据的基本折线图开始。假设你想查看这些有趣鸟类的最大翼展。
+
+```r
+install.packages("ggplot2")
+library("ggplot2")
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line()
+```
+在这里,你安装了 `ggplot2` 包并通过 `library("ggplot2")` 命令将其导入工作区。要在 ggplot 中绘制任何图表,使用 `ggplot()` 函数,并将数据集、x 和 y 变量作为属性指定。在这种情况下,我们使用 `geom_line()` 函数,因为我们要绘制折线图。
+
+
+
+你立即注意到了什么?似乎至少有一个异常值——那是一个相当惊人的翼展!2000+ 厘米的翼展超过了 20 米——难道明尼苏达州有翼龙在飞翔?让我们调查一下。
+
+虽然你可以在 Excel 中快速排序找到这些可能是输入错误的异常值,但我们继续通过图表进行可视化分析。
+
+为 x 轴添加标签以显示涉及哪些鸟类:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_line() +
+ theme(axis.text.x = element_text(angle = 45, hjust=1))+
+ xlab("Birds") +
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters")
+```
+我们在 `theme` 中指定了角度,并在 `xlab()` 和 `ylab()` 中分别指定了 x 和 y 轴的标签。`ggtitle()` 为图表命名。
+
+
+
+即使将标签旋转到 45 度,仍然太多了,难以阅读。让我们尝试另一种策略:仅标记那些异常值,并在图表内设置标签。你可以使用散点图来腾出更多空间进行标记:
+
+```r
+ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.title.x=element_blank(), axis.text.x=element_blank(), axis.ticks.x=element_blank())
+ ylab("Wingspan (CM)") +
+ ggtitle("Max Wingspan in Centimeters") +
+```
+这里发生了什么?你使用了 `geom_point()` 函数绘制散点图。通过这种方式,你为 `MaxWingspan > 500` 的鸟类添加了标签,同时隐藏了 x 轴上的标签以减少图表的杂乱。
+
+你发现了什么?
+
+
+
+## 筛选数据
+
+无论是秃鹰还是草原隼,虽然可能是非常大的鸟类,但它们的最大翼展似乎被错误标记,多加了一个 0。遇到翼展 25 米的秃鹰的可能性不大,但如果真的遇到,请告诉我们!让我们创建一个新的数据框,去掉这两个异常值:
+
+```r
+birds_filtered <- subset(birds, MaxWingspan < 500)
+
+ggplot(data=birds_filtered, aes(x=Name, y=MaxWingspan,group=1)) +
+ geom_point() +
+ ylab("Wingspan (CM)") +
+ xlab("Birds") +
+ ggtitle("Max Wingspan in Centimeters") +
+ geom_text(aes(label=ifelse(MaxWingspan>500,as.character(Name),'')),hjust=0,vjust=0) +
+ theme(axis.text.x=element_blank(), axis.ticks.x=element_blank())
+```
+我们创建了一个新的数据框 `birds_filtered`,然后绘制了一个散点图。通过筛选掉异常值,你的数据现在更加连贯且易于理解。
+
+
+
+现在我们至少在翼展方面有了一个更干净的数据集,让我们进一步探索这些鸟类。
+
+虽然折线图和散点图可以显示数据值及其分布的信息,但我们还想思考数据集中固有的值。你可以创建可视化来回答以下关于数量的问题:
+
+> 有多少种鸟类类别?它们的数量是多少?
+> 有多少鸟类是灭绝的、濒危的、稀有的或常见的?
+> 根据林奈分类法,有多少种不同的属和目?
+
+## 探索条形图
+
+当你需要展示数据分组时,条形图非常实用。让我们探索数据集中存在的鸟类类别,看看哪种类别最常见。
+让我们在筛选后的数据上创建一个条形图。
+
+```r
+install.packages("dplyr")
+install.packages("tidyverse")
+
+library(lubridate)
+library(scales)
+library(dplyr)
+library(ggplot2)
+library(tidyverse)
+
+birds_filtered %>% group_by(Category) %>%
+ summarise(n=n(),
+ MinLength = mean(MinLength),
+ MaxLength = mean(MaxLength),
+ MinBodyMass = mean(MinBodyMass),
+ MaxBodyMass = mean(MaxBodyMass),
+ MinWingspan=mean(MinWingspan),
+ MaxWingspan=mean(MaxWingspan)) %>%
+ gather("key", "value", - c(Category, n)) %>%
+ ggplot(aes(x = Category, y = value, group = key, fill = key)) +
+ geom_bar(stat = "identity") +
+ scale_fill_manual(values = c("#D62728", "#FF7F0E", "#8C564B","#2CA02C", "#1F77B4", "#9467BD")) +
+ xlab("Category")+ggtitle("Birds of Minnesota")
+
+```
+在以下代码片段中,我们安装了 [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` 包绘制条形图,并为不同类别指定颜色和标签。
+
+
+
+然而,这个条形图由于数据未分组过多而难以阅读。你需要选择要绘制的数据,因此让我们根据鸟类类别查看其长度。
+
+筛选数据以仅包含鸟类的类别。
+
+由于类别较多,你可以垂直显示此图表并调整其高度以适应所有数据:
+
+```r
+birds_count<-dplyr::count(birds_filtered, Category, sort = TRUE)
+birds_count$Category <- factor(birds_count$Category, levels = birds_count$Category)
+ggplot(birds_count,aes(Category,n))+geom_bar(stat="identity")+coord_flip()
+```
+你首先统计 `Category` 列中的唯一值,然后将它们排序到一个新的数据框 `birds_count` 中。接着,将这些排序后的数据按相同顺序分级,以便按排序方式绘制。使用 `ggplot2` 绘制条形图。`coord_flip()` 将条形图水平显示。
+
+
+
+这个条形图很好地展示了每个类别中鸟类的数量。一眼就能看出,这个地区数量最多的鸟类是鸭/鹅/水禽类别。明尼苏达州是“万湖之地”,这并不令人意外!
+
+✅ 尝试对该数据集进行其他计数。有什么让你感到惊讶的吗?
+
+## 比较数据
+
+你可以通过创建新的轴来尝试不同的分组数据比较。尝试比较基于类别的鸟类最大长度:
+
+```r
+birds_grouped <- birds_filtered %>%
+ group_by(Category) %>%
+ summarise(
+ MaxLength = max(MaxLength, na.rm = T),
+ MinLength = max(MinLength, na.rm = T)
+ ) %>%
+ arrange(Category)
+
+ggplot(birds_grouped,aes(Category,MaxLength))+geom_bar(stat="identity")+coord_flip()
+```
+我们按 `Category` 对 `birds_filtered` 数据进行分组,然后绘制条形图。
+
+
+
+这里没有什么令人意外的:蜂鸟的最大长度最小,而鹈鹕或鹅的最大长度较大。当数据符合逻辑时,这是好事!
+
+你可以通过叠加数据创建更有趣的条形图可视化。让我们在给定的鸟类类别上叠加最小和最大长度:
+
+```r
+ggplot(data=birds_grouped, aes(x=Category)) +
+ geom_bar(aes(y=MaxLength), stat="identity", position ="identity", fill='blue') +
+ geom_bar(aes(y=MinLength), stat="identity", position="identity", fill='orange')+
+ coord_flip()
+```
+
+
+## 🚀 挑战
+
+这个鸟类数据集提供了关于特定生态系统中不同类型鸟类的大量信息。在互联网上搜索,看看是否能找到其他与鸟类相关的数据集。练习围绕这些鸟类构建图表和图形,发现你之前未曾意识到的事实。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17)
+
+## 复习与自学
+
+本课为你提供了一些关于如何使用 `ggplot2` 可视化数量的信息。研究其他可视化数据集的方法。查找并研究可以使用其他包(如 [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) 和 [Plotly](https://github.com/plotly/plotly.R#readme))进行可视化的数据集。
+
+## 作业
+[折线图、散点图和条形图](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/zh/3-Data-Visualization/R/09-visualization-quantities/assignment.md
new file mode 100644
index 00000000..2216bb3b
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/09-visualization-quantities/assignment.md
@@ -0,0 +1,23 @@
+
+# 折线图、散点图和柱状图
+
+## 说明
+
+在本课中,你学习了如何使用折线图、散点图和柱状图来展示数据集中的有趣事实。在本次作业中,请深入挖掘数据集,发现关于某种鸟类的一个事实。例如,创建一个脚本,展示你能找到的关于雪雁的所有有趣数据。使用上述三种图表,在你的笔记本中讲述一个故事。
+
+## 评分标准
+
+优秀 | 合格 | 需改进
+--- | --- | --- |
+脚本包含良好的注释、清晰的故事叙述以及吸引人的图表 | 脚本缺少其中一个要素 | 脚本缺少其中两个要素
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/zh/3-Data-Visualization/R/10-visualization-distributions/README.md
new file mode 100644
index 00000000..879aaeb3
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/10-visualization-distributions/README.md
@@ -0,0 +1,183 @@
+
+# 可视化分布
+
+| 绘制的速记图](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)|
+|:---:|
+| 可视化分布 - _速记图作者 [@nitya](https://twitter.com/nitya)_ |
+
+在上一节课中,你学习了关于明尼苏达州鸟类数据集的一些有趣事实。通过可视化异常值,你发现了一些错误数据,并通过最大长度观察了鸟类类别之间的差异。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18)
+## 探索鸟类数据集
+
+另一种深入了解数据的方法是查看其分布,即数据如何沿轴排列。例如,你可能想了解这个数据集中鸟类的最大翼展或最大体重的一般分布情况。
+
+让我们来发现一些关于这个数据集分布的事实。在你的 R 控制台中,导入 `ggplot2` 和数据库。像上一节一样,从数据库中移除异常值。
+
+```r
+library(ggplot2)
+
+birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM")
+
+birds_filtered <- subset(birds, MaxWingspan < 500)
+head(birds_filtered)
+```
+| | 名称 | 学名 | 类别 | 目 | 科 | 属 | 保护状态 | 最小长度 | 最大长度 | 最小体重 | 最大体重 | 最小翼展 | 最大翼展 |
+| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
+| 0 | 黑腹叫鸭 | Dendrocygna autumnalis | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 栖鸭属 | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
+| 1 | 棕腹叫鸭 | Dendrocygna bicolor | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 栖鸭属 | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
+| 2 | 雪鹅 | Anser caerulescens | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
+| 3 | 罗氏鹅 | Anser rossii | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
+| 4 | 大白额雁 | Anser albifrons | 鸭/鹅/水禽 | 雁形目 | 鸭科 | 雁属 | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
+
+通常,你可以通过使用散点图快速查看数据的分布方式,就像我们在上一节课中所做的那样:
+
+```r
+ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) +
+ geom_point() +
+ ggtitle("Max Length per order") + coord_flip()
+```
+
+
+这提供了每个鸟类目身体长度的一般分布概览,但这并不是显示真实分布的最佳方式。通常通过创建直方图来完成这一任务。
+
+## 使用直方图
+
+`ggplot2` 提供了非常好的方法来使用直方图可视化数据分布。这种图表类似于柱状图,通过柱子的升降可以看到分布情况。要构建直方图,你需要数值数据。构建直方图时,可以将图表类型定义为“hist”以表示直方图。此图表显示整个数据集范围内最大体重的分布。通过将数据数组划分为较小的区间,它可以显示数据值的分布:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=10)+ylab('Frequency')
+```
+
+
+如你所见,这个数据集中的 400 多种鸟类大多数最大体重都在 2000 以下。通过将 `bins` 参数更改为更高的数字,例如 30,可以获得更多数据洞察:
+
+```r
+ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+此图表以更细致的方式显示分布。通过确保仅选择特定范围内的数据,可以创建一个偏向左侧较少的图表:
+
+过滤数据,仅获取体重低于 60 的鸟类,并显示 30 个 `bins`:
+
+```r
+birds_filtered_1 <- subset(birds_filtered, MaxBodyMass > 1 & MaxBodyMass < 60)
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_histogram(bins=30)+ylab('Frequency')
+```
+
+
+
+✅ 尝试其他过滤器和数据点。要查看数据的完整分布,请移除 `['MaxBodyMass']` 过滤器以显示带标签的分布。
+
+直方图还提供了一些不错的颜色和标签增强功能可以尝试:
+
+创建一个二维直方图来比较两个分布之间的关系。让我们比较 `MaxBodyMass` 和 `MaxLength`。`ggplot2` 提供了一种内置方法,通过更亮的颜色显示收敛:
+
+```r
+ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) +
+ geom_bin2d() +scale_fill_continuous(type = "viridis")
+```
+可以看到这两个元素沿预期轴存在预期的相关性,其中一个点的收敛特别强:
+
+
+
+直方图默认适用于数值数据。如果需要根据文本数据查看分布该怎么办?
+
+## 使用文本数据探索数据集分布
+
+此数据集还包括关于鸟类类别及其属、种、科以及保护状态的良好信息。让我们深入了解这些保护信息。根据保护状态,鸟类的分布情况如何?
+
+> ✅ 在数据集中,使用了一些缩写来描述保护状态。这些缩写来自 [IUCN 红色名录类别](https://www.iucnredlist.org/),这是一个记录物种状态的组织。
+>
+> - CR: 极危
+> - EN: 濒危
+> - EX: 灭绝
+> - LC: 无危
+> - NT: 近危
+> - VU: 易危
+
+这些是基于文本的值,因此需要进行转换以创建直方图。使用过滤后的鸟类数据框,显示其保护状态及其最小翼展。你看到了什么?
+
+```r
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EX'] <- 'x1'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'CR'] <- 'x2'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'EN'] <- 'x3'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'NT'] <- 'x4'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'VU'] <- 'x5'
+birds_filtered_1$ConservationStatus[birds_filtered_1$ConservationStatus == 'LC'] <- 'x6'
+
+ggplot(data=birds_filtered_1, aes(x = MinWingspan, fill = ConservationStatus)) +
+ geom_histogram(position = "identity", alpha = 0.4, bins = 20) +
+ scale_fill_manual(name="Conservation Status",values=c("red","green","blue","pink"),labels=c("Endangered","Near Threathened","Vulnerable","Least Concern"))
+```
+
+
+
+最小翼展与保护状态之间似乎没有明显的相关性。使用此方法测试数据集中的其他元素。你可以尝试不同的过滤器。是否发现任何相关性?
+
+## 密度图
+
+你可能注意到我们迄今为止看到的直方图是“阶梯状”的,并没有平滑地呈弧形。要显示更平滑的密度图,可以尝试密度图。
+
+现在让我们来使用密度图!
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MinWingspan)) +
+ geom_density()
+```
+
+
+你可以看到此图与之前的最小翼展数据图相呼应;它只是稍微平滑了一些。如果你想重新创建第二个图表中那个不平滑的最大体重线,可以通过这种方法很好地将其平滑化:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density()
+```
+
+
+如果你想要一个平滑但不过于平滑的线条,可以编辑 `adjust` 参数:
+
+```r
+ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) +
+ geom_density(adjust = 1/5)
+```
+
+
+✅ 阅读有关此类图表可用参数的内容并进行实验!
+
+这种图表提供了非常直观的可视化。例如,通过几行代码,你可以显示每个鸟类目最大体重的密度:
+
+```r
+ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
+ geom_density(alpha=0.5)
+```
+
+
+## 🚀 挑战
+
+直方图是一种比基本散点图、柱状图或折线图更复杂的图表类型。上网搜索直方图的优秀使用案例。它们是如何使用的,展示了什么内容,以及它们通常在哪些领域或研究领域中使用?
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19)
+
+## 复习与自学
+
+在本课中,你使用了 `ggplot2` 并开始展示更复杂的图表。研究一下 `geom_density_2d()`,它是一种“一维或多维的连续概率密度曲线”。阅读 [文档](https://ggplot2.tidyverse.org/reference/geom_density_2d.html) 以了解其工作原理。
+
+## 作业
+
+[应用你的技能](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/zh/3-Data-Visualization/R/10-visualization-distributions/assignment.md
new file mode 100644
index 00000000..573d3456
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/10-visualization-distributions/assignment.md
@@ -0,0 +1,23 @@
+
+# 应用你的技能
+
+## 说明
+
+到目前为止,你已经使用了明尼苏达州鸟类数据集,探索了有关鸟类数量和种群密度的信息。现在,尝试使用一个不同的数据集来练习这些技术,可以从 [Kaggle](https://www.kaggle.com/) 获取数据集。编写一个 R 脚本,讲述关于这个数据集的故事,并确保在分析中使用直方图。
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | -- |
+脚本包含关于数据集及其来源的注释,并使用至少 5 个直方图来探索数据中的信息。 | 脚本包含不完整的注释或存在错误。 | 脚本没有注释且包含错误。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/zh/3-Data-Visualization/R/11-visualization-proportions/README.md
new file mode 100644
index 00000000..eef0bfe0
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/11-visualization-proportions/README.md
@@ -0,0 +1,198 @@
+
+# 可视化比例
+
+| 绘制的速记图](../../../sketchnotes/11-Visualizing-Proportions.png)|
+|:---:|
+|可视化比例 - _速记图由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+在本课中,你将使用一个以自然为主题的数据集来可视化比例,例如在关于蘑菇的数据集中有多少种不同类型的真菌。让我们通过一个来自 Audubon 的数据集来探索这些迷人的真菌,该数据集列出了 Agaricus 和 Lepiota 家族中 23 种有鳃蘑菇的详细信息。你将尝试一些有趣的可视化方法,例如:
+
+- 饼图 🥧
+- 环形图 🍩
+- 华夫图 🧇
+
+> 💡 一个非常有趣的项目 [Charticulator](https://charticulator.com) 由微软研究院开发,提供了一个免费的拖放界面用于数据可视化。在他们的一个教程中也使用了这个蘑菇数据集!因此,你可以同时探索数据并学习这个库:[Charticulator 教程](https://charticulator.com/tutorials/tutorial4.html)。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20)
+
+## 了解你的蘑菇 🍄
+
+蘑菇非常有趣。让我们导入一个数据集来研究它们:
+
+```r
+mushrooms = read.csv('../../data/mushrooms.csv')
+head(mushrooms)
+```
+打印出一个表格,其中包含一些适合分析的优秀数据:
+
+| 类别 | 帽型 | 帽表面 | 帽颜色 | 是否有瘀伤 | 气味 | 鳃附着方式 | 鳃间距 | 鳃大小 | 鳃颜色 | 茎形状 | 茎根部 | 环上方茎表面 | 环下方茎表面 | 环上方茎颜色 | 环下方茎颜色 | 面纱类型 | 面纱颜色 | 环数量 | 环类型 | 孢子印颜色 | 种群数量 | 栖息地 |
+| --------- | --------- | ----------- | --------- | ------- | ------- | --------------- | ------------ | --------- | ---------- | ----------- | ---------- | ------------------------ | ------------------------ | ---------------------- | ---------------------- | --------- | ---------- | ----------- | --------- | ----------------- | ---------- | ------- |
+| 有毒 | 凸形 | 光滑 | 棕色 | 有瘀伤 | 刺鼻 | 自由 | 紧密 | 狭窄 | 黑色 | 扩大 | 等长 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 黄色 | 有瘀伤 | 杏仁 | 自由 | 紧密 | 宽广 | 黑色 | 扩大 | 棍状 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 棕色 | 众多 | 草地 |
+| 可食用 | 钟形 | 光滑 | 白色 | 有瘀伤 | 茴香 | 自由 | 紧密 | 宽广 | 棕色 | 扩大 | 棍状 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 棕色 | 众多 | 草地 |
+| 有毒 | 凸形 | 鳞状 | 白色 | 有瘀伤 | 刺鼻 | 自由 | 紧密 | 狭窄 | 棕色 | 扩大 | 等长 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 黑色 | 分散 | 城市 |
+| 可食用 | 凸形 | 光滑 | 绿色 | 无瘀伤 | 无气味 | 自由 | 拥挤 | 宽广 | 黑色 | 锥形 | 等长 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 消失 | 棕色 | 丰富 | 草地 |
+| 可食用 | 凸形 | 鳞状 | 黄色 | 有瘀伤 | 杏仁 | 自由 | 紧密 | 宽广 | 棕色 | 扩大 | 棍状 | 光滑 | 光滑 | 白色 | 白色 | 部分 | 白色 | 一个 | 垂饰 | 黑色 | 众多 | 草地 |
+
+你会立即注意到所有数据都是文本格式。为了在图表中使用这些数据,你需要将其转换。事实上,大部分数据是以对象形式表示的:
+
+```r
+names(mushrooms)
+```
+
+输出为:
+
+```output
+[1] "class" "cap.shape"
+ [3] "cap.surface" "cap.color"
+ [5] "bruises" "odor"
+ [7] "gill.attachment" "gill.spacing"
+ [9] "gill.size" "gill.color"
+[11] "stalk.shape" "stalk.root"
+[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
+[15] "stalk.color.above.ring" "stalk.color.below.ring"
+[17] "veil.type" "veil.color"
+[19] "ring.number" "ring.type"
+[21] "spore.print.color" "population"
+[23] "habitat"
+```
+将数据中的“类别”列转换为分类:
+
+```r
+library(dplyr)
+grouped=mushrooms %>%
+ group_by(class) %>%
+ summarise(count=n())
+```
+
+现在,如果打印出蘑菇数据,你会看到它已经根据有毒/可食用类别分组:
+
+```r
+View(grouped)
+```
+
+| 类别 | 数量 |
+| --------- | --------- |
+| 可食用 | 4208 |
+| 有毒 | 3916 |
+
+如果按照此表中呈现的顺序创建类别标签,你可以绘制一个饼图。
+
+## 饼图!
+
+```r
+pie(grouped$count,grouped$class, main="Edible?")
+```
+瞧,一个饼图展示了根据蘑菇的两种类别的数据比例。在这里,确保标签数组的顺序正确非常重要,因此务必验证标签的构建顺序!
+
+
+
+## 环形图!
+
+环形图是一种更具视觉吸引力的饼图,它在中间有一个空洞。让我们用这种方法查看数据。
+
+看看蘑菇生长的各种栖息地:
+
+```r
+library(dplyr)
+habitat=mushrooms %>%
+ group_by(habitat) %>%
+ summarise(count=n())
+View(habitat)
+```
+输出为:
+
+| 栖息地 | 数量 |
+| --------- | --------- |
+| 草地 | 2148 |
+| 树叶 | 832 |
+| 草坪 | 292 |
+| 小径 | 1144 |
+| 城市 | 368 |
+| 废地 | 192 |
+| 木材 | 3148 |
+
+这里,你将数据按栖息地分组。共有 7 个栖息地,因此使用这些作为环形图的标签:
+
+```r
+library(ggplot2)
+library(webr)
+PieDonut(habitat, aes(habitat, count=count))
+```
+
+
+
+此代码使用了两个库——ggplot2 和 webr。通过 webr 库的 PieDonut 函数,我们可以轻松创建环形图!
+
+在 R 中,仅使用 ggplot2 库也可以制作环形图。你可以在 [这里](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html) 学习更多并尝试自己制作。
+
+现在你已经知道如何分组数据并将其显示为饼图或环形图,你可以探索其他类型的图表。试试华夫图,这是一种不同的方式来探索数量。
+
+## 华夫图!
+
+“华夫”类型图表是一种以二维方块阵列可视化数量的方式。尝试可视化此数据集中蘑菇帽颜色的不同数量。为此,你需要安装一个辅助库 [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf) 并使用它生成可视化:
+
+```r
+install.packages("waffle", repos = "https://cinc.rud.is")
+```
+
+选择数据的一部分进行分组:
+
+```r
+library(dplyr)
+cap_color=mushrooms %>%
+ group_by(cap.color) %>%
+ summarise(count=n())
+View(cap_color)
+```
+
+通过创建标签并分组数据来创建华夫图:
+
+```r
+library(waffle)
+names(cap_color$count) = paste0(cap_color$cap.color)
+waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
+ "pink", "purple", "red", "grey",
+ "yellow","white"))
+```
+
+使用华夫图,你可以清楚地看到蘑菇数据集中帽颜色的比例。有趣的是,有许多绿色帽子的蘑菇!
+
+
+
+在本课中,你学习了三种可视化比例的方法。首先,你需要将数据分组为类别,然后决定哪种方式最适合显示数据——饼图、环形图或华夫图。所有这些都很有趣,并能让用户快速了解数据集。
+
+## 🚀 挑战
+
+尝试在 [Charticulator](https://charticulator.com) 中重新创建这些有趣的图表。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21)
+
+## 复习与自学
+
+有时不容易判断何时使用饼图、环形图或华夫图。以下是一些相关文章:
+
+https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
+
+https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
+
+https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
+
+https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402
+
+进行一些研究以获取更多关于这个选择的信息。
+
+## 作业
+
+[在 Excel 中尝试](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/zh/3-Data-Visualization/R/12-visualization-relationships/README.md
new file mode 100644
index 00000000..7529f05a
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/12-visualization-relationships/README.md
@@ -0,0 +1,177 @@
+
+# 可视化关系:关于蜂蜜的一切 🍯
+
+| ](../../../sketchnotes/12-Visualizing-Relationships.png)|
+|:---:|
+|可视化关系 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+延续我们研究的自然主题,让我们探索一些有趣的可视化方法,展示不同类型蜂蜜之间的关系。这些数据来源于[美国农业部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+这个包含约600项的数据集展示了美国多个州的蜂蜜生产情况。例如,你可以查看每个州从1998到2012年的蜂群数量、每群产量、总产量、库存、每磅价格以及蜂蜜生产的价值,每个州每年一行数据。
+
+我们可以通过可视化来研究某个州每年的生产情况与该州蜂蜜价格之间的关系。或者,你也可以可视化各州每群蜂蜜产量之间的关系。这段时间涵盖了2006年首次出现的毁灭性“蜂群崩溃综合症(CCD)”(http://npic.orst.edu/envir/ccd.html),因此这是一个值得研究的引人深思的数据集。🐝
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22)
+
+在本课中,你可以使用之前用过的ggplot2库,这是一个很好的工具,用于可视化变量之间的关系。特别有趣的是ggplot2的`geom_point`和`qplot`函数,它们可以快速生成散点图和折线图,用于可视化“[统计关系](https://ggplot2.tidyverse.org/)”,帮助数据科学家更好地理解变量之间的关联。
+
+## 散点图
+
+使用散点图展示蜂蜜价格在每个州逐年变化的情况。ggplot2通过`ggplot`和`geom_point`可以方便地对州数据进行分组,并显示分类和数值数据的点。
+
+让我们从导入数据和Seaborn开始:
+
+```r
+honey=read.csv('../../data/honey.csv')
+head(honey)
+```
+你会注意到蜂蜜数据中有几个有趣的列,包括年份和每磅价格。让我们按美国州分组来探索这些数据:
+
+| 州 | 蜂群数量 | 每群产量 | 总产量 | 库存 | 每磅价格 | 生产价值 | 年份 |
+| ----- | ------ | ----------- | --------- | -------- | ---------- | --------- | ---- |
+| AL | 16000 | 71 | 1136000 | 159000 | 0.72 | 818000 | 1998 |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AR | 53000 | 65 | 3445000 | 1688000 | 0.59 | 2033000 | 1998 |
+| CA | 450000 | 83 | 37350000 | 12326000 | 0.62 | 23157000 | 1998 |
+| CO | 27000 | 72 | 1944000 | 1594000 | 0.7 | 1361000 | 1998 |
+| FL | 230000 | 98 |22540000 | 4508000 | 0.64 | 14426000 | 1998 |
+
+创建一个基础散点图,展示蜂蜜每磅价格与其来源州之间的关系。让`y`轴足够高以显示所有州:
+
+```r
+library(ggplot2)
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(colour = "blue")
+```
+
+
+现在,用蜂蜜色调展示同样的数据,显示价格随年份的变化。你可以通过添加`scale_color_gradientn`参数来实现逐年变化的可视化:
+
+> ✅ 了解更多关于[scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn)的信息 - 尝试一个美丽的彩虹色方案!
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
+ geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7))
+```
+
+
+通过这个颜色方案的变化,你可以明显看到蜂蜜每磅价格在这些年间逐年上涨。如果你查看数据中的一个样本集(例如亚利桑那州),你会发现价格逐年上涨的模式,虽然有少数例外:
+
+| 州 | 蜂群数量 | 每群产量 | 总产量 | 库存 | 每磅价格 | 生产价值 | 年份 |
+| ----- | ------ | ----------- | --------- | ------- | ---------- | --------- | ---- |
+| AZ | 55000 | 60 | 3300000 | 1485000 | 0.64 | 2112000 | 1998 |
+| AZ | 52000 | 62 | 3224000 | 1548000 | 0.62 | 1999000 | 1999 |
+| AZ | 40000 | 59 | 2360000 | 1322000 | 0.73 | 1723000 | 2000 |
+| AZ | 43000 | 59 | 2537000 | 1142000 | 0.72 | 1827000 | 2001 |
+| AZ | 38000 | 63 | 2394000 | 1197000 | 1.08 | 2586000 | 2002 |
+| AZ | 35000 | 72 | 2520000 | 983000 | 1.34 | 3377000 | 2003 |
+| AZ | 32000 | 55 | 1760000 | 774000 | 1.11 | 1954000 | 2004 |
+| AZ | 36000 | 50 | 1800000 | 720000 | 1.04 | 1872000 | 2005 |
+| AZ | 30000 | 65 | 1950000 | 839000 | 0.91 | 1775000 | 2006 |
+| AZ | 30000 | 64 | 1920000 | 902000 | 1.26 | 2419000 | 2007 |
+| AZ | 25000 | 64 | 1600000 | 336000 | 1.26 | 2016000 | 2008 |
+| AZ | 20000 | 52 | 1040000 | 562000 | 1.45 | 1508000 | 2009 |
+| AZ | 24000 | 77 | 1848000 | 665000 | 1.52 | 2809000 | 2010 |
+| AZ | 23000 | 53 | 1219000 | 427000 | 1.55 | 1889000 | 2011 |
+| AZ | 22000 | 46 | 1012000 | 253000 | 1.79 | 1811000 | 2012 |
+
+另一种可视化这种变化的方法是使用大小而不是颜色。对于色盲用户,这可能是一个更好的选择。编辑你的可视化,用点的大小来展示价格的增长:
+
+```r
+ggplot(honey, aes(x = priceperlb, y = state)) +
+ geom_point(aes(size = year),colour = "blue") +
+ scale_size_continuous(range = c(0.25, 3))
+```
+你可以看到点的大小逐渐增大。
+
+
+
+这是否是一个简单的供需关系?由于气候变化和蜂群崩溃等因素,是否导致蜂蜜的供应逐年减少,从而价格上涨?
+
+为了发现数据集中一些变量之间的相关性,让我们探索一些折线图。
+
+## 折线图
+
+问题:蜂蜜每磅价格是否逐年明显上涨?你可以通过创建一个单一折线图来最容易地发现这一点:
+
+```r
+qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb")
+```
+答案:是的,除了2003年左右的一些例外:
+
+
+
+问题:那么在2003年,我们是否也能看到蜂蜜供应的激增?如果你查看逐年的总产量呢?
+
+```python
+qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod")
+```
+
+
+
+答案:并不明显。如果你查看总产量,实际上在那一年似乎有所增加,尽管总体而言蜂蜜的产量在这些年间是下降的。
+
+问题:在这种情况下,是什么导致了2003年蜂蜜价格的激增?
+
+为了发现这一点,你可以探索一个分面网格。
+
+## 分面网格
+
+分面网格可以选择数据集的一个维度(在我们的例子中,你可以选择“年份”,以避免生成过多的分面)。Seaborn可以为你选择的x和y坐标生成每个分面的图表,以便更容易进行视觉比较。2003年在这种比较中是否显得特别突出?
+
+使用`facet_wrap`创建一个分面网格,推荐参考[ggplot2的文档](https://ggplot2.tidyverse.org/reference/facet_wrap.html)。
+
+```r
+ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) +
+ geom_line() + facet_wrap(vars(year))
+```
+在这个可视化中,你可以比较逐年蜂群产量和蜂群数量,并将列数设置为3:
+
+
+
+对于这个数据集,逐年和各州之间,蜂群数量和产量并没有特别突出的变化。是否有其他方法可以发现这两个变量之间的相关性?
+
+## 双折线图
+
+尝试使用R的`par`和`plot`函数,通过叠加两个折线图来创建多线图。我们将在x轴上绘制年份,并显示两个y轴。展示每群产量和蜂群数量的叠加:
+
+```r
+par(mar = c(5, 4, 4, 4) + 0.3)
+plot(honey$year, honey$numcol, pch = 16, col = 2,type="l")
+par(new = TRUE)
+plot(honey$year, honey$yieldpercol, pch = 17, col = 3,
+ axes = FALSE, xlab = "", ylab = "",type="l")
+axis(side = 4, at = pretty(range(y2)))
+mtext("colony yield", side = 4, line = 3)
+```
+
+
+虽然2003年没有明显的异常,但这让我们可以以一个稍微乐观的结论结束这节课:尽管蜂群数量总体上在下降,但蜂群数量正在趋于稳定,尽管每群产量在减少。
+
+加油,蜜蜂们!
+
+🐝❤️
+## 🚀 挑战
+
+在本课中,你学习了更多关于散点图和线网格的其他用途,包括分面网格。挑战自己使用不同的数据集创建一个分面网格,也许是你之前课程中使用过的数据集。注意创建这些网格所需的时间,以及如何谨慎选择需要绘制的网格数量。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23)
+
+## 复习与自学
+
+折线图可以简单也可以非常复杂。阅读[ggplot2文档](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together),了解构建折线图的各种方法。尝试使用文档中列出的其他方法来增强你在本课中构建的折线图。
+
+## 作业
+
+[深入蜂巢](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。对于因使用本翻译而引起的任何误解或误读,我们概不负责。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/zh/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
new file mode 100644
index 00000000..cc9ffd0e
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/R/13-meaningful-vizualizations/README.md
@@ -0,0 +1,180 @@
+
+# 制作有意义的数据可视化
+
+| 绘制的速写笔记 ](../../../sketchnotes/13-MeaningfulViz.png)|
+|:---:|
+| 有意义的数据可视化 - _速写笔记由 [@nitya](https://twitter.com/nitya) 提供_ |
+
+> “如果你对数据施加足够的压力,它会承认任何事情。” -- [罗纳德·科斯](https://en.wikiquote.org/wiki/Ronald_Coase)
+
+数据科学家的基本技能之一是能够创建有意义的数据可视化,以帮助回答你可能提出的问题。在可视化数据之前,你需要确保数据已经像之前课程中那样被清理和准备好。之后,你就可以开始决定如何最好地呈现数据。
+
+在本课中,你将学习:
+
+1. 如何选择合适的图表类型
+2. 如何避免误导性图表
+3. 如何使用颜色
+4. 如何为图表设计提高可读性
+5. 如何构建动画或3D图表解决方案
+6. 如何构建创意可视化
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24)
+
+## 选择合适的图表类型
+
+在之前的课程中,你已经尝试使用 Matplotlib 和 Seaborn 构建各种有趣的数据可视化。通常,你可以使用以下表格选择适合你问题的[正确图表类型](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/):
+
+| 你的需求: | 你应该使用: |
+| -------------------------- | ------------------------------- |
+| 展示随时间变化的数据趋势 | 折线图 |
+| 比较类别 | 条形图、饼图 |
+| 比较总量 | 饼图、堆叠条形图 |
+| 展示关系 | 散点图、折线图、分面图、双折线图 |
+| 展示分布 | 散点图、直方图、箱线图 |
+| 展示比例 | 饼图、圆环图、华夫图 |
+
+> ✅ 根据数据的组成,你可能需要将其从文本转换为数值,以支持某些图表类型。
+
+## 避免误导性图表
+
+即使数据科学家小心选择了适合数据的正确图表,也有很多方法可以通过展示数据来证明某种观点,往往以牺牲数据本身为代价。有许多误导性图表和信息图的例子!
+
+[](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)。
+
+理解眼睛如何容易被误导性图表欺骗是很重要的。即使数据科学家的意图是好的,选择错误的图表类型(例如显示过多类别的饼图)也可能具有误导性。
+
+## 颜色
+
+你在上面“佛罗里达枪支暴力”图表中看到,颜色可以为图表提供额外的意义层次,尤其是那些没有使用如 ggplot2 和 RColorBrewer 等库设计的图表,这些库自带各种经过验证的颜色库和调色板。如果你是手动制作图表,可以稍微研究一下[颜色理论](https://colormatters.com/color-and-design/basic-color-theory)。
+
+> ✅ 在设计图表时,请注意可访问性是可视化的重要方面。一些用户可能是色盲——你的图表是否对视觉障碍用户友好?
+
+选择图表颜色时要小心,因为颜色可能传递你未曾预料的含义。上面“身高”图表中的“粉红女士”传递了一种明显的“女性化”含义,这增加了图表本身的怪异感。
+
+虽然[颜色的含义](https://colormatters.com/color-symbolism/the-meanings-of-colors)可能因地区而异,并且根据其色调的不同而变化,但一般来说,颜色的含义包括:
+
+| 颜色 | 含义 |
+| ------ | ------------------- |
+| 红色 | 力量 |
+| 蓝色 | 信任、忠诚 |
+| 黄色 | 快乐、警告 |
+| 绿色 | 生态、幸运、嫉妒 |
+| 紫色 | 快乐 |
+| 橙色 | 活力 |
+
+如果你需要为图表选择自定义颜色,请确保你的图表既具有可访问性,又能与试图传递的含义相符。
+
+## 为图表设计提高可读性
+
+如果图表不可读,它们就没有意义!花点时间考虑调整图表的宽度和高度,使其与数据比例协调。如果需要显示一个变量(例如所有 50 个州),尽量将它们垂直显示在 Y 轴上,以避免水平滚动的图表。
+
+为你的轴添加标签,必要时提供图例,并提供工具提示以便更好地理解数据。
+
+如果你的数据在 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: 美国如何转移无家可归者” 来自 [卫报](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study)。可视化由 Nadieh Bremer 和 Shirley Wu 制作
+
+虽然本课不足以深入教授这些强大的可视化库,但你可以尝试在 Vue.js 应用中使用 D3,利用一个库展示《危险关系》这本书的动画社交网络可视化。
+
+> 《危险关系》是一部书信体小说,或以一系列信件形式呈现的小说。由 Choderlos de Laclos 于 1782 年创作,讲述了 18 世纪末法国贵族中两位主角——瓦尔蒙子爵和梅尔特伊侯爵夫人——之间恶毒且道德败坏的社交操纵。两人最终都走向毁灭,但在此之前造成了巨大的社会破坏。小说以他们写给圈内各种人的信件展开,策划复仇或单纯制造麻烦。创建一个这些信件的可视化,发现叙事中的主要关键人物。
+
+你将完成一个网络应用,展示这个社交网络的动画视图。它使用了一个库来创建[网络可视化](https://github.com/emiliorizzo/vue-d3-network),基于 Vue.js 和 D3。当应用运行时,你可以在屏幕上拖动节点以重新排列数据。
+
+
+
+## 项目:使用 D3.js 构建一个展示网络的图表
+
+> 本课文件夹中包含一个 `solution` 文件夹,你可以在其中找到完整的项目供参考。
+
+1. 按照起始文件夹根目录中 README.md 文件的说明操作。在安装项目依赖项之前,确保你的机器上已运行 NPM 和 Node.js。
+
+2. 打开 `starter/src` 文件夹。你会发现一个 `assets` 文件夹,其中包含一个 .json 文件,记录了所有信件的编号,以及“发件人”和“收件人”信息。
+
+3. 完成 `components/Nodes.vue` 中的代码以启用可视化。找到名为 `createLinks()` 的方法,并添加以下嵌套循环。
+
+循环遍历 .json 对象,捕获信件的“发件人”和“收件人”数据,并构建 `links` 对象,以便可视化库可以使用它:
+
+```javascript
+//loop through letters
+ let f = 0;
+ let t = 0;
+ for (var i = 0; i < letters.length; i++) {
+ for (var j = 0; j < characters.length; j++) {
+
+ if (characters[j] == letters[i].from) {
+ f = j;
+ }
+ if (characters[j] == letters[i].to) {
+ t = j;
+ }
+ }
+ this.links.push({ sid: f, tid: t });
+ }
+ ```
+
+从终端运行你的应用(npm run serve),享受可视化的乐趣!
+
+## 🚀 挑战
+
+浏览互联网,发现误导性可视化。作者是如何误导用户的?这是有意为之吗?尝试修正这些可视化,展示它们应该如何呈现。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25)
+
+## 复习与自学
+
+以下是一些关于误导性数据可视化的文章:
+
+https://gizmodo.com/how-to-lie-with-data-visualization-1563576606
+
+http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/
+
+看看这些关于历史资产和文物的有趣可视化:
+
+https://handbook.pubpub.org/
+
+阅读这篇关于动画如何增强可视化的文章:
+
+https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4
+
+## 作业
+
+[创建你自己的自定义可视化](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原文档的原始语言版本为权威来源。对于关键信息,建议使用专业人工翻译。我们对于因使用本翻译而引起的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/3-Data-Visualization/README.md b/translations/zh/3-Data-Visualization/README.md
new file mode 100644
index 00000000..900ffd91
--- /dev/null
+++ b/translations/zh/3-Data-Visualization/README.md
@@ -0,0 +1,40 @@
+
+# 可视化
+
+
+> 图片由 Jenna Lee 提供,来自 Unsplash
+
+数据可视化是数据科学家最重要的任务之一。图片胜过千言万语,可视化可以帮助你识别数据中的各种有趣部分,例如峰值、异常值、分组、趋势等,从而帮助你理解数据背后的故事。
+
+在这五节课中,你将探索来自自然的数据,并使用各种技术创建有趣且美观的可视化。
+
+| 主题编号 | 主题 | 相关课程 | 作者 |
+| :-----------: | :--: | :-----------: | :----: |
+| 1. | 可视化数量 | - [Python](09-visualization-quantities/README.md)
- [R](../../../3-Data-Visualization/R/09-visualization-quantities)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 2. | 可视化分布 | - [Python](10-visualization-distributions/README.md)
- [R](../../../3-Data-Visualization/R/10-visualization-distributions)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 3. | 可视化比例 | - [Python](11-visualization-proportions/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 4. | 可视化关系 | - [Python](12-visualization-relationships/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+| 5. | 创建有意义的可视化 | - [Python](13-meaningful-visualizations/README.md)
- [R](../../../3-Data-Visualization)
| - [Jen Looper](https://twitter.com/jenlooper)
- [Vidushi Gupta](https://github.com/Vidushi-Gupta)
- [Jasleen Sondhi](https://github.com/jasleen101010)
|
+
+### 致谢
+
+这些可视化课程由 [Jen Looper](https://twitter.com/jenlooper)、[Jasleen Sondhi](https://github.com/jasleen101010) 和 [Vidushi Gupta](https://github.com/Vidushi-Gupta) 🌸 编写。
+
+🍯 美国蜂蜜生产数据来源于 Jessica Li 在 [Kaggle](https://www.kaggle.com/jessicali9530/honey-production) 上的项目。该 [数据](https://usda.library.cornell.edu/concern/publications/rn301137d) 来自 [美国农业部](https://www.nass.usda.gov/About_NASS/index.php)。
+
+🍄 蘑菇数据同样来源于 [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset),由 Hatteras Dunton 修订。该数据集包括对应于伞菌科和鳞伞科中23种有鳃蘑菇的假设样本描述。蘑菇信息摘自《奥杜邦协会北美蘑菇野外指南》(1981年)。该数据集于1987年捐赠给 UCI ML 27。
+
+🦆 明尼苏达州鸟类数据来自 [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds),由 Hannah Collins 从 [维基百科](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) 抓取。
+
+所有这些数据集均以 [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/) 授权。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/zh/4-Data-Science-Lifecycle/14-Introduction/README.md
new file mode 100644
index 00000000..f9bf01fa
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/14-Introduction/README.md
@@ -0,0 +1,118 @@
+
+# 数据科学生命周期简介
+
+| ](../../sketchnotes/14-DataScience-Lifecycle.png)|
+|:---:|
+| 数据科学生命周期简介 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+## [课前测验](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26)
+
+到目前为止,你可能已经意识到数据科学是一个过程。这个过程可以分为五个阶段:
+
+- 数据捕获
+- 数据处理
+- 数据分析
+- 数据沟通
+- 数据维护
+
+本课程重点讲解生命周期中的三个部分:数据捕获、数据处理和数据维护。
+
+
+> 图片来源:[Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
+
+## 数据捕获
+
+生命周期的第一阶段非常重要,因为后续阶段都依赖于它。实际上,这个阶段可以看作是两个阶段的结合:获取数据以及定义需要解决的目标和问题。
+定义项目目标需要深入了解问题或问题背景。首先,我们需要识别并获取那些需要解决问题的人。这些可能是企业的利益相关者或项目的赞助者,他们可以帮助确定谁或什么会从这个项目中受益,以及他们需要什么和为什么需要它。一个明确的目标应该是可衡量和量化的,以定义可接受的结果。
+
+数据科学家可能会问的问题:
+- 这个问题以前是否被研究过?发现了什么?
+- 所有相关人员是否都理解目标和目的?
+- 是否存在模糊性?如何减少模糊性?
+- 有哪些限制条件?
+- 最终结果可能是什么样子?
+- 有多少资源(时间、人力、计算能力)可用?
+
+接下来是识别、收集并最终探索实现这些目标所需的数据。在数据获取的这一步,数据科学家还需要评估数据的数量和质量。这需要一些数据探索,以确认所获取的数据是否能够支持实现预期结果。
+
+数据科学家可能会问的关于数据的问题:
+- 我已经拥有了哪些数据?
+- 谁拥有这些数据?
+- 有哪些隐私问题?
+- 我是否有足够的数据来解决这个问题?
+- 数据的质量是否适合解决这个问题?
+- 如果通过这些数据发现了额外的信息,我们是否需要考虑改变或重新定义目标?
+
+## 数据处理
+
+生命周期的处理阶段专注于发现数据中的模式以及建模。一些处理阶段使用的技术需要统计方法来揭示模式。通常,对于一个大型数据集来说,这将是一个繁琐的任务,因此需要依赖计算机来加快处理速度。在这个阶段,数据科学和机器学习会交叉融合。正如你在第一课中学到的,机器学习是构建模型以理解数据的过程。模型是数据中变量之间关系的表示,帮助预测结果。
+
+此阶段常用的技术在《机器学习初学者》课程中有详细介绍。点击以下链接了解更多:
+
+- [分类](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification):将数据组织到类别中以提高使用效率。
+- [聚类](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering):将数据分组到相似的群组中。
+- [回归](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression):确定变量之间的关系以预测或预估值。
+
+## 数据维护
+
+在生命周期图中,你可能注意到维护位于数据捕获和数据处理之间。维护是一个持续的过程,贯穿项目的整个过程,涉及管理、存储和保护数据。
+
+### 数据存储
+数据存储的方式和位置会影响存储成本以及数据访问的性能。这些决策通常不会由数据科学家单独做出,但他们可能需要根据数据存储方式做出如何使用数据的选择。
+
+以下是现代数据存储系统的一些方面,这些方面可能会影响决策:
+
+**本地存储 vs 外部存储 vs 公有云或私有云**
+
+本地存储指的是在自己的设备上托管和管理数据,比如拥有一个存储数据的服务器,而外部存储依赖于你不拥有的设备,比如数据中心。公有云是存储数据的一种流行选择,它不需要了解数据具体存储的位置或方式,其中“公有”指的是所有使用云服务的人共享统一的底层基础设施。一些组织有严格的安全政策,要求完全访问存储数据的设备,因此会选择提供专属云服务的私有云。在[后续课程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud)中,你将学习更多关于云中的数据。
+
+**冷数据 vs 热数据**
+
+在训练模型时,你可能需要更多的训练数据。如果你对模型满意,更多的数据会到来以支持模型的用途。无论如何,随着数据的积累,存储和访问数据的成本都会增加。将很少使用的冷数据与频繁访问的热数据分离,可以通过硬件或软件服务实现更便宜的数据存储选项。如果需要访问冷数据,可能会比热数据的检索速度稍慢。
+
+### 数据管理
+在处理数据时,你可能会发现一些数据需要使用[数据准备](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation)课程中介绍的技术进行清理,以构建准确的模型。当新数据到来时,也需要应用相同的技术以保持质量的一致性。一些项目会使用自动化工具来清理、聚合和压缩数据,然后将数据移动到最终存储位置。Azure Data Factory 就是其中一个工具的例子。
+
+### 数据安全
+数据安全的主要目标之一是确保数据的收集和使用在控制范围内。保持数据安全包括限制只有需要的人才能访问数据,遵守当地法律法规,以及维护[伦理课程](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics)中提到的道德标准。
+
+团队可能会采取以下措施以确保数据安全:
+- 确保所有数据都已加密
+- 向客户提供关于其数据使用方式的信息
+- 移除已离开项目人员的数据访问权限
+- 仅允许特定项目成员修改数据
+
+## 🚀 挑战
+
+数据科学生命周期有许多版本,每个版本的步骤可能有不同的名称和阶段数量,但包含的过程与本课程中提到的相同。
+
+探索[团队数据科学过程生命周期](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle)和[跨行业数据挖掘标准过程](https://www.datascience-pm.com/crisp-dm-2/)。列出两者的三个相似点和不同点。
+
+|团队数据科学过程 (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://red-water-0103e7a0f.azurestaticapps.net/quiz/27)
+
+## 复习与自学
+
+应用数据科学生命周期涉及多个角色和任务,其中一些可能专注于每个阶段的特定部分。团队数据科学过程提供了一些资源,解释了项目中可能涉及的角色和任务类型。
+
+* [团队数据科学过程中的角色和任务](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks)
+* [执行数据科学任务:探索、建模和部署](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks)
+
+## 作业
+
+[评估数据集](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/zh/4-Data-Science-Lifecycle/14-Introduction/assignment.md
new file mode 100644
index 00000000..cd61093f
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/14-Introduction/assignment.md
@@ -0,0 +1,35 @@
+
+# 评估数据集
+
+一位客户向您的团队寻求帮助,调查纽约市出租车乘客的季节性消费习惯。
+
+他们想知道:**纽约市的黄色出租车乘客在冬季还是夏季给司机的小费更多?**
+
+您的团队正处于数据科学生命周期的[捕获](Readme.md#Capturing)阶段,而您负责处理数据集。您已获得一个笔记本和[数据](../../../../data/taxi.csv)供探索。
+
+在此目录中有一个[笔记本](../../../../4-Data-Science-Lifecycle/14-Introduction/notebook.ipynb),使用 Python 从[纽约市出租车与豪华车委员会](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)加载黄色出租车行程数据。
+您也可以在文本编辑器或电子表格软件(如 Excel)中打开出租车数据文件。
+
+## 指导
+
+- 评估此数据集中的数据是否能够帮助回答问题。
+- 探索[纽约市开放数据目录](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93)。确定一个可能有助于回答客户问题的额外数据集。
+- 提出三个问题,以便向客户寻求更多澄清并更好地理解问题。
+
+参考[数据集字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[用户指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf),以获取有关数据的更多信息。
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | ---
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/zh/4-Data-Science-Lifecycle/15-analyzing/README.md
new file mode 100644
index 00000000..4468fb69
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/15-analyzing/README.md
@@ -0,0 +1,60 @@
+
+# 数据科学生命周期:分析
+
+| 绘制的速记图 ](../../sketchnotes/15-Analyzing.png)|
+|:---:|
+| 数据科学生命周期:分析 - _速记图由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+## 课前测验
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28)
+
+在数据生命周期中的分析阶段,确认数据是否能够回答提出的问题或解决特定问题。这一步还可以用来确认一个模型是否正确地解决了这些问题和挑战。本课重点介绍探索性数据分析(EDA),这是一种用于定义数据特征和关系的技术,并可用于为建模做准备。
+
+我们将使用来自 [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) 的示例数据集,展示如何结合 Python 和 Pandas 库应用这些技术。该数据集包含一些常见单词在电子邮件中的出现次数,这些电子邮件的来源是匿名的。请使用本目录中的 [notebook](../../../../4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb) 跟随学习。
+
+## 探索性数据分析
+
+生命周期的捕获阶段是获取数据以及明确问题和问题的阶段,但我们如何知道这些数据能够支持最终结果呢?
+回想一下,数据科学家在获取数据时可能会问以下问题:
+- 我是否有足够的数据来解决这个问题?
+- 这些数据的质量是否适合解决这个问题?
+- 如果通过这些数据发现了额外的信息,我们是否应该考虑更改或重新定义目标?
+
+探索性数据分析是了解数据的过程,可以用来回答这些问题,同时识别处理数据集时可能面临的挑战。让我们来关注一些实现这些目标的技术。
+
+## 数据分析、描述性统计和 Pandas
+我们如何评估是否有足够的数据来解决这个问题?数据分析可以通过描述性统计技术总结并收集关于数据集的一些总体信息。数据分析帮助我们了解手头的数据,而描述性统计帮助我们了解数据的数量。
+
+在之前的一些课程中,我们使用 Pandas 的 [`describe()` 函数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html) 提供了一些描述性统计信息。它可以对数值数据提供计数、最大值和最小值、平均值、标准差和分位数等信息。使用像 `describe()` 这样的描述性统计函数可以帮助你评估数据量是否足够,是否需要更多数据。
+
+## 抽样和查询
+在大型数据集中探索所有内容可能非常耗时,通常是由计算机完成的任务。然而,抽样是理解数据的一个有用工具,可以帮助我们更好地了解数据集的内容及其代表的意义。通过抽样,你可以应用概率和统计方法对数据得出一些总体结论。虽然没有明确的规则规定应该抽取多少数据,但需要注意的是,抽取的数据越多,对数据的总体概括就越精确。
+
+Pandas 提供了 [`sample()` 函数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html),你可以通过传递参数来指定想要获取的随机样本数量。
+
+对数据进行一般查询可以帮助你回答一些普遍的问题和假设。与抽样不同,查询允许你控制并专注于数据中你感兴趣的特定部分。
+Pandas 库中的 [`query()` 函数](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) 允许你选择列并通过检索的行获取关于数据的简单答案。
+
+## 使用可视化进行探索
+你不必等到数据完全清理和分析后再开始创建可视化。事实上,在探索过程中创建可视化可以帮助识别数据中的模式、关系和问题。此外,可视化为那些未参与数据管理的人提供了一种交流方式,并且是一个分享和澄清捕获阶段未解决问题的机会。请参考 [可视化部分](../../../../../../../../../3-Data-Visualization) 了解一些常见的可视化方法。
+
+## 通过探索识别不一致
+本课中的所有主题都可以帮助识别缺失或不一致的值,而 Pandas 提供了一些函数来检查这些问题。[isna() 或 isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) 可以检查缺失值。探索这些值为何会出现在数据中是一个重要的步骤,这可以帮助你决定采取哪些 [措施来解决它们](../../../../../../../../../2-Working-With-Data/08-data-preparation/notebook.ipynb)。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27)
+
+## 作业
+
+[探索答案](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/zh/4-Data-Science-Lifecycle/15-analyzing/assignment.md
new file mode 100644
index 00000000..d3a4953d
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/15-analyzing/assignment.md
@@ -0,0 +1,34 @@
+
+# 探索答案
+
+这是上一节课[作业](../14-Introduction/assignment.md)的延续,我们之前简单浏览了数据集。现在我们将更深入地研究这些数据。
+
+客户想知道的问题是:**纽约市的黄色出租车乘客在冬季还是夏季给司机的小费更多?**
+
+您的团队目前处于数据科学生命周期的[分析](README.md)阶段,负责对数据集进行探索性数据分析。您已获得一个包含2019年1月和7月200笔出租车交易的笔记本和数据集。
+
+## 指导说明
+
+在此目录中,有一个[笔记本](../../../../4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb)和来自[出租车与豪华轿车委员会](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets)的数据。有关数据的更多信息,请参考[数据字典](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf)和[用户指南](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf)。
+
+使用本课中的一些技术,在笔记本中进行自己的EDA(可以添加单元格),并回答以下问题:
+
+- 数据中还有哪些因素可能会影响小费金额?
+- 哪些列最有可能不需要用来回答客户的问题?
+- 根据目前提供的信息,数据是否显示出任何季节性小费行为的证据?
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | ---
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/16-communication/README.md b/translations/zh/4-Data-Science-Lifecycle/16-communication/README.md
new file mode 100644
index 00000000..be40edfe
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/16-communication/README.md
@@ -0,0 +1,220 @@
+
+# 数据科学生命周期:沟通
+
+| 绘制的速写笔记](../../sketchnotes/16-Communicating.png)|
+|:---:|
+| 数据科学生命周期:沟通 - _速写笔记由 [@nitya](https://twitter.com/nitya) 绘制_ |
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30)
+
+通过上方的课前测验测试你对即将学习内容的了解!
+
+# 引言
+
+### 什么是沟通?
+让我们从定义“沟通”开始这节课。**沟通是传递或交换信息的过程。** 信息可以是想法、思想、感受、消息、隐秘信号、数据——任何一个**_发送者_**(发送信息的人)希望**_接收者_**(接收信息的人)理解的内容。在本节课中,我们将把发送者称为沟通者,而接收者称为受众。
+
+### 数据沟通与讲故事
+我们知道,沟通的目的是传递或交换信息。但在沟通数据时,你的目标不应仅仅是向受众传递数字。你的目标应该是通过数据讲述一个故事——有效的数据沟通与讲故事密不可分。受众更可能记住你讲述的故事,而不是你提供的数字。在本节课的后面,我们将讨论一些方法,帮助你通过讲故事更有效地传递数据。
+
+### 沟通的类型
+在本节课中,我们将讨论两种不同类型的沟通:单向沟通和双向沟通。
+
+**单向沟通**是指发送者向接收者传递信息,而没有任何反馈或回应。我们每天都能看到单向沟通的例子——群发邮件、新闻播报最新消息,甚至电视广告告诉你他们的产品有多好。在这些情况下,发送者并不寻求信息的交换,他们只是想传递或提供信息。
+
+**双向沟通**是指所有参与方既是发送者又是接收者。发送者首先向接收者传递信息,接收者随后提供反馈或回应。双向沟通是我们通常所理解的沟通方式。我们通常会想到人与人之间的对话——无论是面对面、电话、社交媒体还是短信。
+
+在数据沟通中,有些情况下你会使用单向沟通(比如在会议或大型群体中做演讲,之后不会直接提问),而有些情况下你会使用双向沟通(比如用数据说服一些利益相关者支持,或说服团队成员投入时间和精力开发新项目)。
+
+# 有效沟通
+
+### 作为沟通者的责任
+在沟通时,你的责任是确保接收者能够理解你希望他们理解的信息。在沟通数据时,你不仅希望接收者记住数字,还希望他们记住一个由数据支撑的故事。一个优秀的数据沟通者也是一个优秀的讲故事者。
+
+那么,如何用数据讲故事呢?方法有无数种——但以下是我们将在本节课中讨论的六种方法:
+1. 了解你的受众、沟通渠道和沟通方式
+2. 从结果出发
+3. 像讲一个真正的故事一样处理
+4. 使用有意义的词语和短语
+5. 运用情感
+
+以下将详细解释这些策略。
+
+### 1. 了解你的受众、沟通渠道和沟通方式
+你与家人沟通的方式可能与和朋友沟通的方式不同。你可能会使用不同的词语和短语,以便对方更容易理解。在沟通数据时,你也应该采取同样的方式。思考你正在与谁沟通,思考他们的目标以及他们对你所解释的情况的背景了解。
+
+你可以将大多数受众归类为以下几种类型。在 _哈佛商业评论_ 的文章“[如何用数据讲故事](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/)”中,戴尔的执行战略家 Jim Stikeleather 将受众分为五类:
+
+- **新手**:第一次接触该主题,但不希望内容过于简化
+- **普通人**:对主题有所了解,但希望获得概述和主要主题
+- **管理者**:对复杂性和相互关系有深入、可操作的理解,并能获取详细信息
+- **专家**:更倾向于探索和发现,而不是讲故事,需要非常详细的信息
+- **高管**:只关注权重概率的意义和结论,时间有限
+
+这些分类可以帮助你决定如何向受众展示数据。
+
+除了考虑受众的类型,你还应该考虑与受众沟通的渠道。如果你是通过备忘录或电子邮件沟通,方式可能会与开会或在会议上演讲有所不同。
+
+此外,了解你将如何与受众沟通(使用单向沟通还是双向沟通)也至关重要。
+
+如果你的受众主要是新手,并且你使用的是单向沟通,你必须首先教育受众并为他们提供适当的背景信息。然后,你需要向他们展示数据,告诉他们数据的意义以及数据的重要性。在这种情况下,你可能需要特别注重清晰性,因为受众无法直接向你提问。
+
+如果你的受众主要是管理者,并且你使用的是双向沟通,你可能不需要为他们提供太多背景信息。你可以直接讨论你收集的数据及其重要性。然而,在这种情况下,你需要关注时间安排和控制你的演示。当使用双向沟通时(尤其是面对寻求“对复杂性和相互关系的可操作理解”的管理者),可能会出现一些问题,将讨论引向与你想讲述的故事无关的方向。当这种情况发生时,你可以采取行动,将讨论拉回到你的故事上。
+
+### 2. 从结果出发
+从结果出发意味着在开始与受众沟通之前,明确你希望他们获得的关键信息。提前思考你希望受众记住的内容,可以帮助你构建一个他们能够理解的故事。从结果出发适用于单向沟通和双向沟通。
+
+如何从结果出发?在沟通数据之前,写下你的关键结论。然后,在准备你想通过数据讲述的故事的每一步时,问自己:“这如何融入我正在讲述的故事?”
+
+需要注意的是——虽然从结果出发是理想的,但你不应该只沟通支持你结论的数据。这种做法被称为“选择性偏向”,即沟通者只传递支持其观点的数据,而忽略其他数据。
+
+如果你收集的所有数据都清楚地支持你的结论,那很好。但如果有数据不支持你的结论,甚至支持与你的关键结论相反的观点,你也应该传递这些数据。如果出现这种情况,要坦诚地告诉受众,为什么尽管并非所有数据都支持你的结论,你仍然选择坚持你的故事。
+
+### 3. 像讲一个真正的故事一样处理
+一个传统的故事分为五个阶段。你可能听说过这些阶段被称为开端、上升情节、高潮、下降情节和结局。或者更容易记住的:背景、冲突、高潮、收尾、总结。在沟通你的数据和故事时,你可以采取类似的方法。
+
+你可以从背景开始,设定场景,确保受众在同一频道上。然后引入冲突。为什么你需要收集这些数据?你试图解决什么问题?接下来是高潮。数据是什么?数据的意义是什么?数据告诉我们需要采取哪些解决方案?然后是收尾,你可以重申问题和提出的解决方案。最后是总结,你可以概述关键结论和建议团队采取的下一步行动。
+
+### 4. 使用有意义的词语和短语
+如果我们一起开发一个产品,我对你说:“我们的用户在注册平台时花了很长时间。”你会估计“很长时间”是多久?一小时?一周?很难知道。如果我对整个受众说这句话,每个人可能会对“很长时间”有不同的理解。
+
+但如果我说:“我们的用户平均花费3分钟注册并完成平台的使用。”
+
+这样的表达更清晰。在沟通数据时,很容易认为受众会像你一样思考。但事实并非总是如此。清晰地传递数据及其意义是你作为沟通者的责任。如果数据或你的故事不清晰,受众将难以理解,也更不可能记住你的关键结论。
+
+通过使用有意义的词语和短语,而不是模糊的表达,你可以更清晰地传递数据。以下是一些例子:
+
+- 我们有一个*令人印象深刻*的年度!
+ - 一个人可能认为“令人印象深刻”意味着收入增长2%-3%,另一个人可能认为是50%-60%。
+- 我们用户的成功率*显著*提高。
+ - 多大的增长才算显著?
+- 这个项目将需要*大量*的努力。
+ - 多少努力才算大量?
+
+使用模糊的词语可能适合作为即将到来的数据的介绍,或者作为你刚刚讲述的故事的总结。但请确保你的演示的每一部分对受众来说都是清晰的。
+
+### 5. 运用情感
+情感是讲故事的关键。在用数据讲故事时,情感更为重要。当你沟通数据时,一切都围绕你希望受众获得的关键信息展开。当你唤起受众的情感时,可以帮助他们产生共鸣,并更有可能采取行动。情感还会增加受众记住你信息的可能性。
+
+你可能在电视广告中遇到过这种情况。一些广告非常沉重,用悲伤的情感与受众建立联系,使他们更关注广告中呈现的数据。或者,一些广告非常欢快和愉悦,让你将他们的数据与一种快乐的感觉联系起来。
+
+如何在沟通数据时运用情感?以下是一些方法:
+
+- 使用见证和个人故事
+ - 在收集数据时,尝试收集定量和定性数据,并在沟通时整合这两种数据。如果你的数据主要是定量的,尝试从个人那里收集故事,了解他们对数据所反映情况的体验。
+- 使用图像
+ - 图像可以帮助受众将自己代入某种情境。当你使用图像时,可以引导受众产生你希望他们对数据产生的情感。
+- 使用颜色
+ - 不同的颜色会唤起不同的情感。以下是一些常见颜色及其通常唤起的情感。需要注意的是,不同文化中颜色的含义可能不同。
+ - 蓝色通常唤起和平与信任的情感
+ - 绿色通常与自然和环境相关
+ - 红色通常代表激情和兴奋
+ - 黄色通常代表乐观和幸福
+
+# 沟通案例研究
+Emerson 是一款移动应用的产品经理。Emerson 注意到,客户在周末提交的投诉和错误报告多了42%。Emerson 还发现,提交投诉后48小时内未得到回复的客户,给应用评分1或2星的可能性高出32%。
+
+经过研究,Emerson 提出了几个解决方案来解决这个问题。Emerson 安排了一次30分钟的会议,与公司三位负责人沟通数据和提出的解决方案。
+
+在这次会议中,Emerson 的目标是让公司负责人理解以下两个解决方案可以提高应用评分,这可能会转化为更高的收入。
+
+**解决方案1.** 雇佣客服代表在周末工作
+
+**解决方案2.** 购买一个新的客服工单系统,让客服代表可以轻松识别队列中等待时间最长的投诉,从而优先处理这些投诉。
+在会议中,Emerson花了5分钟解释为什么在应用商店中评分低是个问题,10分钟讲解研究过程以及如何识别趋势,10分钟分析了一些近期的客户投诉,最后5分钟简单提及了两个潜在的解决方案。
+
+Emerson在这次会议中的沟通方式是否有效?
+
+在会议中,一位公司负责人对Emerson花10分钟讲解的客户投诉内容特别关注。会后,这些投诉成为这位负责人唯一记住的内容。另一位负责人主要关注Emerson描述的研究过程。而第三位负责人记住了Emerson提出的解决方案,但不确定这些解决方案如何实施。
+
+从上述情况可以看出,Emerson希望团队负责人从会议中获取的信息,与他们实际记住的信息之间存在显著差距。以下是Emerson可以考虑的另一种方法。
+
+Emerson如何改进这种方法?
+背景、冲突、高潮、收尾、总结
+**背景** - Emerson可以用前5分钟介绍整个情况,并确保团队负责人理解这些问题如何影响公司关键指标,比如收入。
+
+可以这样展开:“目前,我们的应用在应用商店的评分是2.5。应用商店的评分对应用商店优化至关重要,这会影响有多少用户在搜索中看到我们的应用,以及潜在用户如何看待我们的应用。当然,用户数量直接关系到收入。”
+
+**冲突** 接下来,Emerson可以用大约5分钟时间讲述冲突。
+
+可以这样说:“用户在周末提交的投诉和错误报告多了42%。提交投诉后48小时内未得到回复的客户,其给我们应用评分超过2分的可能性降低了32%。如果我们能将应用商店评分提高到4分,应用的可见度将提升20%-30%,我预计这将使收入增加10%。”当然,Emerson需要准备好为这些数据提供依据。
+
+**高潮** 在铺垫好背景后,Emerson可以用大约5分钟时间进入高潮部分。
+
+Emerson可以介绍提出的解决方案,说明这些解决方案如何解决之前提到的问题,这些解决方案如何融入现有的工作流程,成本是多少,投资回报率(ROI)如何,甚至可以展示一些解决方案实施后的截图或线框图。Emerson还可以分享一些用户的反馈,比如那些投诉超过48小时才得到回复的用户的感受,甚至可以引用公司现有客服代表对当前工单系统的评价。
+
+**收尾** 接下来,Emerson可以用5分钟时间重申公司面临的问题,回顾提出的解决方案,并再次说明为什么这些解决方案是正确的选择。
+
+**总结** 由于这是一次与少数利益相关者的会议,且会有双向沟通,Emerson可以计划留出10分钟时间用于提问,以确保团队负责人在会议结束前能够澄清任何困惑的地方。
+
+如果Emerson采用第二种方法,团队负责人更有可能从会议中获取Emerson希望他们记住的信息——即投诉和错误处理方式可以改进,并且有两个可以实施的解决方案来实现这一改进。这种方法将更有效地传达Emerson想要表达的数据和故事。
+
+# 总结
+### 主要内容总结
+ - 沟通是传递或交换信息的过程。
+ - 在传递数据时,目标不应只是向听众传递数字,而是要通过数据讲述一个故事。
+ - 沟通分为两种类型:单向沟通(信息传递后不期待回应)和双向沟通(信息在双方之间传递)。
+ - 有许多策略可以用来通过数据讲故事,我们讨论了以下5种策略:
+ - 理解你的听众、媒介和沟通方式
+ - 从结果出发
+ - 像讲故事一样展开
+ - 使用有意义的词汇和短语
+ - 运用情感
+
+### 推荐的自学资源
+[The Five C's of Storytelling - Articulate Persuasion](http://articulatepersuasion.com/the-five-cs-of-storytelling/)
+
+[1.4 Your Responsibilities as a Communicator – Business Communication for Success (umn.edu)](https://open.lib.umn.edu/businesscommunication/chapter/1-4-your-responsibilities-as-a-communicator/)
+
+[How to Tell a Story with Data (hbr.org)](https://hbr.org/2013/04/how-to-tell-a-story-with-data)
+
+[Two-Way Communication: 4 Tips for a More Engaged Workplace (yourthoughtpartner.com)](https://www.yourthoughtpartner.com/blog/bid/59576/4-steps-to-increase-employee-engagement-through-two-way-communication)
+
+[6 succinct steps to great data storytelling - BarnRaisers, LLC (barnraisersllc.com)](https://barnraisersllc.com/2021/05/02/6-succinct-steps-to-great-data-storytelling/)
+
+[How to Tell a Story With Data | Lucidchart Blog](https://www.lucidchart.com/blog/how-to-tell-a-story-with-data)
+
+[6 Cs of Effective Storytelling on Social Media | Cooler Insights](https://coolerinsights.com/2018/06/effective-storytelling-social-media/)
+
+[The Importance of Emotions In Presentations | Ethos3 - A Presentation Training and Design Agency](https://ethos3.com/2015/02/the-importance-of-emotions-in-presentations/)
+
+[Data storytelling: linking emotions and rational decisions (toucantoco.com)](https://www.toucantoco.com/en/blog/data-storytelling-dataviz)
+
+[Emotional Advertising: How Brands Use Feelings to Get People to Buy (hubspot.com)](https://blog.hubspot.com/marketing/emotions-in-advertising-examples)
+
+[Choosing Colors for Your Presentation Slides | Think Outside The Slide](https://www.thinkoutsidetheslide.com/choosing-colors-for-your-presentation-slides/)
+
+[How To Present Data [10 Expert Tips] | ObservePoint](https://resources.observepoint.com/blog/10-tips-for-presenting-data)
+
+[Microsoft Word - Persuasive Instructions.doc (tpsnva.org)](https://www.tpsnva.org/teach/lq/016/persinstr.pdf)
+
+[The Power of Story for Your Data (thinkhdi.com)](https://www.thinkhdi.com/library/supportworld/2019/power-story-your-data.aspx)
+
+[Common Mistakes in Data Presentation (perceptualedge.com)](https://www.perceptualedge.com/articles/ie/data_presentation.pdf)
+
+[Infographic: Here are 15 Common Data Fallacies to Avoid (visualcapitalist.com)](https://www.visualcapitalist.com/here-are-15-common-data-fallacies-to-avoid/)
+
+[Cherry Picking: When People Ignore Evidence that They Dislike – Effectiviology](https://effectiviology.com/cherry-picking/#How_to_avoid_cherry_picking)
+
+[Tell Stories with Data: Communication in Data Science | by Sonali Verghese | Towards Data Science](https://towardsdatascience.com/tell-stories-with-data-communication-in-data-science-5266f7671d7)
+
+[1. Communicating Data - Communicating Data with Tableau [Book] (oreilly.com)](https://www.oreilly.com/library/view/communicating-data-with/9781449372019/ch01.html)
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31)
+
+通过以上的课后测验复习你刚刚学到的内容!
+
+## 作业
+
+[市场调研](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/zh/4-Data-Science-Lifecycle/16-communication/assignment.md
new file mode 100644
index 00000000..16246150
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/16-communication/assignment.md
@@ -0,0 +1,24 @@
+
+# 讲述一个故事
+
+## 指南
+
+数据科学的核心是讲故事。选择任意一个数据集,撰写一篇简短的文章,讲述你可以从中挖掘出的故事。你希望你的数据集能够揭示什么?如果它的揭示结果存在问题,你会怎么做?如果你的数据并不容易揭示其秘密,你又会如何应对?思考你的数据集可能呈现的各种情景,并将它们记录下来。
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | --- |
+
+提供了一篇以 .doc 格式呈现的完整文章,清晰解释、记录并注明数据集来源,同时围绕数据集讲述了一个连贯的故事,并结合数据提供了详细的示例。| 提供了一篇较短的文章,细节较少 | 文章在上述某些方面存在不足。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/4-Data-Science-Lifecycle/README.md b/translations/zh/4-Data-Science-Lifecycle/README.md
new file mode 100644
index 00000000..984cfc4e
--- /dev/null
+++ b/translations/zh/4-Data-Science-Lifecycle/README.md
@@ -0,0 +1,28 @@
+
+# 数据科学生命周期
+
+
+> 图片由 Headway 提供,来自 Unsplash
+
+在这些课程中,您将探索数据科学生命周期的一些方面,包括数据的分析和沟通。
+
+### 主题
+
+1. [简介](14-Introduction/README.md)
+2. [分析](15-analyzing/README.md)
+3. [沟通](16-communication/README.md)
+
+### 致谢
+
+这些课程由 [Jalen McGee](https://twitter.com/JalenMCG) 和 [Jasmine Greenaway](https://twitter.com/paladique) 用 ❤️ 编写
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/zh/5-Data-Science-In-Cloud/17-Introduction/README.md
new file mode 100644
index 00000000..7b173b4f
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/17-Introduction/README.md
@@ -0,0 +1,114 @@
+
+# 云端数据科学简介
+
+| ](../../sketchnotes/17-DataScience-Cloud.png)|
+|:---:|
+| 云端数据科学:简介 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+在本课程中,您将学习云的基本原理,了解为什么使用云服务来运行数据科学项目可能对您有吸引力,并且我们将查看一些在云端运行的数据科学项目示例。
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32)
+
+## 什么是云?
+
+云,或云计算,是通过互联网提供的按需付费的各种计算服务,这些服务托管在基础设施上。服务包括存储、数据库、网络、软件、分析和智能服务等解决方案。
+
+我们通常将公共云、私有云和混合云区分如下:
+
+* 公共云:公共云由第三方云服务提供商拥有和运营,通过互联网向公众提供其计算资源。
+* 私有云:指专门供单一企业或组织使用的云计算资源,服务和基础设施维护在私有网络上。
+* 混合云:混合云是结合公共云和私有云的系统。用户选择本地数据中心,同时允许数据和应用程序在一个或多个公共云上运行。
+
+大多数云计算服务分为三类:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
+
+* 基础设施即服务(IaaS):用户租用IT基础设施,例如服务器和虚拟机(VM)、存储、网络、操作系统。
+* 平台即服务(PaaS):用户租用一个开发、测试、交付和管理软件应用程序的环境。用户无需担心设置或管理开发所需的服务器、存储、网络和数据库的底层基础设施。
+* 软件即服务(SaaS):用户通过互联网按需访问软件应用程序,通常是基于订阅的。用户无需担心托管和管理软件应用程序、底层基础设施或维护,例如软件升级和安全补丁。
+
+一些最大的云服务提供商包括亚马逊AWS、谷歌云平台和微软Azure。
+
+## 为什么选择云进行数据科学?
+
+开发人员和IT专业人员选择使用云的原因有很多,包括以下几点:
+
+* 创新:您可以通过将云提供商创建的创新服务直接集成到您的应用程序中来增强应用程序功能。
+* 灵活性:您只需支付所需的服务费用,并可以从广泛的服务中进行选择。通常按需付费,并根据不断变化的需求调整服务。
+* 预算:您无需进行初始投资来购买硬件和软件、设置和运行本地数据中心,只需支付使用的费用。
+* 可扩展性:您的资源可以根据项目需求进行扩展,这意味着您的应用程序可以根据外部因素随时调整计算能力、存储和带宽。
+* 生产力:您可以专注于业务,而不是花时间处理可以由其他人管理的任务,例如管理数据中心。
+* 可靠性:云计算提供多种方式来持续备份您的数据,并可以设置灾难恢复计划,即使在危机时期也能保持业务和服务的运行。
+* 安全性:您可以利用政策、技术和控制措施来增强项目的安全性。
+
+以上是人们选择使用云服务的一些常见原因。现在我们对云是什么以及它的主要优势有了更好的理解,让我们更具体地了解数据科学家和处理数据的开发人员的工作,以及云如何帮助他们解决可能面临的各种挑战:
+
+* 存储大量数据:与其购买、管理和保护大型服务器,不如直接将数据存储在云中,例如使用Azure Cosmos DB、Azure SQL Database和Azure Data Lake Storage。
+* 执行数据集成:数据集成是数据科学的重要组成部分,它使您能够从数据收集过渡到采取行动。通过云提供的数据集成服务,您可以从各种来源收集、转换和集成数据到单一数据仓库,例如使用Data Factory。
+* 处理数据:处理大量数据需要强大的计算能力,并不是每个人都能获得足够强大的机器,这就是为什么许多人选择直接利用云的巨大计算能力来运行和部署解决方案。
+* 使用数据分析服务:云服务如Azure Synapse Analytics、Azure Stream Analytics和Azure Databricks可以帮助您将数据转化为可操作的洞察。
+* 使用机器学习和数据智能服务:与从头开始相比,您可以使用云提供商提供的机器学习算法,例如AzureML服务。您还可以使用认知服务,例如语音转文字、文字转语音、计算机视觉等。
+
+## 云端数据科学示例
+
+让我们通过几个场景来使这些内容更具体化。
+
+### 实时社交媒体情感分析
+
+我们从一个常见的机器学习入门场景开始:实时社交媒体情感分析。
+
+假设您运营一个新闻媒体网站,希望利用实时数据来了解读者可能感兴趣的内容。为了了解更多,您可以构建一个程序,对Twitter发布的相关主题数据进行实时情感分析。
+
+您关注的关键指标是特定主题(标签)的推文数量和情感,这些情感通过分析工具对指定主题进行情感分析来确定。
+
+创建此项目所需的步骤如下:
+
+* 创建一个事件中心以收集Twitter数据流输入
+* 配置并启动Twitter客户端应用程序,调用Twitter Streaming APIs
+* 创建一个Stream Analytics作业
+* 指定作业输入和查询
+* 创建输出接收器并指定作业输出
+* 启动作业
+
+查看完整流程,请参考[文档](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)。
+
+### 科学论文分析
+
+让我们看另一个由本课程作者之一[Dmitry Soshnikov](http://soshnikov.com)创建的项目示例。
+
+Dmitry创建了一个分析COVID论文的工具。通过审查此项目,您将了解如何创建一个工具,从科学论文中提取知识、获得洞察,并帮助研究人员高效地浏览大量论文。
+
+以下是使用的不同步骤:
+
+* 使用[Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)提取和预处理信息
+* 使用[Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)并行化处理
+* 使用[Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)存储和查询信息
+* 使用Power BI创建交互式仪表板进行数据探索和可视化
+
+查看完整流程,请访问[Dmitry的博客](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)。
+
+如您所见,我们可以通过多种方式利用云服务来进行数据科学。
+
+## 脚注
+
+来源:
+* https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109
+* https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109
+* https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/
+
+## 课后测验
+
+[课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33)
+
+## 作业
+
+[市场研究](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/zh/5-Data-Science-In-Cloud/17-Introduction/assignment.md
new file mode 100644
index 00000000..8033f143
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/17-Introduction/assignment.md
@@ -0,0 +1,23 @@
+
+# 市场调研
+
+## 说明
+
+在本课中,你了解到有几个重要的云服务提供商。进行市场调研,了解每个提供商能为数据科学家提供什么服务。这些服务是否具有可比性?撰写一篇文章,描述三个或更多云服务提供商的服务内容。
+
+## 评分标准
+
+优秀 | 合格 | 需改进
+--- | --- | -- |
+一篇完整的文章描述了三个云服务提供商的数据科学服务,并区分了它们之间的差异。 | 提交了一篇较短的文章 | 提交了一篇文章,但未完成分析
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/README.md
new file mode 100644
index 00000000..e420e9dd
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/README.md
@@ -0,0 +1,349 @@
+
+# 云端数据科学:低代码/无代码方式
+
+| ](../../sketchnotes/18-DataScience-Cloud.png)|
+|:---:|
+| 云端数据科学:低代码 - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
+
+目录:
+
+- [云端数据科学:低代码/无代码方式](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [课前测验](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1. 介绍](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.1 什么是 Azure Machine Learning?](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.2 心力衰竭预测项目:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [1.3 心力衰竭数据集:](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2. 在 Azure ML Studio 中低代码/无代码训练模型](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.1 创建 Azure ML 工作区](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2 计算资源](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.1 为计算资源选择合适的选项](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.2.2 创建计算集群](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.3 加载数据集](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [2.4 使用 AutoML 进行低代码/无代码训练](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3. 低代码/无代码模型部署与端点使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.1 模型部署](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [3.2 端点使用](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [🚀 挑战](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [课后测验](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [复习与自学](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+ - [作业](../../../../5-Data-Science-In-Cloud/18-Low-Code)
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34)
+
+## 1. 介绍
+
+### 1.1 什么是 Azure Machine Learning?
+
+Azure 云平台包含超过 200 种产品和云服务,旨在帮助您实现创新解决方案。数据科学家通常需要花费大量时间探索和预处理数据,并尝试各种模型训练算法以生成准确的模型。这些任务耗时且可能导致昂贵的计算硬件使用效率低下。
+
+[Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 是一个基于云的平台,用于在 Azure 中构建和运行机器学习解决方案。它提供了广泛的功能和能力,帮助数据科学家准备数据、训练模型、发布预测服务并监控其使用情况。最重要的是,它通过自动化许多与模型训练相关的耗时任务来提高效率;同时,它支持使用可扩展的云计算资源来处理大量数据,仅在实际使用时产生费用。
+
+Azure ML 提供了开发者和数据科学家所需的所有工具,用于完成机器学习工作流程。这些工具包括:
+
+- **Azure Machine Learning Studio**:一个基于 Web 的门户,提供低代码和无代码选项,用于模型训练、部署、自动化、跟踪和资产管理。Studio 与 Azure Machine Learning SDK 集成,提供无缝体验。
+- **Jupyter Notebooks**:快速原型设计和测试机器学习模型。
+- **Azure Machine Learning Designer**:通过拖放模块构建实验,并在低代码环境中部署管道。
+- **自动化机器学习界面 (AutoML)**:自动化机器学习模型开发的迭代任务,能够以高效和高生产力的方式构建模型,同时保持模型质量。
+- **数据标注**:一个辅助机器学习工具,用于自动标注数据。
+- **Visual Studio Code 的机器学习扩展**:提供一个功能齐全的开发环境,用于构建和管理机器学习项目。
+- **机器学习 CLI**:提供命令行工具,用于管理 Azure ML 资源。
+- **与开源框架集成**:支持 PyTorch、TensorFlow、Scikit-learn 等框架,用于训练、部署和管理端到端机器学习流程。
+- **MLflow**:一个开源库,用于管理机器学习实验的生命周期。**MLFlow Tracking** 是 MLflow 的一个组件,用于记录和跟踪训练运行的指标和模型工件,无论实验环境如何。
+
+### 1.2 心力衰竭预测项目:
+
+毫无疑问,创建和构建项目是检验技能和知识的最佳方式。在本课程中,我们将探索两种不同的方法来构建一个数据科学项目,用于预测心力衰竭攻击。这两种方法分别是通过 Azure ML Studio 的低代码/无代码方式和通过 Azure ML SDK,如下图所示:
+
+
+
+每种方法都有其优缺点。低代码/无代码方式更容易入门,因为它涉及与图形用户界面 (GUI) 交互,不需要任何代码知识。这种方法可以快速测试项目的可行性并创建概念验证 (POC)。然而,随着项目的扩展并需要进入生产阶段,仅通过 GUI 创建资源变得不可行。此时,程序化地自动化所有内容(从资源创建到模型部署)变得至关重要,这也是学习如何使用 Azure ML SDK 的关键所在。
+
+| | 低代码/无代码 | Azure ML SDK |
+|-------------------|------------------|---------------------------|
+| 代码专业知识 | 不需要 | 需要 |
+| 开发时间 | 快速且简单 | 取决于代码专业知识 |
+| 生产就绪 | 否 | 是 |
+
+### 1.3 心力衰竭数据集:
+
+心血管疾病 (CVDs) 是全球范围内的头号死亡原因,占全球死亡人数的 31%。环境和行为风险因素(如吸烟、不健康饮食和肥胖、缺乏运动以及过量饮酒)可以用作估算模型的特征。能够估算 CVD 的发展概率对于预防高风险人群的心力衰竭攻击非常有用。
+
+Kaggle 提供了一个公开的[心力衰竭数据集](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data),我们将在本项目中使用该数据集。您现在可以下载该数据集。这是一个包含 13 列(12 个特征和 1 个目标变量)和 299 行的表格数据集。
+
+| | 变量名称 | 类型 | 描述 | 示例 |
+|----|---------------------------|-----------------|----------------------------------------------------------|-------------------|
+| 1 | age | 数值型 | 患者年龄 | 25 |
+| 2 | anaemia | 布尔型 | 红细胞或血红蛋白减少 | 0 或 1 |
+| 3 | creatinine_phosphokinase | 数值型 | 血液中 CPK 酶的水平 | 542 |
+| 4 | diabetes | 布尔型 | 患者是否患有糖尿病 | 0 或 1 |
+| 5 | ejection_fraction | 数值型 | 每次心脏收缩时排出的血液百分比 | 45 |
+| 6 | high_blood_pressure | 布尔型 | 患者是否有高血压 | 0 或 1 |
+| 7 | platelets | 数值型 | 血液中的血小板数量 | 149000 |
+| 8 | serum_creatinine | 数值型 | 血液中肌酐的水平 | 0.5 |
+| 9 | serum_sodium | 数值型 | 血液中钠的水平 | jun |
+| 10 | sex | 布尔型 | 女性或男性 | 0 或 1 |
+| 11 | smoking | 布尔型 | 患者是否吸烟 | 0 或 1 |
+| 12 | time | 数值型 | 随访时间(天) | 4 |
+|----|---------------------------|-----------------|----------------------------------------------------------|-------------------|
+| 21 | DEATH_EVENT [目标] | 布尔型 | 患者是否在随访期间死亡 | 0 或 1 |
+
+下载数据集后,我们就可以在 Azure 中开始项目了。
+
+## 2. 在 Azure ML Studio 中低代码/无代码训练模型
+
+### 2.1 创建 Azure ML 工作区
+
+要在 Azure ML 中训练模型,首先需要创建一个 Azure ML 工作区。工作区是 Azure Machine Learning 的顶级资源,提供一个集中式位置,用于管理您在使用 Azure Machine Learning 时创建的所有工件。工作区会记录所有训练运行的历史,包括日志、指标、输出以及脚本的快照。您可以使用这些信息来确定哪个训练运行生成了最佳模型。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+建议使用与您的操作系统兼容的最新浏览器。支持以下浏览器:
+
+- Microsoft Edge(最新版本的新 Microsoft Edge,不是旧版 Microsoft Edge)
+- Safari(最新版本,仅限 Mac)
+- Chrome(最新版本)
+- Firefox(最新版本)
+
+要使用 Azure Machine Learning,请在您的 Azure 订阅中创建一个工作区。然后,您可以使用此工作区来管理与机器学习工作负载相关的数据、计算资源、代码、模型和其他工件。
+
+> **_注意:_** 只要 Azure Machine Learning 工作区存在于您的订阅中,您的 Azure 订阅将会因数据存储产生少量费用。因此,我们建议在不再使用工作区时删除它。
+
+1. 使用与您的 Azure 订阅关联的 Microsoft 凭据登录 [Azure 门户](https://ms.portal.azure.com/)。
+2. 选择 **+创建资源**
+
+ 
+
+ 搜索 Machine Learning 并选择 Machine Learning 磁贴
+
+ 
+
+ 点击创建按钮
+
+ 
+
+ 按以下设置填写:
+ - 订阅:您的 Azure 订阅
+ - 资源组:创建或选择一个资源组
+ - 工作区名称:输入一个唯一的工作区名称
+ - 区域:选择离您最近的地理区域
+ - 存储账户:注意将为您的工作区创建的默认新存储账户
+ - 密钥保管库:注意将为您的工作区创建的默认新密钥保管库
+ - 应用程序洞察:注意将为您的工作区创建的默认新应用程序洞察资源
+ - 容器注册表:无(第一次将模型部署到容器时会自动创建一个)
+
+ 
+
+ - 点击创建 + 审核,然后点击创建按钮
+3. 等待您的工作区创建完成(可能需要几分钟)。然后在门户中访问它。您可以通过 Machine Learning Azure 服务找到它。
+4. 在工作区的概览页面,启动 Azure Machine Learning Studio(或打开一个新的浏览器标签并导航到 https://ml.azure.com),使用您的 Microsoft 账户登录 Azure Machine Learning Studio。如果提示,请选择您的 Azure 目录和订阅,以及您的 Azure Machine Learning 工作区。
+
+
+
+5. 在 Azure Machine Learning Studio 中,切换左上角的 ☰ 图标以查看界面中的各个页面。您可以使用这些页面来管理工作区中的资源。
+
+
+
+您可以使用 Azure 门户管理您的工作区,但对于数据科学家和机器学习运维工程师来说,Azure Machine Learning Studio 提供了一个更专注的用户界面,用于管理工作区资源。
+
+### 2.2 计算资源
+
+计算资源是基于云的资源,您可以在其上运行模型训练和数据探索过程。您可以创建以下四种计算资源:
+
+- **计算实例**:数据科学家可以用来处理数据和模型的开发工作站。这涉及创建一个虚拟机 (VM) 并启动一个 notebook 实例。然后,您可以通过 notebook 调用计算集群来训练模型。
+- **计算集群**:可扩展的虚拟机集群,用于按需处理实验代码。训练模型时需要使用计算集群。计算集群还可以使用专门的 GPU 或 CPU 资源。
+- **推理集群**:用于部署使用您训练模型的预测服务的目标。
+- **附加计算**:链接到现有的 Azure 计算资源,例如虚拟机或 Azure Databricks 集群。
+
+#### 2.2.1 为计算资源选择合适的选项
+
+创建计算资源时需要考虑一些关键因素,这些选择可能是至关重要的决策。
+
+**您需要 CPU 还是 GPU?**
+
+CPU(中央处理器)是执行计算机程序指令的电子电路。GPU(图形处理器)是一种专门的电子电路,可以以非常高的速度执行与图形相关的代码。
+
+CPU 和 GPU 架构的主要区别在于,CPU 设计用于快速处理广泛的任务(以 CPU 时钟速度衡量),但在任务并发性方面有限。而 GPU 设计用于并行计算,因此在深度学习任务中表现更佳。
+
+| CPU | GPU |
+|-----------------------------------------|-----------------------------|
+| 价格较低 | 价格较高 |
+| 并发性较低 | 并发性较高 |
+| 深度学习模型训练速度较慢 | 深度学习的最佳选择 |
+
+**集群规模**
+
+较大的集群成本更高,但响应速度更快。因此,如果您时间充裕但预算有限,可以选择小型集群。如果您预算充足但时间有限,可以选择大型集群。
+
+**虚拟机规模**
+
+根据您的时间和预算限制,您可以调整 RAM、磁盘、核心数量和时钟速度的大小。增加这些参数会提高成本,但性能也会更好。
+
+**专用实例还是低优先级实例?**
+
+低优先级实例意味着它是可中断的:本质上,Microsoft Azure 可以将这些资源分配给其他任务,从而中断当前作业。专用实例(不可中断)意味着作业不会在未经您许可的情况下被终止。这是另一个时间与成本的权衡,因为可中断实例比专用实例便宜。
+
+#### 2.2.2 创建计算集群
+
+在我们之前创建的 [Azure ML 工作区](https://ml.azure.com/) 中,进入计算选项,您将看到我们刚刚讨论的不同计算资源(例如计算实例、计算集群、推理集群和附加计算)。对于本项目,我们需要一个计算集群来进行模型训练。在 Studio 中,点击“计算”菜单,然后点击“计算集群”选项卡,点击“+ 新建”按钮以创建计算集群。
+
+
+
+1. 选择您的选项:专用 vs 低优先级,CPU 或 GPU,虚拟机规模和核心数量(对于本项目,可以保留默认设置)。
+2. 点击“下一步”按钮。
+
+
+
+3. 为集群命名。
+4. 选择您的选项:节点的最小/最大数量、闲置秒数后缩减规模、SSH 访问。注意,如果节点的最小数量为 0,当集群闲置时可以节省成本。注意,最大节点数量越高,训练时间越短。推荐的最大节点数量为 3。
+5. 点击“创建”按钮。这一步可能需要几分钟。
+
+
+
+太棒了!现在我们有了一个计算集群,接下来需要将数据加载到 Azure ML Studio。
+
+### 2.3 加载数据集
+
+1. 在我们之前创建的 [Azure ML 工作区](https://ml.azure.com/) 中,点击左侧菜单中的“数据集”,然后点击“+ 创建数据集”按钮以创建数据集。选择“从本地文件”选项并选择我们之前下载的 Kaggle 数据集。
+
+ 
+
+2. 为您的数据集命名、选择类型并添加描述。点击“下一步”。从文件中上传数据。点击“下一步”。
+
+ 
+
+3. 在模式中,将以下特征的数据类型更改为布尔值:贫血、糖尿病、高血压、性别、吸烟和死亡事件。点击“下一步”,然后点击“创建”。
+
+ 
+
+很好!现在数据集已经就位,计算集群也已创建,我们可以开始训练模型了!
+
+### 2.4 使用 AutoML 进行低代码/无代码训练
+
+传统的机器学习模型开发资源密集,需要显著的领域知识和时间来生成并比较多个模型。自动化机器学习(AutoML)是自动化机器学习模型开发中耗时、迭代任务的过程。它允许数据科学家、分析师和开发人员以高效和生产力的方式构建机器学习模型,同时保持模型质量。它显著减少了生产就绪机器学习模型的时间,并且非常简单高效。[了解更多](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+1. 在我们之前创建的 [Azure ML 工作区](https://ml.azure.com/) 中,点击左侧菜单中的“自动化机器学习”,选择您刚刚上传的数据集。点击“下一步”。
+
+ 
+
+2. 输入一个新的实验名称,目标列(死亡事件)以及我们创建的计算集群。点击“下一步”。
+
+ 
+
+3. 选择“分类”,然后点击“完成”。这一步可能需要 30 分钟到 1 小时,具体取决于您的计算集群规模。
+
+ 
+
+4. 运行完成后,点击“自动化机器学习”选项卡,点击您的运行记录,然后在“最佳模型摘要”卡片中点击算法。
+
+ 
+
+在这里,您可以看到 AutoML 生成的最佳模型的详细描述。您还可以在“模型”选项卡中探索其他生成的模型。花几分钟时间探索“解释(预览)”按钮中的模型。一旦您选择了要使用的模型(这里我们选择 AutoML 选出的最佳模型),接下来我们将学习如何部署它。
+
+## 3. 低代码/无代码模型部署和端点使用
+### 3.1 模型部署
+
+自动化机器学习界面允许您将最佳模型部署为 Web 服务,仅需几个步骤。部署是模型的集成,使其能够基于新数据进行预测并识别潜在的机会领域。对于本项目,部署到 Web 服务意味着医疗应用可以使用该模型实时预测患者的心脏病风险。
+
+在最佳模型描述中,点击“部署”按钮。
+
+
+
+15. 为其命名、添加描述、选择计算类型(Azure 容器实例),启用身份验证并点击“部署”。这一步可能需要约 20 分钟完成。部署过程包括注册模型、生成资源并为 Web 服务配置它们。在“部署状态”下会显示状态消息。定期点击“刷新”以检查部署状态。当状态显示为“健康”时,表示已部署并正在运行。
+
+
+
+16. 部署完成后,点击“端点”选项卡并点击您刚刚部署的端点。您可以在这里找到有关端点的所有详细信息。
+
+
+
+太棒了!现在我们已经部署了一个模型,可以开始使用端点了。
+
+### 3.2 端点使用
+
+点击“使用”选项卡。在这里,您可以找到 REST 端点和一个 Python 脚本的使用选项。花点时间阅读 Python 代码。
+
+该脚本可以直接从您的本地机器运行,并使用您的端点。
+
+
+
+花点时间检查以下两行代码:
+
+```python
+url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score'
+api_key = '' # Replace this with the API key for the web service
+```
+`url` 变量是使用选项卡中找到的 REST 端点,`api_key` 变量是使用选项卡中找到的主密钥(仅在启用身份验证的情况下)。这就是脚本如何使用端点。
+
+18. 运行脚本后,您应该看到以下输出:
+ ```python
+ b'"{\\"result\\": [true]}"'
+ ```
+这意味着对于给定数据的心脏衰竭预测结果为真。这是合理的,因为如果您仔细查看脚本中自动生成的数据,所有值默认都为 0 和 false。您可以使用以下输入样本更改数据:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "0",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "0",
+ 'diabetes': "false",
+ 'ejection_fraction': "0",
+ 'high_blood_pressure': "false",
+ 'platelets': "0",
+ 'serum_creatinine': "0",
+ 'serum_sodium': "0",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "0",
+ },
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+```
+脚本应返回:
+ ```python
+ b'"{\\"result\\": [true, false]}"'
+ ```
+
+恭喜!您刚刚使用 Azure ML 部署并训练了模型!
+
+> **_注意:_** 完成项目后,请记得删除所有资源。
+## 🚀 挑战
+
+仔细查看 AutoML 为顶级模型生成的模型解释和详细信息。尝试理解为什么最佳模型比其他模型更好。比较了哪些算法?它们之间有什么区别?为什么在这种情况下最佳模型表现更好?
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35)
+
+## 复习与自学
+
+在本课程中,您学习了如何在云端以低代码/无代码方式训练、部署和使用模型来预测心脏衰竭风险。如果您尚未完成,请深入研究 AutoML 为顶级模型生成的模型解释,尝试理解为什么最佳模型比其他模型更好。
+
+您可以通过阅读此 [文档](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)进一步了解低代码/无代码 AutoML。
+
+## 作业
+
+[基于 Azure ML 的低代码/无代码数据科学项目](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
new file mode 100644
index 00000000..4a692e15
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/18-Low-Code/assignment.md
@@ -0,0 +1,23 @@
+
+# 在 Azure ML 上进行低代码/无代码数据科学项目
+
+## 指南
+
+我们已经学习了如何使用 Azure ML 平台以低代码/无代码的方式训练、部署和使用模型。现在,请寻找一些可以用来训练另一个模型的数据,部署并使用它。你可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上查找数据集。
+
+## 评分标准
+
+| 卓越 | 合格 | 需要改进 |
+|------|------|----------|
+|上传数据时,如果有必要,你注意更改了特征的类型。同时,你对数据进行了清理(如果需要)。你通过 AutoML 对数据集进行了训练,并检查了模型的解释。你部署了最佳模型,并成功使用了它。|上传数据时,如果有必要,你注意更改了特征的类型。你通过 AutoML 对数据集进行了训练,部署了最佳模型,并成功使用了它。|你部署了 AutoML 训练的最佳模型,并成功使用了它。|
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/zh/5-Data-Science-In-Cloud/19-Azure/README.md
new file mode 100644
index 00000000..ecbaff52
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/19-Azure/README.md
@@ -0,0 +1,310 @@
+
+# 云端数据科学:Azure ML SDK 的方法
+
+| 绘制的速写笔记](../../sketchnotes/19-DataScience-Cloud.png)|
+|:---:|
+| 云端数据科学:Azure ML SDK - _速写笔记由 [@nitya](https://twitter.com/nitya)_ |
+
+目录:
+
+- [云端数据科学:Azure ML SDK 的方法](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [课前测验](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1. 简介](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.1 什么是 Azure ML SDK?](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [1.2 心力衰竭预测项目和数据集介绍](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2. 使用 Azure ML SDK 训练模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.1 创建 Azure ML 工作区](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.2 创建计算实例](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.3 加载数据集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.4 创建笔记本](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5 训练模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.1 设置工作区、实验、计算集群和数据集](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [2.5.2 AutoML 配置和训练](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3. 使用 Azure ML SDK 部署模型和消费端点](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.1 保存最佳模型](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.2 模型部署](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [3.3 消费端点](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [🚀 挑战](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [课后测验](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [复习与自学](../../../../5-Data-Science-In-Cloud/19-Azure)
+ - [作业](../../../../5-Data-Science-In-Cloud/19-Azure)
+
+## [课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36)
+
+## 1. 简介
+
+### 1.1 什么是 Azure ML SDK?
+
+数据科学家和 AI 开发者使用 Azure Machine Learning SDK 来构建和运行机器学习工作流,结合 Azure Machine Learning 服务。你可以在任何 Python 环境中与服务交互,包括 Jupyter Notebooks、Visual Studio Code 或你喜欢的 Python IDE。
+
+SDK 的关键领域包括:
+
+- 探索、准备和管理机器学习实验中使用的数据集的生命周期。
+- 管理云资源以监控、记录和组织机器学习实验。
+- 使用本地资源或云资源(包括 GPU 加速)训练模型。
+- 使用自动化机器学习,接受配置参数和训练数据,自动迭代算法和超参数设置以找到最佳模型进行预测。
+- 部署 Web 服务,将训练好的模型转换为可在任何应用中消费的 RESTful 服务。
+
+[了解更多关于 Azure Machine Learning SDK 的信息](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)
+
+在[上一课](../18-Low-Code/README.md)中,我们学习了如何以低代码/无代码方式训练、部署和消费模型。我们使用了心力衰竭数据集来生成心力衰竭预测模型。在本课中,我们将使用 Azure Machine Learning SDK 完成相同的任务。
+
+
+
+### 1.2 心力衰竭预测项目和数据集介绍
+
+查看[这里](../18-Low-Code/README.md)了解心力衰竭预测项目和数据集介绍。
+
+## 2. 使用 Azure ML SDK 训练模型
+### 2.1 创建 Azure ML 工作区
+
+为了简化操作,我们将在 Jupyter Notebook 中工作。这意味着你已经有一个工作区和一个计算实例。如果你已经有工作区,可以直接跳到 2.3 笔记本创建部分。
+
+如果没有,请按照[上一课](../18-Low-Code/README.md)中 **2.1 创建 Azure ML 工作区** 的说明创建工作区。
+
+### 2.2 创建计算实例
+
+在我们之前创建的 [Azure ML 工作区](https://ml.azure.com/) 中,进入计算菜单,你会看到不同的计算资源。
+
+
+
+让我们创建一个计算实例来提供 Jupyter Notebook。
+1. 点击 + New 按钮。
+2. 为你的计算实例命名。
+3. 选择选项:CPU 或 GPU、虚拟机大小和核心数量。
+4. 点击 Create 按钮。
+
+恭喜,你刚刚创建了一个计算实例!我们将在[创建笔记本部分](../../../../5-Data-Science-In-Cloud/19-Azure)中使用这个计算实例。
+
+### 2.3 加载数据集
+如果你还没有上传数据集,请参考[上一课](../18-Low-Code/README.md)中的 **2.3 加载数据集** 部分。
+
+### 2.4 创建笔记本
+
+> **_注意:_** 接下来的步骤中,你可以选择从头创建一个新的笔记本,或者上传我们之前创建的 [笔记本](../../../../5-Data-Science-In-Cloud/19-Azure/notebook.ipynb) 到你的 Azure ML Studio。要上传,只需点击“Notebook”菜单并上传笔记本。
+
+笔记本是数据科学过程中的重要部分。它可以用于进行探索性数据分析(EDA)、调用计算集群训练模型、调用推理集群部署端点。
+
+要创建笔记本,我们需要一个提供 Jupyter Notebook 实例的计算节点。返回 [Azure ML 工作区](https://ml.azure.com/),点击计算实例。在计算实例列表中,你应该能看到我们之前创建的[计算实例](../../../../5-Data-Science-In-Cloud/19-Azure)。
+
+1. 在 Applications 部分,点击 Jupyter 选项。
+2. 勾选“是,我理解”框并点击 Continue 按钮。
+
+3. 这会打开一个新的浏览器标签页,显示你的 Jupyter Notebook 实例。点击“New”按钮创建一个笔记本。
+
+
+
+现在我们有了一个笔记本,可以开始使用 Azure ML SDK 训练模型。
+
+### 2.5 训练模型
+
+首先,如果你有任何疑问,请参考 [Azure ML SDK 文档](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。它包含了理解我们将在本课中看到的模块所需的所有信息。
+
+#### 2.5.1 设置工作区、实验、计算集群和数据集
+
+你需要使用以下代码从配置文件加载 `workspace`:
+
+```python
+from azureml.core import Workspace
+ws = Workspace.from_config()
+```
+
+这会返回一个表示工作区的 `Workspace` 对象。然后你需要使用以下代码创建一个 `experiment`:
+
+```python
+from azureml.core import Experiment
+experiment_name = 'aml-experiment'
+experiment = Experiment(ws, experiment_name)
+```
+要从工作区获取或创建实验,你需要使用实验名称请求实验。实验名称必须是 3-36 个字符,以字母或数字开头,并且只能包含字母、数字、下划线和短划线。如果在工作区中找不到实验,则会创建一个新实验。
+
+现在你需要使用以下代码为训练创建一个计算集群。注意,这一步可能需要几分钟。
+
+```python
+from azureml.core.compute import AmlCompute
+
+aml_name = "heart-f-cluster"
+try:
+ aml_compute = AmlCompute(ws, aml_name)
+ print('Found existing AML compute context.')
+except:
+ print('Creating new AML compute context.')
+ aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3)
+ aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config)
+ aml_compute.wait_for_completion(show_output = True)
+
+cts = ws.compute_targets
+compute_target = cts[aml_name]
+```
+
+你可以通过数据集名称从工作区获取数据集,方法如下:
+
+```python
+dataset = ws.datasets['heart-failure-records']
+df = dataset.to_pandas_dataframe()
+df.describe()
+```
+#### 2.5.2 AutoML 配置和训练
+
+要设置 AutoML 配置,请使用 [AutoMLConfig 类](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109)。
+
+如文档所述,有许多参数可以调整。在这个项目中,我们将使用以下参数:
+
+- `experiment_timeout_minutes`:实验允许运行的最大时间(以分钟为单位),超过时间后会自动停止并生成结果。
+- `max_concurrent_iterations`:实验允许的最大并发训练迭代次数。
+- `primary_metric`:用于确定实验状态的主要指标。
+- `compute_target`:运行自动化机器学习实验的 Azure Machine Learning 计算目标。
+- `task`:要运行的任务类型。值可以是 'classification'、'regression' 或 'forecasting',具体取决于要解决的自动化机器学习问题类型。
+- `training_data`:实验中使用的训练数据。它应包含训练特征和标签列(可选的样本权重列)。
+- `label_column_name`:标签列的名称。
+- `path`:Azure Machine Learning 项目文件夹的完整路径。
+- `enable_early_stopping`:是否启用早期终止,如果短期内分数没有改善则终止。
+- `featurization`:指示是否自动完成特征化步骤,或使用自定义特征化。
+- `debug_log`:写入调试信息的日志文件。
+
+```python
+from azureml.train.automl import AutoMLConfig
+
+project_folder = './aml-project'
+
+automl_settings = {
+ "experiment_timeout_minutes": 20,
+ "max_concurrent_iterations": 3,
+ "primary_metric" : 'AUC_weighted'
+}
+
+automl_config = AutoMLConfig(compute_target=compute_target,
+ task = "classification",
+ training_data=dataset,
+ label_column_name="DEATH_EVENT",
+ path = project_folder,
+ enable_early_stopping= True,
+ featurization= 'auto',
+ debug_log = "automl_errors.log",
+ **automl_settings
+ )
+```
+现在你已经设置了配置,可以使用以下代码训练模型。根据集群大小,这一步可能需要一个小时。
+
+```python
+remote_run = experiment.submit(automl_config)
+```
+你可以运行 RunDetails 小部件来显示不同的实验。
+```python
+from azureml.widgets import RunDetails
+RunDetails(remote_run).show()
+```
+## 3. 使用 Azure ML SDK 部署模型和消费端点
+
+### 3.1 保存最佳模型
+
+`remote_run` 是 [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 类型的对象。该对象包含 `get_output()` 方法,可返回最佳运行及其对应的拟合模型。
+
+```python
+best_run, fitted_model = remote_run.get_output()
+```
+你可以通过打印 `fitted_model` 查看最佳模型使用的参数,并使用 [get_properties()](https://docs.microsoft.com/python/api/azureml-core/azureml.core.run(class)?view=azure-ml-py#azureml_core_Run_get_properties?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法查看最佳模型的属性。
+
+```python
+best_run.get_properties()
+```
+
+现在使用 [register_model](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?view=azure-ml-py#register-model-model-name-none--description-none--tags-none--iteration-none--metric-none-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法注册模型。
+```python
+model_name = best_run.properties['model_name']
+script_file_name = 'inference/score.py'
+best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')
+description = "aml heart failure project sdk"
+model = best_run.register_model(model_name = model_name,
+ model_path = './outputs/',
+ description = description,
+ tags = None)
+```
+### 3.2 模型部署
+
+保存最佳模型后,我们可以使用 [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) 类进行部署。InferenceConfig 表示用于部署的自定义环境的配置设置。[AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) 类表示部署为 Azure 容器实例上的 Web 服务端点的机器学习模型。部署的服务由模型、脚本和相关文件创建。生成的 Web 服务是一个负载均衡的 HTTP 端点,带有 REST API。你可以向该 API 发送数据并接收模型返回的预测。
+
+使用 [deploy](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model(class)?view=azure-ml-py#deploy-workspace--name--models--inference-config-none--deployment-config-none--deployment-target-none--overwrite-false--show-output-false-?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 方法部署模型。
+
+```python
+from azureml.core.model import InferenceConfig, Model
+from azureml.core.webservice import AciWebservice
+
+inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment())
+
+aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1,
+ memory_gb = 1,
+ tags = {'type': "automl-heart-failure-prediction"},
+ description = 'Sample service for AutoML Heart Failure Prediction')
+
+aci_service_name = 'automl-hf-sdk'
+aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig)
+aci_service.wait_for_deployment(True)
+print(aci_service.state)
+```
+这一步可能需要几分钟。
+
+### 3.3 消费端点
+
+你可以通过创建一个示例输入来消费你的端点:
+
+```python
+data = {
+ "data":
+ [
+ {
+ 'age': "60",
+ 'anaemia': "false",
+ 'creatinine_phosphokinase': "500",
+ 'diabetes': "false",
+ 'ejection_fraction': "38",
+ 'high_blood_pressure': "false",
+ 'platelets': "260000",
+ 'serum_creatinine': "1.40",
+ 'serum_sodium': "137",
+ 'sex': "false",
+ 'smoking': "false",
+ 'time': "130",
+ },
+ ],
+}
+
+test_sample = str.encode(json.dumps(data))
+```
+然后将此输入发送到你的模型进行预测:
+```python
+response = aci_service.run(input_data=test_sample)
+response
+```
+这应该输出 `'{"result": [false]}'`。这意味着我们发送到端点的患者输入生成了预测结果 `false`,表示此人不太可能发生心脏病发作。
+
+恭喜你!你刚刚使用 Azure ML SDK 消耗了在 Azure ML 上部署和训练的模型!
+
+> **_NOTE:_** 完成项目后,别忘了删除所有资源。
+
+## 🚀 挑战
+
+通过 SDK 你可以完成许多其他操作,但遗憾的是,我们无法在本课中全部讲解。不过好消息是,学会如何快速浏览 SDK 文档可以让你在学习过程中走得更远。查看 Azure ML SDK 文档,找到允许你创建管道的 `Pipeline` 类。管道是可以作为工作流执行的一系列步骤的集合。
+
+**提示:** 访问 [SDK 文档](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109),在搜索栏中输入诸如“Pipeline”这样的关键词。你应该能在搜索结果中找到 `azureml.pipeline.core.Pipeline` 类。
+
+## [课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37)
+
+## 复习与自学
+
+在本课中,你学习了如何在云端使用 Azure ML SDK 训练、部署和消耗一个预测心力衰竭风险的模型。查看这份 [文档](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109),获取有关 Azure ML SDK 的更多信息。尝试使用 Azure ML SDK 创建你自己的模型。
+
+## 作业
+
+[使用 Azure ML SDK 的数据科学项目](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/zh/5-Data-Science-In-Cloud/19-Azure/assignment.md
new file mode 100644
index 00000000..f1788aac
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/19-Azure/assignment.md
@@ -0,0 +1,23 @@
+
+# 使用 Azure ML SDK 的数据科学项目
+
+## 说明
+
+我们已经学习了如何使用 Azure ML 平台通过 Azure ML SDK 进行模型的训练、部署和使用。现在,请寻找一些数据,用于训练另一个模型,部署并使用它。你可以在 [Kaggle](https://kaggle.com) 和 [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) 上寻找数据集。
+
+## 评分标准
+
+| 卓越 | 合格 | 需要改进 |
+|------|------|----------|
+|在进行 AutoML 配置时,你查阅了 SDK 文档,了解可以使用哪些参数。你通过 Azure ML SDK 使用 AutoML 对数据集进行了训练,并检查了模型解释。你部署了最佳模型,并能够通过 Azure ML SDK 使用它。|你通过 Azure ML SDK 使用 AutoML 对数据集进行了训练,并检查了模型解释。你部署了最佳模型,并能够通过 Azure ML SDK 使用它。|你通过 Azure ML SDK 使用 AutoML 对数据集进行了训练。你部署了最佳模型,并能够通过 Azure ML SDK 使用它。|
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/5-Data-Science-In-Cloud/README.md b/translations/zh/5-Data-Science-In-Cloud/README.md
new file mode 100644
index 00000000..de93eb2d
--- /dev/null
+++ b/translations/zh/5-Data-Science-In-Cloud/README.md
@@ -0,0 +1,32 @@
+
+# 云中的数据科学
+
+
+
+> 图片由 [Jelleke Vanooteghem](https://unsplash.com/@ilumire) 提供,来自 [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
+
+在处理大数据的数据科学时,云计算可以带来革命性的变化。在接下来的三节课中,我们将了解什么是云,以及为什么它非常有用。我们还将探索一个心力衰竭数据集,并构建一个模型来帮助评估某人发生心力衰竭的可能性。我们将利用云的强大功能,通过两种不同的方式来训练、部署和使用模型。一种方式是仅使用用户界面,以低代码/无代码的方式进行;另一种方式是使用 Azure Machine Learning 软件开发工具包 (Azure ML SDK)。
+
+
+
+### 主题
+
+1. [为什么在数据科学中使用云?](17-Introduction/README.md)
+2. [云中的数据科学:低代码/无代码方式](18-Low-Code/README.md)
+3. [云中的数据科学:Azure ML SDK 方式](19-Azure/README.md)
+
+### 致谢
+这些课程由 [Maud Levy](https://twitter.com/maudstweets) 和 [Tiffany Souterre](https://twitter.com/TiffanySouterre) 带着 ☁️ 和 💕 编写。
+
+心力衰竭预测项目的数据来源于 [Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data) 上的 [Larxel](https://www.kaggle.com/andrewmvd)。数据遵循 [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) 许可协议。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
new file mode 100644
index 00000000..a894c476
--- /dev/null
+++ b/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/README.md
@@ -0,0 +1,153 @@
+
+# 数据科学在现实世界中的应用
+
+|  绘制的速写笔记 ](../../sketchnotes/20-DataScience-RealWorld.png) |
+| :--------------------------------------------------------------------------------------------------------------: |
+| 数据科学在现实世界中的应用 - _速写笔记由 [@nitya](https://twitter.com/nitya)_ 绘制 |
+
+我们即将完成这段学习旅程!
+
+从数据科学和伦理的定义开始,我们探索了数据分析和可视化的各种工具和技术,回顾了数据科学生命周期,并研究了如何通过云计算服务扩展和自动化数据科学工作流。那么,你可能会问:_“如何将这些学习内容映射到现实世界的情境中?”_
+
+在本课中,我们将探讨数据科学在各行业的实际应用,并深入研究在研究、数字人文和可持续发展等领域的具体案例。我们还将讨论学生项目的机会,并以一些有用的资源结束,帮助你继续学习之旅!
+
+## 课前测验
+
+[课前测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38)
+
+## 数据科学 + 行业
+
+由于人工智能的普及化,开发者现在可以更轻松地设计和集成基于人工智能的决策和数据驱动的洞察到用户体验和开发工作流中。以下是数据科学在各行业中“应用”的一些实际案例:
+
+ * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends/) 使用数据科学将搜索词与流感趋势相关联。尽管方法存在缺陷,但它提高了人们对数据驱动医疗预测可能性(及其挑战)的认识。
+
+ * [UPS 路线预测](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - 解释了 UPS 如何利用数据科学和机器学习预测最优送货路线,考虑天气状况、交通模式、送货截止时间等因素。
+
+ * [纽约出租车路线可视化](http://chriswhong.github.io/nyctaxi/) - 使用[信息自由法](https://chriswhong.com/open-data/foil_nyc_taxi/)收集的数据帮助可视化纽约出租车一天的运行情况,帮助我们了解它们如何穿梭于繁忙的城市、赚取的收入以及每24小时内的行程时长。
+
+ * [Uber 数据科学工作台](https://eng.uber.com/dsw/) - 利用每天从数百万次 Uber 行程中收集的数据(如上下车地点、行程时长、首选路线等),构建数据分析工具,用于定价、安全、欺诈检测和导航决策。
+
+ * [体育分析](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - 专注于_预测分析_(团队和球员分析 - 想想 [Moneyball](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/) - 以及粉丝管理)和_数据可视化_(团队和粉丝仪表盘、比赛等),应用于人才挖掘、体育博彩和库存/场馆管理。
+
+ * [银行业中的数据科学](https://data-flair.training/blogs/data-science-in-banking/) - 强调数据科学在金融行业的价值,应用包括风险建模和欺诈检测、客户细分、实时预测和推荐系统。预测分析还推动了诸如[信用评分](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit)等关键措施。
+
+ * [医疗保健中的数据科学](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/)
+
+图中展示了其他领域和数据科学技术的应用案例。想探索更多应用?请查看下面的[复习与自学](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)部分。
+
+## 数据科学 + 研究
+
+|  绘制的速写笔记 ](../../sketchnotes/20-DataScience-Research.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 数据科学与研究 - _速写笔记由 [@nitya](https://twitter.com/nitya)_ 绘制 |
+
+尽管现实世界的应用通常专注于大规模的行业用例,_研究_应用和项目可以从两个角度提供价值:
+
+* _创新机会_ - 快速原型化先进概念并测试下一代应用的用户体验。
+* _部署挑战_ - 探讨数据科学技术在现实世界情境中可能带来的危害或意外后果。
+
+对于学生来说,这些研究项目可以提供学习和协作的机会,帮助你加深对主题的理解,并拓宽你与相关领域的人员或团队的接触和参与。那么,研究项目是什么样的?它们如何产生影响?
+
+让我们看一个例子 - [MIT Gender Shades Study](http://gendershades.org/overview.html),由 Joy Buolamwini(MIT 媒体实验室)发起,与 Timnit Gebru(当时在微软研究院)共同撰写了一篇[标志性研究论文](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf),研究重点是:
+
+ * **什么:** 研究项目的目标是_评估基于性别和肤色的自动化面部分析算法和数据集中的偏差_。
+ * **为什么:** 面部分析被用于执法、机场安检、招聘系统等领域——在这些情境中,由于偏差导致的不准确分类可能对受影响的个人或群体造成经济和社会危害。理解(并消除或减轻)偏差是实现公平使用的关键。
+ * **如何:** 研究人员发现现有基准主要使用浅肤色的受试者,因此策划了一个_更平衡_的性别和肤色数据集(1000+ 图像)。该数据集被用于评估三个性别分类产品(来自微软、IBM 和 Face++)的准确性。
+
+结果显示,尽管总体分类准确性较高,但不同子群体之间的错误率存在显著差异——**性别误判**在女性或深色肤色人群中更高,表明存在偏差。
+
+**关键成果:** 提高了对数据科学需要_代表性数据集_(平衡的子群体)和_包容性团队_(多样化背景)的认识,以便在 AI 解决方案中更早地识别并消除或减轻这些偏差。像这样的研究努力也促使许多组织定义原则和实践,以实现_负责任的 AI_,从而提高其 AI 产品和流程的公平性。
+
+**想了解微软相关的研究工作?**
+
+* 查看 [Microsoft Research Projects](https://www.microsoft.com/research/research-area/artificial-intelligence/?facet%5Btax%5D%5Bmsr-research-area%5D%5B%5D=13556&facet%5Btax%5D%5Bmsr-content-type%5D%5B%5D=msr-project) 中的人工智能研究项目。
+* 探索 [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/) 的学生项目。
+* 查看 [Fairlearn](https://fairlearn.org/) 项目和 [Responsible AI](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) 计划。
+
+## 数据科学 + 人文学科
+
+|  绘制的速写笔记 ](../../sketchnotes/20-DataScience-Humanities.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 数据科学与数字人文 - _速写笔记由 [@nitya](https://twitter.com/nitya)_ 绘制 |
+
+数字人文[被定义为](https://digitalhumanities.stanford.edu/about-dh-stanford)“结合计算方法与人文探究的一系列实践和方法”。[斯坦福项目](https://digitalhumanities.stanford.edu/projects)如_“重启历史”_和_“诗意思考”_展示了[数字人文与数据科学](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science)之间的联系——强调了网络分析、信息可视化、空间和文本分析等技术,这些技术可以帮助我们重新审视历史和文学数据集,从而获得新的见解和视角。
+
+*想探索并扩展这一领域的项目?*
+
+查看 ["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671) - 这是 [Jen Looper](https://twitter.com/jenlooper) 的一个优秀案例,探讨如何利用数据科学重新审视熟悉的诗歌,并在新的情境下重新评估其意义及其作者的贡献。例如,_我们能否通过分析诗歌的语气或情感来预测其创作的季节_?这又能告诉我们作者在相关时期的心境如何?
+
+为回答这个问题,我们遵循数据科学生命周期的步骤:
+ * [`数据获取`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - 收集相关数据集进行分析。选项包括使用 API(如 [Poetry DB API](https://poetrydb.org/index.html))或抓取网页(如 [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm))使用工具如 [Scrapy](https://scrapy.org/)。
+ * [`数据清洗`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - 解释如何使用 Visual Studio Code 和 Microsoft Excel 等基本工具对文本进行格式化、清理和简化。
+ * [`数据分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - 解释如何将数据集导入“笔记本”中,使用 Python 包(如 pandas、numpy 和 matplotlib)组织和可视化数据。
+ * [`情感分析`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - 解释如何集成云服务如文本分析,使用低代码工具如 [Power Automate](https://flow.microsoft.com/en-us/) 实现自动化数据处理工作流。
+
+通过这一工作流,我们可以探索季节对诗歌情感的影响,并帮助我们形成对作者的独特视角。试试自己动手操作——然后扩展笔记本,提出其他问题或以新的方式可视化数据!
+
+> 你可以使用 [Digital Humanities Toolkit](https://github.com/Digital-Humanities-Toolkit) 中的一些工具来探索这些研究方向。
+
+## 数据科学 + 可持续发展
+
+|  绘制的速写笔记 ](../../sketchnotes/20-DataScience-Sustainability.png) |
+| :---------------------------------------------------------------------------------------------------------------: |
+| 数据科学与可持续发展 - _速写笔记由 [@nitya](https://twitter.com/nitya)_ 绘制 |
+
+[2030 年可持续发展议程](https://sdgs.un.org/2030agenda) - 由所有联合国成员国于 2015 年通过,确定了 17 个目标,其中包括**保护地球**免受退化和气候变化影响的目标。[微软可持续发展](https://www.microsoft.com/en-us/sustainability)计划支持这些目标,探索技术解决方案如何支持并构建更可持续的未来,重点关注[四个目标](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh) - 到 2030 年实现碳负排放、正水效、零废弃物和生物多样性。
+
+以可扩展和及时的方式应对这些挑战需要云规模的思维和大规模数据。[Planetary Computer](https://planetarycomputer.microsoft.com/) 计划为数据科学家和开发者提供了四个组件来支持这一努力:
+
+ * [数据目录](https://planetarycomputer.microsoft.com/catalog) - 提供地球系统数据的 PB 级数据集(免费且托管于 Azure)。
+ * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - 帮助用户在空间和时间范围内搜索相关数据。
+ * [Hub](https://planetarycomputer.microsoft.com/docs/overview/environment/) - 为科学家提供处理大规模地理空间数据集的托管环境。
+ * [应用程序](https://planetarycomputer.microsoft.com/applications) - 展示可持续发展洞察的用例和工具。
+**Planetary Computer 项目目前处于预览阶段(截至 2021 年 9 月)** - 以下是如何通过数据科学为可持续发展解决方案做出贡献的入门指南。
+
+* [申请访问权限](https://planetarycomputer.microsoft.com/account/request),开始探索并与同行建立联系。
+* [浏览文档](https://planetarycomputer.microsoft.com/docs/overview/about),了解支持的数据集和 API。
+* 探索诸如 [生态系统监测](https://analytics-lab.org/ecosystemmonitoring/) 之类的应用,从中获取应用创意的灵感。
+
+思考如何利用数据可视化揭示或放大与气候变化和森林砍伐等领域相关的洞察力。或者,思考如何利用这些洞察力创造新的用户体验,从而激励人们改变行为,迈向更可持续的生活方式。
+
+## 数据科学 + 学生
+
+我们已经讨论了行业和研究中的实际应用,并探索了数字人文和可持续发展领域的数据科学应用示例。那么,作为数据科学初学者,你如何提升技能并分享你的专业知识呢?
+
+以下是一些数据科学学生项目的示例,供你参考。
+
+* [MSR 数据科学暑期学校](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects),以及 GitHub 上的 [项目](https://github.com/msr-ds3),探索以下主题:
+ - [警察使用武力中的种族偏见](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2019-replicating-an-empirical-analysis-of-racial-differences-in-police-use-of-force/) | [Github](https://github.com/msr-ds3/stop-question-frisk)
+ - [纽约地铁系统的可靠性](https://www.microsoft.com/en-us/research/video/data-science-summer-school-2018-exploring-the-reliability-of-the-nyc-subway-system/) | [Github](https://github.com/msr-ds3/nyctransit)
+* [数字化物质文化:探索 Sirkap 的社会经济分布](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - 来自 [Ornella Altunyan](https://twitter.com/ornelladotcom) 和 Claremont 团队,使用 [ArcGIS StoryMaps](https://storymaps.arcgis.com/)。
+
+## 🚀 挑战
+
+寻找推荐适合初学者的数据科学项目的文章,例如 [这 50 个主题领域](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/)、[这 21 个项目创意](https://www.intellspot.com/data-science-project-ideas) 或 [这 16 个带源码的项目](https://data-flair.training/blogs/data-science-project-ideas/),你可以对它们进行拆解和重新组合。别忘了记录你的学习历程,并与我们分享你的见解。
+
+## 课后测验
+
+[课后测验](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39)
+
+## 复习与自学
+
+想要探索更多用例?以下是一些相关的文章:
+* [17 个数据科学应用与示例](https://builtin.com/data-science/data-science-applications-examples) - 2021 年 7 月
+* [11 个令人惊叹的现实世界数据科学应用](https://myblindbird.com/data-science-applications-real-world/) - 2021 年 5 月
+* [现实世界中的数据科学](https://towardsdatascience.com/data-science-in-the-real-world/home) - 文章合集
+* 数据科学在以下领域的应用:[教育](https://data-flair.training/blogs/data-science-in-education/)、[农业](https://data-flair.training/blogs/data-science-in-agriculture/)、[金融](https://data-flair.training/blogs/data-science-in-finance/)、[电影](https://data-flair.training/blogs/data-science-at-movies/) 等。
+
+## 作业
+
+[探索一个 Planetary Computer 数据集](assignment.md)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
new file mode 100644
index 00000000..fc265e60
--- /dev/null
+++ b/translations/zh/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md
@@ -0,0 +1,48 @@
+
+# 探索行星计算机数据集
+
+## 说明
+
+在本课中,我们讨论了各种数据科学应用领域,并深入研究了与科研、可持续发展和数字人文相关的示例。在这个任务中,你将更详细地探索其中一个示例,并应用你在数据可视化和分析方面的学习,来从可持续发展数据中获取洞察。
+
+[行星计算机](https://planetarycomputer.microsoft.com/)项目提供了可以通过账户访问的数据集和API——如果你想尝试任务的额外步骤,可以申请一个账户以获得访问权限。该网站还提供了一个[Explorer](https://planetarycomputer.microsoft.com/explore)功能,你可以在无需创建账户的情况下使用它。
+
+`步骤:`
+Explorer界面(如下图所示)允许你选择一个数据集(从提供的选项中),一个预设查询(用于过滤数据)以及一个渲染选项(用于创建相关的可视化)。在这个任务中,你需要:
+
+ 1. 阅读[Explorer文档](https://planetarycomputer.microsoft.com/docs/overview/explorer/)——了解选项。
+ 2. 探索数据集[目录](https://planetarycomputer.microsoft.com/catalog)——了解每个数据集的用途。
+ 3. 使用Explorer——选择一个感兴趣的数据集,选择一个相关的查询和渲染选项。
+
+
+
+`你的任务:`
+现在研究浏览器中渲染的可视化,并回答以下问题:
+ * 数据集有哪些_特征_?
+ * 可视化提供了哪些_洞察_或结果?
+ * 这些洞察对项目的可持续发展目标有什么_意义_?
+ * 可视化的_局限性_是什么(即,你没有获得哪些洞察?)
+ * 如果你能获得原始数据,你会创建哪些_替代可视化_,为什么?
+
+`额外加分:`
+申请一个账户——并在获得批准后登录。
+ * 使用 _Launch Hub_ 选项在Notebook中打开原始数据。
+ * 交互式地探索数据,并实现你想到的替代可视化。
+ * 现在分析你的自定义可视化——你是否能够获得之前遗漏的洞察?
+
+## 评分标准
+
+优秀 | 合格 | 需要改进
+--- | --- | -- |
+回答了所有五个核心问题。学生清楚地指出当前和替代可视化如何提供关于可持续发展目标或结果的洞察。| 学生详细回答了至少前三个问题,表明他们对Explorer有实际经验。| 学生未能回答多个问题,或提供的细节不足——表明未对项目进行有意义的尝试。 |
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/6-Data-Science-In-Wild/README.md b/translations/zh/6-Data-Science-In-Wild/README.md
new file mode 100644
index 00000000..e2e631c3
--- /dev/null
+++ b/translations/zh/6-Data-Science-In-Wild/README.md
@@ -0,0 +1,23 @@
+
+# 数据科学的实际应用
+
+数据科学在各行业中的真实应用。
+
+### 主题
+
+1. [现实世界中的数据科学](20-Real-World-Examples/README.md)
+
+### 致谢
+
+由 [Nitya Narasimhan](https://twitter.com/nitya) ❤️ 撰写
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/CODE_OF_CONDUCT.md b/translations/zh/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..c4706928
--- /dev/null
+++ b/translations/zh/CODE_OF_CONDUCT.md
@@ -0,0 +1,21 @@
+
+# Microsoft 开源行为准则
+
+本项目已采用 [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)。
+
+资源:
+
+- [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)
+- [Microsoft 行为准则常见问题](https://opensource.microsoft.com/codeofconduct/faq/)
+- 如有疑问或需帮助,请联系 [opencode@microsoft.com](mailto:opencode@microsoft.com)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/CONTRIBUTING.md b/translations/zh/CONTRIBUTING.md
new file mode 100644
index 00000000..a423c89b
--- /dev/null
+++ b/translations/zh/CONTRIBUTING.md
@@ -0,0 +1,20 @@
+
+# 贡献
+
+本项目欢迎贡献和建议。大多数贡献需要您同意一份贡献者许可协议 (CLA),声明您有权利并实际授予我们使用您贡献的权利。详情请访问 https://cla.microsoft.com。
+
+当您提交一个拉取请求时,CLA-bot 会自动判断您是否需要提供 CLA,并相应地标注 PR(例如,添加标签、评论)。只需按照机器人提供的指引操作即可。您只需在所有使用我们 CLA 的代码库中完成一次此操作。
+
+本项目采用了 [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)。
+欲了解更多信息,请参阅 [行为准则常见问题](https://opensource.microsoft.com/codeofconduct/faq/) 或通过 [opencode@microsoft.com](mailto:opencode@microsoft.com) 联系我们提出其他问题或意见。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/README.md b/translations/zh/README.md
new file mode 100644
index 00000000..39469c0b
--- /dev/null
+++ b/translations/zh/README.md
@@ -0,0 +1,161 @@
+
+# 数据科学入门 - 课程大纲
+
+Azure 云倡导者团队很高兴为大家提供一个为期10周、共20节课的完整数据科学课程。每节课都包含课前和课后测验、完成课程的书面指导、解决方案以及作业。我们的项目式教学法让你在实践中学习,这是一种被证明能让新技能“扎根”的有效方式。
+
+**特别感谢我们的作者们:** [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)。
+
+**🙏 特别感谢 🙏 我们的 [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/)。
+
+| 绘制的草图笔记](./sketchnotes/00-Title.png)|
+|:---:|
+| 数据科学入门 - _由 [@nitya](https://twitter.com/nitya) 绘制的草图笔记_ |
+
+## 公告 - 新的生成式 AI 课程已发布!
+
+我们刚刚发布了一个关于生成式 AI 的12节课课程。你将学习以下内容:
+
+- 提示和提示工程
+- 文本和图像应用生成
+- 搜索应用
+
+和往常一样,每节课都包含课程内容、作业、知识检查和挑战。
+
+查看课程:
+
+> https://aka.ms/genai-beginners
+
+# 你是学生吗?
+
+可以从以下资源开始:
+
+- [学生中心页面](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) 在这个页面,你可以找到入门资源、学生包,甚至有机会获得免费认证券。建议将此页面加入书签并定期查看,因为我们至少每月更新一次内容。
+- [Microsoft Learn 学生大使](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) 加入一个全球学生大使社区,这可能是你进入微软的机会。
+
+# 入门指南
+
+> **教师们**:我们[提供了一些建议](for-teachers.md),帮助您使用这套课程。我们期待您在[讨论论坛](https://github.com/microsoft/Data-Science-For-Beginners/discussions)中的反馈!
+
+> **[学生们](https://aka.ms/student-page)**:如果你想自己学习这套课程,可以 fork 整个仓库并独立完成练习,从课前测验开始。然后阅读课程内容并完成其他活动。尝试通过理解课程内容来创建项目,而不是直接复制解决方案代码;不过,解决方案代码可以在每个项目课程的 /solutions 文件夹中找到。另一个建议是与朋友组成学习小组,一起学习内容。对于进一步学习,我们推荐 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum)。
+
+## 团队介绍
+
+[](https://youtu.be/8mzavjQSMM4 "宣传视频")
+
+**Gif 制作:** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal)
+
+> 🎥 点击上方图片观看关于项目及其创建者的视频!
+
+## 教学法
+
+在设计这套课程时,我们选择了两个教学原则:确保课程是基于项目的,并且包含频繁的测验。在本系列课程结束时,学生将学习到数据科学的基本原理,包括伦理概念、数据准备、不同的数据处理方式、数据可视化、数据分析、数据科学的实际应用案例等。
+
+此外,课前的低压力测验可以帮助学生集中注意力学习某个主题,而课后的测验则能进一步巩固知识。这套课程设计灵活有趣,可以完整学习,也可以部分学习。项目从简单开始,到10周课程结束时逐渐变得复杂。
+
+> 查看我们的 [行为准则](CODE_OF_CONDUCT.md)、[贡献指南](CONTRIBUTING.md)、[翻译指南](TRANSLATIONS.md)。我们欢迎您的建设性反馈!
+
+## 每节课包含:
+
+- 可选的草图笔记
+- 可选的补充视频
+- 课前热身测验
+- 书面课程内容
+- 对于基于项目的课程,提供逐步构建项目的指南
+- 知识检查
+- 挑战
+- 补充阅读
+- 作业
+- 课后测验
+
+> **关于测验的说明**:所有测验都包含在 Quiz-App 文件夹中,共有40个测验,每个测验包含三个问题。测验链接嵌入在课程中,但测验应用可以在本地运行或部署到 Azure;请按照 `quiz-app` 文件夹中的说明操作。测验正在逐步进行本地化。
+
+## 课程内容
+
+| 绘制的草图笔记](./sketchnotes/00-Roadmap.png)|
+|:---:|
+| 数据科学入门:路线图 - _由 [@nitya](https://twitter.com/nitya) 绘制的草图笔记_ |
+
+| 课程编号 | 主题 | 课程分组 | 学习目标 | 链接课程 | 作者 |
+| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: |
+| 01 | 定义数据科学 | [简介](1-Introduction/README.md) | 学习数据科学的基本概念,以及它与人工智能、机器学习和大数据的关系。 | [课程](1-Introduction/01-defining-data-science/README.md) [视频](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
+| 02 | 数据科学伦理 | [简介](1-Introduction/README.md) | 数据伦理的概念、挑战和框架。 | [课程](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
+| 03 | 定义数据 | [简介](1-Introduction/README.md) | 数据的分类及其常见来源。 | [课程](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 04 | 统计与概率简介 | [简介](1-Introduction/README.md) | 使用概率和统计的数学技术来理解数据。 | [课程](1-Introduction/04-stats-and-probability/README.md) [视频](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
+| 05 | 使用关系数据 | [数据处理](2-Working-With-Data/README.md) | 介绍关系数据,以及使用结构化查询语言(SQL,发音为“see-quell”)探索和分析关系数据的基础知识。 | [课程](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) |
+| 06 | 使用 NoSQL 数据 | [数据处理](2-Working-With-Data/README.md) | 介绍非关系数据的各种类型,以及探索和分析文档数据库的基础知识。 | [课程](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 07 | 使用 Python | [数据处理](2-Working-With-Data/README.md) | 使用 Python 进行数据探索的基础知识,包括 Pandas 等库。建议具备 Python 编程的基础知识。 | [课程](2-Working-With-Data/07-python/README.md) [视频](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
+| 08 | 数据准备 | [数据处理](2-Working-With-Data/README.md) | 讨论清理和转换数据的技术,以应对缺失、不准确或不完整数据的挑战。 | [课程](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
+| 09 | 数量可视化 | [数据可视化](3-Data-Visualization/README.md) | 学习如何使用 Matplotlib 可视化鸟类数据 🦆 | [课程](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 10 | 数据分布可视化 | [数据可视化](3-Data-Visualization/README.md) | 可视化区间内的观察和趋势。 | [课程](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 11 | 比例可视化 | [数据可视化](3-Data-Visualization/README.md) | 可视化离散和分组百分比。 | [课程](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 12 | 关系可视化 | [数据可视化](3-Data-Visualization/README.md) | 可视化数据集及其变量之间的连接和相关性。 | [课程](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 13 | 有意义的可视化 | [数据可视化](3-Data-Visualization/README.md) | 提供技术和指导,使您的可视化在解决问题和洞察方面更有价值。 | [课程](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
+| 14 | 数据科学生命周期简介 | [生命周期](4-Data-Science-Lifecycle/README.md) | 介绍数据科学生命周期及其第一步:数据获取和提取。 | [课程](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
+| 15 | 数据分析 | [生命周期](4-Data-Science-Lifecycle/README.md) | 数据科学生命周期的这一阶段专注于数据分析技术。 | [课程](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
+| 16 | 数据沟通 | [生命周期](4-Data-Science-Lifecycle/README.md) | 数据科学生命周期的这一阶段专注于以易于决策者理解的方式呈现数据洞察。 | [课程](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
+| 17 | 云中的数据科学 | [云数据](5-Data-Science-In-Cloud/README.md) | 这一系列课程介绍了云中的数据科学及其优势。 | [课程](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 18 | 云中的数据科学 | [云数据](5-Data-Science-In-Cloud/README.md) | 使用低代码工具训练模型。 | [课程](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 19 | 云中的数据科学 | [云数据](5-Data-Science-In-Cloud/README.md) | 使用 Azure Machine Learning Studio 部署模型。 | [课程](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) 和 [Maud](https://twitter.com/maudstweets) |
+| 20 | 野外的数据科学 | [真实场景](6-Data-Science-In-Wild/README.md) | 数据科学驱动的真实世界项目。 | [课程](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
+
+## GitHub Codespaces
+
+按照以下步骤在 Codespace 中打开此示例:
+1. 点击“Code”下拉菜单,选择“Open with Codespaces”选项。
+2. 在面板底部选择“+ New codespace”。
+更多信息,请查看 [GitHub 文档](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace)。
+
+## VSCode Remote - Containers
+按照以下步骤使用本地机器和 VSCode 的 VS Code Remote - Containers 扩展在容器中打开此仓库:
+
+1. 如果这是您第一次使用开发容器,请确保您的系统满足前置要求(例如安装了 Docker),请参考 [入门文档](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started)。
+
+要使用此仓库,您可以选择在隔离的 Docker 卷中打开仓库:
+
+**注意**:底层将使用 Remote-Containers 的 **Clone Repository in Container Volume...** 命令将源代码克隆到 Docker 卷中,而不是本地文件系统。[卷](https://docs.docker.com/storage/volumes/) 是持久化容器数据的首选机制。
+
+或者打开本地克隆或下载的仓库版本:
+
+- 将此仓库克隆到您的本地文件系统。
+- 按 F1 并选择 **Remote-Containers: Open Folder in Container...** 命令。
+- 选择此文件夹的克隆副本,等待容器启动,然后尝试操作。
+
+## 离线访问
+
+您可以使用 [Docsify](https://docsify.js.org/#/) 离线运行此文档。Fork 此仓库,在您的本地机器上 [安装 Docsify](https://docsify.js.org/#/quickstart),然后在此仓库的根文件夹中输入 `docsify serve`。网站将在您的本地主机的 3000 端口上运行:`localhost:3000`。
+
+> 注意,笔记本文件不会通过 Docsify 渲染,因此当您需要运行笔记本时,请在运行 Python 内核的 VS Code 中单独运行。
+
+## 寻求帮助!
+
+如果您希望翻译全部或部分课程,请参考我们的 [翻译指南](TRANSLATIONS.md)。
+
+## 其他课程
+
+我们的团队还制作了其他课程!查看以下内容:
+
+- [生成式 AI 初学者课程](https://aka.ms/genai-beginners)
+- [生成式 AI 初学者课程 .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)
+- [使用 JavaScript 的生成式 AI](https://github.com/microsoft/generative-ai-with-javascript)
+- [使用 Java 的生成式 AI](https://aka.ms/genaijava)
+- [AI 初学者课程](https://aka.ms/ai-beginners)
+- [数据科学初学者课程](https://aka.ms/datascience-beginners)
+- [机器学习初学者课程](https://aka.ms/ml-beginners)
+- [网络安全初学者课程](https://github.com/microsoft/Security-101)
+- [Web 开发初学者课程](https://aka.ms/webdev-beginners)
+- [物联网初学者课程](https://aka.ms/iot-beginners)
+- [XR 开发初学者课程](https://github.com/microsoft/xr-development-for-beginners)
+- [掌握 GitHub Copilot 配对编程](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming)
+- [掌握 GitHub Copilot 针对 C#/.NET 开发者](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers)
+- [选择您的 Copilot 冒险](https://github.com/microsoft/CopilotAdventures)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言版本的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/SECURITY.md b/translations/zh/SECURITY.md
new file mode 100644
index 00000000..ec2fc662
--- /dev/null
+++ b/translations/zh/SECURITY.md
@@ -0,0 +1,49 @@
+
+## 安全性
+
+Microsoft 非常重视我们软件产品和服务的安全性,这包括通过我们的 GitHub 组织管理的所有源代码库,这些组织包括 [Microsoft](https://github.com/Microsoft)、[Azure](https://github.com/Azure)、[DotNet](https://github.com/dotnet)、[AspNet](https://github.com/aspnet)、[Xamarin](https://github.com/xamarin) 和 [我们的 GitHub 组织](https://opensource.microsoft.com/)。
+
+如果您认为在任何 Microsoft 拥有的代码库中发现了符合 [Microsoft 对安全漏洞的定义](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)) 的安全漏洞,请按照以下描述向我们报告。
+
+## 报告安全问题
+
+**请不要通过公共 GitHub 问题报告安全漏洞。**
+
+相反,请通过 Microsoft 安全响应中心 (MSRC) 报告,网址为 [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report)。
+
+如果您更愿意在不登录的情况下提交,请发送电子邮件至 [secure@microsoft.com](mailto:secure@microsoft.com)。如果可能,请使用我们的 PGP 密钥加密您的消息;您可以从 [Microsoft 安全响应中心 PGP 密钥页面](https://www.microsoft.com/en-us/msrc/pgp-key-msrc) 下载。
+
+您应该会在 24 小时内收到回复。如果由于某种原因未收到,请通过电子邮件跟进以确保我们收到了您的原始消息。更多信息请访问 [microsoft.com/msrc](https://www.microsoft.com/msrc)。
+
+请尽可能提供以下所需信息,以帮助我们更好地理解问题的性质和范围:
+
+ * 问题类型(例如,缓冲区溢出、SQL 注入、跨站脚本攻击等)
+ * 与问题表现相关的源文件的完整路径
+ * 受影响源代码的位置(标签/分支/提交或直接 URL)
+ * 复现问题所需的任何特殊配置
+ * 复现问题的分步说明
+ * 概念验证或漏洞利用代码(如果可能)
+ * 问题的影响,包括攻击者可能如何利用该问题
+
+这些信息将帮助我们更快地对您的报告进行分类和处理。
+
+如果您是为漏洞赏金计划报告问题,更完整的报告可能会获得更高的赏金奖励。有关我们当前计划的更多详细信息,请访问 [Microsoft 漏洞赏金计划](https://microsoft.com/msrc/bounty) 页面。
+
+## 首选语言
+
+我们更倾向于使用英语进行所有交流。
+
+## 政策
+
+Microsoft 遵循 [协调漏洞披露](https://www.microsoft.com/en-us/msrc/cvd) 原则。
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。尽管我们努力确保准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。对于因使用本翻译而引起的任何误解或误读,我们概不负责。
\ No newline at end of file
diff --git a/translations/zh/SUPPORT.md b/translations/zh/SUPPORT.md
new file mode 100644
index 00000000..303d9773
--- /dev/null
+++ b/translations/zh/SUPPORT.md
@@ -0,0 +1,22 @@
+
+# 支持
+## 如何提交问题并获取帮助
+
+此项目使用 GitHub Issues 来跟踪错误和功能请求。在提交新问题之前,请先搜索现有问题以避免重复。对于新问题,请将您的错误或功能请求提交为一个新问题。
+
+如果您在使用此项目时需要帮助或有疑问,请提交一个问题。
+
+## Microsoft 支持政策
+
+对此存储库的支持仅限于上述列出的资源。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/docs/_sidebar.md b/translations/zh/docs/_sidebar.md
new file mode 100644
index 00000000..2f68a5be
--- /dev/null
+++ b/translations/zh/docs/_sidebar.md
@@ -0,0 +1,38 @@
+
+- 介绍
+ - [定义数据科学](../1-Introduction/01-defining-data-science/README.md)
+ - [数据科学的伦理](../1-Introduction/02-ethics/README.md)
+ - [定义数据](../1-Introduction/03-defining-data/README.md)
+ - [概率与统计](../1-Introduction/04-stats-and-probability/README.md)
+- 数据处理
+ - [关系型数据库](../2-Working-With-Data/05-relational-databases/README.md)
+ - [非关系型数据库](../2-Working-With-Data/06-non-relational/README.md)
+ - [Python](../2-Working-With-Data/07-python/README.md)
+ - [数据准备](../2-Working-With-Data/08-data-preparation/README.md)
+- 数据可视化
+ - [数量可视化](../3-Data-Visualization/09-visualization-quantities/README.md)
+ - [分布可视化](../3-Data-Visualization/10-visualization-distributions/README.md)
+ - [比例可视化](../3-Data-Visualization/11-visualization-proportions/README.md)
+ - [关系可视化](../3-Data-Visualization/12-visualization-relationships/README.md)
+ - [有意义的可视化](../3-Data-Visualization/13-meaningful-visualizations/README.md)
+- 数据科学生命周期
+ - [介绍](../4-Data-Science-Lifecycle/14-Introduction/README.md)
+ - [分析](../4-Data-Science-Lifecycle/15-analyzing/README.md)
+ - [沟通](../4-Data-Science-Lifecycle/16-communication/README.md)
+- 云端数据科学
+ - [介绍](../5-Data-Science-In-Cloud/17-Introduction/README.md)
+ - [低代码](../5-Data-Science-In-Cloud/18-Low-Code/README.md)
+ - [Azure](../5-Data-Science-In-Cloud/19-Azure/README.md)
+- 数据科学的实际应用
+ - [实际中的数据科学](../6-Data-Science-In-Wild/README.md)
+
+**免责声明**:
+本文档使用AI翻译服务[Co-op Translator](https://github.com/Azure/co-op-translator)进行翻译。虽然我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/for-teachers.md b/translations/zh/for-teachers.md
new file mode 100644
index 00000000..450d6d25
--- /dev/null
+++ b/translations/zh/for-teachers.md
@@ -0,0 +1,76 @@
+
+## 给教育工作者
+
+您想在课堂上使用这套课程吗?请随意使用!
+
+事实上,您可以直接在 GitHub 上使用它,通过 GitHub Classroom 来实现。
+
+为此,您需要 fork 此仓库。您需要为每节课创建一个单独的仓库,因此需要将每个文件夹提取到一个独立的仓库中。这样,[GitHub Classroom](https://classroom.github.com/classrooms) 就可以单独处理每节课。
+
+这些[完整的说明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以帮助您了解如何设置您的课堂。
+
+## 按原样使用此仓库
+
+如果您希望按当前形式使用此仓库,而不使用 GitHub Classroom,也完全可以实现。您需要与学生沟通,共同完成每节课的学习。
+
+在在线教学环境中(如 Zoom、Teams 或其他平台),您可以为测验创建分组讨论室,并指导学生做好学习准备。然后邀请学生参加测验,并在规定时间内以“问题”的形式提交答案。如果您希望学生公开协作完成作业,也可以采用类似的方式。
+
+如果您更倾向于私密的教学方式,可以让学生逐节 fork 课程到他们自己的 GitHub 私有仓库,并授予您访问权限。这样,他们可以私密地完成测验和作业,并通过您课堂仓库中的问题提交给您。
+
+在在线课堂中有许多方法可以实现这些目标。请告诉我们哪种方式最适合您!
+
+## 课程内容包括:
+
+20节课、40个测验和20个作业。课程配有手绘笔记,适合视觉学习者。许多课程同时提供 Python 和 R 的版本,可以通过 VS Code 中的 Jupyter notebooks 完成。了解更多关于如何设置您的课堂以使用这些技术栈的信息:https://code.visualstudio.com/docs/datascience/jupyter-notebooks。
+
+所有手绘笔记,包括一张大幅海报,都在[这个文件夹](../../sketchnotes)中。
+
+整个课程也可以[以 PDF 格式](../../pdf/readme.pdf)获取。
+
+您还可以使用 [Docsify](https://docsify.js.org/#/) 将此课程作为独立的离线友好型网站运行。[安装 Docsify](https://docsify.js.org/#/quickstart)到您的本地机器,然后在您本地仓库的根文件夹中输入 `docsify serve`。网站将在您的本地端口 3000 上运行:`localhost:3000`。
+
+离线友好的课程版本将作为独立网页打开:https://localhost:3000
+
+课程分为6个部分:
+
+- 1: 介绍
+ - 1: 数据科学定义
+ - 2: 伦理
+ - 3: 数据定义
+ - 4: 概率与统计概述
+- 2: 数据处理
+ - 5: 关系型数据库
+ - 6: 非关系型数据库
+ - 7: Python
+ - 8: 数据准备
+- 3: 数据可视化
+ - 9: 数量的可视化
+ - 10: 分布的可视化
+ - 11: 比例的可视化
+ - 12: 关系的可视化
+ - 13: 有意义的可视化
+- 4: 数据科学生命周期
+ - 14: 介绍
+ - 15: 分析
+ - 16: 沟通
+- 5: 云端数据科学
+ - 17: 介绍
+ - 18: 低代码选项
+ - 19: Azure
+- 6: 数据科学的实际应用
+ - 20: 概述
+
+## 请告诉我们您的想法!
+
+我们希望这套课程能够满足您和学生的需求。请在讨论区中给我们反馈!欢迎您在讨论区为您的学生创建一个课堂专区。
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file
diff --git a/translations/zh/quiz-app/README.md b/translations/zh/quiz-app/README.md
new file mode 100644
index 00000000..b246bdd7
--- /dev/null
+++ b/translations/zh/quiz-app/README.md
@@ -0,0 +1,137 @@
+
+# 测验
+
+这些测验是数据科学课程的课前和课后测验,课程网址为:https://aka.ms/datascience-beginners
+
+## 添加翻译后的测验集
+
+通过在 `assets/translations` 文件夹中创建匹配的测验结构来添加测验翻译。原始测验位于 `assets/translations/en` 文件夹中。测验分为几个组别。请确保编号与正确的测验部分对齐。在整个课程中共有 40 个测验,编号从 0 开始。
+
+编辑翻译后,请编辑翻译文件夹中的 `index.js` 文件,按照 `en` 文件夹中的约定导入所有文件。
+
+编辑 `assets/translations` 文件夹中的 `index.js` 文件以导入新的翻译文件。
+
+然后,编辑此应用中的 `App.vue` 文件中的下拉菜单以添加您的语言。将本地化缩写与您的语言文件夹名称匹配。
+
+最后,编辑翻译课程中的所有测验链接(如果存在),以包含本地化查询参数,例如:`?loc=fr`。
+
+## 项目设置
+
+```
+npm install
+```
+
+### 编译并热加载以进行开发
+
+```
+npm run serve
+```
+
+### 编译并压缩以进行生产环境
+
+```
+npm run build
+```
+
+### 检查并修复文件
+
+```
+npm run lint
+```
+
+### 自定义配置
+
+请参阅 [配置参考](https://cli.vuejs.org/config/)。
+
+致谢:感谢此测验应用的原始版本:https://github.com/arpan45/simple-quiz-vue
+
+## 部署到 Azure
+
+以下是帮助您入门的分步指南:
+
+1. Fork GitHub 仓库
+确保您的静态 Web 应用代码位于您的 GitHub 仓库中。Fork 此仓库。
+
+2. 创建 Azure 静态 Web 应用
+- 创建一个 [Azure 账户](http://azure.microsoft.com)
+- 访问 [Azure 门户](https://portal.azure.com)
+- 点击“创建资源”,搜索“静态 Web 应用”。
+- 点击“创建”。
+
+3. 配置静态 Web 应用
+- 基本信息:
+ - 订阅:选择您的 Azure 订阅。
+ - 资源组:创建一个新的资源组或使用现有的资源组。
+ - 名称:为您的静态 Web 应用提供一个名称。
+ - 区域:选择离您的用户最近的区域。
+
+- #### 部署详情:
+ - 来源:选择“GitHub”。
+ - GitHub 账户:授权 Azure 访问您的 GitHub 账户。
+ - 组织:选择您的 GitHub 组织。
+ - 仓库:选择包含静态 Web 应用的仓库。
+ - 分支:选择您要部署的分支。
+
+- #### 构建详情:
+ - 构建预设:选择您的应用所使用的框架(例如 React、Angular、Vue 等)。
+ - 应用位置:指定包含应用代码的文件夹(例如,如果在根目录则为 `/`)。
+ - API 位置:如果有 API,请指定其位置(可选)。
+ - 输出位置:指定生成构建输出的文件夹(例如 build 或 dist)。
+
+4. 审核并创建
+审核您的设置并点击“创建”。Azure 将设置必要的资源并在您的仓库中创建一个 GitHub Actions 工作流。
+
+5. GitHub Actions 工作流
+Azure 会自动在您的仓库中创建一个 GitHub Actions 工作流文件(.github/workflows/azure-static-web-apps-.yml)。此工作流将处理构建和部署过程。
+
+6. 监控部署
+进入 GitHub 仓库中的“Actions”标签。
+您应该会看到一个工作流正在运行。此工作流将构建并部署您的静态 Web 应用到 Azure。
+工作流完成后,您的应用将上线,您可以通过提供的 Azure URL 访问。
+
+### 示例工作流文件
+
+以下是 GitHub Actions 工作流文件的示例:
+name: Azure Static Web Apps CI/CD
+```
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - main
+
+jobs:
+ build_and_deploy_job:
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ action: "upload"
+ app_location: "quiz-app" # App source code path
+ api_location: ""API source code path optional
+ output_location: "dist" #Built app content directory - optional
+```
+
+### 其他资源
+- [Azure 静态 Web 应用文档](https://learn.microsoft.com/azure/static-web-apps/getting-started)
+- [GitHub Actions 文档](https://docs.github.com/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app)
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于关键信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。
\ No newline at end of file
diff --git a/translations/zh/sketchnotes/README.md b/translations/zh/sketchnotes/README.md
new file mode 100644
index 00000000..22c1fee8
--- /dev/null
+++ b/translations/zh/sketchnotes/README.md
@@ -0,0 +1,19 @@
+
+在这里查看所有手绘笔记!
+
+## 致谢
+
+Nitya Narasimhan,艺术家
+
+
+
+**免责声明**:
+本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言的文档作为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。
\ No newline at end of file