diff --git a/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tl.png b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tl.png new file mode 100644 index 00000000..d9c298f4 Binary files /dev/null and b/translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tl.png differ diff --git a/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tl.png b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tl.png new file mode 100644 index 00000000..d37e7368 Binary files /dev/null and b/translated_images/00-Title.8af36cd35da1ac555b678627fbdc6e320c75f0100876ea41d30ea205d3b08d22.tl.png differ diff --git a/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tl.png b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tl.png new file mode 100644 index 00000000..8af7c8b7 Binary files /dev/null and b/translated_images/01-Definitions.1b14ddc9525dc0d9416a2f500f30e8652d21622f4e184100d405bd874ecbc17d.tl.png differ diff --git a/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tl.png b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tl.png new file mode 100644 index 00000000..4a0e37fb Binary files /dev/null and b/translated_images/02-Ethics.728d166895302ab09c726c2a8385abbf7c3e36752f0ee933bba7ea8f78f5cdca.tl.png differ diff --git a/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tl.png b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tl.png new file mode 100644 index 00000000..e29b5797 Binary files /dev/null and b/translated_images/03-DefiningData.f800817186949e078a81e7d5fdf9bb83834e561316bf790d4645c970ed4ff9ae.tl.png differ diff --git a/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tl.png b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tl.png new file mode 100644 index 00000000..41a885da Binary files /dev/null and b/translated_images/04-Statistics-Probability.cfc569d84a9f186748b69af7fdac3fa560329ccfc0e28994bfa65450ed78bdde.tl.png differ diff --git a/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tl.png b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tl.png new file mode 100644 index 00000000..39431c4b Binary files /dev/null and b/translated_images/05-RelationalData.af50f5a3e50f7456f1d895326b489d3b3f608a09abc28933d5dc6ba6ac191565.tl.png differ diff --git a/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tl.png b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tl.png new file mode 100644 index 00000000..267cb3ea Binary files /dev/null and b/translated_images/06-NoSQL.42a91ea0cd5769fe43e3c21554eb6d308b1fdf1435a6ae7c47b1a9dedab2da84.tl.png differ diff --git a/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tl.png b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tl.png new file mode 100644 index 00000000..3e299fba Binary files /dev/null and b/translated_images/07-WorkWithPython.8bf4a5013718bef90cb3887355e158974494de38d2ad420b6cdce2fcd982cd89.tl.png differ diff --git a/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tl.png b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tl.png new file mode 100644 index 00000000..7ab024c3 Binary files /dev/null and b/translated_images/08-DataPreparation.e3b185c37958e96435267555edc6e54f2eb0f2d18745cfd550d3f9ba34877072.tl.png differ diff --git a/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tl.png b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tl.png new file mode 100644 index 00000000..ae3aebe9 Binary files /dev/null and b/translated_images/09-Visualizing-Quantities.5c846edd805a5238789865f960b1e2615b6889c715852f02a20a722484d97fbb.tl.png differ diff --git a/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tl.png b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tl.png new file mode 100644 index 00000000..ebf0b237 Binary files /dev/null and b/translated_images/10-Visualizing-Distributions.8097fd8abd7221a1da63a156aaca497d844697e6a0ef0bbf8795e0f6a0bf7309.tl.png differ diff --git a/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tl.png b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tl.png new file mode 100644 index 00000000..7309f93c Binary files /dev/null and b/translated_images/11-Visualizing-Proportions.3e82f24af94d206e51faf9aff1b454a52c8e69887296ac549d6286450cc64d1f.tl.png differ diff --git a/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tl.png b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tl.png new file mode 100644 index 00000000..5cd55127 Binary files /dev/null and b/translated_images/12-Visualizing-Relationships.4466f9bd260f03dd29dc04933456ade8466d7ed2a37a98b78ed47f061488d57a.tl.png differ diff --git a/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tl.png b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tl.png new file mode 100644 index 00000000..bfcba742 Binary files /dev/null and b/translated_images/13-MeaningfulViz.4db6f1997e519908c85e4b9b3b54609b2e9e90a27be9423a9b956ab9a7329c80.tl.png differ diff --git a/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tl.png b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tl.png new file mode 100644 index 00000000..7fe98355 Binary files /dev/null and b/translated_images/14-DataScience-Lifecycle.2c9f277e4d69fbaadc814c2b295be5e2df8f006b80543a974d109324f0897b7b.tl.png differ diff --git a/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tl.png b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tl.png new file mode 100644 index 00000000..fe413206 Binary files /dev/null and b/translated_images/15-Analyzing.b501f3dbdc958f6fab0a507e307381c29e76707c3c41e174977e380a8b4063a9.tl.png differ diff --git a/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tl.png b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tl.png new file mode 100644 index 00000000..16e07713 Binary files /dev/null and b/translated_images/16-Communicating.f1d29cd7984442a4804d0df8b7e8438b1abc7c1fcf5b3471e89eaf2e9ba087d9.tl.png differ diff --git a/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tl.png b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tl.png new file mode 100644 index 00000000..d7485b75 Binary files /dev/null and b/translated_images/17-DataScience-Cloud.0df76ac874805c141082935ca07e8eca7d3790b83df25d641a807495e4f19de2.tl.png differ diff --git a/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tl.png b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tl.png new file mode 100644 index 00000000..6266b38a Binary files /dev/null and b/translated_images/18-DataScience-Cloud.3a7292e8182b74ebfe5b246c0193c42592164aef625fe66e44194c19b2971f1a.tl.png differ diff --git a/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tl.png b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tl.png new file mode 100644 index 00000000..346f5f66 Binary files /dev/null and b/translated_images/19-DataScience-Cloud.177b38fb86301fc6f06dea5b25a58f8abe1aa762d3a815d811c83ee22d8a8d6a.tl.png differ diff --git a/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tl.png b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tl.png new file mode 100644 index 00000000..35c686fc Binary files /dev/null and b/translated_images/20-DataScience-Humanities.1d1a155f4d12a6679eb4f2be1074a456957f00affe8137c9cb22dedd6e7337e7.tl.png differ diff --git a/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tl.png b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tl.png new file mode 100644 index 00000000..9d82b81b Binary files /dev/null and b/translated_images/20-DataScience-RealWorld.976976229ee113426d617ef7a1a8cb8f80f7b7bca6860a167b1ca155b891415b.tl.png differ diff --git a/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tl.png b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tl.png new file mode 100644 index 00000000..9dac747f Binary files /dev/null and b/translated_images/20-DataScience-Research.da434814c51b4ef8cd15a8efa161d066eff282b59286a2ab33b834434df96db9.tl.png differ diff --git a/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tl.png b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tl.png new file mode 100644 index 00000000..5b6f44b3 Binary files /dev/null and b/translated_images/20-DataScience-Sustainability.d4097bc684431da6b8f4b5f60896b6db7ca915f2366774416b2cd9939609a0c4.tl.png differ diff --git a/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tl.png b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tl.png new file mode 100644 index 00000000..9876f25c Binary files /dev/null and b/translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tl.png differ diff --git a/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tl.png b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tl.png new file mode 100644 index 00000000..3a85f737 Binary files /dev/null and b/translated_images/2D.b3342157139dd804f8fb5adc58721f77e59273fc980175b4ef735ec18686713c.tl.png differ diff --git a/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tl.png b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tl.png new file mode 100644 index 00000000..a9044f60 Binary files /dev/null and b/translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tl.png differ diff --git a/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tl.png b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tl.png new file mode 100644 index 00000000..d4d3c761 Binary files /dev/null and b/translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tl.png differ diff --git a/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tl.png b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tl.png new file mode 100644 index 00000000..d4d3c761 Binary files /dev/null and b/translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tl.png differ diff --git a/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tl.png b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tl.png new file mode 100644 index 00000000..f1b60396 Binary files /dev/null and b/translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tl.png differ diff --git a/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tl.png b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tl.png new file mode 100644 index 00000000..2d4de7e7 Binary files /dev/null and b/translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tl.png differ diff --git a/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tl.png b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tl.png new file mode 100644 index 00000000..217572e0 Binary files /dev/null and b/translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tl.png differ diff --git a/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tl.png b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tl.png new file mode 100644 index 00000000..836fc2dd Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tl.png differ diff --git a/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tl.png b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tl.png new file mode 100644 index 00000000..ed456524 Binary files /dev/null and b/translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tl.png differ diff --git a/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tl.png b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tl.png new file mode 100644 index 00000000..40f05e1a Binary files /dev/null and b/translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tl.png differ diff --git a/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tl.png b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tl.png new file mode 100644 index 00000000..09eb79d3 Binary files /dev/null and b/translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tl.png differ diff --git a/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tl.png b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tl.png new file mode 100644 index 00000000..a16c0627 Binary files /dev/null and b/translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tl.png differ diff --git a/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tl.png b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tl.png new file mode 100644 index 00000000..9d8a5c67 Binary files /dev/null and b/translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tl.png differ diff --git a/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tl.png b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tl.png new file mode 100644 index 00000000..139dc083 Binary files /dev/null and b/translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tl.png differ diff --git a/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tl.png b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tl.png new file mode 100644 index 00000000..139dc083 Binary files /dev/null and b/translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tl.png differ diff --git a/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tl.jpg b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tl.jpg new file mode 100644 index 00000000..b1cbeb3e Binary files /dev/null and b/translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tl.jpg differ diff --git a/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tl.jpg b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tl.jpg new file mode 100644 index 00000000..b15877b1 Binary files /dev/null and b/translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tl.jpg differ diff --git a/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tl.jpg b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tl.jpg new file mode 100644 index 00000000..57474eb6 Binary files /dev/null and b/translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tl.jpg differ diff --git a/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tl.jpg b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tl.jpg new file mode 100644 index 00000000..c400ccfb Binary files /dev/null and b/translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tl.jpg differ diff --git a/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tl.jpg b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tl.jpg new file mode 100644 index 00000000..07e59697 Binary files /dev/null and b/translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tl.jpg differ diff --git a/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tl.jpg b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tl.jpg new file mode 100644 index 00000000..18b0b336 Binary files /dev/null and b/translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tl.jpg differ diff --git a/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tl.jpg b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tl.jpg new file mode 100644 index 00000000..032326e9 Binary files /dev/null and b/translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tl.jpg differ diff --git a/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tl.png b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tl.png new file mode 100644 index 00000000..f63e0173 Binary files /dev/null and b/translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tl.png differ diff --git a/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tl.png b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tl.png new file mode 100644 index 00000000..0c3cd8cc Binary files /dev/null and b/translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tl.png differ diff --git a/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tl.png b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tl.png new file mode 100644 index 00000000..65feeabe Binary files /dev/null and b/translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tl.png differ diff --git a/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tl.png b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tl.png new file mode 100644 index 00000000..a598fdd4 Binary files /dev/null and b/translated_images/boxplot_explanation.4039b7de08780fd493ef798b41f7291d753f1f84de8955645f00c586e65f16a3.tl.png differ diff --git a/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tl.png b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tl.png new file mode 100644 index 00000000..536da9e0 Binary files /dev/null and b/translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tl.png differ diff --git a/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tl.png b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tl.png new file mode 100644 index 00000000..536da9e0 Binary files /dev/null and b/translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tl.png differ diff --git a/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tl.png b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tl.png new file mode 100644 index 00000000..cf863453 Binary files /dev/null and b/translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tl.png differ diff --git a/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tl.png b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tl.png new file mode 100644 index 00000000..6132710f Binary files /dev/null and b/translated_images/category-counts.abee8188c4c9b6f0b4e13e2920039c9fa5cc151031a5c28e5a5ff6fb8c072ab4.tl.png differ diff --git a/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tl.png b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tl.png new file mode 100644 index 00000000..602c761c Binary files /dev/null and b/translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tl.png differ diff --git a/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tl.png b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tl.png new file mode 100644 index 00000000..161ef0a5 Binary files /dev/null and b/translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tl.png differ diff --git a/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tl.png b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tl.png new file mode 100644 index 00000000..bea2b83a Binary files /dev/null and b/translated_images/category-length.b0d9a0208a7b37136bed52d3abd90190543fbca94bde6f51652313cc6d017187.tl.png differ diff --git a/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tl.jpg b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tl.jpg new file mode 100644 index 00000000..30a2ba6e Binary files /dev/null and b/translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tl.jpg differ diff --git a/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tl.png b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tl.png new file mode 100644 index 00000000..eb66e0a7 Binary files /dev/null and b/translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tl.png differ diff --git a/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tl.png b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tl.png new file mode 100644 index 00000000..4b8b1616 Binary files /dev/null and b/translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tl.png differ diff --git a/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tl.png b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tl.png new file mode 100644 index 00000000..310bc486 Binary files /dev/null and b/translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tl.png differ diff --git a/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tl.png b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tl.png new file mode 100644 index 00000000..66763c41 Binary files /dev/null and b/translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tl.png differ diff --git a/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tl.jpg b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tl.jpg new file mode 100644 index 00000000..59186b72 Binary files /dev/null and b/translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tl.jpg differ diff --git a/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tl.png b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tl.png new file mode 100644 index 00000000..af8a520a Binary files /dev/null and b/translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tl.png differ diff --git a/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tl.png b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tl.png new file mode 100644 index 00000000..fa9706d7 Binary files /dev/null and b/translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tl.png differ diff --git a/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tl.png b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tl.png new file mode 100644 index 00000000..bd4a4df2 Binary files /dev/null and b/translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tl.png differ diff --git a/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tl.png b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tl.png new file mode 100644 index 00000000..7c8eb2bd Binary files /dev/null and b/translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tl.png differ diff --git a/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tl.png b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tl.png new file mode 100644 index 00000000..9f44ee7b Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tl.png differ diff --git a/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tl.png b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tl.png new file mode 100644 index 00000000..f09b8f73 Binary files /dev/null and b/translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tl.png differ diff --git a/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tl.png b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tl.png new file mode 100644 index 00000000..0683fafe Binary files /dev/null and b/translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tl.png differ diff --git a/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tl.png b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tl.png new file mode 100644 index 00000000..2740b3a3 Binary files /dev/null and b/translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tl.png differ diff --git a/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tl.jpg b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tl.jpg new file mode 100644 index 00000000..54145b36 Binary files /dev/null and b/translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tl.jpg differ diff --git a/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tl.png b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tl.png new file mode 100644 index 00000000..f85ce4fe Binary files /dev/null and b/translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tl.png differ diff --git a/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tl.jpg b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tl.jpg new file mode 100644 index 00000000..d89d1845 Binary files /dev/null and b/translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tl.jpg differ diff --git a/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tl.jpg b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tl.jpg new file mode 100644 index 00000000..336605f9 Binary files /dev/null and b/translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tl.jpg differ diff --git a/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tl.png b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tl.png new file mode 100644 index 00000000..c91ceb49 Binary files /dev/null and b/translated_images/dataframe-1.caf409f0c688e84c85b793998b945f3cb66554e13dbb490d4a52f37909a41eb4.tl.png differ diff --git a/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tl.jpg b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tl.jpg new file mode 100644 index 00000000..6d251782 Binary files /dev/null and b/translated_images/datascienceinthecloud.59ffb059a670fb0a68fee3f0f2906239b25240a57c3990b8c0809c9c7703eabd.tl.jpg differ diff --git a/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tl.png b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tl.png new file mode 100644 index 00000000..087eeab8 Binary files /dev/null and b/translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tl.png differ diff --git a/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tl.png b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tl.png new file mode 100644 index 00000000..36101ea9 Binary files /dev/null and b/translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tl.png differ diff --git a/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tl.png b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tl.png new file mode 100644 index 00000000..40501415 Binary files /dev/null and b/translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tl.png differ diff --git a/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tl.png b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tl.png new file mode 100644 index 00000000..89b8b9d6 Binary files /dev/null and b/translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tl.png differ diff --git a/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tl.png b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tl.png new file mode 100644 index 00000000..ae9d7eef Binary files /dev/null and b/translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tl.png differ diff --git a/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tl.png b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tl.png new file mode 100644 index 00000000..f4f8c8ce Binary files /dev/null and b/translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tl.png differ diff --git a/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tl.png b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tl.png new file mode 100644 index 00000000..774efb33 Binary files /dev/null and b/translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tl.png differ diff --git a/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tl.png b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tl.png new file mode 100644 index 00000000..5affb092 Binary files /dev/null and b/translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tl.png differ diff --git a/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tl.png b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tl.png new file mode 100644 index 00000000..6edb22cd Binary files /dev/null and b/translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tl.png differ diff --git a/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tl.png b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tl.png new file mode 100644 index 00000000..70e70466 Binary files /dev/null and b/translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tl.png differ diff --git a/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tl.png b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tl.png new file mode 100644 index 00000000..4870cb31 Binary files /dev/null and b/translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tl.png differ diff --git a/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tl.png b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tl.png new file mode 100644 index 00000000..4e0880ad Binary files /dev/null and b/translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tl.png differ diff --git a/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tl.png b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tl.png new file mode 100644 index 00000000..ccc99767 Binary files /dev/null and b/translated_images/dist1.0010100b00231819be7540ba60a4909cbda8a1a83c1cc1ceb4d4e8a5bcb325f4.tl.png differ diff --git a/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tl.png b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tl.png new file mode 100644 index 00000000..892bb808 Binary files /dev/null and b/translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tl.png differ diff --git a/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tl.png b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tl.png new file mode 100644 index 00000000..f2d0f317 Binary files /dev/null and b/translated_images/dist2.c398bfd5320401b924305d2cc20a6c0f6670455e61abaf827a359d07b4248969.tl.png differ diff --git a/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tl.png b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tl.png new file mode 100644 index 00000000..825bfb21 Binary files /dev/null and b/translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tl.png differ diff --git a/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tl.png b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tl.png new file mode 100644 index 00000000..e48b0151 Binary files /dev/null and b/translated_images/dist3.ad4d9658559690f561d0ac76bfee5843cce918f9c83805be66e0790ac824ef07.tl.png differ diff --git a/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tl.png b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tl.png new file mode 100644 index 00000000..f4024c58 Binary files /dev/null and b/translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tl.png differ diff --git a/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tl.png b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tl.png new file mode 100644 index 00000000..03adc2a3 Binary files /dev/null and b/translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tl.png differ diff --git a/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tl.png b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tl.png new file mode 100644 index 00000000..22a53d17 Binary files /dev/null and b/translated_images/document-db.ddeec48c6dc9e5fd1c905a6de302537f57a2e74c82753baeaa27e992512282b9.tl.png differ diff --git a/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tl.png b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tl.png new file mode 100644 index 00000000..f13a51dd Binary files /dev/null and b/translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tl.png differ diff --git a/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tl.png b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tl.png new file mode 100644 index 00000000..4c67510b Binary files /dev/null and b/translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tl.png differ diff --git a/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tl.png b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tl.png new file mode 100644 index 00000000..145028d4 Binary files /dev/null and b/translated_images/donut.f016d7be7f08c8f8c49e9217b2ee05e952ecd1bd8c6f5c49466080f4991ad790.tl.png differ diff --git a/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tl.png b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tl.png new file mode 100644 index 00000000..293a76c5 Binary files /dev/null and b/translated_images/ds-for-beginners.d01930c9193ef5228caf620d5462a4189dc1a551e34d121eb777e0463889d7a5.tl.png differ diff --git a/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tl.png b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tl.png new file mode 100644 index 00000000..38d18550 Binary files /dev/null and b/translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tl.png differ diff --git a/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tl.png b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tl.png new file mode 100644 index 00000000..f7099bbb Binary files /dev/null and b/translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tl.png differ diff --git a/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tl.png b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tl.png new file mode 100644 index 00000000..44e02d39 Binary files /dev/null and b/translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tl.png differ diff --git a/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tl.png b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tl.png new file mode 100644 index 00000000..9773f440 Binary files /dev/null and b/translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tl.png differ diff --git a/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tl.png b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tl.png new file mode 100644 index 00000000..f4d08ea5 Binary files /dev/null and b/translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tl.png differ diff --git a/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tl.png b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tl.png new file mode 100644 index 00000000..26e0ae43 Binary files /dev/null and b/translated_images/favicon.37b561214b36d454f9fd1f725d77f310fe256eb88f2a0ae08b9cb18aeb30650c.tl.png differ diff --git a/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tl.png b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tl.png new file mode 100644 index 00000000..e05c0737 Binary files /dev/null and b/translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tl.png differ diff --git a/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tl.png b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tl.png new file mode 100644 index 00000000..cd17350a Binary files /dev/null and b/translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tl.png differ diff --git a/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tl.png b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tl.png new file mode 100644 index 00000000..d4bb0684 Binary files /dev/null and b/translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tl.png differ diff --git a/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tl.png b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tl.png new file mode 100644 index 00000000..c0cc432c Binary files /dev/null and b/translated_images/full-data-bar.a0b37da71a6cd23610c83d1e737c4f0aff0524724ed527b9bed12c0bac5f2f07.tl.png differ diff --git a/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tl.png b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tl.png new file mode 100644 index 00000000..486adaf6 Binary files /dev/null and b/translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tl.png differ diff --git a/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tl.png b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tl.png new file mode 100644 index 00000000..b6b771c9 Binary files /dev/null and b/translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tl.png differ diff --git a/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tl.png b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tl.png new file mode 100644 index 00000000..09dcc959 Binary files /dev/null and b/translated_images/height-boxplot.ccb66b2848b5f51cd28e3acf89512ac7101ad36d0c07fc7b93762c9dcf368d7d.tl.png differ diff --git a/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tl.png b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tl.png new file mode 100644 index 00000000..62092efe Binary files /dev/null and b/translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tl.png differ diff --git a/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tl.png b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tl.png new file mode 100644 index 00000000..59af5f72 Binary files /dev/null and b/translated_images/histogram-conservation.13b3542e7784e41585a3763ba6dfbfaa2a372bcd9edae90675ad18f7b13fa7e3.tl.png differ diff --git a/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tl.png b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tl.png new file mode 100644 index 00000000..daba5a4c Binary files /dev/null and b/translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tl.png differ diff --git a/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tl.png b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tl.png new file mode 100644 index 00000000..a47a487c Binary files /dev/null and b/translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tl.png differ diff --git a/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tl.png b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tl.png new file mode 100644 index 00000000..135a2b27 Binary files /dev/null and b/translated_images/labeled-wingspan.900ffedd7e3ec6de17070dac63c1cf624cb083fb5b6a157bbb1d60f327f331aa.tl.png differ diff --git a/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tl.png b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tl.png new file mode 100644 index 00000000..f876d962 Binary files /dev/null and b/translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tl.png differ diff --git a/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tl.png b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tl.png new file mode 100644 index 00000000..860962e2 Binary files /dev/null and b/translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tl.png differ diff --git a/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tl.png b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tl.png new file mode 100644 index 00000000..860962e2 Binary files /dev/null and b/translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tl.png differ diff --git a/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tl.png b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tl.png new file mode 100644 index 00000000..78179b5d Binary files /dev/null and b/translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tl.png differ diff --git a/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tl.png b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tl.png new file mode 100644 index 00000000..4a6c90e3 Binary files /dev/null and b/translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tl.png differ diff --git a/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tl.png b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tl.png new file mode 100644 index 00000000..2a98fd43 Binary files /dev/null and b/translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tl.png differ diff --git a/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tl.png b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tl.png new file mode 100644 index 00000000..48bbfa19 Binary files /dev/null and b/translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tl.png differ diff --git a/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tl.png b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tl.png new file mode 100644 index 00000000..54164413 Binary files /dev/null and b/translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tl.png differ diff --git a/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tl.png b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tl.png new file mode 100644 index 00000000..96713a66 Binary files /dev/null and b/translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tl.png differ diff --git a/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tl.png b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tl.png new file mode 100644 index 00000000..3f99df5d Binary files /dev/null and b/translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tl.png differ diff --git a/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tl.png b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tl.png new file mode 100644 index 00000000..0c37ab05 Binary files /dev/null and b/translated_images/max-wingspan-labels.46f0cc3c48edd4e00e6ab6d8797e2717a33b4b94d97af3539c5442a1299d03c1.tl.png differ diff --git a/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tl.png b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tl.png new file mode 100644 index 00000000..72f5a3e4 Binary files /dev/null and b/translated_images/max-wingspan.0b8d0858436414aa1c53556bfd07e7d4267120782d236abe10e0473252de0760.tl.png differ diff --git a/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tl.png b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tl.png new file mode 100644 index 00000000..f9902855 Binary files /dev/null and b/translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tl.png differ diff --git a/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tl.png b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tl.png new file mode 100644 index 00000000..866df4b5 Binary files /dev/null and b/translated_images/new-container.650e10c7a20a5f83824264bfaa0f818d8c203f98136f4647385bd0c369b5035b.tl.png differ diff --git a/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tl.png b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tl.png new file mode 100644 index 00000000..3e9ab8ac Binary files /dev/null and b/translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tl.png differ diff --git a/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tl.png b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tl.png new file mode 100644 index 00000000..ac1c0b11 Binary files /dev/null and b/translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tl.png differ diff --git a/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tl.png b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tl.png new file mode 100644 index 00000000..9f699fb4 Binary files /dev/null and b/translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tl.png differ diff --git a/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tl.png b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tl.png new file mode 100644 index 00000000..00145d0b Binary files /dev/null and b/translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tl.png differ diff --git a/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tl.png b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tl.png new file mode 100644 index 00000000..340fd741 Binary files /dev/null and b/translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tl.png differ diff --git a/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tl.png b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tl.png new file mode 100644 index 00000000..b43003dd Binary files /dev/null and b/translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tl.png differ diff --git a/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tl.png b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tl.png new file mode 100644 index 00000000..c8f5abdb Binary files /dev/null and b/translated_images/pie1.8f6a8bfac96de60e38ced1a1ac39fd9caafa95142b3bbcb65d540bcad678806f.tl.png differ diff --git a/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tl.png b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tl.png new file mode 100644 index 00000000..fe39f758 Binary files /dev/null and b/translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tl.png differ diff --git a/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tl.png b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tl.png new file mode 100644 index 00000000..276636a0 Binary files /dev/null and b/translated_images/probability-density.a8aad29f17a14afb519b407c7b6edeb9f3f9aa5f69c9e6d9445f604e5f8a2bf7.tl.png differ diff --git a/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tl.png b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tl.png new file mode 100644 index 00000000..ba61fa9f Binary files /dev/null and b/translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tl.png differ diff --git a/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tl.png b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tl.png new file mode 100644 index 00000000..ba61fa9f Binary files /dev/null and b/translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tl.png differ diff --git a/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tl.png b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tl.png new file mode 100644 index 00000000..c3da21a2 Binary files /dev/null and b/translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tl.png differ diff --git a/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tl.png b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tl.png new file mode 100644 index 00000000..4b96709c Binary files /dev/null and b/translated_images/scatter.520a43eceb46dbcb96899da0f580f3f3615cf9dba38c9c84e52ebc6b4b48e3ff.tl.png differ diff --git a/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tl.png b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tl.png new file mode 100644 index 00000000..2b886e6a Binary files /dev/null and b/translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tl.png differ diff --git a/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tl.png b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tl.png new file mode 100644 index 00000000..1f999825 Binary files /dev/null and b/translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tl.png differ diff --git a/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tl.png b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tl.png new file mode 100644 index 00000000..7c6db72c Binary files /dev/null and b/translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tl.png differ diff --git a/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tl.png b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tl.png new file mode 100644 index 00000000..dbc8eb5a Binary files /dev/null and b/translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tl.png differ diff --git a/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tl.png b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tl.png new file mode 100644 index 00000000..eb86e1f3 Binary files /dev/null and b/translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tl.png differ diff --git a/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tl.png b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tl.png new file mode 100644 index 00000000..30aa0658 Binary files /dev/null and b/translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tl.png differ diff --git a/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tl.png b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tl.png new file mode 100644 index 00000000..8d7be3fe Binary files /dev/null and b/translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tl.png differ diff --git a/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tl.png b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tl.png new file mode 100644 index 00000000..420674b6 Binary files /dev/null and b/translated_images/scatterplot-wingspan.bdab448702939bb32a0d3522a9fcd8aa36d5f428aca5e8655a677eb6d0597111.tl.png differ diff --git a/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tl.png b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tl.png new file mode 100644 index 00000000..fb2c3f6a Binary files /dev/null and b/translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tl.png differ diff --git a/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tl.png b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tl.png new file mode 100644 index 00000000..c677e7cb Binary files /dev/null and b/translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tl.png differ diff --git a/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tl.png b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tl.png new file mode 100644 index 00000000..72b0a346 Binary files /dev/null and b/translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tl.png differ diff --git a/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tl.png b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tl.png new file mode 100644 index 00000000..462346a6 Binary files /dev/null and b/translated_images/superimposed.8b5bd0e8825d9c5c06e2b15d61e3f7ebdd36678f2bdfa1e74c57e24e4486885a.tl.png differ diff --git a/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tl.png b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tl.png new file mode 100644 index 00000000..b03c9d45 Binary files /dev/null and b/translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tl.png differ diff --git a/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tl.png b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tl.png new file mode 100644 index 00000000..aa7ba43b Binary files /dev/null and b/translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tl.png differ diff --git a/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tl.png b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tl.png new file mode 100644 index 00000000..4d2feb2c Binary files /dev/null and b/translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tl.png differ diff --git a/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tl.png b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tl.png new file mode 100644 index 00000000..4aef865e Binary files /dev/null and b/translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tl.png differ diff --git a/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tl.png b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tl.png new file mode 100644 index 00000000..26a001c6 Binary files /dev/null and b/translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tl.png differ diff --git a/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tl.png b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tl.png new file mode 100644 index 00000000..26a001c6 Binary files /dev/null and b/translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tl.png differ diff --git a/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tl.png b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tl.png new file mode 100644 index 00000000..01618840 Binary files /dev/null and b/translated_images/video-def-ds.6623ee2392ef1abf6d7faf3fad10a4163642811749da75f44e35a5bb121de15c.tl.png differ diff --git a/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tl.png b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tl.png new file mode 100644 index 00000000..7bac7be9 Binary files /dev/null and b/translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tl.png differ diff --git a/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tl.png b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tl.png new file mode 100644 index 00000000..5576e9bb Binary files /dev/null and b/translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tl.png differ diff --git a/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tl.png b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tl.png new file mode 100644 index 00000000..f76a7230 Binary files /dev/null and b/translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tl.png differ diff --git a/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tl.png b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tl.png new file mode 100644 index 00000000..fc286e2c Binary files /dev/null and b/translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tl.png differ diff --git a/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tl.png b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tl.png new file mode 100644 index 00000000..c3128ec7 Binary files /dev/null and b/translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tl.png differ diff --git a/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tl.png b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tl.png new file mode 100644 index 00000000..3a0d13fc Binary files /dev/null and b/translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tl.png differ diff --git a/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tl.png b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tl.png new file mode 100644 index 00000000..352396c7 Binary files /dev/null and b/translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tl.png differ diff --git a/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tl.png b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tl.png new file mode 100644 index 00000000..fe06243d Binary files /dev/null and b/translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tl.png differ diff --git a/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tl.png b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tl.png new file mode 100644 index 00000000..f74d6060 Binary files /dev/null and b/translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tl.png differ diff --git a/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tl.png b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tl.png new file mode 100644 index 00000000..8da47a27 Binary files /dev/null and b/translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tl.png differ diff --git a/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tl.png b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tl.png new file mode 100644 index 00000000..535ec250 Binary files /dev/null and b/translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tl.png differ diff --git a/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tl.png b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tl.png new file mode 100644 index 00000000..e77b0335 Binary files /dev/null and b/translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tl.png differ diff --git a/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tl.png b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tl.png new file mode 100644 index 00000000..93605d68 Binary files /dev/null and b/translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tl.png differ diff --git a/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tl.png b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tl.png new file mode 100644 index 00000000..58b33736 Binary files /dev/null and b/translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tl.png differ diff --git a/translations/tl/1-Introduction/01-defining-data-science/README.md b/translations/tl/1-Introduction/01-defining-data-science/README.md new file mode 100644 index 00000000..67ee1b91 --- /dev/null +++ b/translations/tl/1-Introduction/01-defining-data-science/README.md @@ -0,0 +1,80 @@ + +## Mga Uri ng Datos + +Tulad ng nabanggit na, ang datos ay nasa lahat ng dako. Kailangan lang natin itong makuha sa tamang paraan! Mahalagang maunawaan ang pagkakaiba ng **structured** at **unstructured** na datos. Ang structured na datos ay karaniwang nasa maayos na anyo, madalas na nasa anyo ng isang talahanayan o maraming talahanayan, habang ang unstructured na datos ay isang koleksyon lamang ng mga file. Minsan, maaari rin nating pag-usapan ang tungkol sa **semi-structured** na datos, na may ilang uri ng istruktura na maaaring magkaiba-iba. + +| Structured | Semi-structured | Unstructured | +| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | --------------------------------------- | +| Listahan ng mga tao kasama ang kanilang mga numero ng telepono | Mga pahina ng Wikipedia na may mga link | Teksto ng Encyclopedia Britannica | +| Temperatura sa lahat ng silid ng isang gusali bawat minuto sa nakalipas na 20 taon | Koleksyon ng mga siyentipikong papel sa JSON format na may mga may-akda, petsa ng publikasyon, at abstrak | File share na may mga dokumentong pangkorporasyon | +| Datos ng edad at kasarian ng lahat ng pumapasok sa gusali | Mga pahina sa Internet | Raw na video feed mula sa surveillance camera | + +## Saan Kumuha ng Datos + +Maraming posibleng mapagkukunan ng datos, at imposibleng mailista ang lahat ng ito! Gayunpaman, banggitin natin ang ilan sa mga karaniwang lugar kung saan maaaring makakuha ng datos: + +* **Structured** + - **Internet of Things** (IoT), kabilang ang datos mula sa iba't ibang sensor, tulad ng temperatura o pressure sensors, na nagbibigay ng maraming kapaki-pakinabang na datos. Halimbawa, kung ang isang gusali ng opisina ay may IoT sensors, maaari nating awtomatikong kontrolin ang pag-init at pag-iilaw upang mabawasan ang gastos. + - **Mga Survey** na hinihiling nating sagutan ng mga gumagamit pagkatapos ng pagbili, o pagkatapos bumisita sa isang website. + - **Pagsusuri ng Pag-uugali** na maaaring makatulong upang maunawaan kung gaano kalalim ang paggalugad ng isang gumagamit sa isang site, at kung ano ang karaniwang dahilan ng pag-alis sa site. +* **Unstructured** + - **Mga Teksto** na maaaring maging mayamang mapagkukunan ng mga pananaw, tulad ng pangkalahatang **sentiment score**, o pagkuha ng mga keyword at kahulugan ng semantika. + - **Mga Larawan** o **Video**. Ang isang video mula sa surveillance camera ay maaaring gamitin upang tantyahin ang trapiko sa kalsada, at ipaalam sa mga tao ang tungkol sa mga posibleng pagsisikip ng trapiko. + - **Logs** ng web server na maaaring gamitin upang maunawaan kung aling mga pahina ng ating site ang madalas bisitahin, at kung gaano katagal. +* **Semi-structured** + - **Mga Graph ng Social Network** na maaaring maging mahusay na mapagkukunan ng datos tungkol sa personalidad ng mga gumagamit at potensyal na pagiging epektibo sa pagpapakalat ng impormasyon. + - Kapag mayroon tayong koleksyon ng mga litrato mula sa isang party, maaari nating subukang kunin ang datos ng **Group Dynamics** sa pamamagitan ng paggawa ng graph ng mga taong nagpipicture kasama ang isa't isa. + +Sa pamamagitan ng pag-alam sa iba't ibang posibleng mapagkukunan ng datos, maaari kang mag-isip ng iba't ibang mga senaryo kung saan maaaring gamitin ang mga teknik ng data science upang mas maunawaan ang sitwasyon, at mapabuti ang mga proseso ng negosyo. + +## Ano ang Maaaring Gawin sa Datos + +Sa Data Science, nakatuon tayo sa mga sumusunod na hakbang ng paglalakbay ng datos: + +Siyempre, depende sa aktwal na datos, maaaring may mga hakbang na hindi na kailangan (halimbawa, kung ang datos ay nasa database na, o kung hindi na kailangan ang model training), o maaaring ulitin ang ilang hakbang nang maraming beses (tulad ng data processing). + +## Digitalisasyon at Digital Transformation + +Sa nakalipas na dekada, maraming negosyo ang nagsimulang maunawaan ang kahalagahan ng datos sa paggawa ng mga desisyon sa negosyo. Upang maipatupad ang mga prinsipyo ng data science sa pagpapatakbo ng negosyo, kailangang mangolekta muna ng datos, o isalin ang mga proseso ng negosyo sa digital na anyo. Ito ay kilala bilang **digitalisasyon**. Ang paggamit ng mga teknik ng data science sa datos na ito upang gabayan ang mga desisyon ay maaaring magdulot ng malaking pagtaas sa produktibidad (o kahit pagbabago ng negosyo), na tinatawag na **digital transformation**. + +Isaalang-alang natin ang isang halimbawa. Ipagpalagay nating mayroon tayong isang kurso sa data science (tulad ng kursong ito) na inihahatid online sa mga mag-aaral, at nais nating gamitin ang data science upang mapabuti ito. Paano natin ito magagawa? + +Maaari tayong magsimula sa pagtatanong, "Ano ang maaaring gawing digital?" Ang pinakasimpleng paraan ay sukatin ang oras na ginugugol ng bawat mag-aaral upang matapos ang bawat module, at sukatin ang nakuha nilang kaalaman sa pamamagitan ng pagbibigay ng multiple-choice test sa dulo ng bawat module. Sa pamamagitan ng pagkuha ng average na oras ng pagkumpleto sa lahat ng mag-aaral, maaari nating malaman kung aling mga module ang nagdudulot ng pinakamaraming kahirapan sa mga mag-aaral, at magtrabaho sa pagpapasimple ng mga ito. +Maaaring sabihin mo na ang paraang ito ay hindi perpekto, dahil ang mga module ay maaaring magkakaiba ang haba. Mas makatarungan siguro kung hahatiin ang oras batay sa haba ng module (sa bilang ng mga karakter), at ikumpara ang mga halagang iyon sa halip. +Kapag sinimulan nating suriin ang mga resulta ng mga multiple-choice na pagsusulit, maaari nating subukang tukuyin kung aling mga konsepto ang mahirap maintindihan ng mga mag-aaral, at gamitin ang impormasyong iyon upang mapabuti ang nilalaman. Upang magawa ito, kailangan nating idisenyo ang mga pagsusulit sa paraang ang bawat tanong ay tumutukoy sa isang partikular na konsepto o bahagi ng kaalaman. + +Kung nais nating gawing mas komplikado, maaari nating i-plot ang oras na ginugol sa bawat module laban sa kategorya ng edad ng mga mag-aaral. Maaaring matuklasan natin na para sa ilang mga kategorya ng edad, masyadong matagal ang kinakailangan upang matapos ang module, o kaya naman ay humihinto ang mga mag-aaral bago ito matapos. Makakatulong ito sa atin na magbigay ng mga rekomendasyon sa edad para sa module, at mabawasan ang pagkadismaya ng mga tao mula sa maling inaasahan. + +## 🚀 Hamon + +Sa hamong ito, susubukan nating tukuyin ang mga konseptong may kaugnayan sa larangan ng Data Science sa pamamagitan ng pagsusuri sa mga teksto. Kukuha tayo ng isang artikulo mula sa Wikipedia tungkol sa Data Science, ida-download at ipoproseso ang teksto, at pagkatapos ay gagawa ng isang word cloud na katulad nito: + +![Word Cloud para sa Data Science](../../../../translated_images/ds_wordcloud.664a7c07dca57de017c22bf0498cb40f898d48aa85b3c36a80620fea12fadd42.tl.png) + +Bisitahin ang [`notebook.ipynb`](../../../../../../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') upang basahin ang code. Maaari mo ring patakbuhin ang code, at makita kung paano nito isinasagawa ang lahat ng data transformations sa real time. + +> Kung hindi mo alam kung paano patakbuhin ang code sa isang Jupyter Notebook, tingnan ang [artikulong ito](https://soshnikov.com/education/how-to-execute-notebooks-from-github/). + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/1) + +## Mga Gawain + +* **Gawain 1**: Baguhin ang code sa itaas upang tukuyin ang mga kaugnay na konsepto para sa mga larangan ng **Big Data** at **Machine Learning** +* **Gawain 2**: [Mag-isip Tungkol sa mga Senaryo ng Data Science](assignment.md) + +## Mga Kredito + +Ang araling ito ay isinulat nang may ♥️ ni [Dmitry Soshnikov](http://soshnikov.com) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/01-defining-data-science/assignment.md b/translations/tl/1-Introduction/01-defining-data-science/assignment.md new file mode 100644 index 00000000..4d15ece2 --- /dev/null +++ b/translations/tl/1-Introduction/01-defining-data-science/assignment.md @@ -0,0 +1,46 @@ + +# Takdang-Aralin: Mga Senaryo sa Data Science + +Sa unang takdang-aralin na ito, hinihiling namin sa iyo na pag-isipan ang ilang totoong proseso o problema sa iba't ibang larangan, at kung paano mo ito mapapabuti gamit ang proseso ng Data Science. Pag-isipan ang mga sumusunod: + +1. Anong datos ang maaari mong kolektahin? +1. Paano mo ito kokolektahin? +1. Paano mo itatabi ang datos? Gaano kalaki ang posibleng datos? +1. Anong mga kaalaman ang maaari mong makuha mula sa datos na ito? Anong mga desisyon ang maaari nating gawin batay sa datos? + +Subukang mag-isip ng 3 magkakaibang problema/proseso at ilarawan ang bawat isa sa mga puntong nabanggit para sa bawat larangan ng problema. + +Narito ang ilang mga larangan ng problema at mga tanong na maaaring makatulong sa iyong pag-iisip: + +1. Paano mo magagamit ang datos upang mapabuti ang proseso ng edukasyon para sa mga bata sa paaralan? +1. Paano mo magagamit ang datos upang makontrol ang pagbabakuna sa panahon ng pandemya? +1. Paano mo magagamit ang datos upang masiguro na ikaw ay produktibo sa trabaho? + +## Mga Panuto + +Punan ang sumusunod na talahanayan (palitan ang mga iminungkahing larangan ng problema ng sarili mong mga ideya kung kinakailangan): + +| Larangan ng Problema | Problema | Anong datos ang kokolektahin | Paano itatabi ang datos | Anong mga kaalaman/desisyon ang maaari nating gawin | +|----------------------|----------|-----------------------------|-------------------------|-----------------------------------------------| +| Edukasyon | | | | | +| Bakuna | | | | | +| Produktibidad | | | | | + +## Rubric + +Natitirang Gawa | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | -- | +Nakapagbigay ng makatwirang mga mapagkukunan ng datos, paraan ng pagtatabi ng datos, at posibleng mga desisyon/kaalaman para sa lahat ng larangan ng problema | Ang ilang aspeto ng solusyon ay hindi detalyado, hindi natalakay ang pagtatabi ng datos, hindi bababa sa 2 larangan ng problema ang nailarawan | Tanging bahagi lamang ng solusyon sa datos ang nailarawan, isa lamang na larangan ng problema ang isinasaalang-alang. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/01-defining-data-science/solution/assignment.md b/translations/tl/1-Introduction/01-defining-data-science/solution/assignment.md new file mode 100644 index 00000000..0db0fb03 --- /dev/null +++ b/translations/tl/1-Introduction/01-defining-data-science/solution/assignment.md @@ -0,0 +1,48 @@ + +# Takdang-Aralin: Mga Senaryo sa Data Science + +Sa unang takdang-aralin na ito, hinihiling namin sa iyo na pag-isipan ang ilang totoong proseso o problema sa iba't ibang larangan, at kung paano mo ito mapapabuti gamit ang proseso ng Data Science. Pag-isipan ang mga sumusunod: + +1. Anong datos ang maaari mong kolektahin? +1. Paano mo ito kokolektahin? +1. Paano mo ito itatabi? Gaano kalaki ang datos na malamang na makolekta? +1. Anong mga insight ang maaari mong makuha mula sa datos na ito? Anong mga desisyon ang maaari nating gawin batay sa datos? + +Subukang mag-isip ng 3 iba't ibang problema/proseso at ilarawan ang bawat isa sa mga puntong nabanggit para sa bawat larangan ng problema. + +Narito ang ilang mga larangan ng problema at mga tanong na maaaring makatulong sa iyong pag-iisip: + +1. Paano mo magagamit ang datos upang mapabuti ang proseso ng edukasyon para sa mga bata sa paaralan? +1. Paano mo magagamit ang datos upang makontrol ang pagbabakuna sa panahon ng pandemya? +1. Paano mo magagamit ang datos upang matiyak na ikaw ay produktibo sa trabaho? + +## Mga Instruksyon + +Punuan ang sumusunod na talahanayan (palitan ang mga iminungkahing larangan ng problema ng sarili mong mga ideya kung kinakailangan): + +| Larangan ng Problema | Problema | Anong datos ang kokolektahin | Paano itatabi ang datos | Anong mga insight/desisyon ang maaari nating gawin | +|----------------------|----------|-----------------------------|-------------------------|-----------------------------------------------| +| Edukasyon | Sa unibersidad, karaniwang mababa ang pagdalo sa mga lektura, at may hypothesis kami na ang mga estudyanteng dumadalo sa lektura ay mas mahusay sa mga pagsusulit. Gusto naming hikayatin ang pagdalo at subukan ang hypothesis. | Maaari naming subaybayan ang pagdalo sa pamamagitan ng mga litrato na kinunan ng security camera sa klase, o sa pamamagitan ng pagsubaybay sa bluetooth/wifi addresses ng mga mobile phone ng estudyante sa klase. Ang datos ng pagsusulit ay mayroon na sa database ng unibersidad. | Kung susubaybayan namin ang mga litrato mula sa security camera - kailangan naming itabi ang ilang (5-10) litrato sa klase (unstructured data), at pagkatapos ay gumamit ng AI upang kilalanin ang mga mukha ng estudyante (i-convert ang datos sa structured form). | Maaari naming kalkulahin ang average na datos ng pagdalo para sa bawat estudyante, at tingnan kung may kaugnayan ito sa mga grado sa pagsusulit. Pag-uusapan pa natin ang tungkol sa correlation sa seksyon ng [probability and statistics](../../04-stats-and-probability/README.md). Upang hikayatin ang pagdalo ng estudyante, maaari naming i-publish ang lingguhang rating ng pagdalo sa school portal, at magbigay ng premyo sa mga may pinakamataas na pagdalo. | +| Bakuna | | | | | +| Produktibidad | | | | | + +> *Nagbigay kami ng isang sagot bilang halimbawa, upang magkaroon ka ng ideya kung ano ang inaasahan sa takdang-aralin na ito.* + +## Rubric + +Mahusay | Katamtaman | Kailangan ng Pagpapabuti +--- | --- | -- | +Ang isa ay nakapagkilala ng makatwirang mga pinagmulan ng datos, mga paraan ng pagtatabi ng datos, at mga posibleng desisyon/insight para sa lahat ng larangan ng problema | Ang ilang aspeto ng solusyon ay hindi detalyado, ang pagtatabi ng datos ay hindi napag-usapan, hindi bababa sa 2 larangan ng problema ang nailarawan | Tanging bahagi lamang ng solusyon sa datos ang nailarawan, isang larangan ng problema lamang ang isinasaalang-alang. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/02-ethics/README.md b/translations/tl/1-Introduction/02-ethics/README.md new file mode 100644 index 00000000..9ec08617 --- /dev/null +++ b/translations/tl/1-Introduction/02-ethics/README.md @@ -0,0 +1,250 @@ + +# Panimula sa Etika ng Datos + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/02-Ethics.png)| +|:---:| +| Etika sa Agham ng Datos - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +--- + +Tayo ay mga mamamayan ng datos na nabubuhay sa isang mundong puno ng datos. + +Ayon sa mga trend sa merkado, sa 2022, 1 sa bawat 3 malalaking organisasyon ay bibili at magbebenta ng kanilang datos sa pamamagitan ng mga online na [Pamilihan at Palitan](https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-in-data-and-analytics-for-2020/). Bilang mga **App Developers**, mas madali at mas mura para sa atin ang pagsasama ng mga insight na batay sa datos at automation na pinapatakbo ng algorithm sa pang-araw-araw na karanasan ng mga gumagamit. Ngunit habang nagiging laganap ang AI, kailangan din nating maunawaan ang mga posibleng pinsala na dulot ng [weaponization](https://www.youtube.com/watch?v=TQHs8SA1qpk) ng mga algorithm na ito sa malawakang saklaw. + +Ipinapakita rin ng mga trend na makakalikha at makakakonsumo tayo ng higit sa [180 zettabytes](https://www.statista.com/statistics/871513/worldwide-data-created/) ng datos pagsapit ng 2025. Bilang mga **Data Scientists**, nagbibigay ito sa atin ng walang kapantay na antas ng access sa personal na datos. Nangangahulugan ito na maaari tayong bumuo ng mga profile ng pag-uugali ng mga gumagamit at maimpluwensyahan ang kanilang mga desisyon sa paraang lumilikha ng isang [ilusyon ng malayang pagpili](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice) habang maaaring itinutulak sila patungo sa mga resulta na ating nais. Nagdudulot din ito ng mas malawak na mga tanong tungkol sa privacy ng datos at proteksyon ng mga gumagamit. + +Ang etika ng datos ay ngayon ay _mga kinakailangang gabay_ para sa agham at inhinyeriya ng datos, na tumutulong sa atin na mabawasan ang mga posibleng pinsala at hindi inaasahang resulta mula sa ating mga aksyon na batay sa datos. Ang [Gartner Hype Cycle para sa AI](https://www.gartner.com/smarterwithgartner/2-megatrends-dominate-the-gartner-hype-cycle-for-artificial-intelligence-2020/) ay tumutukoy sa mga kaugnay na trend sa digital ethics, responsableng AI, at pamamahala ng AI bilang mga pangunahing tagapagpatakbo para sa mas malalaking megatrend sa _demokrasya_ at _industriyalisasyon_ ng AI. + +![Gartner's Hype Cycle para sa AI - 2020](https://images-cdn.newscred.com/Zz1mOWJhNzlkNDA2ZTMxMWViYjRiOGFiM2IyMjQ1YmMwZQ==) + +Sa araling ito, tatalakayin natin ang kamangha-manghang larangan ng etika ng datos - mula sa mga pangunahing konsepto at hamon, hanggang sa mga case study at mga inilapat na konsepto ng AI tulad ng pamamahala - na tumutulong sa pagtatatag ng kultura ng etika sa mga koponan at organisasyon na nagtatrabaho gamit ang datos at AI. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/2) 🎯 + +## Mga Pangunahing Depinisyon + +Magsimula tayo sa pag-unawa sa mga pangunahing termino. + +Ang salitang "etika" ay nagmula sa [salitang Griyego na "ethikos"](https://en.wikipedia.org/wiki/Ethics) (at ang ugat nitong "ethos") na nangangahulugang _karakter o moral na kalikasan_. + +**Etika** ay tungkol sa mga pinagsasaluhang halaga at prinsipyo ng moral na gumagabay sa ating pag-uugali sa lipunan. Ang etika ay hindi batay sa mga batas kundi sa malawakang tinatanggap na mga pamantayan ng kung ano ang "tama laban sa mali". Gayunpaman, ang mga konsiderasyong etikal ay maaaring maka-impluwensya sa mga inisyatibo ng pamamahala ng korporasyon at mga regulasyon ng gobyerno na lumilikha ng mas maraming insentibo para sa pagsunod. + +**Etika ng Datos** ay isang [bagong sangay ng etika](https://royalsocietypublishing.org/doi/full/10.1098/rsta.2016.0360#sec-1) na "nag-aaral at nagsusuri ng mga moral na problema na may kaugnayan sa _datos, mga algorithm at mga kaukulang gawain_". Dito, ang **"datos"** ay nakatuon sa mga aksyon na may kaugnayan sa paglikha, pagrekord, pag-aalaga, pagproseso, pagpapakalat, pagbabahagi, at paggamit; ang **"mga algorithm"** ay nakatuon sa AI, mga ahente, machine learning, at mga robot; at ang **"mga gawain"** ay nakatuon sa mga paksa tulad ng responsableng inobasyon, programming, hacking, at mga code ng etika. + +**Inilapat na Etika** ay ang [praktikal na aplikasyon ng mga konsiderasyong moral](https://en.wikipedia.org/wiki/Applied_ethics). Ito ang proseso ng aktibong pagsisiyasat sa mga isyung etikal sa konteksto ng _mga aktwal na aksyon, produkto, at proseso_, at paggawa ng mga hakbang upang matiyak na ang mga ito ay nananatiling naaayon sa ating mga tinukoy na halaga ng etika. + +**Kultura ng Etika** ay tungkol sa [_pagpapatakbo_ ng inilapat na etika](https://hbr.org/2019/05/how-to-design-an-ethical-organization) upang matiyak na ang ating mga prinsipyo at gawain sa etika ay naisasagawa sa isang pare-pareho at nasusukat na paraan sa buong organisasyon. Ang matagumpay na mga kultura ng etika ay nagtatakda ng mga prinsipyo ng etika sa buong organisasyon, nagbibigay ng makabuluhang insentibo para sa pagsunod, at pinapalakas ang mga pamantayan ng etika sa pamamagitan ng paghikayat at pagpapalaganap ng mga nais na pag-uugali sa bawat antas ng organisasyon. + +## Mga Konsepto ng Etika + +Sa seksyong ito, tatalakayin natin ang mga konsepto tulad ng **pinagsasaluhang halaga** (mga prinsipyo) at **mga hamon sa etika** (mga problema) para sa etika ng datos - at susuriin ang mga **case study** na tumutulong sa iyong maunawaan ang mga konseptong ito sa mga aktwal na konteksto. + +### 1. Mga Prinsipyo ng Etika + +Ang bawat estratehiya sa etika ng datos ay nagsisimula sa pagtukoy ng _mga prinsipyo ng etika_ - ang "mga pinagsasaluhang halaga" na naglalarawan ng katanggap-tanggap na mga pag-uugali, at gumagabay sa mga aksyong sumusunod, sa ating mga proyekto sa datos at AI. Maaari mong tukuyin ang mga ito sa antas ng indibidwal o koponan. Gayunpaman, karamihan sa mga malalaking organisasyon ay nagbabalangkas ng mga ito sa isang _misyon ng etikal na AI_ o balangkas na tinutukoy sa antas ng korporasyon at ipinatutupad nang pare-pareho sa lahat ng mga koponan. + +**Halimbawa:** Ang misyon ng [Responsible AI](https://www.microsoft.com/en-us/ai/responsible-ai) ng Microsoft ay nagsasaad: _"Kami ay nakatuon sa pagsulong ng AI na pinapatakbo ng mga prinsipyo ng etika na inuuna ang mga tao"_ - na tumutukoy sa 6 na prinsipyo ng etika sa balangkas sa ibaba: + +![Responsible AI sa Microsoft](https://docs.microsoft.com/en-gb/azure/cognitive-services/personalizer/media/ethics-and-responsible-use/ai-values-future-computed.png) + +Suriin natin nang maikli ang mga prinsipyong ito. Ang _Transparency_ at _Accountability_ ay mga pundasyong halaga na pinagtatayuan ng iba pang mga prinsipyo - kaya magsimula tayo doon: + +* [**Accountability**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) ay ginagawang _responsable_ ang mga practitioner para sa kanilang mga operasyon sa datos at AI, at pagsunod sa mga prinsipyong etikal na ito. +* [**Transparency**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) ay tinitiyak na ang mga aksyon sa datos at AI ay _naiintindihan_ (interpretable) ng mga gumagamit, ipinaliliwanag ang ano at bakit sa likod ng mga desisyon. +* [**Fairness**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) - nakatuon sa pagtiyak na ang AI ay patas sa _lahat ng tao_, tinutugunan ang anumang sistemiko o implicit na socio-technical biases sa datos at mga sistema. +* [**Reliability & Safety**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - tinitiyak na ang AI ay kumikilos nang _pare-pareho_ sa mga tinukoy na halaga, binabawasan ang mga posibleng pinsala o hindi inaasahang resulta. +* [**Privacy & Security**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - tungkol sa pag-unawa sa pinagmulan ng datos, at pagbibigay ng _privacy ng datos at kaugnay na proteksyon_ sa mga gumagamit. +* [**Inclusiveness**](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1:primaryr6) - tungkol sa pagdidisenyo ng mga solusyon sa AI nang may layunin, inaangkop ang mga ito upang matugunan ang _malawak na hanay ng mga pangangailangan at kakayahan ng tao_. + +> 🚨 Pag-isipan kung ano ang maaaring maging misyon ng iyong etika sa datos. Suriin ang mga balangkas ng etikal na AI mula sa ibang mga organisasyon - narito ang mga halimbawa mula sa [IBM](https://www.ibm.com/cloud/learn/ai-ethics), [Google](https://ai.google/principles), at [Facebook](https://ai.facebook.com/blog/facebooks-five-pillars-of-responsible-ai/). Ano ang mga pinagsasaluhang halaga na mayroon sila? Paano nauugnay ang mga prinsipyong ito sa produktong AI o industriya na kanilang kinabibilangan? + +### 2. Mga Hamon sa Etika + +Kapag natukoy na ang mga prinsipyo ng etika, ang susunod na hakbang ay suriin ang ating mga aksyon sa datos at AI upang makita kung naaayon ang mga ito sa mga pinagsasaluhang halaga. Pag-isipan ang iyong mga aksyon sa dalawang kategorya: _pagkolekta ng datos_ at _disenyo ng algorithm_. + +Sa pagkolekta ng datos, ang mga aksyon ay malamang na may kinalaman sa **personal na datos** o personal na makikilalang impormasyon (PII) para sa mga makikilalang buhay na indibidwal. Kasama rito ang [iba't ibang uri ng hindi personal na datos](https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en) na _sama-samang_ makikilala ang isang indibidwal. Ang mga hamon sa etika ay maaaring may kaugnayan sa _privacy ng datos_, _pagmamay-ari ng datos_, at mga kaugnay na paksa tulad ng _may malay na pahintulot_ at _mga karapatan sa intelektwal na ari-arian_ para sa mga gumagamit. + +Sa disenyo ng algorithm, ang mga aksyon ay may kinalaman sa pagkolekta at pag-aalaga ng **mga dataset**, pagkatapos ay ginagamit ang mga ito upang sanayin at i-deploy ang **mga modelo ng datos** na nagtataya ng mga resulta o nag-a-automate ng mga desisyon sa aktwal na mga konteksto. Ang mga hamon sa etika ay maaaring lumitaw mula sa _bias sa dataset_, mga isyu sa _kalidad ng datos_, _kawalan ng katarungan_, at _maling representasyon_ sa mga algorithm - kabilang ang ilang mga isyung sistemiko. + +Sa parehong kaso, ang mga hamon sa etika ay nagha-highlight ng mga lugar kung saan maaaring magkaroon ng salungatan ang ating mga aksyon sa ating mga pinagsasaluhang halaga. Upang matukoy, mabawasan, mabawasan, o maalis ang mga alalahaning ito - kailangan nating magtanong ng mga moral na tanong na "oo/hindi" na may kaugnayan sa ating mga aksyon, pagkatapos ay gumawa ng mga hakbang upang maitama ang mga ito kung kinakailangan. Tingnan natin ang ilang mga hamon sa etika at ang mga moral na tanong na kanilang itinatampok: + +#### 2.1 Pagmamay-ari ng Datos + +Ang pagkolekta ng datos ay madalas na may kinalaman sa personal na datos na maaaring makilala ang mga paksa ng datos. Ang [pagmamay-ari ng datos](https://permission.io/blog/data-ownership) ay tungkol sa _kontrol_ at [_mga karapatan ng gumagamit_](https://permission.io/blog/data-ownership) na may kaugnayan sa paglikha, pagproseso, at pagpapakalat ng datos. + +Ang mga moral na tanong na dapat nating itanong ay: + * Sino ang nagmamay-ari ng datos? (gumagamit o organisasyon) + * Anong mga karapatan ang mayroon ang mga paksa ng datos? (hal: access, pagbura, portability) + * Anong mga karapatan ang mayroon ang mga organisasyon? (hal: itama ang mapanirang mga review ng gumagamit) + +#### 2.2 May Malay na Pahintulot + +Ang [may malay na pahintulot](https://legaldictionary.net/informed-consent/) ay tumutukoy sa kilos ng mga gumagamit na pumapayag sa isang aksyon (tulad ng pagkolekta ng datos) na may _buong pag-unawa_ sa mga kaugnay na katotohanan kabilang ang layunin, mga posibleng panganib, at mga alternatibo. + +Mga tanong na dapat tuklasin dito: + * Nagbigay ba ng pahintulot ang gumagamit (paksa ng datos) para sa pagkolekta at paggamit ng datos? + * Naiintindihan ba ng gumagamit ang layunin kung bakit kinolekta ang datos na iyon? + * Naiintindihan ba ng gumagamit ang mga posibleng panganib mula sa kanilang pakikilahok? + +#### 2.3 Intelektwal na Ari-arian + +Ang [intelektwal na ari-arian](https://en.wikipedia.org/wiki/Intellectual_property) ay tumutukoy sa mga hindi materyal na likha na resulta ng inisyatiba ng tao, na maaaring _may pang-ekonomiyang halaga_ sa mga indibidwal o negosyo. + +Mga tanong na dapat tuklasin dito: + * Ang nakolektang datos ba ay may pang-ekonomiyang halaga sa isang gumagamit o negosyo? + * Mayroon bang intelektwal na ari-arian ang **gumagamit** dito? + * Mayroon bang intelektwal na ari-arian ang **organisasyon** dito? + * Kung umiiral ang mga karapatang ito, paano natin ito pinoprotektahan? + +#### 2.4 Privacy ng Datos + +Ang [privacy ng datos](https://www.northeastern.edu/graduate/blog/what-is-data-privacy/) o privacy ng impormasyon ay tumutukoy sa pangangalaga ng privacy ng gumagamit at proteksyon ng pagkakakilanlan ng gumagamit kaugnay ng personal na makikilalang impormasyon. + +Mga tanong na dapat tuklasin dito: + * Ang datos ba ng mga gumagamit (personal) ay ligtas laban sa mga hack at pagtagas? + * Ang datos ba ng mga gumagamit ay naa-access lamang sa mga awtorisadong gumagamit at konteksto? + * Ang anonymity ba ng mga gumagamit ay napapanatili kapag ang datos ay ibinabahagi o ipinapakalat? + * Maaari bang ma-de-identify ang isang gumagamit mula sa mga anonymized na dataset? + +#### 2.5 Karapatan na Maging Nakalimutan + +Ang [Karapatan na Maging Nakalimutan](https://en.wikipedia.org/wiki/Right_to_be_forgotten) o [Karapatan sa Pagbura](https://www.gdpreu.org/right-to-be-forgotten/) ay nagbibigay ng karagdagang proteksyon sa personal na datos ng mga gumagamit. Partikular, binibigyan nito ang mga gumagamit ng karapatang humiling ng pagbura o pagtanggal ng personal na datos mula sa mga paghahanap sa Internet at iba pang lokasyon, _sa ilalim ng mga tiyak na kalagayan_ - na nagbibigay-daan sa kanila ng bagong simula online nang hindi hinuhusgahan ang kanilang mga nakaraang aksyon. + +Mga tanong na dapat tuklasin dito: + * Pinapayagan ba ng sistema ang mga paksa ng datos na humiling ng pagbura? + * Dapat bang awtomatikong ma-trigger ng pag-atras ng pahintulot ng gumagamit ang pagbura? + * Ang datos ba ay nakolekta nang walang pahintulot o sa pamamagitan ng ilegal na paraan? + * Tayo ba ay sumusunod sa mga regulasyon ng gobyerno para sa privacy ng datos? + +#### 2.6 Bias sa Dataset + +Ang bias sa dataset o [Bias sa Pagkolekta](http://researcharticles.com/index.php/bias-in-data-collection-in-research/) ay tungkol sa pagpili ng isang _hindi kinatawan_ na subset ng datos para sa pagbuo ng algorithm, na lumilikha ng potensyal na kawalan ng katarungan sa mga resulta para sa iba't ibang grupo. Kasama sa mga uri ng bias ang bias sa pagpili o sampling, bias ng boluntaryo, at bias sa instrumento. + +Mga tanong na +[Algorithm Fairness](https://towardsdatascience.com/what-is-algorithm-fairness-3182e161cf9f) ay tumutukoy sa pagsusuri kung ang disenyo ng algorithm ay sistematikong nagdidiskrimina laban sa partikular na mga subgroup ng data subjects, na nagdudulot ng [mga potensyal na pinsala](https://docs.microsoft.com/en-us/azure/machine-learning/concept-fairness-ml) sa _alokasyon_ (kung saan ang mga resources ay tinatanggihan o hindi ibinibigay sa grupong iyon) at _kalidad ng serbisyo_ (kung saan ang AI ay hindi kasing tumpak para sa ilang subgroup kumpara sa iba). + +Mga tanong na dapat pag-isipan: + * Nasuri ba natin ang katumpakan ng modelo para sa iba't ibang subgroup at kundisyon? + * Sinuri ba natin ang sistema para sa mga potensyal na pinsala (hal., stereotyping)? + * Maaari ba nating baguhin ang data o muling sanayin ang mga modelo upang mabawasan ang mga natukoy na pinsala? + +Suriin ang mga mapagkukunan tulad ng [AI Fairness checklists](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE4t6dA) upang matuto pa. + +#### 2.9 Misrepresentation + +[Data Misrepresentation](https://www.sciencedirect.com/topics/computer-science/misrepresentation) ay tumutukoy sa pagsusuri kung ang mga insight mula sa data ay tapat na iniulat o kung ito ay ipinapakita sa mapanlinlang na paraan upang suportahan ang isang nais na naratibo. + +Mga tanong na dapat pag-isipan: + * Nag-uulat ba tayo ng hindi kumpleto o hindi tumpak na data? + * Nagpapakita ba tayo ng data sa paraang nagdudulot ng maling konklusyon? + * Gumagamit ba tayo ng piling mga teknik sa istatistika upang manipulahin ang mga resulta? + * Mayroon bang alternatibong paliwanag na maaaring magbigay ng ibang konklusyon? + +#### 2.10 Free Choice +Ang [Illusion of Free Choice](https://www.datasciencecentral.com/profiles/blogs/the-illusion-of-choice) ay nangyayari kapag ang "choice architectures" ng sistema ay gumagamit ng mga algorithm sa paggawa ng desisyon upang itulak ang mga tao na pumili ng isang nais na resulta habang tila binibigyan sila ng mga opsyon at kontrol. Ang mga [dark patterns](https://www.darkpatterns.org/) na ito ay maaaring magdulot ng panlipunan at pang-ekonomiyang pinsala sa mga gumagamit. Dahil ang mga desisyon ng gumagamit ay nakakaapekto sa mga profile ng pag-uugali, ang mga aksyong ito ay maaaring magdulot ng mga hinaharap na pagpipilian na maaaring palalain o palawigin ang epekto ng mga pinsalang ito. + +Mga tanong na dapat pag-isipan: + * Naiintindihan ba ng gumagamit ang mga implikasyon ng paggawa ng desisyong iyon? + * Alam ba ng gumagamit ang (mga alternatibong) opsyon at ang mga kalamangan at kahinaan ng bawat isa? + * Maaari bang baligtarin ng gumagamit ang isang automated o naimpluwensiyahang desisyon sa hinaharap? + +### 3. Mga Pag-aaral ng Kaso + +Upang mailagay ang mga hamon sa etika sa mga konteksto ng totoong mundo, makakatulong ang pagtingin sa mga pag-aaral ng kaso na naglalarawan ng mga potensyal na pinsala at kahihinatnan sa mga indibidwal at lipunan kapag ang mga paglabag sa etika ay hindi napapansin. + +Narito ang ilang halimbawa: + +| Hamon sa Etika | Pag-aaral ng Kaso | +|--- |--- | +| **Informed Consent** | 1972 - [Tuskegee Syphilis Study](https://en.wikipedia.org/wiki/Tuskegee_Syphilis_Study) - Ang mga African American na lalaki na lumahok sa pag-aaral ay pinangakuan ng libreng medikal na pangangalaga _ngunit nilinlang_ ng mga mananaliksik na hindi ipinaalam sa kanila ang kanilang diagnosis o ang pagkakaroon ng paggamot. Maraming namatay, at naapektuhan ang mga asawa o anak; tumagal ang pag-aaral ng 40 taon. | +| **Data Privacy** | 2007 - Ang [Netflix data prize](https://www.wired.com/2007/12/why-anonymous-data-sometimes-isnt/) ay nagbigay sa mga mananaliksik ng _10M anonymized movie rankings mula sa 50K customer_ upang mapabuti ang mga algorithm ng rekomendasyon. Gayunpaman, nagawa ng mga mananaliksik na iugnay ang anonymized data sa personal na makikilalang data sa _mga panlabas na dataset_ (hal., IMDb comments) - epektibong "de-anonymizing" ang ilang Netflix subscribers.| +| **Collection Bias** | 2013 - Ang Lungsod ng Boston ay [nag-develop ng Street Bump](https://www.boston.gov/transportation/street-bump), isang app na nagpapahintulot sa mga mamamayan na mag-ulat ng mga potholes, na nagbibigay sa lungsod ng mas mahusay na data sa kalsada upang mahanap at maayos ang mga isyu. Gayunpaman, [ang mga tao sa mas mababang kita ay may mas kaunting access sa mga kotse at telepono](https://hbr.org/2013/04/the-hidden-biases-in-big-data), na ginagawang hindi nakikita ang kanilang mga isyu sa kalsada sa app na ito. Nakipagtulungan ang mga developer sa mga akademiko upang tugunan ang _pantay na access at digital divides_ para sa katarungan. | +| **Algorithmic Fairness** | 2018 - Ang MIT [Gender Shades Study](http://gendershades.org/overview.html) ay nagsuri sa katumpakan ng mga produkto ng AI sa pag-uuri ng kasarian, na naglantad ng mga agwat sa katumpakan para sa kababaihan at mga taong may kulay. Ang isang [2019 Apple Card](https://www.wired.com/story/the-apple-card-didnt-see-genderand-thats-the-problem/) ay tila nag-aalok ng mas mababang credit sa kababaihan kaysa sa kalalakihan. Parehong nagpakita ng mga isyu sa bias ng algorithm na nagdudulot ng mga socio-economic harms.| +| **Data Misrepresentation** | 2020 - Ang [Georgia Department of Public Health ay naglabas ng mga COVID-19 chart](https://www.vox.com/covid-19-coronavirus-us-response-trump/2020/5/18/21262265/georgia-covid-19-cases-declining-reopening) na tila nililinlang ang mga mamamayan tungkol sa mga trend ng kumpirmadong kaso gamit ang hindi kronolohikal na pagkakasunod-sunod sa x-axis. Ipinapakita nito ang maling representasyon sa pamamagitan ng mga trick sa visualization. | +| **Illusion of free choice** | 2020 - Ang learning app na [ABCmouse ay nagbayad ng $10M upang ayusin ang reklamo ng FTC](https://www.washingtonpost.com/business/2020/09/04/abcmouse-10-million-ftc-settlement/) kung saan ang mga magulang ay na-trap sa pagbabayad para sa mga subscription na hindi nila ma-cancel. Ipinapakita nito ang dark patterns sa choice architectures, kung saan ang mga gumagamit ay itinulak sa mga potensyal na mapanganib na desisyon. | +| **Data Privacy & User Rights** | 2021 - Ang Facebook [Data Breach](https://www.npr.org/2021/04/09/986005820/after-data-breach-exposes-530-million-facebook-says-it-will-not-notify-users) ay naglantad ng data mula sa 530M na gumagamit, na nagresulta sa $5B na settlement sa FTC. Gayunpaman, tumanggi itong ipaalam sa mga gumagamit ang breach, na lumalabag sa mga karapatan ng gumagamit sa transparency ng data at access. | + +Gusto mo bang mag-explore ng higit pang mga pag-aaral ng kaso? Tingnan ang mga mapagkukunang ito: +* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - mga dilemmas sa etika sa iba't ibang industriya. +* [Data Science Ethics course](https://www.coursera.org/learn/data-science-ethics#syllabus) - landmark na mga pag-aaral ng kaso na tinalakay. +* [Where things have gone wrong](https://deon.drivendata.org/examples/) - checklist ng deon na may mga halimbawa. + +> 🚨 Pag-isipan ang mga pag-aaral ng kaso na iyong nakita - nakaranas ka na ba, o naapektuhan ng, katulad na hamon sa etika sa iyong buhay? Makakaisip ka ba ng kahit isang pag-aaral ng kaso na naglalarawan ng isa sa mga hamon sa etika na tinalakay natin sa seksyong ito? + +## Applied Ethics + +Napag-usapan natin ang mga konsepto ng etika, mga hamon, at mga pag-aaral ng kaso sa mga konteksto ng totoong mundo. Ngunit paano tayo magsisimula sa _paglalapat_ ng mga prinsipyo at kasanayan sa etika sa ating mga proyekto? At paano natin _maisasagawa_ ang mga kasanayang ito para sa mas mahusay na pamamahala? Tuklasin natin ang ilang mga solusyon sa totoong mundo: + +### 1. Professional Codes + +Ang Professional Codes ay nag-aalok ng isang opsyon para sa mga organisasyon upang "hikayatin" ang mga miyembro na suportahan ang kanilang mga prinsipyo sa etika at misyon. Ang mga code ay _moral na gabay_ para sa propesyonal na pag-uugali, na tumutulong sa mga empleyado o miyembro na gumawa ng mga desisyon na naaayon sa mga prinsipyo ng kanilang organisasyon. Ang mga ito ay epektibo lamang kung may boluntaryong pagsunod mula sa mga miyembro; gayunpaman, maraming organisasyon ang nag-aalok ng karagdagang gantimpala at parusa upang mag-udyok ng pagsunod mula sa mga miyembro. + +Mga halimbawa: + * [Oxford Munich](http://www.code-of-ethics.org/code-of-conduct/) Code of Ethics + * [Data Science Association](http://datascienceassn.org/code-of-conduct.html) Code of Conduct (nilikha noong 2013) + * [ACM Code of Ethics and Professional Conduct](https://www.acm.org/code-of-ethics) (mula noong 1993) + +> 🚨 Miyembro ka ba ng isang propesyonal na organisasyon sa engineering o data science? Suriin ang kanilang site upang makita kung tinutukoy nila ang isang propesyonal na code of ethics. Ano ang sinasabi nito tungkol sa kanilang mga prinsipyo sa etika? Paano nila "hinihikayat" ang mga miyembro na sundin ang code? + +### 2. Ethics Checklists + +Habang ang mga professional codes ay tumutukoy sa kinakailangang _etikal na pag-uugali_ mula sa mga practitioner, [mayroon silang kilalang limitasyon](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md) sa pagpapatupad, partikular sa malalaking proyekto. Sa halip, maraming eksperto sa data science ang [nagpapayo ng paggamit ng checklists](https://resources.oreilly.com/examples/0636920203964/blob/master/of_oaths_and_checklists.md), na maaaring **mag-ugnay ng mga prinsipyo sa mga kasanayan** sa mas deterministiko at maaksiyong paraan. + +Ang mga checklist ay nagko-convert ng mga tanong sa "oo/hindi" na mga gawain na maaaring maisagawa, na nagpapahintulot sa mga ito na masubaybayan bilang bahagi ng karaniwang workflows sa paglabas ng produkto. + +Mga halimbawa: + * [Deon](https://deon.drivendata.org/) - isang pangkalahatang checklist sa etika ng data na nilikha mula sa [mga rekomendasyon ng industriya](https://deon.drivendata.org/#checklist-citations) na may command-line tool para sa madaling integrasyon. + * [Privacy Audit Checklist](https://cyber.harvard.edu/ecommerce/privacyaudit.html) - nagbibigay ng pangkalahatang gabay para sa mga kasanayan sa paghawak ng impormasyon mula sa legal at panlipunang pananaw. + * [AI Fairness Checklist](https://www.microsoft.com/en-us/research/project/ai-fairness-checklist/) - nilikha ng mga practitioner ng AI upang suportahan ang pag-aampon at integrasyon ng fairness checks sa mga development cycle ng AI. + * [22 questions for ethics in data and AI](https://medium.com/the-organization/22-questions-for-ethics-in-data-and-ai-efb68fd19429) - mas bukas na framework, na naka-istruktura para sa paunang pagsusuri ng mga isyu sa etika sa disenyo, implementasyon, at mga konteksto ng organisasyon. + +### 3. Ethics Regulations + +Ang etika ay tungkol sa pagtukoy ng mga pinagsasaluhang halaga at paggawa ng tama _boluntaryo_. **Compliance** ay tungkol sa _pagsunod sa batas_ kung saan ito tinukoy. Ang **Governance** ay sumasaklaw sa lahat ng paraan kung paano nagpapatakbo ang mga organisasyon upang ipatupad ang mga prinsipyo ng etika at sumunod sa mga itinatag na batas. + +Ngayon, ang pamamahala ay may dalawang anyo sa loob ng mga organisasyon. Una, ito ay tungkol sa pagtukoy ng mga prinsipyo ng **ethical AI** at pagtatatag ng mga kasanayan upang maisagawa ang pag-aampon sa lahat ng mga proyekto na may kaugnayan sa AI sa organisasyon. Pangalawa, ito ay tungkol sa pagsunod sa lahat ng mga regulasyon sa proteksyon ng data na ipinag-uutos ng gobyerno para sa mga rehiyon kung saan ito nagpapatakbo. + +Mga halimbawa ng regulasyon sa proteksyon ng data at privacy: + * `1974`, [US Privacy Act](https://www.justice.gov/opcl/privacy-act-1974) - nagre-regulate ng _federal govt._ sa koleksyon, paggamit, at paglalantad ng personal na impormasyon. + * `1996`, [US Health Insurance Portability & Accountability Act (HIPAA)](https://www.cdc.gov/phlp/publications/topic/hipaa.html) - pinoprotektahan ang personal na data sa kalusugan. + * `1998`, [US Children's Online Privacy Protection Act (COPPA)](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/childrens-online-privacy-protection-rule) - pinoprotektahan ang privacy ng data ng mga bata na wala pang 13 taong gulang. + * `2018`, [General Data Protection Regulation (GDPR)](https://gdpr-info.eu/) - nagbibigay ng mga karapatan ng gumagamit, proteksyon ng data, at privacy. + * `2018`, [California Consumer Privacy Act (CCPA)](https://www.oag.ca.gov/privacy/ccpa) - nagbibigay sa mga consumer ng mas maraming _karapatan_ sa kanilang (personal) na data. + * `2021`, China's [Personal Information Protection Law](https://www.reuters.com/world/china/china-passes-new-personal-data-privacy-law-take-effect-nov-1-2021-08-20/) - kamakailan lamang naipasa, na lumilikha ng isa sa pinakamalakas na regulasyon sa online data privacy sa buong mundo. + +> 🚨 Ang European Union na nagtakda ng GDPR (General Data Protection Regulation) ay nananatiling isa sa mga pinaka-maimpluwensiyang regulasyon sa privacy ng data ngayon. Alam mo ba na tinutukoy din nito ang [8 karapatan ng gumagamit](https://www.freeprivacypolicy.com/blog/8-user-rights-gdpr) upang protektahan ang digital na privacy at personal na data ng mga mamamayan? Alamin kung ano ang mga ito, at kung bakit mahalaga ang mga ito. + +### 4. Ethics Culture + +Tandaan na may natitirang hindi nakikitang agwat sa pagitan ng _compliance_ (paggawa ng sapat upang matugunan ang "letra ng batas") at pagtugon sa [mga sistematikong isyu](https://www.coursera.org/learn/data-science-ethics/home/week/4) (tulad ng ossification, information asymmetry, at distributional unfairness) na maaaring magpabilis sa weaponization ng AI. + +Ang huli ay nangangailangan ng [mga collaborative na diskarte sa pagtukoy ng mga kultura ng etika](https://towardsdatascience.com/why-ai-ethics-requires-a-culture-driven-approach-26f451afa29f) na bumubuo ng emosyonal na koneksyon at pare-parehong pinagsasaluhang halaga _sa mga organisasyon_ sa industriya. Ito ay nangangailangan ng mas [pormalisadong kultura ng etika sa data](https://www.codeforamerica.org/news/formalizing-an-ethical-data-culture/) sa mga organisasyon - na nagpapahintulot sa _sinuman_ na [hilahin ang Andon cord](https://en.wikipedia.org/wiki/Andon_(manufacturing)) (upang itaas ang mga alalahanin sa etika nang maaga sa proseso) at gawing _mga etikal na pagtatasa_ (hal., sa pagkuha) isang pangunahing pamantayan sa pagbuo ng koponan sa mga proyekto ng AI. + +--- +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/3) 🎯 +## Review & Self Study + +Ang mga kurso at libro ay tumutulong sa pag-unawa sa mga pangunahing konsepto ng etika at mga hamon, habang ang mga pag-aaral ng kaso at mga tool ay tumutulong sa mga kasanayan sa etika sa totoong mundo. Narito ang ilang mapagkukunan upang magsimula: + +* [Machine Learning For Beginners](https://github.com/microsoft/ML-For-Beginners/blob/main/1-Introduction/3-fairness/README.md) - aralin tungkol sa Fairness, mula sa Microsoft. +* [Mga Prinsipyo ng Responsableng AI](https://docs.microsoft.com/en-us/learn/modules/responsible-ai-principles/) - libreng learning path mula sa Microsoft Learn. +* [Etika at Agham ng Datos](https://resources.oreilly.com/examples/0636920203964) - O'Reilly EBook (M. Loukides, H. Mason et. al) +* [Etika sa Agham ng Datos](https://www.coursera.org/learn/data-science-ethics#syllabus) - online na kurso mula sa University of Michigan. +* [Ethics Unwrapped](https://ethicsunwrapped.utexas.edu/case-studies) - mga case study mula sa University of Texas. + +# Takdang-Aralin + +[Sumulat ng Isang Case Study Tungkol sa Etika ng Datos](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/02-ethics/assignment.md b/translations/tl/1-Introduction/02-ethics/assignment.md new file mode 100644 index 00000000..a34fb188 --- /dev/null +++ b/translations/tl/1-Introduction/02-ethics/assignment.md @@ -0,0 +1,35 @@ + +## Sumulat ng Pag-aaral ng Kaso Tungkol sa Etika ng Datos + +## Mga Panuto + +Natuto ka na tungkol sa iba't ibang [Mga Hamon sa Etika ng Datos](README.md#2-ethics-challenges) at nakita mo ang ilang halimbawa ng [Mga Pag-aaral ng Kaso](README.md#3-case-studies) na nagpapakita ng mga hamon sa etika ng datos sa mga tunay na sitwasyon. + +Sa gawaing ito, magsusulat ka ng sarili mong pag-aaral ng kaso na naglalarawan ng isang hamon sa etika ng datos mula sa iyong sariling karanasan, o mula sa isang kaugnay na tunay na sitwasyon na pamilyar ka. Sundin lamang ang mga hakbang na ito: + +1. `Pumili ng Hamon sa Etika ng Datos`. Tingnan ang [mga halimbawa sa aralin](README.md#2-ethics-challenges) o maghanap ng mga halimbawa online tulad ng [Deon Checklist](https://deon.drivendata.org/examples/) para makakuha ng inspirasyon. + +2. `Ilarawan ang Isang Tunay na Halimbawa`. Mag-isip ng isang sitwasyon na narinig mo (balita, pag-aaral sa pananaliksik, atbp.) o naranasan (lokal na komunidad), kung saan nangyari ang partikular na hamon na ito. Isaalang-alang ang mga tanong sa etika ng datos na may kaugnayan sa hamon - at talakayin ang mga posibleng pinsala o hindi sinasadyang epekto na dulot ng isyung ito. Bonus na puntos: mag-isip ng mga posibleng solusyon o proseso na maaaring ilapat dito upang makatulong na alisin o mabawasan ang masamang epekto ng hamon na ito. + +3. `Magbigay ng Listahan ng Kaugnay na Mga Mapagkukunan`. Magbahagi ng isa o higit pang mapagkukunan (mga link sa isang artikulo, personal na blog post o imahe, online na papel sa pananaliksik, atbp.) upang patunayan na ito ay isang tunay na pangyayari. Bonus na puntos: magbahagi ng mga mapagkukunan na nagpapakita rin ng mga posibleng pinsala at epekto mula sa insidente, o nagha-highlight ng mga positibong hakbang na ginawa upang maiwasan ang pag-ulit nito. + + + +## Rubric + +Napakahusay | Katamtaman | Kailangan ng Pagpapabuti +--- | --- | -- | +Isa o higit pang hamon sa etika ng datos ang natukoy.

Ang pag-aaral ng kaso ay malinaw na naglalarawan ng isang tunay na insidente na nagpapakita ng hamon na iyon, at binibigyang-diin ang mga hindi kanais-nais na epekto o pinsala na dulot nito.

Mayroong hindi bababa sa isang naka-link na mapagkukunan upang patunayan na ito ay nangyari. | Isang hamon sa etika ng datos ang natukoy.

Hindi bababa sa isang kaugnay na pinsala o epekto ang tinalakay nang maikli.

Gayunpaman, ang talakayan ay limitado o kulang sa patunay ng tunay na pangyayari. | Isang hamon sa datos ang natukoy.

Gayunpaman, ang paglalarawan o mga mapagkukunan ay hindi sapat na nagpapakita ng hamon o nagpapatunay na ito ay tunay na nangyari. | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/03-defining-data/README.md b/translations/tl/1-Introduction/03-defining-data/README.md new file mode 100644 index 00000000..77890572 --- /dev/null +++ b/translations/tl/1-Introduction/03-defining-data/README.md @@ -0,0 +1,85 @@ + +# Pagpapakahulugan ng Data + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/03-DefiningData.png)| +|:---:| +|Pagpapakahulugan ng Data - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Ang data ay mga katotohanan, impormasyon, obserbasyon, at sukat na ginagamit upang makagawa ng mga tuklas at suportahan ang mga desisyong may kaalaman. Ang isang data point ay isang yunit ng data sa loob ng isang dataset, na koleksyon ng mga data point. Ang mga dataset ay maaaring dumating sa iba't ibang format at istruktura, at karaniwang nakabatay sa pinagmulan nito, o kung saan nagmula ang data. Halimbawa, ang buwanang kita ng isang kumpanya ay maaaring nasa spreadsheet ngunit ang oras-oras na data ng heart rate mula sa isang smartwatch ay maaaring nasa format na [JSON](https://stackoverflow.com/a/383699). Karaniwan para sa mga data scientist na magtrabaho sa iba't ibang uri ng data sa loob ng isang dataset. + +Ang araling ito ay nakatuon sa pagkilala at pag-uuri ng data batay sa mga katangian nito at mga pinagmulan. + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/4) + +## Paano Inilalarawan ang Data + +### Raw Data +Ang raw data ay data na nagmula sa pinagmulan nito sa orihinal na estado at hindi pa nasusuri o naayos. Upang maunawaan kung ano ang nangyayari sa isang dataset, kailangang ayusin ito sa isang format na mauunawaan ng tao pati na rin ng teknolohiyang maaaring gamitin upang masuri ito nang higit pa. Ang istruktura ng isang dataset ay naglalarawan kung paano ito naayos at maaaring uriin bilang structured, unstructured, at semi-structured. Ang mga uri ng istruktura na ito ay mag-iiba depende sa pinagmulan ngunit sa huli ay magkasya sa tatlong kategoryang ito. + +### Quantitative Data +Ang quantitative data ay mga numerikal na obserbasyon sa loob ng isang dataset at karaniwang maaaring suriin, sukatin, at gamitin sa matematika. Ilang halimbawa ng quantitative data ay: populasyon ng isang bansa, taas ng isang tao, o kita ng isang kumpanya kada quarter. Sa karagdagang pagsusuri, ang quantitative data ay maaaring gamitin upang matuklasan ang mga seasonal trend ng Air Quality Index (AQI) o tantiyahin ang posibilidad ng trapiko sa rush hour sa isang tipikal na araw ng trabaho. + +### Qualitative Data +Ang qualitative data, na kilala rin bilang categorical data, ay data na hindi maaaring sukatin nang objektibo tulad ng mga obserbasyon ng quantitative data. Karaniwan itong iba't ibang format ng subjective na data na naglalarawan sa kalidad ng isang bagay, tulad ng isang produkto o proseso. Minsan, ang qualitative data ay numerikal ngunit hindi karaniwang ginagamit sa matematika, tulad ng mga numero ng telepono o mga timestamp. Ilang halimbawa ng qualitative data ay: mga komento sa video, make at model ng isang kotse, o paboritong kulay ng pinakamalapit mong kaibigan. Ang qualitative data ay maaaring gamitin upang maunawaan kung aling mga produkto ang pinakagusto ng mga consumer o upang matukoy ang mga sikat na keyword sa mga resume ng aplikasyon sa trabaho. + +### Structured Data +Ang structured data ay data na naayos sa mga row at column, kung saan ang bawat row ay magkakaroon ng parehong set ng column. Ang mga column ay kumakatawan sa isang halaga ng partikular na uri at makikilala sa isang pangalan na naglalarawan kung ano ang kinakatawan ng halaga, habang ang mga row ay naglalaman ng aktwal na mga halaga. Ang mga column ay madalas na may partikular na set ng mga panuntunan o limitasyon sa mga halaga, upang matiyak na ang mga halaga ay tumpak na kumakatawan sa column. Halimbawa, isipin ang isang spreadsheet ng mga customer kung saan ang bawat row ay dapat may numero ng telepono at ang mga numero ng telepono ay hindi kailanman naglalaman ng mga alpabetikong karakter. Maaaring may mga panuntunang inilapat sa column ng numero ng telepono upang matiyak na hindi ito kailanman walang laman at naglalaman lamang ng mga numero. + +Ang isang benepisyo ng structured data ay maaari itong maayos sa paraang maaaring maiugnay ito sa iba pang structured data. Gayunpaman, dahil ang data ay idinisenyo upang maayos sa isang partikular na paraan, ang paggawa ng mga pagbabago sa pangkalahatang istruktura nito ay maaaring mangailangan ng malaking pagsisikap. Halimbawa, ang pagdaragdag ng email column sa spreadsheet ng customer na hindi maaaring walang laman ay nangangahulugan na kailangan mong alamin kung paano mo idaragdag ang mga halagang ito sa mga umiiral na row ng mga customer sa dataset. + +Mga halimbawa ng structured data: spreadsheets, relational databases, mga numero ng telepono, mga bank statement. + +### Unstructured Data +Ang unstructured data ay karaniwang hindi maaaring ikategorya sa mga row o column at walang format o set ng mga panuntunan na susundin. Dahil ang unstructured data ay may mas kaunting mga limitasyon sa istruktura nito, mas madali itong magdagdag ng bagong impormasyon kumpara sa isang structured dataset. Halimbawa, kung ang isang sensor na kumukuha ng data sa barometric pressure tuwing 2 minuto ay nakatanggap ng update na ngayon ay pinapayagan itong sukatin at i-record ang temperatura, hindi nito kailangang baguhin ang umiiral na data kung ito ay unstructured. Gayunpaman, maaaring mas matagal ang pagsusuri o pagsisiyasat sa ganitong uri ng data. Halimbawa, isang siyentipiko na gustong hanapin ang average na temperatura ng nakaraang buwan mula sa data ng sensor, ngunit natuklasan na ang sensor ay nag-record ng "e" sa ilan sa mga naitala nitong data upang ipahiwatig na ito ay nasira sa halip na isang tipikal na numero, na nangangahulugang hindi kumpleto ang data. + +Mga halimbawa ng unstructured data: text files, text messages, video files. + +### Semi-structured +Ang semi-structured data ay may mga katangian na ginagawa itong kumbinasyon ng structured at unstructured data. Karaniwan itong hindi sumusunod sa format ng mga row at column ngunit naayos sa paraang itinuturing na structured at maaaring sumunod sa isang nakatakdang format o set ng mga panuntunan. Ang istruktura ay mag-iiba sa pagitan ng mga pinagmulan, tulad ng isang mahusay na tinukoy na hierarchy sa isang bagay na mas flexible na nagpapahintulot sa madaling pagsasama ng bagong impormasyon. Ang metadata ay mga tagapagpahiwatig na tumutulong sa pagpapasya kung paano naayos at iniimbak ang data at magkakaroon ng iba't ibang pangalan, batay sa uri ng data. Ilang karaniwang pangalan para sa metadata ay tags, elements, entities, at attributes. Halimbawa, ang isang tipikal na email message ay magkakaroon ng subject, body, at isang set ng mga recipient at maaaring ayusin batay sa kung sino o kailan ito ipinadala. + +Mga halimbawa ng semi-structured data: HTML, CSV files, JavaScript Object Notation (JSON). + +## Mga Pinagmulan ng Data + +Ang pinagmulan ng data ay ang paunang lokasyon kung saan nabuo ang data, o kung saan ito "nakatira" at mag-iiba batay sa kung paano at kailan ito nakolekta. Ang data na nabuo ng mga user nito ay kilala bilang primary data habang ang secondary data ay nagmumula sa isang pinagmulan na nangolekta ng data para sa pangkalahatang paggamit. Halimbawa, ang isang grupo ng mga siyentipiko na nangongolekta ng mga obserbasyon sa isang rainforest ay ituturing na primary at kung magpasya silang ibahagi ito sa ibang mga siyentipiko, ito ay ituturing na secondary sa mga gumagamit nito. + +Ang mga database ay isang karaniwang pinagmulan at umaasa sa isang database management system upang i-host at panatilihin ang data kung saan gumagamit ang mga user ng mga command na tinatawag na queries upang galugarin ang data. Ang mga file bilang mga pinagmulan ng data ay maaaring audio, image, at video files pati na rin ang mga spreadsheet tulad ng Excel. Ang mga internet sources ay isang karaniwang lokasyon para sa pagho-host ng data, kung saan ang mga database pati na rin ang mga file ay matatagpuan. Ang application programming interfaces, na kilala rin bilang APIs, ay nagpapahintulot sa mga programmer na lumikha ng mga paraan upang magbahagi ng data sa mga external na user sa pamamagitan ng internet, habang ang proseso ng web scraping ay kumukuha ng data mula sa isang web page. Ang [mga aralin sa Working with Data](../../../../../../../../../2-Working-With-Data) ay nakatuon sa kung paano gamitin ang iba't ibang pinagmulan ng data. + +## Konklusyon + +Sa araling ito natutunan natin: + +- Ano ang data +- Paano inilalarawan ang data +- Paano inuuri at ikinategorya ang data +- Saan matatagpuan ang data + +## 🚀 Hamon + +Ang Kaggle ay isang mahusay na pinagmulan ng mga open datasets. Gamitin ang [dataset search tool](https://www.kaggle.com/datasets) upang makahanap ng ilang kawili-wiling datasets at uriin ang 3-5 datasets gamit ang pamantayang ito: + +- Ang data ba ay quantitative o qualitative? +- Ang data ba ay structured, unstructured, o semi-structured? + +## [Post-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/5) + +## Review & Self Study + +- Ang Microsoft Learn unit na ito, na pinamagatang [Classify your Data](https://docs.microsoft.com/en-us/learn/modules/choose-storage-approach-in-azure/2-classify-data) ay may detalyadong breakdown ng structured, semi-structured, at unstructured data. + +## Assignment + +[Classifying Datasets](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/03-defining-data/assignment.md b/translations/tl/1-Introduction/03-defining-data/assignment.md new file mode 100644 index 00000000..71244b69 --- /dev/null +++ b/translations/tl/1-Introduction/03-defining-data/assignment.md @@ -0,0 +1,79 @@ + +# Pag-uuri ng Mga Dataset + +## Mga Panuto + +Sundin ang mga tanong sa assignment na ito upang tukuyin at uriin ang data gamit ang isa sa bawat uri ng sumusunod na data: + +**Mga Uri ng Estruktura**: Structured, Semi-Structured, o Unstructured + +**Mga Uri ng Halaga**: Qualitative o Quantitative + +**Mga Uri ng Pinagmulan**: Primary o Secondary + +1. Ang isang kumpanya ay nakuha at ngayon ay may parent company. Ang mga data scientist ay nakatanggap ng spreadsheet ng mga numero ng telepono ng customer mula sa parent company. + +Uri ng Estruktura: + +Uri ng Halaga: + +Uri ng Pinagmulan: + +--- + +2. Ang isang smart watch ay nangongolekta ng data ng heart rate mula sa nagsusuot nito, at ang raw data ay nasa JSON format. + +Uri ng Estruktura: + +Uri ng Halaga: + +Uri ng Pinagmulan: + +--- + +3. Isang workplace survey ng morale ng empleyado na nakaimbak sa isang CSV file. + +Uri ng Estruktura: + +Uri ng Halaga: + +Uri ng Pinagmulan: + +--- + +4. Ang mga astrophysicist ay nag-a-access sa isang database ng mga galaxy na nakolekta ng isang space probe. Ang data ay naglalaman ng bilang ng mga planeta sa bawat galaxy. + +Uri ng Estruktura: + +Uri ng Halaga: + +Uri ng Pinagmulan: + +--- + +5. Ang isang personal finance app ay gumagamit ng APIs upang kumonekta sa mga financial account ng user upang kalkulahin ang kanilang net worth. Makikita nila ang lahat ng kanilang mga transaksyon sa format na mga row at column na kahawig ng isang spreadsheet. + +Uri ng Estruktura: + +Uri ng Halaga: + +Uri ng Pinagmulan: + +## Rubric + +Napakahusay | Katamtaman | Kailangan ng Pagpapabuti +--- | --- | -- | +Tama ang pagkakakilala sa lahat ng estruktura, halaga, at pinagmulan |Tama ang pagkakakilala sa 3 estruktura, halaga, at pinagmulan|Tama ang pagkakakilala sa 2 o mas kaunti sa estruktura, halaga, at pinagmulan| + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/04-stats-and-probability/README.md b/translations/tl/1-Introduction/04-stats-and-probability/README.md new file mode 100644 index 00000000..83a81838 --- /dev/null +++ b/translations/tl/1-Introduction/04-stats-and-probability/README.md @@ -0,0 +1,276 @@ + +# Isang Maikling Panimula sa Estadistika at Probabilidad + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/04-Statistics-Probability.png)| +|:---:| +| Estadistika at Probabilidad - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Ang Estadistika at Teorya ng Probabilidad ay dalawang malapit na kaugnay na larangan ng Matematika na mahalaga sa Data Science. Posibleng magtrabaho gamit ang datos nang hindi malalim ang kaalaman sa matematika, ngunit mas mainam pa rin na malaman ang ilang pangunahing konsepto. Dito, magbibigay kami ng maikling panimula na makakatulong sa iyong magsimula. + +[![Intro Video](../../../../translated_images/video-prob-and-stats.e4282e5efa2f2543400843ed98b1057065c9600cebfc8a728e8931b5702b2ae4.tl.png)](https://youtu.be/Z5Zy85g4Yjw) + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/6) + +## Probabilidad at Random Variables + +**Probabilidad** ay isang numero sa pagitan ng 0 at 1 na nagpapahayag kung gaano ka-posible ang isang **pangyayari**. Ito ay tinutukoy bilang bilang ng positibong resulta (na humahantong sa pangyayari), hinati sa kabuuang bilang ng mga resulta, kung saan ang lahat ng resulta ay pantay-pantay ang posibilidad. Halimbawa, kapag nag-roll tayo ng dice, ang probabilidad na makakuha tayo ng even number ay 3/6 = 0.5. + +Kapag pinag-uusapan ang mga pangyayari, gumagamit tayo ng **random variables**. Halimbawa, ang random variable na kumakatawan sa numero na nakuha kapag nag-roll ng dice ay magkakaroon ng mga halaga mula 1 hanggang 6. Ang set ng mga numero mula 1 hanggang 6 ay tinatawag na **sample space**. Maaari nating pag-usapan ang probabilidad ng isang random variable na magkaroon ng tiyak na halaga, halimbawa P(X=3)=1/6. + +Ang random variable sa nakaraang halimbawa ay tinatawag na **discrete**, dahil mayroon itong bilang na sample space, ibig sabihin, may mga hiwalay na halaga na maaaring bilangin. May mga pagkakataon na ang sample space ay isang saklaw ng mga real numbers, o ang buong set ng real numbers. Ang ganitong mga variable ay tinatawag na **continuous**. Isang magandang halimbawa ay ang oras ng pagdating ng bus. + +## Probability Distribution + +Sa kaso ng discrete random variables, madali nating maipapakita ang probabilidad ng bawat pangyayari gamit ang isang function na P(X). Para sa bawat halaga *s* mula sa sample space *S*, magbibigay ito ng numero mula 0 hanggang 1, kung saan ang kabuuan ng lahat ng halaga ng P(X=s) para sa lahat ng pangyayari ay magiging 1. + +Ang pinakakilalang discrete distribution ay ang **uniform distribution**, kung saan may sample space na N elements, na may pantay na probabilidad na 1/N para sa bawat isa. + +Mas mahirap ipakita ang probability distribution ng isang continuous variable, na may mga halaga mula sa isang interval [a,b], o ang buong set ng real numbers ℝ. Isaalang-alang ang kaso ng oras ng pagdating ng bus. Sa katunayan, para sa bawat eksaktong oras ng pagdating *t*, ang probabilidad na dumating ang bus sa eksaktong oras na iyon ay 0! + +> Ngayon alam mo na ang mga pangyayari na may probabilidad na 0 ay nangyayari, at madalas pa! Lalo na tuwing dumadating ang bus! + +Maaari lamang nating pag-usapan ang probabilidad ng isang variable na nasa loob ng isang tiyak na saklaw ng mga halaga, halimbawa P(t1≤X2). Sa kasong ito, ang probability distribution ay inilalarawan ng isang **probability density function** p(x), kung saan: + +![P(t_1\le X1, x2, ..., xn. Maaari nating tukuyin ang **mean** (o **arithmetic average**) na halaga ng sequence sa tradisyunal na paraan bilang (x1+x2+xn)/n. Habang lumalaki ang laki ng sample (ibig sabihin, kunin ang limitasyon na n→∞), makukuha natin ang mean (tinatawag ding **expectation**) ng distribution. Tatawagin natin ang expectation bilang **E**(x). + +> Maipapakita na para sa anumang discrete distribution na may mga halaga {x1, x2, ..., xN} at mga kaukulang probabilidad p1, p2, ..., pN, ang expectation ay magiging E(X)=x1p1+x2p2+...+xNpN. + +Upang matukoy kung gaano kalayo ang mga halaga, maaari nating kalkulahin ang variance σ2 = ∑(xi - μ)2/n, kung saan ang μ ay ang mean ng sequence. Ang halaga σ ay tinatawag na **standard deviation**, at ang σ2 ay tinatawag na **variance**. + +## Mode, Median at Quartiles + +Minsan, ang mean ay hindi sapat na kumakatawan sa "karaniwang" halaga para sa datos. Halimbawa, kapag may ilang extreme values na lubos na labas sa saklaw, maaari nitong maapektuhan ang mean. Isa pang magandang indikasyon ay ang **median**, isang halaga kung saan kalahati ng mga data points ay mas mababa rito, at ang kalahati naman ay mas mataas. + +Upang matulungan tayong maunawaan ang distribution ng datos, kapaki-pakinabang na pag-usapan ang **quartiles**: + +* Ang unang quartile, o Q1, ay isang halaga kung saan 25% ng datos ay mas mababa rito +* Ang ikatlong quartile, o Q3, ay isang halaga kung saan 75% ng datos ay mas mababa rito + +Graphically, maaari nating ipakita ang relasyon sa pagitan ng median at quartiles sa isang diagram na tinatawag na **box plot**: + + + +Dito, kinakalkula rin natin ang **inter-quartile range** IQR=Q3-Q1, at ang tinatawag na **outliers** - mga halaga na nasa labas ng mga hangganan [Q1-1.5*IQR,Q3+1.5*IQR]. + +Para sa finite distribution na naglalaman ng maliit na bilang ng posibleng mga halaga, ang magandang "karaniwang" halaga ay ang madalas na lumalabas, na tinatawag na **mode**. Madalas itong ginagamit sa categorical data, tulad ng mga kulay. Isaalang-alang ang sitwasyon kung saan may dalawang grupo ng tao - ang ilan ay mas gustong pula, at ang iba naman ay mas gustong asul. Kung iko-code natin ang mga kulay sa pamamagitan ng mga numero, ang mean value para sa paboritong kulay ay maaaring nasa orange-green spectrum, na hindi nagpapakita ng aktwal na kagustuhan ng alinmang grupo. Gayunpaman, ang mode ay maaaring isa sa mga kulay, o parehong kulay, kung ang bilang ng mga tao na bumoto para sa kanila ay magkapantay (sa kasong ito, tinatawag natin ang sample na **multimodal**). + +## Datos mula sa Totoong Mundo + +Kapag sinusuri natin ang datos mula sa totoong buhay, madalas na hindi sila random variables sa ganitong kahulugan, dahil hindi tayo nagsasagawa ng eksperimento na may hindi tiyak na resulta. Halimbawa, isaalang-alang ang isang koponan ng mga manlalaro ng baseball, at ang kanilang mga datos sa katawan, tulad ng taas, timbang, at edad. Ang mga numerong ito ay hindi eksaktong random, ngunit maaari pa rin nating gamitin ang parehong mga konsepto ng matematika. Halimbawa, ang isang sequence ng mga timbang ng tao ay maaaring ituring na isang sequence ng mga halaga na nakuha mula sa isang random variable. Narito ang sequence ng mga timbang ng aktwal na mga manlalaro ng baseball mula sa [Major League Baseball](http://mlb.mlb.com/index.jsp), na kinuha mula sa [dataset na ito](http://wiki.stat.ucla.edu/socr/index.php/SOCR_Data_MLB_HeightsWeights) (para sa iyong kaginhawaan, ipinakita lamang ang unang 20 halaga): + +``` +[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**: Upang makita ang halimbawa ng paggamit ng dataset na ito, tingnan ang [kasamang notebook](notebook.ipynb). Mayroon ding ilang mga hamon sa buong aralin, at maaari mong kumpletuhin ang mga ito sa pamamagitan ng pagdaragdag ng ilang code sa notebook na iyon. Kung hindi ka sigurado kung paano mag-operate sa datos, huwag mag-alala - babalikan natin ang paggamit ng datos gamit ang Python sa susunod. Kung hindi mo alam kung paano magpatakbo ng code sa Jupyter Notebook, tingnan ang [artikulong ito](https://soshnikov.com/education/how-to-execute-notebooks-from-github/). + +Narito ang box plot na nagpapakita ng mean, median, at quartiles para sa ating datos: + +![Weight Box Plot](../../../../translated_images/weight-boxplot.1dbab1c03af26f8a008fff4e17680082c8ab147d6df646cbac440bbf8f5b9c42.tl.png) + +Dahil ang ating datos ay naglalaman ng impormasyon tungkol sa iba't ibang **roles** ng manlalaro, maaari rin tayong gumawa ng box plot ayon sa role - magbibigay ito sa atin ng ideya kung paano nagkakaiba ang mga halaga ng mga parameter sa bawat role. Sa pagkakataong ito, isasaalang-alang natin ang taas: + +![Box plot by role](../../../../translated_images/boxplot_byrole.036b27a1c3f52d42f66fba2324ec5cde0a1bca6a01a619eeb0ce7cd054b2527b.tl.png) + +Ipinapakita ng diagram na ito na, sa karaniwan, ang taas ng mga first basemen ay mas mataas kaysa sa taas ng mga second basemen. Sa susunod na bahagi ng aralin, matututunan natin kung paano mas pormal na masusubok ang hypothesis na ito, at kung paano ipakita na ang ating datos ay statistically significant upang patunayan ito. + +> Kapag nagtatrabaho sa datos mula sa totoong mundo, ipinapalagay natin na ang lahat ng data points ay mga samples na nakuha mula sa isang probability distribution. Ang assumption na ito ay nagbibigay-daan sa atin na mag-apply ng mga teknik sa machine learning at bumuo ng mga gumaganang predictive models. + +Upang makita kung ano ang distribution ng ating datos, maaari tayong mag-plot ng graph na tinatawag na **histogram**. Ang X-axis ay maglalaman ng bilang ng iba't ibang weight intervals (tinatawag na **bins**), at ang vertical axis ay magpapakita ng bilang ng beses na ang sample ng ating random variable ay nasa loob ng isang tiyak na interval. + +![Histogram of real world data](../../../../translated_images/weight-histogram.bfd00caf7fc30b145b21e862dba7def41c75635d5280de25d840dd7f0b00545e.tl.png) + +Mula sa histogram na ito, makikita mo na ang lahat ng halaga ay nakasentro sa paligid ng isang tiyak na mean weight, at habang lumalayo tayo mula sa mean weight - mas kaunti ang mga timbang na may ganitong halaga ang nakikita. Ibig sabihin, napaka-improbable na ang timbang ng isang manlalaro ng baseball ay malayo sa mean weight. Ang variance ng mga timbang ay nagpapakita kung gaano kalaki ang posibilidad na magkaiba ang mga timbang mula sa mean. + +> Kung kukunin natin ang mga timbang ng ibang tao, hindi mula sa baseball league, malamang na iba ang distribution. Gayunpaman, ang hugis ng distribution ay mananatiling pareho, ngunit magbabago ang mean at variance. Kaya, kung itetrain natin ang ating model sa mga manlalaro ng baseball, malamang na magbigay ito ng maling resulta kapag ginamit sa mga estudyante ng unibersidad, dahil iba ang underlying distribution. + +## Normal Distribution + +Ang distribution ng mga timbang na nakita natin sa itaas ay napaka-karaniwan, at maraming sukat mula sa totoong mundo ang sumusunod sa parehong uri ng distribution, ngunit may iba't ibang mean at variance. Ang distribution na ito ay tinatawag na **normal distribution**, at ito ay may mahalagang papel sa estadistika. + +Ang paggamit ng normal distribution ay tamang paraan upang makabuo ng random weights ng mga potensyal na manlalaro ng baseball. Kapag alam na natin ang mean weight `mean` at standard deviation `std`, maaari tayong bumuo ng 1000 weight samples sa sumusunod na paraan: +```python +samples = np.random.normal(mean,std,1000) +``` + +Kung ipo-plot natin ang histogram ng mga nabuong samples, makikita natin ang larawan na halos katulad ng ipinakita sa itaas. At kung dadagdagan natin ang bilang ng samples at ang bilang ng bins, maaari tayong makabuo ng larawan ng normal distribution na mas malapit sa ideal: + +![Normal Distribution with mean=0 and std.dev=1](../../../../translated_images/normal-histogram.dfae0d67c202137d552d0015fb87581eca263925e512404f3c12d8885315432e.tl.png) + +*Normal Distribution na may mean=0 at std.dev=1* + +## Confidence Intervals + +Kapag pinag-uusapan natin ang mga timbang ng mga manlalaro ng baseball, ipinapalagay natin na mayroong tiyak na **random variable W** na tumutugma sa ideal probability distribution ng mga timbang ng lahat ng manlalaro ng baseball (tinatawag na **population**). Ang ating sequence ng mga timbang ay tumutugma sa isang subset ng lahat ng manlalaro ng baseball na tinatawag nating **sample**. Isang kawili-wiling tanong ay, maaari ba nating malaman ang mga parameter ng distribution ng W, ibig sabihin, ang mean at variance ng population? + +Ang pinakamadaling sagot ay kalkulahin ang mean at variance ng ating sample. Gayunpaman, maaaring mangyari na ang ating random sample ay hindi tumpak na kumakatawan sa buong population. Kaya't may katuturan na pag-usapan ang **confidence interval**. +> **Ang confidence interval** ay ang pagtatantiya ng tunay na mean ng populasyon batay sa ating sample, na may tiyak na antas ng katiyakan (o **antas ng kumpiyansa**). +Ipagpalagay natin na mayroon tayong sample X1, ..., Xn mula sa ating distribusyon. Sa bawat pagkakataon na kumukuha tayo ng sample mula sa ating distribusyon, magkakaroon tayo ng iba't ibang mean value μ. Kaya't ang μ ay maituturing na isang random variable. Ang isang **confidence interval** na may confidence p ay isang pares ng mga halaga (Lp,Rp), kung saan **P**(Lp≤μ≤Rp) = p, ibig sabihin, ang probabilidad na ang nasukat na mean value ay nasa loob ng interval ay katumbas ng p. + +Hindi saklaw ng maikling pagpapakilalang ito ang detalyadong talakayan kung paano kinakalkula ang mga confidence interval. Ang karagdagang detalye ay matatagpuan [sa Wikipedia](https://en.wikipedia.org/wiki/Confidence_interval). Sa madaling salita, tinutukoy natin ang distribusyon ng nakalkulang sample mean kaugnay ng tunay na mean ng populasyon, na tinatawag na **student distribution**. + +> **Kawili-wiling Katotohanan**: Ang student distribution ay ipinangalan sa matematikong si William Sealy Gosset, na naglathala ng kanyang papel sa ilalim ng sagisag-panulat na "Student". Siya ay nagtrabaho sa Guinness brewery, at ayon sa isang bersyon, ayaw ng kanyang employer na malaman ng publiko na gumagamit sila ng mga statistical test upang suriin ang kalidad ng mga hilaw na materyales. + +Kung nais nating tantiyahin ang mean μ ng ating populasyon na may confidence p, kailangan nating kunin ang *(1-p)/2-th percentile* ng isang Student distribution A, na maaaring makuha mula sa mga talahanayan, o kalkulahin gamit ang ilang built-in na mga function ng statistical software (hal. Python, R, atbp.). Ang interval para sa μ ay ibinibigay ng X±A*D/√n, kung saan ang X ay ang nakuha na mean ng sample, at ang D ay ang standard deviation. + +> **Tandaan**: Hindi rin natin tatalakayin ang mahalagang konsepto ng [degrees of freedom](https://en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)), na mahalaga kaugnay ng Student distribution. Maaari kang sumangguni sa mas kumpletong mga aklat sa estadistika upang mas maunawaan ang konseptong ito. + +Isang halimbawa ng pagkalkula ng confidence interval para sa timbang at taas ay makikita sa [kasamang notebook](notebook.ipynb). + +| p | Mean ng Timbang | +|------|-----------------| +| 0.85 | 201.73±0.94 | +| 0.90 | 201.73±1.08 | +| 0.95 | 201.73±1.28 | + +Pansinin na habang tumataas ang confidence probability, mas lumalawak ang confidence interval. + +## Hypothesis Testing + +Sa ating dataset ng mga manlalaro ng baseball, may iba't ibang mga tungkulin ng manlalaro, na maaaring ibuod sa ibaba (tingnan ang [kasamang notebook](notebook.ipynb) upang makita kung paano kinakalkula ang talahanayang ito): + +| Tungkulin | Taas | Timbang | Bilang | +|---------------------|-----------|-----------|--------| +| Catcher | 72.723684 | 204.328947 | 76 | +| Designated_Hitter | 74.222222 | 220.888889 | 18 | +| First_Baseman | 74.000000 | 213.109091 | 55 | +| Outfielder | 73.010309 | 199.113402 | 194 | +| Relief_Pitcher | 74.374603 | 203.517460 | 315 | +| Second_Baseman | 71.362069 | 184.344828 | 58 | +| Shortstop | 71.903846 | 182.923077 | 52 | +| Starting_Pitcher | 74.719457 | 205.163636 | 221 | +| Third_Baseman | 73.044444 | 200.955556 | 45 | + +Mapapansin natin na ang mean height ng mga first basemen ay mas mataas kaysa sa mga second basemen. Kaya't maaari tayong matuksong magtapos na **mas matangkad ang mga first basemen kaysa sa mga second basemen**. + +> Ang pahayag na ito ay tinatawag na **isang hypothesis**, dahil hindi natin alam kung ang katotohanan ay talagang totoo o hindi. + +Gayunpaman, hindi laging malinaw kung maaari nating gawin ang konklusyong ito. Mula sa talakayan sa itaas, alam natin na ang bawat mean ay may kaugnay na confidence interval, at kaya't ang pagkakaibang ito ay maaaring isang statistical error lamang. Kailangan natin ng mas pormal na paraan upang subukin ang ating hypothesis. + +Kalkulahin natin ang confidence intervals nang hiwalay para sa taas ng mga first at second basemen: + +| Confidence | First Basemen | Second Basemen | +|------------|-----------------|-----------------| +| 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 | + +Makikita natin na sa kahit anong confidence level, hindi nag-o-overlap ang mga interval. Pinatutunayan nito ang ating hypothesis na mas matangkad ang mga first basemen kaysa sa mga second basemen. + +Mas pormal, ang problemang sinusubukan nating lutasin ay upang makita kung **ang dalawang distribusyon ng probabilidad ay magkapareho**, o kahit man lang ay may parehong mga parameter. Depende sa distribusyon, kailangan nating gumamit ng iba't ibang mga test para dito. Kung alam natin na ang ating mga distribusyon ay normal, maaari nating gamitin ang **[Student t-test](https://en.wikipedia.org/wiki/Student%27s_t-test)**. + +Sa Student t-test, kinakalkula natin ang tinatawag na **t-value**, na nagpapakita ng pagkakaiba sa pagitan ng mga mean, isinasaalang-alang ang variance. Ipinapakita na ang t-value ay sumusunod sa **student distribution**, na nagbibigay-daan sa atin upang makuha ang threshold value para sa isang ibinigay na confidence level **p** (maaari itong kalkulahin, o tingnan sa mga numerical table). Pagkatapos, ikinukumpara natin ang t-value sa threshold upang aprubahan o tanggihan ang hypothesis. + +Sa Python, maaari nating gamitin ang **SciPy** package, na may kasamang `ttest_ind` function (bukod sa maraming iba pang kapaki-pakinabang na statistical functions!). Kinakalkula nito ang t-value para sa atin, at ginagawa rin ang reverse lookup ng confidence p-value, kaya't maaari na lamang nating tingnan ang confidence upang makagawa ng konklusyon. + +Halimbawa, ang ating paghahambing sa taas ng mga first at second basemen ay nagbibigay sa atin ng sumusunod na resulta: +```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 +``` +Sa ating kaso, ang p-value ay napakababa, na nangangahulugang may malakas na ebidensiya na sumusuporta na mas matangkad ang mga first basemen. + +Mayroon ding iba't ibang uri ng hypothesis na maaari nating subukin, halimbawa: +* Upang patunayan na ang isang sample ay sumusunod sa isang distribusyon. Sa ating kaso, ipinapalagay natin na ang mga taas ay normal na distribusyon, ngunit nangangailangan ito ng pormal na estadistikal na beripikasyon. +* Upang patunayan na ang mean value ng isang sample ay tumutugma sa isang paunang natukoy na halaga. +* Upang ihambing ang mga mean ng ilang sample (hal. ano ang pagkakaiba sa antas ng kasiyahan sa iba't ibang pangkat ng edad). + +## Law of Large Numbers at Central Limit Theorem + +Isa sa mga dahilan kung bakit mahalaga ang normal distribution ay ang tinatawag na **central limit theorem**. Ipagpalagay natin na mayroon tayong malaking sample ng independent N values X1, ..., XN, na kinuha mula sa anumang distribusyon na may mean μ at variance σ2. Kung gayon, para sa sapat na malaking N (sa madaling salita, kapag N→∞), ang mean ΣiXi ay magiging normal na distribusyon, na may mean μ at variance σ2/N. + +> Ang isa pang paraan upang maunawaan ang central limit theorem ay ang pagsasabi na anuman ang distribusyon, kapag kinalkula mo ang mean ng kabuuan ng anumang random variable values, magreresulta ito sa normal na distribusyon. + +Mula sa central limit theorem, makikita rin na, kapag N→∞, ang probabilidad na ang sample mean ay katumbas ng μ ay nagiging 1. Ito ay kilala bilang **ang batas ng malalaking bilang**. + +## Covariance at Correlation + +Isa sa mga ginagawa ng Data Science ay ang paghahanap ng mga relasyon sa pagitan ng datos. Sinasabi natin na ang dalawang sequence ay **nagkakaroon ng correlation** kapag nagpapakita sila ng magkatulad na pag-uugali sa parehong oras, hal. sabay silang tumataas/bumababa, o ang isang sequence ay tumataas kapag ang isa ay bumababa at kabaliktaran. Sa madaling salita, tila may relasyon sa pagitan ng dalawang sequence. + +> Ang correlation ay hindi nangangahulugang may sanhi-at-bunga na relasyon sa pagitan ng dalawang sequence; minsan ang parehong variable ay maaaring nakadepende sa isang panlabas na sanhi, o maaaring nagkataon lamang na ang dalawang sequence ay nagkakaroon ng correlation. Gayunpaman, ang malakas na matematikal na correlation ay isang magandang indikasyon na ang dalawang variable ay may koneksyon. + +Matematikal, ang pangunahing konsepto na nagpapakita ng relasyon sa pagitan ng dalawang random variable ay ang **covariance**, na kinakalkula tulad nito: Cov(X,Y) = **E**\[(X-**E**(X))(Y-**E**(Y))\]. Kinakalkula natin ang paglihis ng parehong variable mula sa kanilang mean values, at pagkatapos ay ang produkto ng mga paglihis na iyon. Kung ang parehong variable ay sabay na nagkakaroon ng paglihis, ang produkto ay palaging magiging positibo, na magdadagdag sa positibong covariance. Kung ang parehong variable ay nagkakaroon ng paglihis na hindi sabay (hal. ang isa ay bumababa sa average kapag ang isa ay tumataas sa average), palagi tayong makakakuha ng negatibong mga numero, na magdadagdag sa negatibong covariance. Kung ang mga paglihis ay hindi magkaugnay, magdadagdag ang mga ito sa halos zero. + +Ang absolute value ng covariance ay hindi nagsasabi ng marami tungkol sa kung gaano kalaki ang correlation, dahil ito ay nakadepende sa magnitude ng aktwal na mga halaga. Upang gawing normal ito, maaari nating hatiin ang covariance sa standard deviation ng parehong variable, upang makuha ang **correlation**. Ang maganda rito ay ang correlation ay palaging nasa saklaw na [-1,1], kung saan ang 1 ay nagpapahiwatig ng malakas na positibong correlation sa pagitan ng mga halaga, -1 - malakas na negatibong correlation, at 0 - walang correlation (ang mga variable ay independent). + +**Halimbawa**: Maaari nating kalkulahin ang correlation sa pagitan ng timbang at taas ng mga manlalaro ng baseball mula sa dataset na nabanggit sa itaas: +```python +print(np.corrcoef(weights,heights)) +``` +Bilang resulta, makakakuha tayo ng **correlation matrix** tulad nito: +``` +array([[1. , 0.52959196], + [0.52959196, 1. ]]) +``` + +> Ang correlation matrix C ay maaaring kalkulahin para sa anumang bilang ng input sequences S1, ..., Sn. Ang halaga ng Cij ay ang correlation sa pagitan ng Si at Sj, at ang mga diagonal na elemento ay palaging 1 (na siya ring self-correlation ng Si). + +Sa ating kaso, ang halagang 0.53 ay nagpapahiwatig na mayroong ilang correlation sa pagitan ng timbang at taas ng isang tao. Maaari rin tayong gumawa ng scatter plot ng isang halaga laban sa isa pa upang makita ang relasyon nang biswal: + +![Relasyon sa pagitan ng timbang at taas](../../../../translated_images/weight-height-relationship.3f06bde4ca2aba9974182c4ef037ed602acd0fbbbbe2ca91cefd838a9e66bcf9.tl.png) + +> Marami pang halimbawa ng correlation at covariance ang matatagpuan sa [kasamang notebook](notebook.ipynb). + +## Konklusyon + +Sa seksyong ito, natutunan natin: + +* ang mga pangunahing estadistikal na katangian ng datos, tulad ng mean, variance, mode, at quartiles +* iba't ibang distribusyon ng random variables, kabilang ang normal distribution +* kung paano hanapin ang correlation sa pagitan ng iba't ibang katangian +* kung paano gamitin ang tamang matematikal at estadistikal na pamamaraan upang patunayan ang ilang hypothesis +* kung paano kalkulahin ang confidence intervals para sa random variable gamit ang data sample + +Bagama't tiyak na hindi ito kumpletong listahan ng mga paksa sa loob ng probabilidad at estadistika, sapat na ito upang mabigyan ka ng magandang panimula sa kursong ito. + +## 🚀 Hamon + +Gamitin ang sample code sa notebook upang subukin ang iba pang hypothesis na: +1. Mas matanda ang mga first basemen kaysa sa mga second basemen +2. Mas matangkad ang mga first basemen kaysa sa mga third basemen +3. Mas matangkad ang mga shortstop kaysa sa mga second basemen + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/7) + +## Review at Pag-aaral sa Sarili + +Ang probabilidad at estadistika ay napakalawak na paksa na nararapat magkaroon ng sariling kurso. Kung nais mong mas lumalim sa teorya, maaaring ipagpatuloy ang pagbabasa ng ilan sa mga sumusunod na aklat: + +1. [Carlos Fernandez-Granda](https://cims.nyu.edu/~cfgranda/) mula sa New York University ay may mahusay na lecture notes [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf) (available online) +1. [Peter at Andrew Bruce. Practical Statistics for Data Scientists.](https://www.oreilly.com/library/view/practical-statistics-for/9781491952955/) [[sample code sa 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) [[sample code sa R](https://github.com/PacktPublishing/Statistics-for-Data-Science)] + +## Takdang-Aralin + +[Small Diabetes Study](assignment.md) + +## Mga Kredito + +Ang araling ito ay isinulat nang may ♥️ ni [Dmitry Soshnikov](http://soshnikov.com) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/04-stats-and-probability/assignment.md b/translations/tl/1-Introduction/04-stats-and-probability/assignment.md new file mode 100644 index 00000000..5b11fa4e --- /dev/null +++ b/translations/tl/1-Introduction/04-stats-and-probability/assignment.md @@ -0,0 +1,40 @@ + +# Maliit na Pag-aaral Tungkol sa Diabetes + +Sa gawaing ito, gagamit tayo ng maliit na dataset ng mga pasyenteng may diabetes na kinuha mula [dito](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html). + +| | EDAD | KASARIAN | 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 | +| ... | ... | ... | ... | ...| ...| ...| ...| ...| ...| ...| ... | + +## Mga Panuto + +* Buksan ang [assignment notebook](assignment.ipynb) sa isang jupyter notebook na kapaligiran +* Kumpletuhin ang lahat ng mga gawain na nakalista sa notebook, kabilang ang: + * [ ] Kalkulahin ang mga mean na halaga at variance para sa lahat ng mga halaga + * [ ] Gumawa ng mga boxplot para sa BMI, BP, at Y batay sa kasarian + * [ ] Ano ang distribusyon ng mga variable na Edad, Kasarian, BMI, at Y? + * [ ] Subukan ang ugnayan sa pagitan ng iba't ibang mga variable at ng pag-usad ng sakit (Y) + * [ ] Subukan ang hypothesis na ang antas ng pag-usad ng diabetes ay magkaiba sa pagitan ng mga lalaki at babae + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | --- | +Lahat ng kinakailangang gawain ay kumpleto, may grapikong presentasyon at paliwanag | Karamihan sa mga gawain ay kumpleto, ngunit kulang ang mga paliwanag o takeaway mula sa mga graph at/o nakuhang mga halaga | Tanging mga pangunahing gawain tulad ng pagkalkula ng mean/variance at mga pangunahing plot ang kumpleto, walang konklusyon na ginawa mula sa datos + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/1-Introduction/README.md b/translations/tl/1-Introduction/README.md new file mode 100644 index 00000000..e1be3218 --- /dev/null +++ b/translations/tl/1-Introduction/README.md @@ -0,0 +1,31 @@ + +# Panimula sa Data Science + +![data in action](../../../translated_images/data.48e22bb7617d8d92188afbc4c48effb920ba79f5cebdc0652cd9f34bbbd90c18.tl.jpg) +> Larawan ni Stephen Dawson sa Unsplash + +Sa mga araling ito, matutuklasan mo kung paano tinutukoy ang Data Science at matututo tungkol sa mga etikal na konsiderasyon na dapat isaalang-alang ng isang data scientist. Malalaman mo rin kung paano tinutukoy ang data at magkakaroon ng kaunting kaalaman tungkol sa estadistika at probabilidad, ang mga pangunahing akademikong larangan ng Data Science. + +### Mga Paksa + +1. [Pagpapakilala sa Data Science](01-defining-data-science/README.md) +2. [Etika sa Data Science](02-ethics/README.md) +3. [Pagpapakilala sa Data](03-defining-data/README.md) +4. [Panimula sa Estadistika at Probabilidad](04-stats-and-probability/README.md) + +### Mga Kredito + +Ang mga araling ito ay isinulat nang may ❤️ nina [Nitya Narasimhan](https://twitter.com/nitya) at [Dmitry Soshnikov](https://twitter.com/shwars). + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/05-relational-databases/README.md b/translations/tl/2-Working-With-Data/05-relational-databases/README.md new file mode 100644 index 00000000..4293b9c9 --- /dev/null +++ b/translations/tl/2-Working-With-Data/05-relational-databases/README.md @@ -0,0 +1,195 @@ + +# Paggamit ng Data: Relational Databases + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/05-RelationalData.png)| +|:---:| +| Paggamit ng Data: Relational Databases - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Malaki ang posibilidad na gumamit ka na ng spreadsheet noon para mag-imbak ng impormasyon. Mayroon kang hanay ng mga row at column, kung saan ang mga row ay naglalaman ng impormasyon (o data), at ang mga column ay naglalarawan ng impormasyon (minsan tinatawag na metadata). Ang relational database ay nakabatay sa prinsipyong ito ng mga column at row sa mga talahanayan, na nagbibigay-daan sa iyo na mag-imbak ng impormasyon sa maraming talahanayan. Sa ganitong paraan, maaari kang magtrabaho sa mas komplikadong data, maiwasan ang pag-uulit, at magkaroon ng kalayaan sa paggalugad ng data. Tuklasin natin ang mga konsepto ng relational database. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/8) + +## Nagsisimula ang lahat sa mga talahanayan + +Ang relational database ay may pangunahing bahagi na mga talahanayan. Katulad ng spreadsheet, ang talahanayan ay koleksyon ng mga column at row. Ang row ay naglalaman ng data o impormasyon na nais nating gamitin, tulad ng pangalan ng isang lungsod o dami ng ulan. Ang mga column naman ay naglalarawan ng data na iniimbak. + +Simulan natin ang ating paggalugad sa pamamagitan ng paggawa ng talahanayan para mag-imbak ng impormasyon tungkol sa mga lungsod. Maaaring magsimula tayo sa kanilang pangalan at bansa. Maaari mo itong iimbak sa isang talahanayan tulad nito: + +| Lungsod | Bansa | +| -------- | -------------- | +| Tokyo | Japan | +| Atlanta | United States | +| Auckland | New Zealand | + +Pansinin ang mga pangalan ng column na **lungsod**, **bansa**, at **populasyon** na naglalarawan ng data na iniimbak, at bawat row ay may impormasyon tungkol sa isang lungsod. + +## Mga limitasyon ng isang talahanayan lamang + +Malaki ang posibilidad na pamilyar ka sa talahanayan sa itaas. Subukan nating magdagdag ng karagdagang data sa ating lumalaking database - taunang dami ng ulan (sa millimeters). Magpokus tayo sa mga taon 2018, 2019, at 2020. Kung idaragdag natin ito para sa Tokyo, maaaring ganito ang hitsura: + +| Lungsod | Bansa | Taon | Dami | +| ------- | ------ | ---- | ----- | +| Tokyo | Japan | 2020 | 1690 | +| Tokyo | Japan | 2019 | 1874 | +| Tokyo | Japan | 2018 | 1445 | + +Ano ang napapansin mo sa ating talahanayan? Mapapansin mong inuulit-ulit natin ang pangalan at bansa ng lungsod. Maaari itong kumonsumo ng maraming storage at hindi naman talaga kinakailangang ulitin. Pagkatapos ng lahat, iisa lang naman ang pangalan ng Tokyo na interesado tayo. + +Sige, subukan natin ang ibang paraan. Magdagdag tayo ng bagong mga column para sa bawat taon: + +| Lungsod | Bansa | 2018 | 2019 | 2020 | +| -------- | -------------- | ---- | ---- | ---- | +| Tokyo | Japan | 1445 | 1874 | 1690 | +| Atlanta | United States | 1779 | 1111 | 1683 | +| Auckland | New Zealand | 1386 | 942 | 1176 | + +Bagamat naiwasan nito ang pag-uulit ng mga row, nagdulot naman ito ng ibang hamon. Kailangan nating baguhin ang istruktura ng ating talahanayan tuwing may bagong taon. Bukod dito, habang lumalaki ang ating data, ang pagkakaroon ng mga taon bilang mga column ay magpapahirap sa pagkuha at pagkalkula ng mga halaga. + +Ito ang dahilan kung bakit kailangan natin ng maraming talahanayan at mga relasyon. Sa pamamagitan ng paghahati ng ating data, maiiwasan natin ang pag-uulit at magkakaroon tayo ng mas maraming kalayaan sa paggamit ng ating data. + +## Ang mga konsepto ng relasyon + +Balikan natin ang ating data at tukuyin kung paano natin ito hahatiin. Alam natin na nais nating iimbak ang pangalan at bansa ng ating mga lungsod, kaya't ito ay pinakamainam na ilagay sa isang talahanayan. + +| Lungsod | Bansa | +| -------- | -------------- | +| Tokyo | Japan | +| Atlanta | United States | +| Auckland | New Zealand | + +Ngunit bago tayo lumikha ng susunod na talahanayan, kailangan nating alamin kung paano ire-refer ang bawat lungsod. Kailangan natin ng isang uri ng identifier, ID o (sa teknikal na termino ng database) isang primary key. Ang primary key ay isang halaga na ginagamit upang tukuyin ang isang partikular na row sa isang talahanayan. Bagamat maaari itong batay sa isang halaga mismo (halimbawa, maaari nating gamitin ang pangalan ng lungsod), dapat itong halos palaging isang numero o ibang identifier. Ayaw nating magbago ang id dahil maaaring masira ang relasyon. Sa karamihan ng mga kaso, ang primary key o id ay isang auto-generated na numero. + +> ✅ Ang primary key ay madalas na pinaikli bilang PK + +### lungsod + +| lungsod_id | Lungsod | Bansa | +| ---------- | -------- | -------------- | +| 1 | Tokyo | Japan | +| 2 | Atlanta | United States | +| 3 | Auckland | New Zealand | + +> ✅ Mapapansin mong ginagamit natin ang mga terminong "id" at "primary key" nang salitan sa araling ito. Ang mga konsepto dito ay naaangkop din sa DataFrames, na iyong matutuklasan sa susunod. Ang DataFrames ay hindi gumagamit ng terminolohiyang "primary key", ngunit mapapansin mong gumagana ang mga ito sa parehong paraan. + +Kapag nagawa na ang ating talahanayan ng lungsod, iimbak natin ang dami ng ulan. Sa halip na ulitin ang buong impormasyon tungkol sa lungsod, maaari nating gamitin ang id. Dapat din nating tiyakin na ang bagong talahanayan ay may column na *id*, dahil lahat ng talahanayan ay dapat may id o primary key. + +### ulan + +| ulan_id | lungsod_id | Taon | Dami | +| ------- | ---------- | ---- | ----- | +| 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 | + +Pansinin ang column na **lungsod_id** sa loob ng bagong talahanayan na **ulan**. Ang column na ito ay naglalaman ng mga halaga na tumutukoy sa mga ID sa talahanayan ng **lungsod**. Sa teknikal na termino ng relational data, ito ay tinatawag na **foreign key**; ito ay isang primary key mula sa ibang talahanayan. Maaari mo itong isipin bilang isang reference o pointer. Ang **lungsod_id** 1 ay tumutukoy sa Tokyo. + +> [!NOTE] Ang foreign key ay madalas na pinaikli bilang FK + +## Pagkuha ng data + +Kapag ang ating data ay nahati na sa dalawang talahanayan, maaaring magtaka ka kung paano ito kukunin. Kung gumagamit tayo ng relational database tulad ng MySQL, SQL Server, o Oracle, maaari nating gamitin ang isang wika na tinatawag na Structured Query Language o SQL. Ang SQL (minsan binibigkas na sequel) ay isang standard na wika na ginagamit upang kunin at baguhin ang data sa isang relational database. + +Upang kunin ang data, ginagamit mo ang utos na `SELECT`. Sa pinakasimple nito, **piliin** mo ang mga column na nais mong makita **mula sa** talahanayan kung saan ito nakapaloob. Kung nais mong ipakita lamang ang mga pangalan ng lungsod, maaari mong gamitin ang sumusunod: + +```sql +SELECT city +FROM cities; + +-- Output: +-- Tokyo +-- Atlanta +-- Auckland +``` + +Ang `SELECT` ay kung saan mo ililista ang mga column, at ang `FROM` ay kung saan mo ililista ang mga talahanayan. + +> [NOTE] Ang syntax ng SQL ay case-insensitive, ibig sabihin ang `select` at `SELECT` ay pareho lang. Gayunpaman, depende sa uri ng database na iyong ginagamit, maaaring case-sensitive ang mga column at talahanayan. Bilang resulta, pinakamainam na palaging ituring na case-sensitive ang lahat sa programming. Kapag nagsusulat ng SQL queries, karaniwang convention na gawing uppercase ang mga keyword. + +Ang query sa itaas ay magpapakita ng lahat ng lungsod. Halimbawa, kung nais lamang nating ipakita ang mga lungsod sa New Zealand, kailangan natin ng isang uri ng filter. Ang SQL keyword para dito ay `WHERE`, o "kung saan totoo ang isang bagay". + +```sql +SELECT city +FROM cities +WHERE country = 'New Zealand'; + +-- Output: +-- Auckland +``` + +## Pagsasama ng data + +Hanggang ngayon, kumuha tayo ng data mula sa isang talahanayan lamang. Ngayon, nais nating pagsamahin ang data mula sa parehong **lungsod** at **ulan**. Ginagawa ito sa pamamagitan ng *pagsasama* ng mga ito. Magkakaroon ka ng seam sa pagitan ng dalawang talahanayan, at pagtutugmain ang mga halaga mula sa isang column ng bawat talahanayan. + +Sa ating halimbawa, pagtutugmain natin ang column na **lungsod_id** sa **ulan** sa column na **lungsod_id** sa **lungsod**. Ito ay magtutugma sa halaga ng ulan sa kani-kanilang lungsod. Ang uri ng pagsasama na gagawin natin ay tinatawag na *inner* join, ibig sabihin kung may mga row na hindi tumutugma sa anumang bagay mula sa kabilang talahanayan, hindi ito ipapakita. Sa ating kaso, lahat ng lungsod ay may ulan, kaya't lahat ay ipapakita. + +Kunin natin ang ulan para sa 2019 para sa lahat ng ating lungsod. + +Gagawin natin ito nang paunti-unti. Ang unang hakbang ay pagsamahin ang data sa pamamagitan ng pagtukoy sa mga column para sa seam - **lungsod_id** tulad ng nabanggit kanina. + +```sql +SELECT cities.city + rainfall.amount +FROM cities + INNER JOIN rainfall ON cities.city_id = rainfall.city_id +``` + +Ipinakita natin ang dalawang column na nais natin, at ang katotohanang nais nating pagsamahin ang mga talahanayan sa pamamagitan ng **lungsod_id**. Ngayon, maaari nating idagdag ang `WHERE` statement upang i-filter lamang ang taon 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 +``` + +## Buod + +Ang relational databases ay nakasentro sa paghahati ng impormasyon sa maraming talahanayan na pagkatapos ay pinagsasama-sama para sa pagpapakita at pagsusuri. Nagbibigay ito ng mataas na antas ng kalayaan upang magsagawa ng mga kalkulasyon at manipulahin ang data. Nakita mo ang mga pangunahing konsepto ng relational database, at kung paano magsagawa ng join sa pagitan ng dalawang talahanayan. + +## 🚀 Hamon + +Maraming relational databases ang makikita sa internet. Maaari mong tuklasin ang data gamit ang mga kasanayang natutunan mo sa itaas. + +## Post-Lecture Quiz + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/9) + +## Review at Pag-aaral sa Sarili + +Maraming mapagkukunan sa [Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum) na maaari mong gamitin upang ipagpatuloy ang iyong pag-aaral sa SQL at mga konsepto ng relational database. + +- [Ilarawan ang mga konsepto ng relational data](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum) +- [Magsimula sa Querying gamit ang Transact-SQL](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum) (Ang Transact-SQL ay isang bersyon ng SQL) +- [SQL content sa Microsoft Learn](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum) + +## Takdang-Aralin + +[Titulo ng Takdang-Aralin](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/05-relational-databases/assignment.md b/translations/tl/2-Working-With-Data/05-relational-databases/assignment.md new file mode 100644 index 00000000..0547c65b --- /dev/null +++ b/translations/tl/2-Working-With-Data/05-relational-databases/assignment.md @@ -0,0 +1,73 @@ + +# Pagpapakita ng datos ng paliparan + +Binigyan ka ng isang [database](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) na ginawa gamit ang [SQLite](https://sqlite.org/index.html) na naglalaman ng impormasyon tungkol sa mga paliparan. Ang schema ay ipinapakita sa ibaba. Gagamitin mo ang [SQLite extension](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) sa [Visual Studio Code](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) upang ipakita ang impormasyon tungkol sa mga paliparan sa iba't ibang lungsod. + +## Mga Instruksyon + +Upang simulan ang gawain, kailangan mong gawin ang ilang hakbang. Kailangan mong mag-install ng ilang tools at i-download ang sample database. + +### I-setup ang iyong sistema + +Maaari mong gamitin ang Visual Studio Code at ang SQLite extension upang makipag-ugnayan sa database. + +1. Pumunta sa [code.visualstudio.com](https://code.visualstudio.com?WT.mc_id=academic-77958-bethanycheum) at sundin ang mga instruksiyon upang i-install ang Visual Studio Code +1. I-install ang [SQLite extension](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) extension ayon sa mga instruksiyon sa Marketplace page + +### I-download at buksan ang database + +Susunod, i-download at buksan ang database. + +1. I-download ang [database file mula sa GitHub](https://raw.githubusercontent.com/Microsoft/Data-Science-For-Beginners/main/2-Working-With-Data/05-relational-databases/airports.db) at i-save ito sa isang direktoryo +1. Buksan ang Visual Studio Code +1. Buksan ang database sa SQLite extension sa pamamagitan ng pagpili ng **Ctl-Shift-P** (o **Cmd-Shift-P** sa Mac) at pag-type ng `SQLite: Open database` +1. Piliin ang **Choose database from file** at buksan ang **airports.db** file na iyong na-download +1. Pagkatapos buksan ang database (hindi ka makakakita ng update sa screen), gumawa ng bagong query window sa pamamagitan ng pagpili ng **Ctl-Shift-P** (o **Cmd-Shift-P** sa Mac) at pag-type ng `SQLite: New query` + +Kapag bukas na, ang bagong query window ay maaaring gamitin upang magpatakbo ng mga SQL statement laban sa database. Maaari mong gamitin ang command na **Ctl-Shift-Q** (o **Cmd-Shift-Q** sa Mac) upang magpatakbo ng mga query laban sa database. + +> [!NOTE] Para sa karagdagang impormasyon tungkol sa SQLite extension, maaari mong konsultahin ang [documentation](https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&WT.mc_id=academic-77958-bethanycheum) + +## Schema ng Database + +Ang schema ng database ay ang disenyo at istruktura ng mga table nito. Ang **airports** database ay may dalawang table, `cities`, na naglalaman ng listahan ng mga lungsod sa United Kingdom at Ireland, at `airports`, na naglalaman ng listahan ng lahat ng paliparan. Dahil ang ilang lungsod ay maaaring may maraming paliparan, dalawang table ang ginawa upang i-store ang impormasyon. Sa aktibidad na ito, gagamit ka ng joins upang ipakita ang impormasyon para sa iba't ibang lungsod. + +| Cities | +| ---------------- | +| id (PK, integer) | +| city (text) | +| country (text) | + +| Airports | +| -------------------------------- | +| id (PK, integer) | +| name (text) | +| code (text) | +| city_id (FK to id in **Cities**) | + +## Gawain + +Gumawa ng mga query upang makuha ang sumusunod na impormasyon: + +1. lahat ng pangalan ng lungsod sa `Cities` table +1. lahat ng lungsod sa Ireland sa `Cities` table +1. lahat ng pangalan ng paliparan kasama ang kanilang lungsod at bansa +1. lahat ng paliparan sa London, United Kingdom + +## Rubric + +| Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti | +| --------- | ----------------- | ------------------------ | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/06-non-relational/README.md b/translations/tl/2-Working-With-Data/06-non-relational/README.md new file mode 100644 index 00000000..f0538806 --- /dev/null +++ b/translations/tl/2-Working-With-Data/06-non-relational/README.md @@ -0,0 +1,158 @@ + +# Paggawa gamit ang Data: Non-Relational Data + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/06-NoSQL.png)| +|:---:| +|Paggawa gamit ang NoSQL Data - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/10) + +Ang data ay hindi limitado sa relational databases. Ang araling ito ay nakatuon sa non-relational data at tatalakayin ang mga pangunahing kaalaman sa spreadsheets at NoSQL. + +## Spreadsheets + +Ang spreadsheets ay isang popular na paraan ng pag-iimbak at pagsusuri ng data dahil mas kaunting trabaho ang kinakailangan upang magsimula. Sa araling ito, matututunan mo ang mga pangunahing bahagi ng isang spreadsheet, pati na rin ang mga formula at function. Ang mga halimbawa ay ipapakita gamit ang Microsoft Excel, ngunit karamihan sa mga bahagi at paksa ay magkakaroon ng magkatulad na pangalan at hakbang kumpara sa ibang spreadsheet software. + +![Isang walang laman na Microsoft Excel workbook na may dalawang worksheets](../../../../translated_images/parts-of-spreadsheet.120711c82aa18a45c3e62a491a15bba0a31ab0e9db407ec022702fed8ffd89bf.tl.png) + +Ang spreadsheet ay isang file na maa-access sa file system ng isang computer, device, o cloud-based file system. Ang software mismo ay maaaring browser-based o isang application na kailangang i-install sa computer o i-download bilang app. Sa Excel, ang mga file na ito ay tinatawag ding **workbooks**, at ang terminolohiyang ito ang gagamitin sa natitirang bahagi ng araling ito. + +Ang isang workbook ay naglalaman ng isa o higit pang **worksheets**, kung saan ang bawat worksheet ay may label na mga tab. Sa loob ng isang worksheet ay may mga parihaba na tinatawag na **cells**, na naglalaman ng aktwal na data. Ang isang cell ay ang intersection ng isang row at column, kung saan ang mga column ay may label na mga alpabetikong karakter at ang mga row ay may label na numerically. Ang ilang spreadsheets ay naglalaman ng mga header sa unang ilang row upang ilarawan ang data sa isang cell. + +Gamit ang mga pangunahing elemento ng isang Excel workbook, gagamit tayo ng isang halimbawa mula sa [Microsoft Templates](https://templates.office.com/) na nakatuon sa isang imbentaryo upang talakayin ang ilang karagdagang bahagi ng isang spreadsheet. + +### Pamamahala ng Inventory + +Ang spreadsheet file na pinangalanang "InventoryExample" ay isang formatted spreadsheet ng mga item sa isang imbentaryo na naglalaman ng tatlong worksheets, kung saan ang mga tab ay may label na "Inventory List", "Inventory Pick List" at "Bin Lookup". Ang Row 4 ng Inventory List worksheet ay ang header, na naglalarawan sa halaga ng bawat cell sa header column. + +![Isang naka-highlight na formula mula sa isang halimbawa ng inventory list sa Microsoft Excel](../../../../translated_images/formula-excel.ad1068c220892f5ead570d12f2394897961d31a5043a1dd4e6fc5d7690c7a14e.tl.png) + +May mga pagkakataon kung saan ang isang cell ay nakadepende sa mga halaga ng ibang cells upang makabuo ng sarili nitong halaga. Ang Inventory List spreadsheet ay nagtatala ng gastos ng bawat item sa imbentaryo nito, ngunit paano kung kailangan nating malaman ang kabuuang halaga ng lahat ng nasa imbentaryo? Ang [**Formulas**](https://support.microsoft.com/en-us/office/overview-of-formulas-34519a4e-1e8d-4f4b-84d4-d642c4f63263) ay gumagawa ng mga aksyon sa cell data at ginagamit upang kalkulahin ang halaga ng imbentaryo sa halimbawang ito. Ang spreadsheet na ito ay gumamit ng formula sa Inventory Value column upang kalkulahin ang halaga ng bawat item sa pamamagitan ng pag-multiply sa dami sa ilalim ng QTY header at ang gastos sa mga cells sa ilalim ng COST header. Ang pag-double click o pag-highlight sa isang cell ay magpapakita ng formula. Mapapansin mo na ang mga formula ay nagsisimula sa isang equals sign, na sinusundan ng kalkulasyon o operasyon. + +![Isang naka-highlight na function mula sa isang halimbawa ng inventory list sa Microsoft Excel](../../../../translated_images/function-excel.be2ae4feddc10ca089f3d4363040d93b7fd046c8d4f83ba975ec46483ee99895.tl.png) + +Maaari tayong gumamit ng isa pang formula upang idagdag ang lahat ng mga halaga ng Inventory Value upang makuha ang kabuuang halaga nito. Maaari itong kalkulahin sa pamamagitan ng pagdaragdag ng bawat cell upang makabuo ng kabuuan, ngunit maaaring maging nakakapagod ang gawaing iyon. Ang Excel ay may [**functions**](https://support.microsoft.com/en-us/office/sum-function-043e1c7d-7726-4e80-8f32-07b23e057f89), o mga predefined formulas upang magsagawa ng mga kalkulasyon sa cell values. Ang mga function ay nangangailangan ng arguments, na mga kinakailangang halaga upang maisagawa ang mga kalkulasyong ito. Kapag ang mga function ay nangangailangan ng higit sa isang argument, kailangang ilista ang mga ito sa partikular na pagkakasunod-sunod o maaaring hindi tama ang kalkulasyon ng function. Ang halimbawang ito ay gumagamit ng SUM function, at ginagamit ang mga halaga ng Inventory Value bilang argument upang makabuo ng kabuuan na nakalista sa ilalim ng row 3, column B (tinatawag ding B3). + +## NoSQL + +Ang NoSQL ay isang payong termino para sa iba't ibang paraan ng pag-iimbak ng non-relational data at maaaring ipakahulugan bilang "non-SQL", "non-relational" o "not only SQL". Ang mga ganitong uri ng database systems ay maaaring ikategorya sa 4 na uri. + +![Grapikal na representasyon ng isang key-value data store na nagpapakita ng 4 na natatanging numerical keys na nauugnay sa 4 na iba't ibang values](../../../../translated_images/kv-db.e8f2b75686bbdfcba0c827b9272c10ae0821611ea0fe98429b9d13194383afa6.tl.png) +> Pinagmulan mula sa [Michał Białecki Blog](https://www.michalbialecki.com/2018/03/18/azure-cosmos-db-key-value-database-cloud/) + +Ang [Key-value](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#keyvalue-data-stores) databases ay nagpa-pair ng mga natatanging keys, na isang natatanging identifier na nauugnay sa isang value. Ang mga pairs na ito ay iniimbak gamit ang isang [hash table](https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/) na may angkop na hashing function. + +![Grapikal na representasyon ng isang graph data store na nagpapakita ng mga relasyon sa pagitan ng mga tao, kanilang interes, at lokasyon](../../../../translated_images/graph-db.d13629152f79a9dac895b20fa7d841d4d4d6f6008b1382227c3bbd200fd4cfa1.tl.png) +> Pinagmulan mula sa [Microsoft](https://docs.microsoft.com/en-us/azure/cosmos-db/graph/graph-introduction#graph-database-by-example) + +Ang [Graph](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#graph-data-stores) databases ay naglalarawan ng mga relasyon sa data at kinakatawan bilang isang koleksyon ng nodes at edges. Ang isang node ay kumakatawan sa isang entity, isang bagay na umiiral sa totoong mundo tulad ng isang estudyante o bank statement. Ang mga edges ay kumakatawan sa relasyon sa pagitan ng dalawang entities. Ang bawat node at edge ay may mga properties na nagbibigay ng karagdagang impormasyon tungkol sa bawat node at edge. + +![Grapikal na representasyon ng isang columnar data store na nagpapakita ng isang customer database na may dalawang column families na pinangalanang Identity at Contact Info](../../../../translated_images/columnar-db.ffcfe73c3e9063a8c8f93f8ace85e1200863584b1e324eb5159d8ca10f62ec04.tl.png) + +Ang [Columnar](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#columnar-data-stores) data stores ay nag-oorganisa ng data sa mga column at rows tulad ng isang relational data structure ngunit ang bawat column ay hinahati sa mga grupo na tinatawag na column family, kung saan ang lahat ng data sa ilalim ng isang column ay magkakaugnay at maaaring makuha o mabago bilang isang unit. + +### Document Data Stores gamit ang Azure Cosmos DB + +Ang [Document](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data#document-data-stores) data stores ay nakabatay sa konsepto ng isang key-value data store at binubuo ng isang serye ng fields at objects. Ang seksyong ito ay mag-eexplore ng document databases gamit ang Cosmos DB emulator. + +Ang Cosmos DB database ay tumutugma sa kahulugan ng "Not Only SQL", kung saan ang document database ng Cosmos DB ay umaasa sa SQL upang mag-query ng data. Ang [nakaraang aralin](../05-relational-databases/README.md) tungkol sa SQL ay tumatalakay sa mga pangunahing kaalaman ng wika, at magagamit natin ang ilan sa parehong queries sa isang document database dito. Gagamitin natin ang Cosmos DB Emulator, na nagbibigay-daan sa atin na lumikha at mag-explore ng isang document database nang lokal sa isang computer. Basahin ang higit pa tungkol sa Emulator [dito](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21). + +Ang isang dokumento ay isang koleksyon ng fields at object values, kung saan ang mga fields ay naglalarawan kung ano ang kinakatawan ng object value. Narito ang isang halimbawa ng dokumento. + +```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 +} +``` + +Ang mga fields na mahalaga sa dokumentong ito ay: `firstname`, `id`, at `age`. Ang natitirang mga fields na may underscores ay awtomatikong ginawa ng Cosmos DB. + +#### Pag-eexplore ng Data gamit ang Cosmos DB Emulator + +Maaari mong i-download at i-install ang emulator [para sa Windows dito](https://aka.ms/cosmosdb-emulator). Tingnan ang [dokumentasyon](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator?tabs=ssl-netstd21#run-on-linux-macos) para sa mga opsyon kung paano patakbuhin ang Emulator para sa macOS at Linux. + +Ang Emulator ay naglulunsad ng isang browser window, kung saan ang Explorer view ay nagbibigay-daan sa iyo na mag-explore ng mga dokumento. + +![Ang Explorer view ng Cosmos DB Emulator](../../../../translated_images/cosmosdb-emulator-explorer.a1c80b1347206fe2f30f88fc123821636587d04fc5a56a9eb350c7da6b31f361.tl.png) + +Kung sumusunod ka, i-click ang "Start with Sample" upang makabuo ng isang sample database na tinatawag na SampleDB. Kung i-expand mo ang Sample DB sa pamamagitan ng pag-click sa arrow, makakakita ka ng isang container na tinatawag na `Persons`. Ang isang container ay naglalaman ng koleksyon ng mga items, na mga dokumento sa loob ng container. Maaari mong i-explore ang apat na indibidwal na dokumento sa ilalim ng `Items`. + +![Pag-eexplore ng sample data sa Cosmos DB Emulator](../../../../translated_images/cosmosdb-emulator-persons.bf640586a7077c8985dfd3071946465c8e074c722c7c202d6d714de99a93b90a.tl.png) + +#### Pag-query ng Document Data gamit ang Cosmos DB Emulator + +Maaari rin nating i-query ang sample data sa pamamagitan ng pag-click sa bagong SQL Query button (pangalawang button mula sa kaliwa). + +`SELECT * FROM c` ay nagbabalik ng lahat ng dokumento sa container. Magdagdag tayo ng where clause at hanapin ang lahat ng mas bata sa 40. + +`SELECT * FROM c where c.age < 40` + +![Pagpapatakbo ng SELECT query sa sample data sa Cosmos DB Emulator upang hanapin ang mga dokumento na may age field value na mas mababa sa 40](../../../../translated_images/cosmosdb-emulator-persons-query.6905ebb497e3cd047cd96e55a0a03f69ce1b91b2b3d8c147e617b746b22b7e33.tl.png) + +Ang query ay nagbabalik ng dalawang dokumento, mapapansin na ang age value para sa bawat dokumento ay mas mababa sa 40. + +#### JSON at Dokumento + +Kung pamilyar ka sa JavaScript Object Notation (JSON), mapapansin mo na ang mga dokumento ay mukhang katulad ng JSON. Mayroong `PersonsData.json` file sa direktoryong ito na maaari mong i-upload sa Persons container sa Emulator gamit ang `Upload Item` button. + +Sa karamihan ng mga pagkakataon, ang mga API na nagbabalik ng JSON data ay maaaring direktang ilipat at iimbak sa document databases. Narito ang isa pang dokumento, ito ay kumakatawan sa mga tweets mula sa Microsoft Twitter account na nakuha gamit ang Twitter API, pagkatapos ay isinama sa 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 +``` + +Ang mga fields na mahalaga sa dokumentong ito ay: `created_at`, `id`, at `text`. + +## 🚀 Hamon + +Mayroong `TwitterData.json` file na maaari mong i-upload sa SampleDB database. Inirerekomenda na idagdag mo ito sa isang hiwalay na container. Maaari itong gawin sa pamamagitan ng: + +1. Pag-click sa bagong container button sa kanang itaas +1. Pagpili sa umiiral na database (SampleDB) at paggawa ng container id para sa container +1. Pagtatakda ng partition key sa `/id` +1. Pag-click sa OK (maaari mong balewalain ang natitirang impormasyon sa view na ito dahil ito ay isang maliit na dataset na tumatakbo nang lokal sa iyong makina) +1. Buksan ang iyong bagong container at i-upload ang Twitter Data file gamit ang `Upload Item` button + +Subukang magpatakbo ng ilang select queries upang hanapin ang mga dokumento na may Microsoft sa text field. Pahiwatig: subukang gamitin ang [LIKE keyword](https://docs.microsoft.com/en-us/azure/cosmos-db/sql/sql-query-keywords#using-like-with-the--wildcard-character) + +## [Post-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/11) + +## Review at Pag-aaral sa Sarili + +- Mayroong ilang karagdagang formatting at features na idinagdag sa spreadsheet na hindi saklaw ng araling ito. Ang Microsoft ay may [malaking library ng dokumentasyon at mga video](https://support.microsoft.com/excel) tungkol sa Excel kung interesado kang matuto pa. + +- Ang dokumentasyong pang-arkitektura na ito ay nagdedetalye ng mga katangian sa iba't ibang uri ng non-relational data: [Non-relational Data and NoSQL](https://docs.microsoft.com/en-us/azure/architecture/data-guide/big-data/non-relational-data) + +- Ang Cosmos DB ay isang cloud-based non-relational database na maaari ring mag-imbak ng iba't ibang uri ng NoSQL na nabanggit sa araling ito. Matuto pa tungkol sa mga uri na ito sa [Cosmos DB Microsoft Learn Module](https://docs.microsoft.com/en-us/learn/paths/work-with-nosql-data-in-azure-cosmos-db/) + +## Takdang-Aralin + +[Soda Profits](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/06-non-relational/assignment.md b/translations/tl/2-Working-With-Data/06-non-relational/assignment.md new file mode 100644 index 00000000..f4ac703a --- /dev/null +++ b/translations/tl/2-Working-With-Data/06-non-relational/assignment.md @@ -0,0 +1,33 @@ + +# Kita ng Soda + +## Mga Panuto + +Ang [Coca Cola Co spreadsheet](../../../../2-Working-With-Data/06-non-relational/CocaColaCo.xlsx) ay kulang sa ilang mga kalkulasyon. Ang iyong gawain ay: + +1. Kalkulahin ang Gross Profit ng FY '15, '16, '17, at '18 + - Gross Profit = Net Operating revenues - Cost of goods sold +1. Kalkulahin ang average ng lahat ng gross profits. Subukang gawin ito gamit ang isang function. + - Average = Kabuuang gross profits na hinati sa bilang ng fiscal years (10) + - Dokumentasyon tungkol sa [AVERAGE function](https://support.microsoft.com/en-us/office/average-function-047bac88-d466-426c-a32b-8f33eb960cf6) +1. Bagama't ito ay isang Excel file, dapat itong ma-edit sa anumang spreadsheet platform + +[Pasasalamat sa pinagmulan ng data kay Yiyi Wang](https://www.kaggle.com/yiyiwang0826/cocacola-excel) + +## Rubric + +Halimbawa | Katamtaman | Kailangan ng Pagbuti +--- | --- | --- + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/07-python/README.md b/translations/tl/2-Working-With-Data/07-python/README.md new file mode 100644 index 00000000..34220e56 --- /dev/null +++ b/translations/tl/2-Working-With-Data/07-python/README.md @@ -0,0 +1,291 @@ + +# Paggamit ng Data: Python at ang Pandas Library + +| ![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/07-WorkWithPython.png) | +| :-------------------------------------------------------------------------------------------------------: | +| Paggamit ng Python - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +[![Intro Video](../../../../translated_images/video-ds-python.245247dc811db8e4d5ac420246de8a118c63fd28f6a56578d08b630ae549f260.tl.png)](https://youtu.be/dZjWOGbsN4Y) + +Bagama't ang mga database ay nagbibigay ng napaka-epektibong paraan upang mag-imbak ng data at mag-query gamit ang mga query language, ang pinaka-flexible na paraan ng pagproseso ng data ay ang pagsusulat ng sarili mong programa upang manipulahin ang data. Sa maraming pagkakataon, mas epektibo ang paggamit ng database query. Gayunpaman, sa ilang mga kaso kung saan mas kumplikado ang kinakailangang pagproseso ng data, hindi ito madaling magawa gamit ang SQL. + +Ang pagproseso ng data ay maaaring gawin gamit ang anumang programming language, ngunit may mga partikular na wika na mas mataas ang antas pagdating sa pagproseso ng data. Karaniwang ginagamit ng mga data scientist ang isa sa mga sumusunod na wika: + +* **[Python](https://www.python.org/)**, isang general-purpose programming language, na madalas itinuturing na isa sa mga pinakamahusay na opsyon para sa mga baguhan dahil sa pagiging simple nito. Maraming karagdagang library ang Python na makakatulong sa iyo na lutasin ang maraming praktikal na problema, tulad ng pagkuha ng data mula sa ZIP archive, o pag-convert ng larawan sa grayscale. Bukod sa data science, madalas ding ginagamit ang Python para sa web development. +* **[R](https://www.r-project.org/)** ay isang tradisyunal na toolbox na binuo para sa statistical data processing. Mayroon din itong malaking repository ng mga library (CRAN), na ginagawang magandang opsyon para sa pagproseso ng data. Gayunpaman, ang R ay hindi isang general-purpose programming language, at bihirang ginagamit sa labas ng larangan ng data science. +* **[Julia](https://julialang.org/)** ay isa pang wika na partikular na binuo para sa data science. Nilalayon nitong magbigay ng mas mahusay na performance kaysa sa Python, na ginagawang mahusay na tool para sa scientific experimentation. + +Sa araling ito, magtutuon tayo sa paggamit ng Python para sa simpleng pagproseso ng data. Ipinapalagay na mayroong kaunting kaalaman sa wika. Kung nais mong mas malalim na pag-aaral sa Python, maaari kang sumangguni sa isa sa mga sumusunod na resources: + +* [Matutong Python sa Masayang Paraan gamit ang Turtle Graphics at Fractals](https://github.com/shwars/pycourse) - GitHub-based na mabilisang intro course sa Python Programming +* [Simulan ang Iyong Unang Hakbang sa Python](https://docs.microsoft.com/en-us/learn/paths/python-first-steps/?WT.mc_id=academic-77958-bethanycheum) Learning Path sa [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) + +Ang data ay maaaring dumating sa iba't ibang anyo. Sa araling ito, isasaalang-alang natin ang tatlong anyo ng data - **tabular data**, **text**, at **images**. + +Magbibigay tayo ng ilang halimbawa ng pagproseso ng data, sa halip na magbigay ng kumpletong overview ng lahat ng kaugnay na library. Ito ay magbibigay-daan sa iyo na makuha ang pangunahing ideya ng kung ano ang posible, at mag-iwan sa iyo ng kaalaman kung saan hahanapin ang mga solusyon sa iyong mga problema kapag kailangan mo. + +> **Pinakamahalagang payo**. Kapag kailangan mong magsagawa ng partikular na operasyon sa data na hindi mo alam kung paano gawin, subukang maghanap nito sa internet. Ang [Stackoverflow](https://stackoverflow.com/) ay karaniwang naglalaman ng maraming kapaki-pakinabang na code sample sa Python para sa maraming karaniwang gawain. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/12) + +## Tabular Data at Dataframes + +Nakilala mo na ang tabular data noong pinag-usapan natin ang relational databases. Kapag marami kang data, at ito ay nakapaloob sa maraming magkakaugnay na mga table, tiyak na may katuturan ang paggamit ng SQL para sa pagproseso nito. Gayunpaman, may mga pagkakataon na mayroon tayong table ng data, at kailangan nating makakuha ng **pag-unawa** o **insights** tungkol sa data na ito, tulad ng distribution, correlation sa pagitan ng mga halaga, at iba pa. Sa data science, maraming pagkakataon na kailangan nating magsagawa ng ilang mga transformation ng orihinal na data, na sinusundan ng visualization. Ang parehong mga hakbang na ito ay madaling magawa gamit ang Python. + +Mayroong dalawang pinaka-kapaki-pakinabang na library sa Python na makakatulong sa iyo sa pagproseso ng tabular data: +* **[Pandas](https://pandas.pydata.org/)** ay nagbibigay-daan sa iyo na manipulahin ang tinatawag na **Dataframes**, na katulad ng relational tables. Maaari kang magkaroon ng mga column na may pangalan, at magsagawa ng iba't ibang operasyon sa row, column, at dataframes sa pangkalahatan. +* **[Numpy](https://numpy.org/)** ay isang library para sa pagproseso ng **tensors**, ibig sabihin, multi-dimensional **arrays**. Ang array ay may mga halaga ng parehong underlying type, at mas simple kaysa sa dataframe, ngunit nag-aalok ito ng mas maraming mathematical operations, at mas kaunting overhead. + +Mayroon ding ilang iba pang mga library na dapat mong malaman: +* **[Matplotlib](https://matplotlib.org/)** ay isang library na ginagamit para sa data visualization at pag-plot ng mga graph +* **[SciPy](https://www.scipy.org/)** ay isang library na may ilang karagdagang scientific functions. Nakilala na natin ang library na ito noong pinag-usapan ang probability at statistics. + +Narito ang isang piraso ng code na karaniwang ginagamit upang i-import ang mga library na ito sa simula ng iyong Python program: +```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 +``` + +Ang Pandas ay nakasentro sa ilang mga pangunahing konsepto. + +### Series + +Ang **Series** ay isang sequence ng mga halaga, katulad ng list o numpy array. Ang pangunahing pagkakaiba ay ang series ay mayroon ding **index**, at kapag nag-ooperate tayo sa series (hal., ina-add ang mga ito), isinasaalang-alang ang index. Ang index ay maaaring kasing simple ng integer row number (ito ang default na index kapag gumagawa ng series mula sa list o array), o maaari itong magkaroon ng mas kumplikadong istruktura, tulad ng date interval. + +> **Note**: May introductory Pandas code sa kasamang notebook [`notebook.ipynb`](notebook.ipynb). Ibinabalangkas lamang namin ang ilang mga halimbawa dito, at tiyak na malugod kang suriin ang buong notebook. + +Isaalang-alang ang isang halimbawa: nais nating suriin ang benta ng aming ice-cream spot. Gumawa tayo ng series ng mga numero ng benta (bilang ng mga item na nabenta bawat araw) para sa ilang panahon: + +```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() +``` +![Time Series Plot](../../../../translated_images/timeseries-1.80de678ab1cf727e50e00bcf24009fa2b0a8b90ebc43e34b99a345227d28e467.tl.png) + +Ngayon ipagpalagay na bawat linggo ay nag-oorganisa tayo ng party para sa mga kaibigan, at kumukuha ng karagdagang 10 pack ng ice-cream para sa party. Maaari tayong gumawa ng isa pang series, na naka-index ayon sa linggo, upang ipakita iyon: +```python +additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W")) +``` +Kapag pinagsama natin ang dalawang series, makakakuha tayo ng kabuuang bilang: +```python +total_items = items_sold.add(additional_items,fill_value=0) +total_items.plot() +``` +![Time Series Plot](../../../../translated_images/timeseries-2.aae51d575c55181ceda81ade8c546a2fc2024f9136934386d57b8a189d7570ff.tl.png) + +> **Note** na hindi natin ginagamit ang simpleng syntax `total_items+additional_items`. Kung ginawa natin, makakakuha tayo ng maraming `NaN` (*Not a Number*) na mga halaga sa resulting series. Ito ay dahil may mga nawawalang halaga para sa ilang mga index point sa `additional_items` series, at ang pagdaragdag ng `NaN` sa anumang bagay ay nagreresulta sa `NaN`. Kaya kailangan nating tukuyin ang `fill_value` parameter sa panahon ng addition. + +Sa time series, maaari rin tayong mag-**resample** ng series gamit ang iba't ibang time intervals. Halimbawa, ipagpalagay na nais nating kalkulahin ang mean sales volume buwan-buwan. Maaari nating gamitin ang sumusunod na code: +```python +monthly = total_items.resample("1M").mean() +ax = monthly.plot(kind='bar') +``` +![Monthly Time Series Averages](../../../../translated_images/timeseries-3.f3147cbc8c624881008564bc0b5d9fcc15e7374d339da91766bd0e1c6bd9e3af.tl.png) + +### DataFrame + +Ang DataFrame ay mahalagang koleksyon ng mga series na may parehong index. Maaari nating pagsamahin ang ilang series upang makabuo ng isang 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]) +``` +Ito ay lilikha ng isang horizontal table tulad nito: +| | 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 | + +Maaari rin nating gamitin ang Series bilang mga column, at tukuyin ang mga pangalan ng column gamit ang dictionary: +```python +df = pd.DataFrame({ 'A' : a, 'B' : b }) +``` +Ito ay magbibigay sa atin ng isang table tulad nito: + +| | 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** na maaari rin nating makuha ang layout ng table na ito sa pamamagitan ng pag-transpose ng naunang table, hal., sa pamamagitan ng pagsulat +```python +df = pd.DataFrame([a,b]).T..rename(columns={ 0 : 'A', 1 : 'B' }) +``` +Dito, ang `.T` ay nangangahulugan ng operasyon ng pag-transpose ng DataFrame, ibig sabihin, pagpapalit ng mga row at column, at ang `rename` operation ay nagbibigay-daan sa atin na palitan ang pangalan ng mga column upang tumugma sa naunang halimbawa. + +Narito ang ilang pinakamahalagang operasyon na maaari nating gawin sa DataFrames: + +**Pagpili ng column**. Maaari nating piliin ang mga indibidwal na column sa pamamagitan ng pagsulat ng `df['A']` - ang operasyong ito ay nagbabalik ng isang Series. Maaari rin nating piliin ang subset ng mga column sa isa pang DataFrame sa pamamagitan ng pagsulat ng `df[['B','A']]` - ito ay nagbabalik ng isa pang DataFrame. + +**Pag-filter** ng mga partikular na row ayon sa criteria. Halimbawa, upang iwanan lamang ang mga row na may column `A` na mas malaki sa 5, maaari nating isulat ang `df[df['A']>5]`. + +> **Note**: Ang paraan ng pag-filter ay ganito. Ang expression na `df['A']<5` ay nagbabalik ng boolean series, na nagpapahiwatig kung ang expression ay `True` o `False` para sa bawat elemento ng orihinal na series `df['A']`. Kapag ang boolean series ay ginamit bilang index, nagbabalik ito ng subset ng mga row sa DataFrame. Kaya't hindi posible na gumamit ng arbitrary Python boolean expression, halimbawa, ang pagsulat ng `df[df['A']>5 and df['A']<7]` ay mali. Sa halip, dapat mong gamitin ang espesyal na `&` operation sa boolean series, sa pamamagitan ng pagsulat ng `df[(df['A']>5) & (df['A']<7)]` (*mahalaga ang mga bracket dito*). + +**Paglikha ng bagong computable columns**. Madali tayong makakagawa ng bagong computable columns para sa ating DataFrame sa pamamagitan ng paggamit ng intuitive na expression tulad nito: +```python +df['DivA'] = df['A']-df['A'].mean() +``` +Ang halimbawang ito ay nagkakalkula ng divergence ng A mula sa mean value nito. Ang aktwal na nangyayari dito ay nagkakalkula tayo ng isang series, at pagkatapos ay ina-assign ang series na ito sa kaliwang bahagi, na lumilikha ng isa pang column. Kaya't hindi natin maaaring gamitin ang anumang operasyon na hindi compatible sa series, halimbawa, ang code sa ibaba ay mali: +```python +# Wrong code -> df['ADescr'] = "Low" if df['A'] < 5 else "Hi" +df['LenB'] = len(df['B']) # <- Wrong result +``` +Ang huling halimbawa, bagama't syntactically correct, ay nagbibigay sa atin ng maling resulta, dahil ina-assign nito ang haba ng series `B` sa lahat ng mga halaga sa column, at hindi ang haba ng mga indibidwal na elemento tulad ng ating nilalayon. + +Kung kailangan nating kalkulahin ang mga kumplikadong expression tulad nito, maaari nating gamitin ang `apply` function. Ang huling halimbawa ay maaaring isulat tulad nito: +```python +df['LenB'] = df['B'].apply(lambda x : len(x)) +# or +df['LenB'] = df['B'].apply(len) +``` + +Pagkatapos ng mga operasyong nasa itaas, magkakaroon tayo ng sumusunod na 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 | + +**Pagpili ng mga row batay sa numero** ay maaaring gawin gamit ang `iloc` construct. Halimbawa, upang piliin ang unang 5 row mula sa DataFrame: +```python +df.iloc[:5] +``` + +**Pag-group** ay madalas na ginagamit upang makakuha ng resulta na katulad ng *pivot tables* sa Excel. Halimbawa, ipagpalagay na nais nating kalkulahin ang mean value ng column `A` para sa bawat ibinigay na numero ng `LenB`. Pagkatapos ay maaari nating i-group ang ating DataFrame sa pamamagitan ng `LenB`, at tawagin ang `mean`: +```python +df.groupby(by='LenB').mean() +``` +Kung kailangan nating kalkulahin ang mean at ang bilang ng mga elemento sa grupo, maaari nating gamitin ang mas kumplikadong `aggregate` function: +```python +df.groupby(by='LenB') \ + .aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \ + .rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'}) +``` +Ito ay nagbibigay sa atin ng sumusunod na table: + +| LenB | Count | Mean | +| ---- | ----- | -------- | +| 1 | 1 | 1.000000 | +| 2 | 1 | 3.000000 | +| 3 | 2 | 5.000000 | +| 4 | 3 | 6.333333 | +| 6 | 2 | 6.000000 | + +### Pagkuha ng Data +Nakikita natin kung gaano kadali ang paggawa ng Series at DataFrames mula sa mga Python object. Gayunpaman, kadalasan ang data ay nasa anyo ng text file o Excel table. Sa kabutihang-palad, nag-aalok ang Pandas ng simpleng paraan para mag-load ng data mula sa disk. Halimbawa, ang pagbasa ng CSV file ay kasing simple ng ganito: +```python +df = pd.read_csv('file.csv') +``` +Makikita natin ang mas maraming halimbawa ng pag-load ng data, kabilang ang pagkuha nito mula sa mga external na website, sa seksyong "Challenge". + +### Pagpi-print at Pag-plot + +Ang isang Data Scientist ay madalas kailangang mag-explore ng data, kaya mahalaga ang kakayahang ma-visualize ito. Kapag malaki ang DataFrame, madalas gusto nating tiyakin na tama ang ginagawa natin sa pamamagitan ng pagpi-print ng ilang unang rows. Magagawa ito sa pamamagitan ng pagtawag sa `df.head()`. Kung ginagamit mo ito sa Jupyter Notebook, ipi-print nito ang DataFrame sa isang maayos na tabular na anyo. + +Nakita rin natin ang paggamit ng `plot` function para i-visualize ang ilang columns. Bagama't napaka-kapaki-pakinabang ng `plot` para sa maraming gawain, at sumusuporta sa iba't ibang uri ng graph sa pamamagitan ng `kind=` parameter, palagi kang maaaring gumamit ng raw na `matplotlib` library para mag-plot ng mas kumplikadong bagay. Tatalakayin natin ang data visualization nang mas detalyado sa mga hiwalay na leksyon ng kurso. + +Saklaw ng overview na ito ang mga pinakamahalagang konsepto ng Pandas, ngunit napakayaman ng library na ito, at walang limitasyon sa kung ano ang magagawa mo rito! Ngayon, gamitin natin ang kaalamang ito para lutasin ang partikular na problema. + +## 🚀 Hamon 1: Pagsusuri ng Pagkalat ng COVID + +Ang unang problemang tututukan natin ay ang pagmomodelo ng pagkalat ng epidemya ng COVID-19. Upang magawa ito, gagamitin natin ang data sa bilang ng mga nahawaang indibidwal sa iba't ibang bansa, na ibinigay ng [Center for Systems Science and Engineering](https://systems.jhu.edu/) (CSSE) sa [Johns Hopkins University](https://jhu.edu/). Ang dataset ay makukuha sa [GitHub Repository na ito](https://github.com/CSSEGISandData/COVID-19). + +Dahil gusto nating ipakita kung paano magtrabaho sa data, inaanyayahan ka naming buksan ang [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) at basahin ito mula simula hanggang dulo. Maaari mo ring i-execute ang mga cells, at gawin ang ilang hamon na iniwan namin para sa iyo sa dulo. + +![COVID Spread](../../../../translated_images/covidspread.f3d131c4f1d260ab0344d79bac0abe7924598dd754859b165955772e1bd5e8a2.tl.png) + +> Kung hindi mo alam kung paano magpatakbo ng code sa Jupyter Notebook, tingnan ang [artikulong ito](https://soshnikov.com/education/how-to-execute-notebooks-from-github/). + +## Pagtatrabaho sa Hindi Nakabalangkas na Data + +Bagama't madalas na nasa tabular na anyo ang data, sa ilang mga kaso kailangan nating magtrabaho sa mas hindi nakabalangkas na data, halimbawa, text o mga larawan. Sa ganitong kaso, upang magamit ang mga teknik sa pagproseso ng data na nakita natin sa itaas, kailangan nating **kunin** ang nakabalangkas na data. Narito ang ilang halimbawa: + +* Pagkuha ng mga keyword mula sa text, at pagtingin kung gaano kadalas lumalabas ang mga keyword na iyon +* Paggamit ng neural networks para kunin ang impormasyon tungkol sa mga bagay sa larawan +* Pagkuha ng impormasyon tungkol sa emosyon ng mga tao sa video camera feed + +## 🚀 Hamon 2: Pagsusuri ng COVID Papers + +Sa hamon na ito, ipagpapatuloy natin ang paksa ng pandemya ng COVID, at magtutuon sa pagproseso ng mga scientific papers tungkol dito. Mayroong [CORD-19 Dataset](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge) na may higit sa 7000 (sa oras ng pagsulat) na mga papel tungkol sa COVID, na makukuha kasama ang metadata at abstracts (at para sa halos kalahati nito, mayroong buong teksto na ibinigay). + +Ang isang buong halimbawa ng pagsusuri sa dataset na ito gamit ang [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) cognitive service ay inilarawan [sa blog post na ito](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/). Tatalakayin natin ang pinasimpleng bersyon ng pagsusuri na ito. + +> **NOTE**: Hindi namin ibinibigay ang kopya ng dataset bilang bahagi ng repository na ito. Maaaring kailanganin mo munang i-download ang [`metadata.csv`](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge?select=metadata.csv) file mula sa [dataset na ito sa Kaggle](https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge). Maaaring kailanganin ang pagpaparehistro sa Kaggle. Maaari mo ring i-download ang dataset nang walang pagpaparehistro [mula rito](https://ai2-semanticscholar-cord-19.s3-us-west-2.amazonaws.com/historical_releases.html), ngunit isasama nito ang lahat ng buong teksto bilang karagdagan sa metadata file. + +Buksan ang [`notebook-papers.ipynb`](notebook-papers.ipynb) at basahin ito mula simula hanggang dulo. Maaari mo ring i-execute ang mga cells, at gawin ang ilang hamon na iniwan namin para sa iyo sa dulo. + +![Covid Medical Treatment](../../../../translated_images/covidtreat.b2ba59f57ca45fbcda36e0ddca3f8cfdddeeed6ca879ea7f866d93fa6ec65791.tl.png) + +## Pagproseso ng Data ng Larawan + +Kamakailan, napakalalakas na AI models ang nadevelop na nagbibigay-daan sa atin upang maunawaan ang mga larawan. Maraming mga gawain ang maaaring malutas gamit ang pre-trained neural networks, o cloud services. Ilang halimbawa ay: + +* **Image Classification**, na makakatulong sa iyong i-categorize ang larawan sa isa sa mga pre-defined na klase. Madali kang makakapagsanay ng sarili mong image classifiers gamit ang mga serbisyo tulad ng [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) +* **Object Detection** para matukoy ang iba't ibang bagay sa larawan. Ang mga serbisyo tulad ng [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum) ay maaaring makakita ng maraming karaniwang bagay, at maaari kang magsanay ng [Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77958-bethanycheum) model para matukoy ang ilang partikular na bagay na interes. +* **Face Detection**, kabilang ang Age, Gender, at Emotion detection. Magagawa ito sa pamamagitan ng [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum). + +Ang lahat ng mga cloud services na ito ay maaaring tawagin gamit ang [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), at kaya madaling maisama sa iyong workflow sa pag-explore ng data. + +Narito ang ilang halimbawa ng pag-explore ng data mula sa mga pinagmulan ng Image data: +* Sa blog post na [How to Learn Data Science without Coding](https://soshnikov.com/azure/how-to-learn-data-science-without-coding/) ini-explore namin ang mga larawan sa Instagram, sinusubukang maunawaan kung ano ang nagpapataas ng likes sa isang larawan. Una naming kinukuha ang mas maraming impormasyon mula sa mga larawan gamit ang [computer vision](https://azure.microsoft.com/services/cognitive-services/computer-vision/?WT.mc_id=academic-77958-bethanycheum), at pagkatapos ay ginagamit ang [Azure Machine Learning AutoML](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml/?WT.mc_id=academic-77958-bethanycheum) upang bumuo ng interpretable model. +* Sa [Facial Studies Workshop](https://github.com/CloudAdvocacy/FaceStudies) ginagamit namin ang [Face API](https://azure.microsoft.com/services/cognitive-services/face/?WT.mc_id=academic-77958-bethanycheum) upang kunin ang emosyon ng mga tao sa mga larawan mula sa mga event, upang subukang maunawaan kung ano ang nagpapasaya sa mga tao. + +## Konklusyon + +Kung mayroon ka nang nakabalangkas o hindi nakabalangkas na data, gamit ang Python maaari mong gawin ang lahat ng hakbang na may kaugnayan sa pagproseso at pag-unawa ng data. Marahil ito ang pinaka-flexible na paraan ng pagproseso ng data, at ito ang dahilan kung bakit ang karamihan sa mga data scientist ay gumagamit ng Python bilang kanilang pangunahing tool. Ang pag-aaral ng Python nang mas malalim ay marahil isang magandang ideya kung seryoso ka sa iyong data science journey! + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/13) + +## Review at Pag-aaral sa Sarili + +**Mga Aklat** +* [Wes McKinney. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython](https://www.amazon.com/gp/product/1491957662) + +**Mga Online Resources** +* Opisyal na [10 minutes to Pandas](https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html) tutorial +* [Dokumentasyon sa Pandas Visualization](https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html) + +**Pag-aaral ng 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) Learning Path sa [Microsoft Learn](http://learn.microsoft.com/?WT.mc_id=academic-77958-bethanycheum) + +## Takdang-Aralin + +[Gumawa ng mas detalyadong pag-aaral ng data para sa mga hamon sa itaas](assignment.md) + +## Mga Kredito + +Ang leksyon na ito ay isinulat nang may ♥️ ni [Dmitry Soshnikov](http://soshnikov.com) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/07-python/assignment.md b/translations/tl/2-Working-With-Data/07-python/assignment.md new file mode 100644 index 00000000..1895d34b --- /dev/null +++ b/translations/tl/2-Working-With-Data/07-python/assignment.md @@ -0,0 +1,37 @@ + +# Takdang-Aralin para sa Pagproseso ng Data sa Python + +Sa takdang-araling ito, hihilingin namin sa iyo na palawakin ang code na sinimulan naming buuin sa aming mga hamon. Ang takdang-aralin ay binubuo ng dalawang bahagi: + +## Pagmomodelo ng Pagkalat ng COVID-19 + + - [ ] I-plot ang *R* graphs para sa 5-6 na iba't ibang bansa sa isang graph para sa paghahambing, o gumamit ng ilang graphs na magkatabi. + - [ ] Tingnan kung paano nauugnay ang bilang ng mga namatay at gumaling sa bilang ng mga nahawaang kaso. + - [ ] Tukuyin kung gaano katagal ang karaniwang sakit sa pamamagitan ng biswal na pag-uugnay ng rate ng impeksyon at rate ng pagkamatay at paghanap ng ilang anomalya. Maaaring kailanganin mong tingnan ang iba't ibang bansa upang matuklasan ito. + - [ ] Kalkulahin ang fatality rate at kung paano ito nagbabago sa paglipas ng panahon. *Maaaring gusto mong isaalang-alang ang haba ng sakit sa mga araw upang ilipat ang isang time series bago gawin ang mga kalkulasyon.* + +## Pagsusuri ng Mga Papel Tungkol sa COVID-19 + +- [ ] Bumuo ng co-occurrence matrix ng iba't ibang gamot, at tingnan kung aling mga gamot ang madalas na magkasama (hal., binanggit sa isang abstract). Maaari mong baguhin ang code para sa pagbuo ng co-occurrence matrix para sa mga gamot at diagnosis. +- [ ] I-visualize ang matrix na ito gamit ang heatmap. +- [ ] Bilang karagdagang hamon, i-visualize ang co-occurrence ng mga gamot gamit ang [chord diagram](https://en.wikipedia.org/wiki/Chord_diagram). [Ang library na ito](https://pypi.org/project/chord/) ay maaaring makatulong sa iyo na gumuhit ng chord diagram. +- [ ] Bilang isa pang karagdagang hamon, kunin ang mga dosage ng iba't ibang gamot (tulad ng **400mg** sa *uminom ng 400mg ng chloroquine araw-araw*) gamit ang regular expressions, at bumuo ng dataframe na nagpapakita ng iba't ibang dosage para sa iba't ibang gamot. **Tandaan**: isaalang-alang ang mga numerong halaga na malapit sa tekstuwal na lokasyon ng pangalan ng gamot. + +## Rubric + +Mahusay | Katamtaman | Kailangan ng Pagpapabuti +--- | --- | -- | +Lahat ng gawain ay tapos, may grapikal na ilustrasyon at paliwanag, kabilang ang hindi bababa sa isa sa dalawang karagdagang hamon | Mahigit sa 5 gawain ang tapos, walang sinubukang karagdagang hamon, o hindi malinaw ang mga resulta | Mas kaunti sa 5 (ngunit higit sa 3) gawain ang tapos, hindi nakakatulong ang mga visualizations upang ipakita ang punto + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/08-data-preparation/README.md b/translations/tl/2-Working-With-Data/08-data-preparation/README.md new file mode 100644 index 00000000..a7e470de --- /dev/null +++ b/translations/tl/2-Working-With-Data/08-data-preparation/README.md @@ -0,0 +1,342 @@ + +# Paggawa gamit ang Data: Paghahanda ng Datos + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/08-DataPreparation.png)| +|:---:| +|Paghahanda ng Datos - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/14) + +Depende sa pinagmulan nito, ang raw na datos ay maaaring maglaman ng ilang mga inconsistency na magdudulot ng hamon sa pagsusuri at pagmomodelo. Sa madaling salita, ang datos na ito ay maaaring ituring na "marumi" at kailangang linisin. Ang araling ito ay nakatuon sa mga teknik para sa paglilinis at pagbabago ng datos upang matugunan ang mga hamon ng nawawala, hindi tama, o hindi kumpletong datos. Ang mga paksang saklaw sa araling ito ay gagamit ng Python at ang Pandas library at [ipapakita sa notebook](notebook.ipynb) sa loob ng direktoryong ito. + +## Ang kahalagahan ng paglilinis ng datos + +- **Madaling gamitin at muling gamitin**: Kapag ang datos ay maayos na nakaayos at na-normalize, mas madali itong hanapin, gamitin, at ibahagi sa iba. + +- **Pagkakapare-pareho**: Ang agham ng datos ay madalas na nangangailangan ng paggamit ng higit sa isang dataset, kung saan ang mga dataset mula sa iba't ibang pinagmulan ay kailangang pagsamahin. Ang pagtiyak na ang bawat indibidwal na dataset ay may karaniwang standardisasyon ay magtitiyak na ang datos ay kapaki-pakinabang pa rin kapag pinagsama-sama sa isang dataset. + +- **Katumpakan ng modelo**: Ang datos na nalinis ay nagpapabuti sa katumpakan ng mga modelong umaasa dito. + +## Karaniwang layunin at estratehiya sa paglilinis + +- **Paggalugad ng dataset**: Ang paggalugad ng datos, na saklaw sa [susunod na aralin](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/4-Data-Science-Lifecycle/15-analyzing), ay makakatulong sa iyo na matuklasan ang datos na kailangang linisin. Ang visual na pagmamasid sa mga halaga sa loob ng dataset ay maaaring magtakda ng mga inaasahan kung ano ang magiging hitsura ng natitirang bahagi nito, o magbigay ng ideya sa mga problemang maaaring malutas. Ang paggalugad ay maaaring magsangkot ng mga simpleng query, visualisasyon, at sampling. + +- **Pag-format**: Depende sa pinagmulan, ang datos ay maaaring magkaroon ng mga inconsistency sa kung paano ito ipinapakita. Maaari itong magdulot ng problema sa paghahanap at representasyon ng halaga, kung saan ito nakikita sa loob ng dataset ngunit hindi maayos na naipapakita sa mga visualisasyon o resulta ng query. Ang mga karaniwang problema sa pag-format ay kinabibilangan ng pag-aayos ng whitespace, petsa, at mga uri ng datos. Ang pag-aayos ng mga isyu sa pag-format ay karaniwang responsibilidad ng mga gumagamit ng datos. Halimbawa, ang mga pamantayan sa kung paano ipinapakita ang mga petsa at numero ay maaaring magkaiba sa bawat bansa. + +- **Pagdoble**: Ang datos na may higit sa isang paglitaw ay maaaring magdulot ng hindi tamang resulta at karaniwang kailangang alisin. Ito ay karaniwang nangyayari kapag pinagsama ang dalawa o higit pang mga dataset. Gayunpaman, may mga pagkakataon kung saan ang pagdoble sa pinagsamang mga dataset ay naglalaman ng mga piraso na maaaring magbigay ng karagdagang impormasyon at maaaring kailangang panatilihin. + +- **Nawawalang Datos**: Ang nawawalang datos ay maaaring magdulot ng hindi tamang resulta pati na rin mahina o bias na mga resulta. Minsan ang mga ito ay maaaring malutas sa pamamagitan ng "reload" ng datos, pagpuno sa nawawalang mga halaga gamit ang computation at code tulad ng Python, o simpleng pag-aalis ng halaga at kaukulang datos. Maraming dahilan kung bakit nawawala ang datos, at ang mga aksyon na ginagawa upang malutas ang mga nawawalang halaga ay maaaring depende sa kung paano at bakit ito nawala. + +## Paggalugad ng impormasyon ng DataFrame +> **Layunin ng pag-aaral:** Sa pagtatapos ng bahaging ito, dapat kang komportable sa paghahanap ng pangkalahatang impormasyon tungkol sa datos na nakaimbak sa pandas DataFrames. + +Kapag na-load mo na ang iyong datos sa pandas, malamang na ito ay nasa isang DataFrame (tingnan ang nakaraang [aralin](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/07-python#dataframe) para sa detalyadong overview). Gayunpaman, kung ang dataset sa iyong DataFrame ay may 60,000 na mga row at 400 na mga column, paano mo sisimulan ang pag-unawa sa kung ano ang iyong pinagtatrabahuhan? Sa kabutihang-palad, ang [pandas](https://pandas.pydata.org/) ay nagbibigay ng ilang maginhawang tools upang mabilis na makita ang pangkalahatang impormasyon tungkol sa isang DataFrame bukod pa sa unang ilang at huling ilang mga row. + +Upang galugarin ang functionality na ito, mag-i-import tayo ng Python scikit-learn library at gagamit ng isang iconic na dataset: ang **Iris dataset**. + +```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**: Upang magsimula, ang `info()` method ay ginagamit upang mag-print ng buod ng nilalaman na nasa isang `DataFrame`. Tingnan natin ang dataset na ito upang makita kung ano ang mayroon tayo: +```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 +``` +Mula dito, nalaman natin na ang *Iris* dataset ay may 150 entries sa apat na column na walang null entries. Ang lahat ng datos ay nakaimbak bilang 64-bit floating-point numbers. + +- **DataFrame.head()**: Susunod, upang suriin ang aktwal na nilalaman ng `DataFrame`, ginagamit natin ang `head()` method. Tingnan natin kung ano ang hitsura ng unang ilang row ng ating `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()**: Sa kabaligtaran, upang suriin ang huling ilang row ng `DataFrame`, ginagamit natin ang `tail()` method: +```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 +``` +> **Takeaway:** Kahit sa simpleng pagtingin lamang sa metadata tungkol sa impormasyon sa isang DataFrame o sa unang at huling ilang mga halaga nito, maaari kang magkaroon ng agarang ideya tungkol sa laki, hugis, at nilalaman ng datos na iyong pinagtatrabahuhan. + +## Pagtugon sa Nawawalang Datos +> **Layunin ng pag-aaral:** Sa pagtatapos ng bahaging ito, dapat mong malaman kung paano palitan o alisin ang mga null na halaga mula sa DataFrames. + +Kadalasan, ang mga dataset na nais mong gamitin (o kailangang gamitin) ay may mga nawawalang halaga. Ang paraan ng paghawak sa nawawalang datos ay may kasamang mga banayad na tradeoffs na maaaring makaapekto sa iyong huling pagsusuri at mga resulta sa totoong mundo. + +Ang pandas ay humahawak sa nawawalang mga halaga sa dalawang paraan. Ang una ay nakita mo na sa mga nakaraang seksyon: `NaN`, o Not a Number. Ito ay isang espesyal na halaga na bahagi ng IEEE floating-point specification at ginagamit lamang upang ipahiwatig ang nawawalang floating-point values. + +Para sa nawawalang mga halaga bukod sa floats, ang pandas ay gumagamit ng Python `None` object. Bagama't maaaring mukhang nakakalito na makakakita ka ng dalawang magkaibang uri ng mga halaga na nagsasabi ng halos pareho, may mga tunog na programmatic na dahilan para sa disenyo na ito, at sa pagsasanay, ang ganitong ruta ay nagbibigay-daan sa pandas na maghatid ng magandang kompromiso para sa karamihan ng mga kaso. Gayunpaman, ang parehong `None` at `NaN` ay may mga limitasyon na kailangan mong tandaan tungkol sa kung paano sila magagamit. + +Tingnan ang higit pa tungkol sa `NaN` at `None` mula sa [notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb)! + +- **Pag-detect ng null na mga halaga**: Sa `pandas`, ang `isnull()` at `notnull()` methods ang iyong pangunahing paraan para sa pag-detect ng null na datos. Parehong nagbabalik ng Boolean masks sa iyong datos. Gagamitin natin ang `numpy` para sa `NaN` values: +```python +import numpy as np + +example1 = pd.Series([0, np.nan, '', None]) +example1.isnull() +``` +``` +0 False +1 True +2 False +3 True +dtype: bool +``` +Tingnan nang mabuti ang output. Mayroon bang anumang nagulat sa iyo? Bagama't ang `0` ay isang arithmetic null, ito ay gayunpaman isang perpektong integer at tinatrato ito ng pandas bilang ganoon. Ang `''` ay medyo mas banayad. Bagama't ginamit natin ito sa Seksyon 1 upang kumatawan sa isang walang laman na string value, ito ay gayunpaman isang string object at hindi isang representasyon ng null ayon sa pandas. + +Ngayon, baliktarin natin ito at gamitin ang mga method na ito sa paraang mas katulad ng gagamitin mo sa pagsasanay. Maaari mong gamitin ang Boolean masks nang direkta bilang isang ``Series`` o ``DataFrame`` index, na maaaring maging kapaki-pakinabang kapag sinusubukang magtrabaho sa mga nakahiwalay na nawawala (o naroroon) na mga halaga. + +> **Takeaway**: Parehong ang `isnull()` at `notnull()` methods ay gumagawa ng magkatulad na resulta kapag ginamit mo ang mga ito sa `DataFrame`s: ipinapakita nila ang mga resulta at ang index ng mga resulta, na makakatulong sa iyo nang malaki habang nakikipagbuno ka sa iyong datos. + +- **Pag-aalis ng null na mga halaga**: Bukod sa pagtukoy sa nawawalang mga halaga, ang pandas ay nagbibigay ng maginhawang paraan upang alisin ang mga null na halaga mula sa `Series` at `DataFrame`s. (Lalo na sa malalaking dataset, mas maipapayo na alisin na lang ang nawawalang [NA] na mga halaga mula sa iyong pagsusuri kaysa harapin ang mga ito sa ibang paraan.) Upang makita ito sa aksyon, bumalik tayo sa `example1`: +```python +example1 = example1.dropna() +example1 +``` +``` +0 0 +2 +dtype: object +``` +Pansinin na dapat itong magmukhang iyong output mula sa `example3[example3.notnull()]`. Ang pagkakaiba dito ay, sa halip na i-index lamang ang mga masked na halaga, inalis ng `dropna` ang mga nawawalang halaga mula sa `Series` `example1`. + +Dahil ang `DataFrame`s ay may dalawang dimensyon, nagbibigay sila ng mas maraming opsyon para sa pag-aalis ng datos. + +```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 | + +(Napansin mo ba na ang pandas ay nag-upcast sa dalawang column sa floats upang mapa-accommodate ang `NaN`s?) + +Hindi mo maaaring alisin ang isang solong halaga mula sa isang `DataFrame`, kaya kailangan mong alisin ang buong mga row o column. Depende sa kung ano ang iyong ginagawa, maaaring gusto mong gawin ang isa o ang isa pa, kaya binibigyan ka ng pandas ng mga opsyon para sa pareho. Dahil sa agham ng datos, ang mga column ay karaniwang kumakatawan sa mga variable at ang mga row ay kumakatawan sa mga obserbasyon, mas malamang na alisin mo ang mga row ng datos; ang default na setting para sa `dropna()` ay alisin ang lahat ng mga row na naglalaman ng anumang null na mga halaga: + +```python +example2.dropna() +``` +``` + 0 1 2 +1 2.0 5.0 8 +``` +Kung kinakailangan, maaari mong alisin ang mga NA na halaga mula sa mga column. Gamitin ang `axis=1` upang gawin ito: +```python +example2.dropna(axis='columns') +``` +``` + 2 +0 7 +1 8 +2 9 +``` +Pansinin na maaari itong mag-alis ng maraming datos na maaaring gusto mong panatilihin, lalo na sa mas maliliit na dataset. Paano kung gusto mo lang alisin ang mga row o column na naglalaman ng ilang o kahit lahat ng null na mga halaga? Tukuyin mo ang mga setting na iyon sa `dropna` gamit ang `how` at `thresh` parameters. + +Sa default, `how='any'` (kung gusto mong suriin para sa iyong sarili o makita kung ano ang iba pang mga parameter na mayroon ang method, patakbuhin ang `example4.dropna?` sa isang code cell). Maaari mo ring tukuyin ang `how='all'` upang alisin lamang ang mga row o column na naglalaman ng lahat ng null na mga halaga. Palawakin natin ang halimbawa ng `DataFrame` upang makita ito sa aksyon. + +```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| + +Ang `thresh` parameter ay nagbibigay sa iyo ng mas pinong kontrol: itinatakda mo ang bilang ng *non-null* na mga halaga na kailangang magkaroon ng isang row o column upang mapanatili: +```python +example2.dropna(axis='rows', thresh=3) +``` +``` + 0 1 2 3 +1 2.0 5.0 8 NaN +``` +Dito, ang unang at huling row ay inalis, dahil naglalaman lamang sila ng dalawang non-null na mga halaga. + +- **Pagpuno ng null na mga halaga**: Depende sa iyong dataset, minsan mas may katuturan na punan ang mga null na halaga ng mga valid na halaga kaysa alisin ang mga ito. Maaari mong gamitin ang `isnull` upang gawin ito sa lugar, ngunit maaaring nakakapagod ito, lalo na kung marami kang mga halaga na kailangang punan. Dahil ito ay isang karaniwang gawain sa agham ng datos, ang pandas ay nagbibigay ng `fillna`, na nagbabalik ng kopya ng `Series` o `DataFrame` na may mga nawawalang halaga na pinalitan ng isa sa iyong pinili. Gumawa tayo ng isa pang halimbawa ng `Series` upang makita kung paano ito gumagana sa pagsasanay. +```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 +``` +Maaari mong punan ang lahat ng mga null na entry gamit ang isang solong halaga, tulad ng `0`: +```python +example3.fillna(0) +``` +``` +a 1.0 +b 0.0 +c 2.0 +d 0.0 +e 3.0 +dtype: float64 +``` +Maaari mong **forward-fill** ang mga null na halaga, na ang ibig sabihin ay gamitin ang huling valid na halaga upang punan ang null: +```python +example3.fillna(method='ffill') +``` +``` +a 1.0 +b 1.0 +c 2.0 +d 2.0 +e 3.0 +dtype: float64 +``` +Maaari mo ring **back-fill** upang ipalaganap ang susunod na valid na halaga pabalik upang punan ang null: +```python +example3.fillna(method='bfill') +``` +``` +a 1.0 +b 2.0 +c 2.0 +d 3.0 +e 3.0 +dtype: float64 +``` +Tulad ng iyong inaasahan, gumagana ito nang pareho sa `DataFrame`s, ngunit maaari mo ring tukuyin ang isang `axis` kung saan pupunan ang mga null na halaga. Gamitin muli ang `example2` na ginamit dati: +```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 +``` +Pansinin na kapag ang isang nakaraang halaga ay hindi magagamit para sa forward-filling, nananatili ang null na halaga. +> **Pangunahing Punto:** Maraming paraan upang harapin ang mga nawawalang halaga sa iyong mga dataset. Ang partikular na estratehiya na gagamitin mo (pag-aalis, pagpapalit, o kung paano mo papalitan ang mga ito) ay dapat nakabatay sa mga detalye ng data. Mas magkakaroon ka ng mas mahusay na pag-unawa kung paano harapin ang mga nawawalang halaga habang mas madalas kang humawak at makipag-ugnayan sa mga dataset. + +## Pag-aalis ng mga Dobleng Data + +> **Layunin ng Pag-aaral:** Sa pagtatapos ng bahaging ito, dapat kang maging komportable sa pagtukoy at pag-aalis ng mga dobleng halaga mula sa mga DataFrame. + +Bukod sa nawawalang data, madalas kang makakakita ng mga dobleng data sa mga totoong dataset. Sa kabutihang-palad, ang `pandas` ay nagbibigay ng madaling paraan upang matukoy at alisin ang mga dobleng entry. + +- **Pagtukoy sa mga Doble: `duplicated`**: Madali mong matutukoy ang mga dobleng halaga gamit ang `duplicated` na pamamaraan sa pandas, na nagbabalik ng Boolean mask na nagpapakita kung ang isang entry sa `DataFrame` ay doble ng naunang entry. Gumawa tayo ng isa pang halimbawa ng `DataFrame` upang makita ito sa aksyon. +```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 +``` +- **Pag-aalis ng mga Doble: `drop_duplicates`:** simpleng nagbabalik ng kopya ng data kung saan lahat ng mga `duplicated` na halaga ay `False`: +```python +example4.drop_duplicates() +``` +``` + letters numbers +0 A 1 +1 B 2 +3 B 3 +``` +Ang parehong `duplicated` at `drop_duplicates` ay default na isinasaalang-alang ang lahat ng mga column, ngunit maaari mong tukuyin na suriin lamang nila ang isang subset ng mga column sa iyong `DataFrame`: +```python +example4.drop_duplicates(['letters']) +``` +``` +letters numbers +0 A 1 +1 B 2 +``` + +> **Pangunahing Punto:** Ang pag-aalis ng mga dobleng data ay mahalagang bahagi ng halos bawat proyekto sa agham ng datos. Ang mga dobleng data ay maaaring magbago ng resulta ng iyong mga pagsusuri at magbigay ng hindi tamang resulta! + +## 🚀 Hamon + +Ang lahat ng tinalakay na materyales ay ibinigay bilang isang [Jupyter Notebook](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/2-Working-With-Data/08-data-preparation/notebook.ipynb). Bukod dito, may mga pagsasanay pagkatapos ng bawat seksyon, subukan ang mga ito! + +## [Post-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/15) + +## Pagsusuri at Sariling Pag-aaral + +Maraming paraan upang matuklasan at lapitan ang paghahanda ng iyong data para sa pagsusuri at pagmomodelo, at ang paglilinis ng data ay isang mahalagang hakbang na nangangailangan ng "hands-on" na karanasan. Subukan ang mga hamon mula sa Kaggle upang tuklasin ang mga teknik na hindi natalakay sa araling ito. + +- [Data Cleaning Challenge: Parsing Dates](https://www.kaggle.com/rtatman/data-cleaning-challenge-parsing-dates/) + +- [Data Cleaning Challenge: Scale and Normalize Data](https://www.kaggle.com/rtatman/data-cleaning-challenge-scale-and-normalize-data) + +## Takdang-Aralin + +[Pag-evaluate ng Data mula sa isang Form](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/08-data-preparation/assignment.md b/translations/tl/2-Working-With-Data/08-data-preparation/assignment.md new file mode 100644 index 00000000..0b44bfbb --- /dev/null +++ b/translations/tl/2-Working-With-Data/08-data-preparation/assignment.md @@ -0,0 +1,28 @@ + +# Pagsusuri ng Datos mula sa Isang Form + +Ang isang kliyente ay sumubok ng isang [maliit na form](../../../../2-Working-With-Data/08-data-preparation/index.html) upang mangalap ng ilang pangunahing impormasyon tungkol sa kanilang mga kliyente. Dinala nila ang kanilang mga natuklasan sa iyo upang ma-validate ang datos na kanilang nakalap. Maaari mong buksan ang pahinang `index.html` sa browser upang makita ang form. + +Binigyan ka ng isang [dataset ng mga csv record](../../../../data/form.csv) na naglalaman ng mga entry mula sa form pati na rin ang ilang pangunahing visualisasyon. Itinuro ng kliyente na ang ilang mga visualisasyon ay mukhang mali ngunit hindi nila alam kung paano ito aayusin. Maaari mo itong suriin sa [assignment notebook](assignment.ipynb). + +## Mga Tagubilin + +Gamitin ang mga teknik sa araling ito upang makapagbigay ng mga rekomendasyon tungkol sa form upang makalikom ito ng tama at pare-parehong impormasyon. + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagbuti +--- | --- | --- + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/2-Working-With-Data/README.md b/translations/tl/2-Working-With-Data/README.md new file mode 100644 index 00000000..208a76d2 --- /dev/null +++ b/translations/tl/2-Working-With-Data/README.md @@ -0,0 +1,31 @@ + +# Paggamit ng Data + +![data love](../../../translated_images/data-love.a22ef29e6742c852505ada062920956d3d7604870b281a8ca7c7ac6f37381d5a.tl.jpg) +> Larawan ni Alexander Sinn sa Unsplash + +Sa mga araling ito, matututuhan mo ang iba't ibang paraan kung paano maaaring pamahalaan, manipulahin, at gamitin ang data sa mga aplikasyon. Malalaman mo ang tungkol sa relational at non-relational na mga database at kung paano naiimbak ang data sa mga ito. Matututuhan mo ang mga pangunahing kaalaman sa paggamit ng Python para pamahalaan ang data, at madidiskubre mo ang maraming paraan kung paano maaaring gamitin ang Python upang pamahalaan at tuklasin ang data. + +### Mga Paksa + +1. [Relational na mga database](05-relational-databases/README.md) +2. [Non-relational na mga database](06-non-relational/README.md) +3. [Paggamit ng Python](07-python/README.md) +4. [Paghahanda ng data](08-data-preparation/README.md) + +### Mga Kredito + +Ang mga araling ito ay isinulat nang may ❤️ nina [Christopher Harrison](https://twitter.com/geektrainer), [Dmitry Soshnikov](https://twitter.com/shwars), at [Jasmine Greenaway](https://twitter.com/paladique) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/09-visualization-quantities/README.md b/translations/tl/3-Data-Visualization/09-visualization-quantities/README.md new file mode 100644 index 00000000..e6aac20c --- /dev/null +++ b/translations/tl/3-Data-Visualization/09-visualization-quantities/README.md @@ -0,0 +1,222 @@ + +# Pagpapakita ng Dami + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/09-Visualizing-Quantities.png)| +|:---:| +| Pagpapakita ng Dami - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa araling ito, matutuklasan mo kung paano gamitin ang isa sa maraming Python libraries upang matutunan kung paano lumikha ng mga kawili-wiling visualisasyon na may kaugnayan sa konsepto ng dami. Gamit ang isang nalinis na dataset tungkol sa mga ibon ng Minnesota, maaari kang matuto ng maraming kawili-wiling impormasyon tungkol sa lokal na wildlife. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16) + +## Obserbahan ang wingspan gamit ang Matplotlib + +Ang [Matplotlib](https://matplotlib.org/stable/index.html) ay isang mahusay na library para sa paggawa ng parehong simple at sopistikadong mga plot at chart ng iba't ibang uri. Sa pangkalahatan, ang proseso ng pag-plot ng data gamit ang mga library na ito ay kinabibilangan ng pagtukoy sa mga bahagi ng iyong dataframe na nais mong i-target, pagsasagawa ng anumang transformasyon sa data na kinakailangan, pagtatalaga ng mga x at y axis values, pagpapasya kung anong uri ng plot ang ipapakita, at pagkatapos ay ipakita ang plot. Nag-aalok ang Matplotlib ng malawak na uri ng visualisasyon, ngunit para sa araling ito, mag-focus tayo sa mga pinakaangkop para sa pagpapakita ng dami: line charts, scatterplots, at bar plots. + +> ✅ Gumamit ng pinakamahusay na chart na angkop sa istruktura ng iyong data at sa kwentong nais mong ipakita. +> - Para sa pagsusuri ng mga trend sa paglipas ng panahon: line +> - Para sa paghahambing ng mga halaga: bar, column, pie, scatterplot +> - Para ipakita kung paano nauugnay ang mga bahagi sa kabuuan: pie +> - Para ipakita ang distribusyon ng data: scatterplot, bar +> - Para ipakita ang mga trend: line, column +> - Para ipakita ang relasyon sa pagitan ng mga halaga: line, scatterplot, bubble + +Kung mayroon kang dataset at kailangang tuklasin kung gaano karami ang isang partikular na item, isa sa mga unang hakbang na gagawin mo ay ang inspeksyon ng mga halaga nito. + +✅ Mayroong magagandang 'cheat sheets' para sa Matplotlib [dito](https://matplotlib.org/cheatsheets/cheatsheets.pdf). + +## Gumawa ng line plot tungkol sa mga halaga ng wingspan ng ibon + +Buksan ang `notebook.ipynb` file sa root ng folder ng araling ito at magdagdag ng cell. + +> Tandaan: ang data ay nakaimbak sa root ng repo na ito sa folder na `/data`. + +```python +import pandas as pd +import matplotlib.pyplot as plt +birds = pd.read_csv('../../data/birds.csv') +birds.head() +``` +Ang data na ito ay halo ng teksto at mga numero: + +| | Pangalan | ScientificName | Kategorya | Order | Pamilya | 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 | + +Simulan natin sa pag-plot ng ilan sa mga numerong data gamit ang isang basic line plot. Halimbawa, gusto mong makita ang maximum wingspan ng mga kawili-wiling ibon na ito. + +```python +wingspan = birds['MaxWingspan'] +wingspan.plot() +``` +![Max Wingspan](../../../../translated_images/max-wingspan-02.e79fd847b2640b89e21e340a3a9f4c5d4b224c4fcd65f54385e84f1c9ed26d52.tl.png) + +Ano ang napansin mo agad? Mukhang mayroong hindi bababa sa isang outlier - napakalaki ng wingspan! Ang 2300 sentimetro na wingspan ay katumbas ng 23 metro - may mga Pterodactyl ba sa Minnesota? Suriin natin. + +Bagama't maaari kang gumawa ng mabilis na sort sa Excel upang mahanap ang mga outlier, na malamang ay mga typo, ipagpatuloy ang proseso ng visualisasyon sa pamamagitan ng pagtatrabaho mula sa loob ng plot. + +Magdagdag ng mga label sa x-axis upang ipakita kung anong uri ng mga ibon ang pinag-uusapan: + +``` +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() +``` +![wingspan with labels](../../../../translated_images/max-wingspan-labels-02.aa90e826ca49a9d1dde78075e9755c1849ef56a4e9ec60f7e9f3806daf9283e2.tl.png) + +Kahit na ang mga label ay naka-rotate sa 45 degrees, masyado pa rin silang maraming basahin. Subukan natin ang ibang estratehiya: lagyan ng label ang mga outlier lamang at ilagay ang mga label sa loob ng chart. Maaari kang gumamit ng scatter chart upang magkaroon ng mas maraming espasyo para sa paglalagay ng label: + +```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() +``` +Ano ang nangyayari dito? Ginamit mo ang `tick_params` upang itago ang mga label sa ibaba at pagkatapos ay gumawa ng loop sa iyong dataset ng mga ibon. Sa pag-plot ng chart gamit ang maliliit na bilog na asul na tuldok gamit ang `bo`, sinuri mo ang anumang ibon na may maximum wingspan na higit sa 500 at ipinakita ang kanilang label sa tabi ng tuldok kung mayroon. In-offset mo ang mga label nang kaunti sa y axis (`y * (1 - 0.05)`) at ginamit ang pangalan ng ibon bilang label. + +Ano ang natuklasan mo? + +![outliers](../../../../translated_images/labeled-wingspan-02.6110e2d2401cd5238ccc24dfb6d04a6c19436101f6cec151e3992e719f9f1e1f.tl.png) + +## I-filter ang iyong data + +Ang Bald Eagle at Prairie Falcon, bagama't malamang na napakalaking ibon, ay mukhang maling na-label, na may dagdag na `0` sa kanilang maximum wingspan. Hindi malamang na makakita ka ng Bald Eagle na may 25 metrong wingspan, ngunit kung sakali, ipaalam mo sa amin! Gumawa tayo ng bagong dataframe na walang dalawang outlier na ito: + +```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() +``` + +Sa pag-filter ng mga outlier, ang iyong data ay mas cohesive at mas madaling maunawaan. + +![scatterplot of wingspans](../../../../translated_images/scatterplot-wingspan-02.1c33790094ce36a75f5fb45b25ed2cf27f0356ea609e43c11e97a2cedd7011a4.tl.png) + +Ngayon na mayroon tayong mas malinis na dataset, hindi bababa sa mga tuntunin ng wingspan, tuklasin natin ang higit pa tungkol sa mga ibon na ito. + +Bagama't ang line at scatter plots ay maaaring magpakita ng impormasyon tungkol sa mga halaga ng data at kanilang distribusyon, nais nating pag-isipan ang mga halaga na likas sa dataset na ito. Maaari kang lumikha ng mga visualisasyon upang sagutin ang mga sumusunod na tanong tungkol sa dami: + +> Ilan ang mga kategorya ng ibon, at ano ang kanilang bilang? +> Ilan ang mga ibon na extinct, endangered, rare, o common? +> Ilan ang iba't ibang genus at orders sa terminolohiya ni Linnaeus? + +## Tuklasin ang bar charts + +Ang bar charts ay praktikal kapag kailangan mong ipakita ang mga pangkat ng data. Tuklasin natin ang mga kategorya ng ibon na umiiral sa dataset na ito upang makita kung alin ang pinakakaraniwan batay sa bilang. + +Sa notebook file, gumawa ng basic bar chart. + +✅ Tandaan, maaari mong i-filter ang dalawang outlier na ibon na natukoy natin sa nakaraang seksyon, i-edit ang typo sa kanilang wingspan, o iwanan sila para sa mga ehersisyo na ito na hindi nakadepende sa mga halaga ng wingspan. + +Kung nais mong gumawa ng bar chart, maaari mong piliin ang data na nais mong i-focus. Ang bar charts ay maaaring gawin mula sa raw data: + +```python +birds.plot(x='Category', + kind='bar', + stacked=True, + title='Birds of Minnesota') + +``` +![full data as a bar chart](../../../../translated_images/full-data-bar-02.aaa3fda71c63ed564b917841a1886c177dd9a26424142e510c0c0498fd6ca160.tl.png) + +Gayunpaman, ang bar chart na ito ay hindi mababasa dahil masyadong maraming hindi naka-group na data. Kailangan mong piliin lamang ang data na nais mong i-plot, kaya't tingnan natin ang haba ng mga ibon batay sa kanilang kategorya. + +I-filter ang iyong data upang isama lamang ang kategorya ng ibon. + +✅ Pansinin na ginagamit mo ang Pandas upang pamahalaan ang data, at pagkatapos ay hayaan ang Matplotlib na gawin ang charting. + +Dahil maraming kategorya, maaari mong ipakita ang chart na ito nang patayo at i-tweak ang taas nito upang ma-accommodate ang lahat ng data: + +```python +category_count = birds.value_counts(birds['Category'].values, sort=True) +plt.rcParams['figure.figsize'] = [6, 12] +category_count.plot.barh() +``` +![category and length](../../../../translated_images/category-counts-02.0b9a0a4de42275ae5096d0f8da590d8bf520d9e7e40aad5cc4fc8d276480cc32.tl.png) + +Ang bar chart na ito ay nagpapakita ng magandang view ng bilang ng mga ibon sa bawat kategorya. Sa isang sulyap, makikita mo na ang pinakamalaking bilang ng mga ibon sa rehiyong ito ay nasa kategoryang Ducks/Geese/Waterfowl. Ang Minnesota ay ang 'land of 10,000 lakes' kaya't hindi ito nakakagulat! + +✅ Subukan ang iba pang mga bilang sa dataset na ito. Mayroon bang anumang nakakagulat sa iyo? + +## Paghahambing ng data + +Maaari kang mag-eksperimento sa iba't ibang paghahambing ng grouped data sa pamamagitan ng paggawa ng bagong axes. Subukan ang paghahambing ng MaxLength ng isang ibon, batay sa kanyang kategorya: + +```python +maxlength = birds['MaxLength'] +plt.barh(y=birds['Category'], width=maxlength) +plt.rcParams['figure.figsize'] = [6, 12] +plt.show() +``` +![comparing data](../../../../translated_images/category-length-02.7304bf519375c9807d8165cc7ec60dd2a60f7b365b23098538e287d89adb7d76.tl.png) + +Walang nakakagulat dito: ang mga hummingbird ay may pinakamaliit na MaxLength kumpara sa Pelicans o Geese. Maganda kapag ang data ay may lohikal na kahulugan! + +Maaari kang lumikha ng mas kawili-wiling visualisasyon ng bar charts sa pamamagitan ng pag-superimpose ng data. I-superimpose natin ang Minimum at Maximum Length sa isang partikular na kategorya ng ibon: + +```python +minLength = birds['MinLength'] +maxLength = birds['MaxLength'] +category = birds['Category'] + +plt.barh(category, maxLength) +plt.barh(category, minLength) + +plt.show() +``` +Sa plot na ito, makikita mo ang range per bird category ng Minimum Length at Maximum Length. Maaari mong ligtas na sabihin na, batay sa data na ito, mas malaki ang ibon, mas malawak ang range ng haba nito. Nakakatuwa! + +![superimposed values](../../../../translated_images/superimposed-02.f03058536baeb2ed7864f01102538464d4c2fd7ade881ddd7d5ba74dc5d2fdae.tl.png) + +## 🚀 Hamon + +Ang dataset ng ibon na ito ay nag-aalok ng maraming impormasyon tungkol sa iba't ibang uri ng ibon sa loob ng isang partikular na ecosystem. Maghanap sa internet at tingnan kung makakahanap ka ng iba pang mga dataset na may kaugnayan sa ibon. Magpraktis sa paggawa ng mga chart at graph tungkol sa mga ibon upang matuklasan ang mga bagay na hindi mo inaasahan. + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17) + +## Review at Pag-aaral sa Sarili + +Ang unang araling ito ay nagbigay sa iyo ng ilang impormasyon tungkol sa kung paano gamitin ang Matplotlib upang mag-visualize ng dami. Mag-research tungkol sa iba pang paraan upang magtrabaho sa mga dataset para sa visualisasyon. Ang [Plotly](https://github.com/plotly/plotly.py) ay isa sa mga hindi natin tatalakayin sa mga araling ito, kaya't tingnan kung ano ang maiaalok nito. + +## Takdang Aralin + +[Lines, Scatters, and Bars](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/09-visualization-quantities/assignment.md b/translations/tl/3-Data-Visualization/09-visualization-quantities/assignment.md new file mode 100644 index 00000000..c8ef6ffd --- /dev/null +++ b/translations/tl/3-Data-Visualization/09-visualization-quantities/assignment.md @@ -0,0 +1,25 @@ + +# Mga Linya, Scatter, at Bar + +## Mga Panuto + +Sa araling ito, gumamit ka ng line charts, scatterplots, at bar charts upang ipakita ang mga kawili-wiling impormasyon tungkol sa dataset na ito. Sa gawaing ito, masusing pag-aralan ang dataset upang matuklasan ang isang impormasyon tungkol sa isang uri ng ibon. Halimbawa, gumawa ng notebook na nagpapakita ng lahat ng kawili-wiling datos na maaari mong matuklasan tungkol sa Snow Geese. Gamitin ang tatlong uri ng grap na nabanggit sa itaas upang magkuwento sa iyong notebook. + +## Rubric + +Natitirang Gawa | Katanggap-tanggap | Kailangan ng Pagbuti +--- | --- | -- | +Ang notebook ay may mahusay na anotasyon, solidong pagkukuwento, at kaakit-akit na mga grap | Ang notebook ay kulang ng isa sa mga elementong ito | Ang notebook ay kulang ng dalawa sa mga elementong ito + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/10-visualization-distributions/README.md b/translations/tl/3-Data-Visualization/10-visualization-distributions/README.md new file mode 100644 index 00000000..943c7466 --- /dev/null +++ b/translations/tl/3-Data-Visualization/10-visualization-distributions/README.md @@ -0,0 +1,217 @@ + +# Pagpapakita ng Distribusyon + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/10-Visualizing-Distributions.png)| +|:---:| +| Pagpapakita ng Distribusyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa nakaraang aralin, natutunan mo ang ilang kawili-wiling impormasyon tungkol sa isang dataset ng mga ibon sa Minnesota. Natuklasan mo ang ilang maling datos sa pamamagitan ng pagpapakita ng mga outlier at tiningnan ang mga pagkakaiba sa pagitan ng mga kategorya ng ibon batay sa kanilang pinakamahabang haba. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18) +## Tuklasin ang dataset ng mga ibon + +Isa pang paraan upang masuri ang datos ay sa pamamagitan ng pagtingin sa distribusyon nito, o kung paano nakaayos ang datos sa isang axis. Halimbawa, maaaring gusto mong malaman ang pangkalahatang distribusyon ng maximum wingspan o maximum body mass ng mga ibon sa Minnesota mula sa dataset na ito. + +Tuklasin natin ang ilang impormasyon tungkol sa distribusyon ng datos sa dataset na ito. Sa _notebook.ipynb_ file na nasa root ng folder ng araling ito, i-import ang Pandas, Matplotlib, at ang iyong datos: + +```python +import pandas as pd +import matplotlib.pyplot as plt +birds = pd.read_csv('../../data/birds.csv') +birds.head() +``` + +| | Pangalan | Siyentipikong Pangalan | Kategorya | Order | Pamilya | Genus | Katayuan ng Konserbasyon | 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 | + +Sa pangkalahatan, mabilis mong makikita ang distribusyon ng datos sa pamamagitan ng paggamit ng scatter plot tulad ng ginawa natin sa nakaraang aralin: + +```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() +``` +![max length per order](../../../../translated_images/scatter-wb.9d98b0ed7f0388af979441853361a11df5f518f5307938a503ca7913e986111b.tl.png) + +Ipinapakita nito ang pangkalahatang distribusyon ng haba ng katawan ayon sa Order ng ibon, ngunit hindi ito ang pinakamainam na paraan upang ipakita ang tunay na distribusyon. Ang gawaing ito ay karaniwang ginagawa sa pamamagitan ng paggawa ng Histogram. + +## Paggamit ng histograms + +Nag-aalok ang Matplotlib ng mahusay na paraan upang ipakita ang distribusyon ng datos gamit ang Histograms. Ang ganitong uri ng tsart ay parang bar chart kung saan makikita ang distribusyon sa pamamagitan ng pagtaas at pagbaba ng mga bar. Upang makabuo ng histogram, kailangan mo ng numerikal na datos. Upang makabuo ng Histogram, maaari kang mag-plot ng tsart na tinutukoy ang uri bilang 'hist' para sa Histogram. Ang tsart na ito ay nagpapakita ng distribusyon ng MaxBodyMass para sa buong saklaw ng numerikal na datos ng dataset. Sa pamamagitan ng paghahati ng array ng datos sa mas maliliit na bahagi, maipapakita nito ang distribusyon ng mga halaga ng datos: + +```python +birds['MaxBodyMass'].plot(kind = 'hist', bins = 10, figsize = (12,12)) +plt.show() +``` +![distribution over the entire dataset](../../../../translated_images/dist1-wb.0d0cac82e2974fbbec635826fefead401af795f82e2279e2e2678bf2c117d827.tl.png) + +Tulad ng nakikita mo, karamihan sa 400+ na ibon sa dataset na ito ay nasa saklaw na mas mababa sa 2000 para sa kanilang Max Body Mass. Makakuha ng higit pang impormasyon sa datos sa pamamagitan ng pagbabago ng `bins` parameter sa mas mataas na numero, tulad ng 30: + +```python +birds['MaxBodyMass'].plot(kind = 'hist', bins = 30, figsize = (12,12)) +plt.show() +``` +![distribution over the entire dataset with larger bins param](../../../../translated_images/dist2-wb.2c0a7a3499b2fbf561e9f93b69f265dfc538dc78f6de15088ba84a88152e26ba.tl.png) + +Ipinapakita ng tsart na ito ang distribusyon sa mas detalyadong paraan. Maaaring makabuo ng tsart na hindi masyadong skewed sa kaliwa sa pamamagitan ng pagtiyak na pipiliin mo lamang ang datos sa loob ng isang partikular na saklaw: + +I-filter ang iyong datos upang makuha lamang ang mga ibon na ang body mass ay mas mababa sa 60, at ipakita ang 40 `bins`: + +```python +filteredBirds = birds[(birds['MaxBodyMass'] > 1) & (birds['MaxBodyMass'] < 60)] +filteredBirds['MaxBodyMass'].plot(kind = 'hist',bins = 40,figsize = (12,12)) +plt.show() +``` +![filtered histogram](../../../../translated_images/dist3-wb.64b88db7f9780200bd486a2c2a3252548dd439672dbd3f778193db7f654b100c.tl.png) + +✅ Subukan ang iba pang mga filter at puntos ng datos. Upang makita ang buong distribusyon ng datos, alisin ang `['MaxBodyMass']` filter upang ipakita ang mga labeled na distribusyon. + +Nag-aalok ang histogram ng magagandang pagpapahusay sa kulay at labeling na maaari mo ring subukan: + +Gumawa ng 2D histogram upang ihambing ang relasyon sa pagitan ng dalawang distribusyon. Ihambing natin ang `MaxBodyMass` vs. `MaxLength`. Nag-aalok ang Matplotlib ng built-in na paraan upang ipakita ang convergence gamit ang mas maliwanag na kulay: + +```python +x = filteredBirds['MaxBodyMass'] +y = filteredBirds['MaxLength'] + +fig, ax = plt.subplots(tight_layout=True) +hist = ax.hist2d(x, y) +``` +Mukhang may inaasahang ugnayan sa pagitan ng dalawang elementong ito sa isang inaasahang axis, na may isang partikular na malakas na punto ng convergence: + +![2D plot](../../../../translated_images/2D-wb.ae22fdd33936507a41e3af22e11e4903b04a9be973b23a4e05214efaccfd66c8.tl.png) + +Ang mga histogram ay mahusay na gumagana bilang default para sa numerikal na datos. Paano kung kailangan mong makita ang distribusyon ayon sa text-based na datos? +## Tuklasin ang dataset para sa distribusyon gamit ang text-based na datos + +Ang dataset na ito ay naglalaman din ng magandang impormasyon tungkol sa kategorya ng ibon at ang genus, species, at pamilya nito pati na rin ang katayuan ng konserbasyon nito. Tuklasin natin ang impormasyong ito tungkol sa konserbasyon. Ano ang distribusyon ng mga ibon ayon sa kanilang katayuan ng konserbasyon? + +> ✅ Sa dataset, ilang mga acronym ang ginagamit upang ilarawan ang katayuan ng konserbasyon. Ang mga acronym na ito ay mula sa [IUCN Red List Categories](https://www.iucnredlist.org/), isang organisasyon na nagkakatalogo ng katayuan ng mga species. +> +> - CR: Critically Endangered +> - EN: Endangered +> - EX: Extinct +> - LC: Least Concern +> - NT: Near Threatened +> - VU: Vulnerable + +Ang mga ito ay text-based na halaga kaya kakailanganin mong gumawa ng transform upang makabuo ng histogram. Gamit ang filteredBirds dataframe, ipakita ang katayuan ng konserbasyon nito kasama ang Minimum Wingspan. Ano ang nakikita mo? + +```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(); +``` + +![wingspan and conservation collation](../../../../translated_images/histogram-conservation-wb.3c40450eb072c14de7a1a3ec5c0fcba4995531024760741b392911b567fd8b70.tl.png) + +Mukhang walang magandang ugnayan sa pagitan ng minimum wingspan at katayuan ng konserbasyon. Subukan ang iba pang mga elemento ng dataset gamit ang pamamaraang ito. Maaari ka ring mag-eksperimento sa iba't ibang filter. May nakikita ka bang ugnayan? + +## Density plots + +Maaaring napansin mo na ang mga histogram na tiningnan natin hanggang ngayon ay 'stepped' at hindi dumadaloy nang maayos sa isang arc. Upang ipakita ang mas maayos na density chart, maaari kang gumamit ng density plot. + +Upang gumamit ng density plots, maging pamilyar sa isang bagong plotting library, [Seaborn](https://seaborn.pydata.org/generated/seaborn.kdeplot.html). + +I-load ang Seaborn at subukan ang isang basic density plot: + +```python +import seaborn as sns +import matplotlib.pyplot as plt +sns.kdeplot(filteredBirds['MinWingspan']) +plt.show() +``` +![Density plot](../../../../translated_images/density1.8801043bd4af2567b0f706332b5853c7614e5e4b81b457acc27eb4e092a65cbd.tl.png) + +Makikita mo kung paano ginagaya ng plot ang naunang isa para sa Minimum Wingspan data; mas maayos lang ito. Ayon sa dokumentasyon ng Seaborn, "Kumpara sa isang histogram, ang KDE ay maaaring makabuo ng plot na mas malinis at mas madaling maunawaan, lalo na kapag nagpapakita ng maraming distribusyon. Ngunit maaari itong magpakilala ng mga distortion kung ang underlying distribution ay bounded o hindi maayos. Tulad ng histogram, ang kalidad ng representasyon ay nakasalalay din sa pagpili ng tamang smoothing parameters." [source](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) Sa madaling salita, ang mga outlier ay palaging magpapasama sa iyong mga tsart. + +Kung nais mong balikan ang jagged MaxBodyMass line sa pangalawang tsart na ginawa mo, maaari mo itong gawing mas maayos sa pamamagitan ng muling paggawa nito gamit ang pamamaraang ito: + +```python +sns.kdeplot(filteredBirds['MaxBodyMass']) +plt.show() +``` +![smooth bodymass line](../../../../translated_images/density2.8e7647257060ff544a1aaded57e8dd1887586bfe340139e9b77ac1e5287f7977.tl.png) + +Kung nais mo ng maayos, ngunit hindi masyadong maayos na linya, i-edit ang `bw_adjust` parameter: + +```python +sns.kdeplot(filteredBirds['MaxBodyMass'], bw_adjust=.2) +plt.show() +``` +![less smooth bodymass line](../../../../translated_images/density3.84ae27da82f31e6b83ad977646f029a1d21186574d7581facd70123b3eb257ee.tl.png) + +✅ Basahin ang tungkol sa mga parameter na magagamit para sa ganitong uri ng plot at mag-eksperimento! + +Ang ganitong uri ng tsart ay nag-aalok ng magagandang paliwanag na visualisasyon. Sa ilang linya ng code, halimbawa, maaari mong ipakita ang max body mass density ayon sa Order ng ibon: + +```python +sns.kdeplot( + data=filteredBirds, x="MaxBodyMass", hue="Order", + fill=True, common_norm=False, palette="crest", + alpha=.5, linewidth=0, +) +``` + +![bodymass per order](../../../../translated_images/density4.e9d6c033f15c500fd33df94cb592b9f5cf1ed2a3d213c448a3f9e97ba39573ce.tl.png) + +Maaari mo ring i-map ang density ng ilang mga variable sa isang tsart. Subukan ang MaxLength at MinLength ng isang ibon kumpara sa kanilang katayuan ng konserbasyon: + +```python +sns.kdeplot(data=filteredBirds, x="MinLength", y="MaxLength", hue="ConservationStatus") +``` + +![multiple densities, superimposed](../../../../translated_images/multi.56548caa9eae8d0fd9012a8586295538c7f4f426e2abc714ba070e2e4b1fc2c1.tl.png) + +Marahil ay sulit na pag-aralan kung ang cluster ng 'Vulnerable' na mga ibon ayon sa kanilang haba ay may kahulugan o wala. + +## 🚀 Hamon + +Ang mga histogram ay mas sopistikadong uri ng tsart kaysa sa mga basic scatterplots, bar charts, o line charts. Maghanap sa internet ng magagandang halimbawa ng paggamit ng mga histogram. Paano sila ginagamit, ano ang kanilang ipinapakita, at sa anong mga larangan o lugar ng pag-aaral sila karaniwang ginagamit? + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19) + +## Pagsusuri at Pag-aaral sa Sarili + +Sa araling ito, ginamit mo ang Matplotlib at nagsimulang gumamit ng Seaborn upang makabuo ng mas sopistikadong mga tsart. Mag-research tungkol sa `kdeplot` sa Seaborn, isang "continuous probability density curve in one or more dimensions". Basahin ang [dokumentasyon](https://seaborn.pydata.org/generated/seaborn.kdeplot.html) upang maunawaan kung paano ito gumagana. + +## Gawain + +[Ilapat ang iyong mga kasanayan](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/10-visualization-distributions/assignment.md b/translations/tl/3-Data-Visualization/10-visualization-distributions/assignment.md new file mode 100644 index 00000000..3ca5159a --- /dev/null +++ b/translations/tl/3-Data-Visualization/10-visualization-distributions/assignment.md @@ -0,0 +1,25 @@ + +# I-apply ang Iyong Mga Kasanayan + +## Mga Instruksyon + +Sa ngayon, ginamit mo ang dataset ng mga ibon sa Minnesota upang tuklasin ang impormasyon tungkol sa dami ng mga ibon at densidad ng populasyon. Sanayin ang iyong paggamit ng mga teknik na ito sa pamamagitan ng pagsubok sa ibang dataset, marahil mula sa [Kaggle](https://www.kaggle.com/). Gumawa ng notebook upang magkuwento tungkol sa dataset na ito, at siguraduhing gumamit ng mga histogram kapag tinatalakay ito. + +## Rubric + +Mahusay | Katamtaman | Kailangan ng Pagbuti +--- | --- | --- | +Ang isang notebook ay ipinakita na may mga anotasyon tungkol sa dataset na ito, kabilang ang pinagmulan nito, at gumagamit ng hindi bababa sa 5 histogram upang tuklasin ang mga detalye tungkol sa datos. | Ang isang notebook ay ipinakita na may hindi kumpletong mga anotasyon o may mga bug. | Ang isang notebook ay ipinakita na walang anotasyon at may mga bug. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/11-visualization-proportions/README.md b/translations/tl/3-Data-Visualization/11-visualization-proportions/README.md new file mode 100644 index 00000000..96a381dc --- /dev/null +++ b/translations/tl/3-Data-Visualization/11-visualization-proportions/README.md @@ -0,0 +1,205 @@ + +# Pagpapakita ng Proporsyon + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/11-Visualizing-Proportions.png)| +|:---:| +|Pagpapakita ng Proporsyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa araling ito, gagamit ka ng dataset na nakatuon sa kalikasan upang ipakita ang proporsyon, tulad ng kung gaano karaming iba't ibang uri ng fungi ang matatagpuan sa isang dataset tungkol sa mga kabute. Tuklasin natin ang mga kamangha-manghang fungi gamit ang dataset mula sa Audubon na naglalaman ng mga detalye tungkol sa 23 species ng gilled mushrooms sa mga pamilya ng Agaricus at Lepiota. Mag-eeksperimento ka sa masarap na mga visualisasyon tulad ng: + +- Pie charts 🥧 +- Donut charts 🍩 +- Waffle charts 🧇 + +> 💡 Isang napaka-interesanteng proyekto na tinatawag na [Charticulator](https://charticulator.com) ng Microsoft Research ang nag-aalok ng libreng drag-and-drop na interface para sa data visualizations. Sa isa sa kanilang mga tutorial, ginamit din nila ang dataset ng kabute! Kaya maaari mong tuklasin ang data at matutunan ang library nang sabay: [Charticulator tutorial](https://charticulator.com/tutorials/tutorial4.html). + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20) + +## Kilalanin ang iyong mga kabute 🍄 + +Ang mga kabute ay napaka-interesante. Mag-import tayo ng dataset upang pag-aralan ang mga ito: + +```python +import pandas as pd +import matplotlib.pyplot as plt +mushrooms = pd.read_csv('../../data/mushrooms.csv') +mushrooms.head() +``` +Isang talahanayan ang ipinapakita na may magagandang datos para sa pagsusuri: + +| 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 | + +Mapapansin mo agad na ang lahat ng datos ay tekstwal. Kailangan mong i-convert ang datos na ito upang magamit ito sa isang chart. Karamihan sa datos, sa katunayan, ay kinakatawan bilang isang object: + +```python +print(mushrooms.select_dtypes(["object"]).columns) +``` + +Ang output ay: + +```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') +``` +Kunin ang datos na ito at i-convert ang 'class' column sa isang kategorya: + +```python +cols = mushrooms.select_dtypes(["object"]).columns +mushrooms[cols] = mushrooms[cols].astype('category') +``` + +```python +edibleclass=mushrooms.groupby(['class']).count() +edibleclass +``` + +Ngayon, kung ipi-print mo ang datos ng kabute, makikita mo na ito ay na-grupo sa mga kategorya ayon sa poisonous/edible class: + +| | 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 | + +Kung susundin mo ang pagkakasunod-sunod na ipinakita sa talahanayan na ito upang lumikha ng iyong mga label ng kategorya ng class, maaari kang gumawa ng pie chart: + +## Pie! + +```python +labels=['Edible','Poisonous'] +plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%') +plt.title('Edible?') +plt.show() +``` +Voila, isang pie chart na nagpapakita ng proporsyon ng datos ayon sa dalawang klase ng kabute. Napakahalaga na makuha ang tamang pagkakasunod-sunod ng mga label, lalo na dito, kaya siguraduhing i-verify ang pagkakasunod-sunod ng array ng label! + +![pie chart](../../../../translated_images/pie1-wb.e201f2fcc335413143ce37650fb7f5f0bb21358e7823a327ed8644dfb84be9db.tl.png) + +## Donuts! + +Ang isang mas visually interesting na pie chart ay isang donut chart, na isang pie chart na may butas sa gitna. Tingnan natin ang ating datos gamit ang pamamaraang ito. + +Tingnan ang iba't ibang mga habitat kung saan tumutubo ang mga kabute: + +```python +habitat=mushrooms.groupby(['habitat']).count() +habitat +``` +Dito, ini-grupo mo ang iyong datos ayon sa habitat. Mayroong 7 na nakalista, kaya gamitin ang mga ito bilang mga label para sa iyong donut chart: + +```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() +``` + +![donut chart](../../../../translated_images/donut-wb.be3c12a22712302b5d10c40014d5389d4a1ae4412fe1655b3cf4af57b64f799a.tl.png) + +Ang code na ito ay gumuguhit ng chart at isang gitnang bilog, pagkatapos ay idinadagdag ang gitnang bilog sa chart. I-edit ang lapad ng gitnang bilog sa pamamagitan ng pagbabago ng `0.40` sa ibang halaga. + +Ang mga donut chart ay maaaring i-tweak sa iba't ibang paraan upang baguhin ang mga label. Ang mga label, partikular, ay maaaring i-highlight para sa readability. Matuto pa sa [docs](https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_and_donut_labels.html?highlight=donut). + +Ngayon na alam mo kung paano i-grupo ang iyong datos at ipakita ito bilang pie o donut, maaari mong tuklasin ang iba pang uri ng chart. Subukan ang waffle chart, na isang ibang paraan ng pag-explore ng dami. + +## Waffles! + +Ang 'waffle' type chart ay isang ibang paraan ng pagpapakita ng dami bilang isang 2D array ng mga square. Subukang ipakita ang iba't ibang dami ng kulay ng mushroom cap sa dataset na ito. Upang gawin ito, kailangan mong mag-install ng helper library na tinatawag na [PyWaffle](https://pypi.org/project/pywaffle/) at gamitin ang Matplotlib: + +```python +pip install pywaffle +``` + +Pumili ng segment ng iyong datos upang i-grupo: + +```python +capcolor=mushrooms.groupby(['cap-color']).count() +capcolor +``` + +Gumawa ng waffle chart sa pamamagitan ng paglikha ng mga label at pagkatapos ay pag-grupo ng iyong datos: + +```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"], +) +``` + +Gamit ang waffle chart, makikita mo nang malinaw ang proporsyon ng mga kulay ng mushroom cap sa dataset na ito. Nakakatuwa, maraming green-capped mushrooms! + +![waffle chart](../../../../translated_images/waffle.5455dbae4ccf17d53bb40ff0a657ecef7b8aa967e27a19cc96325bd81598f65e.tl.png) + +✅ Ang Pywaffle ay sumusuporta sa mga icon sa loob ng mga chart na gumagamit ng anumang icon na available sa [Font Awesome](https://fontawesome.com/). Mag-eksperimento upang lumikha ng mas kawili-wiling waffle chart gamit ang mga icon sa halip na mga square. + +Sa araling ito, natutunan mo ang tatlong paraan ng pagpapakita ng proporsyon. Una, kailangan mong i-grupo ang iyong datos sa mga kategorya at pagkatapos ay magdesisyon kung alin ang pinakamahusay na paraan upang ipakita ang datos - pie, donut, o waffle. Lahat ay masarap at nagbibigay-kasiyahan sa user sa isang instant snapshot ng dataset. + +## 🚀 Hamon + +Subukang muling likhain ang mga masarap na chart na ito sa [Charticulator](https://charticulator.com). + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21) + +## Review at Pag-aaral ng Sarili + +Minsan hindi halata kung kailan gagamit ng pie, donut, o waffle chart. Narito ang ilang artikulo na maaaring basahin tungkol sa paksang ito: + +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 + +Mag-research upang makahanap ng higit pang impormasyon tungkol sa desisyong ito. + +## Takdang Aralin + +[Subukan ito sa Excel](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/11-visualization-proportions/assignment.md b/translations/tl/3-Data-Visualization/11-visualization-proportions/assignment.md new file mode 100644 index 00000000..f86967b2 --- /dev/null +++ b/translations/tl/3-Data-Visualization/11-visualization-proportions/assignment.md @@ -0,0 +1,25 @@ + +# Subukan ito sa Excel + +## Mga Instruksyon + +Alam mo ba na maaari kang gumawa ng donut, pie, at waffle charts sa Excel? Gamit ang dataset na gusto mo, gumawa ng tatlong chart na ito direkta sa isang Excel spreadsheet. + +## Rubric + +| Napakahusay | Katanggap-tanggap | Kailangang Pagbutihin | +| ------------------------------------------------------- | ------------------------------------------------- | --------------------------------------------------- | +| Isang Excel spreadsheet ang ipinakita na may tatlong chart | Isang Excel spreadsheet ang ipinakita na may dalawang chart | Isang Excel spreadsheet ang ipinakita na may isang chart | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/12-visualization-relationships/README.md b/translations/tl/3-Data-Visualization/12-visualization-relationships/README.md new file mode 100644 index 00000000..3d60d06e --- /dev/null +++ b/translations/tl/3-Data-Visualization/12-visualization-relationships/README.md @@ -0,0 +1,186 @@ + +# Pagpapakita ng Relasyon: Tungkol sa Pulot-Pukyutan 🍯 + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/12-Visualizing-Relationships.png)| +|:---:| +|Pagpapakita ng Relasyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa pagpapatuloy ng ating pananaliksik na nakatuon sa kalikasan, tuklasin natin ang mga kawili-wiling paraan ng pagpapakita ng relasyon sa pagitan ng iba't ibang uri ng pulot-pukyutan, batay sa dataset mula sa [United States Department of Agriculture](https://www.nass.usda.gov/About_NASS/index.php). + +Ang dataset na ito, na may humigit-kumulang 600 item, ay nagpapakita ng produksyon ng pulot-pukyutan sa maraming estado sa U.S. Halimbawa, maaari mong tingnan ang bilang ng mga kolonya, ani bawat kolonya, kabuuang produksyon, imbentaryo, presyo bawat libra, at halaga ng pulot-pukyutan na ginawa sa isang partikular na estado mula 1998-2012, na may isang row bawat taon para sa bawat estado. + +Magiging kawili-wiling ipakita ang relasyon sa pagitan ng produksyon ng isang estado bawat taon at, halimbawa, ang presyo ng pulot-pukyutan sa estado na iyon. Bilang alternatibo, maaari mong ipakita ang relasyon sa pagitan ng ani ng pulot-pukyutan bawat kolonya sa iba't ibang estado. Ang saklaw ng taon na ito ay sumasaklaw sa mapaminsalang 'CCD' o 'Colony Collapse Disorder' na unang nakita noong 2006 (http://npic.orst.edu/envir/ccd.html), kaya't ito ay isang makabuluhang dataset na pag-aralan. 🐝 + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22) + +Sa araling ito, maaari mong gamitin ang Seaborn, na ginamit mo na dati, bilang isang mahusay na library para ipakita ang relasyon sa pagitan ng mga variable. Partikular na kawili-wili ang paggamit ng `relplot` function ng Seaborn na nagbibigay-daan sa scatter plots at line plots upang mabilis na ipakita ang '[statistical relationships](https://seaborn.pydata.org/tutorial/relational.html?highlight=relationships)', na tumutulong sa data scientist na mas maunawaan kung paano nagkakaugnay ang mga variable. + +## Scatterplots + +Gumamit ng scatterplot upang ipakita kung paano nagbago ang presyo ng pulot-pukyutan, taon-taon, bawat estado. Ang Seaborn, gamit ang `relplot`, ay maginhawang naggugrupo ng data ng estado at nagpapakita ng mga data point para sa parehong categorical at numeric na data. + +Magsimula tayo sa pag-import ng data at Seaborn: + +```python +import pandas as pd +import matplotlib.pyplot as plt +import seaborn as sns +honey = pd.read_csv('../../data/honey.csv') +honey.head() +``` +Mapapansin mo na ang data ng pulot-pukyutan ay may ilang kawili-wiling mga column, kabilang ang taon at presyo bawat libra. Tuklasin natin ang data na ito, na naka-grupo ayon sa estado ng U.S.: + +| estado | 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 | + +Gumawa ng simpleng scatterplot upang ipakita ang relasyon sa pagitan ng presyo bawat libra ng pulot-pukyutan at ang estado ng pinagmulan nito sa U.S. Gawing sapat na mataas ang `y` axis upang maipakita ang lahat ng estado: + +```python +sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5); +``` +![scatterplot 1](../../../../translated_images/scatter1.5e1aa5fd6706c5d12b5e503ccb77f8a930f8620f539f524ddf56a16c039a5d2f.tl.png) + +Ngayon, ipakita ang parehong data gamit ang isang kulay ng pulot-pukyutan upang ipakita kung paano nagbabago ang presyo sa paglipas ng mga taon. Magagawa mo ito sa pamamagitan ng pagdaragdag ng 'hue' parameter upang ipakita ang pagbabago, taon-taon: + +> ✅ Matuto pa tungkol sa [mga color palettes na maaari mong gamitin sa Seaborn](https://seaborn.pydata.org/tutorial/color_palettes.html) - subukan ang isang magandang rainbow color scheme! + +```python +sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5); +``` +![scatterplot 2](../../../../translated_images/scatter2.c0041a58621ca702990b001aa0b20cd68c1e1814417139af8a7211a2bed51c5f.tl.png) + +Sa pagbabago ng color scheme na ito, makikita mo na malinaw na may malakas na pag-unlad sa paglipas ng mga taon sa presyo ng pulot-pukyutan bawat libra. Sa katunayan, kung titingnan mo ang isang sample set sa data upang i-verify (pumili ng isang partikular na estado, Arizona halimbawa) makikita mo ang pattern ng pagtaas ng presyo taon-taon, na may ilang mga pagbubukod: + +| estado | 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 | + +Isa pang paraan upang ipakita ang progresyon na ito ay ang paggamit ng laki, sa halip na kulay. Para sa mga gumagamit na may colorblindness, maaaring mas mabuting opsyon ito. I-edit ang iyong visualization upang ipakita ang pagtaas ng presyo sa pamamagitan ng pagtaas ng circumference ng tuldok: + +```python +sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5); +``` +Makikita mo ang unti-unting pagtaas ng laki ng mga tuldok. + +![scatterplot 3](../../../../translated_images/scatter3.3c160a3d1dcb36b37900ebb4cf97f34036f28ae2b7b8e6062766c7c1dfc00853.tl.png) + +Ito ba ay simpleng kaso ng supply at demand? Dahil sa mga salik tulad ng pagbabago ng klima at colony collapse, mas kaunti ba ang pulot-pukyutan na magagamit para bilhin taon-taon, kaya't tumataas ang presyo? + +Upang matuklasan ang ugnayan sa pagitan ng ilang mga variable sa dataset na ito, tuklasin natin ang ilang line charts. + +## Line charts + +Tanong: May malinaw bang pagtaas sa presyo ng pulot-pukyutan bawat libra taon-taon? Pinakamadaling matuklasan ito sa pamamagitan ng paggawa ng isang simpleng line chart: + +```python +sns.relplot(x="year", y="priceperlb", kind="line", data=honey); +``` +Sagot: Oo, na may ilang mga pagbubukod sa paligid ng taong 2003: + +![line chart 1](../../../../translated_images/line1.f36eb465229a3b1fe385cdc93861aab3939de987d504b05de0b6cd567ef79f43.tl.png) + +✅ Dahil ang Seaborn ay nag-aaggregate ng data sa isang linya, ipinapakita nito "ang maraming sukat sa bawat x value sa pamamagitan ng pag-plot ng mean at ang 95% confidence interval sa paligid ng mean". [Source](https://seaborn.pydata.org/tutorial/relational.html). Ang behavior na ito na nakakaubos ng oras ay maaaring i-disable sa pamamagitan ng pagdaragdag ng `ci=None`. + +Tanong: Sa 2003, makikita rin ba natin ang pagtaas sa supply ng pulot-pukyutan? Paano kung tingnan mo ang kabuuang produksyon taon-taon? + +```python +sns.relplot(x="year", y="totalprod", kind="line", data=honey); +``` + +![line chart 2](../../../../translated_images/line2.a5b3493dc01058af6402e657aaa9ae1125fafb5e7d6630c777aa60f900a544e4.tl.png) + +Sagot: Hindi talaga. Kung titingnan mo ang kabuuang produksyon, tila ito ay talagang tumaas sa partikular na taon, kahit na sa pangkalahatan ang dami ng pulot-pukyutan na ginagawa ay bumababa sa mga taong ito. + +Tanong: Sa kasong iyon, ano kaya ang sanhi ng pagtaas ng presyo ng pulot-pukyutan sa paligid ng 2003? + +Upang matuklasan ito, maaari kang mag-explore ng facet grid. + +## Facet grids + +Ang facet grids ay kumukuha ng isang aspeto ng iyong dataset (sa ating kaso, maaari mong piliin ang 'year' upang maiwasan ang sobrang dami ng facets na ginawa). Ang Seaborn ay maaaring gumawa ng plot para sa bawat isa sa mga facets ng iyong napiling x at y coordinates para sa mas madaling visual na paghahambing. Kapansin-pansin ba ang 2003 sa ganitong uri ng paghahambing? + +Gumawa ng facet grid sa pamamagitan ng patuloy na paggamit ng `relplot` tulad ng inirerekomenda ng [Seaborn's documentation](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" +``` +Sa visualization na ito, maaari mong ihambing ang ani bawat kolonya at bilang ng mga kolonya taon-taon, magkatabi na may wrap na nakatakda sa 3 para sa mga column: + +![facet grid](../../../../translated_images/facet.6a34851dcd540050dcc0ead741be35075d776741668dd0e42f482c89b114c217.tl.png) + +Para sa dataset na ito, walang partikular na kapansin-pansin tungkol sa bilang ng mga kolonya at kanilang ani, taon-taon at estado sa estado. Mayroon bang ibang paraan upang tingnan ang paghahanap ng ugnayan sa pagitan ng dalawang variable na ito? + +## Dual-line Plots + +Subukan ang isang multiline plot sa pamamagitan ng pag-overlay ng dalawang lineplots sa ibabaw ng isa't isa, gamit ang 'despine' ng Seaborn upang alisin ang kanilang top at right spines, at gamit ang `ax.twinx` [mula sa Matplotlib](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.twinx.html). Ang Twinx ay nagbibigay-daan sa isang chart na magbahagi ng x axis at magpakita ng dalawang y axes. Kaya, ipakita ang ani bawat kolonya at bilang ng mga kolonya, na naka-overlay: + +```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(); +``` +![superimposed plots](../../../../translated_images/dual-line.a4c28ce659603fab2c003f4df816733df2bf41d1facb7de27989ec9afbf01b33.tl.png) + +Habang walang kapansin-pansin sa mata sa paligid ng taong 2003, pinapayagan tayo nitong tapusin ang araling ito sa mas masayang tala: habang may pangkalahatang pagbaba sa bilang ng mga kolonya, ang bilang ng mga kolonya ay nagiging matatag kahit na ang kanilang ani bawat kolonya ay bumababa. + +Go, bees, go! + +🐝❤️ +## 🚀 Hamon + +Sa araling ito, natutunan mo ang higit pa tungkol sa iba pang gamit ng scatterplots at line grids, kabilang ang facet grids. Hamunin ang iyong sarili na gumawa ng facet grid gamit ang ibang dataset, marahil isa na ginamit mo bago ang mga araling ito. Pansinin kung gaano katagal ang paggawa nito at kung paano mo kailangang maging maingat sa dami ng grids na kailangang iguhit gamit ang mga teknik na ito. +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23) + +## Review & Self Study + +Ang mga line plots ay maaaring simple o medyo kumplikado. Magbasa nang kaunti sa [Seaborn documentation](https://seaborn.pydata.org/generated/seaborn.lineplot.html) tungkol sa iba't ibang paraan na maaari mong buuin ang mga ito. Subukang pagandahin ang mga line charts na ginawa mo sa araling ito gamit ang iba pang mga pamamaraan na nakalista sa docs. +## Assignment + +[Dive into the beehive](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/12-visualization-relationships/assignment.md b/translations/tl/3-Data-Visualization/12-visualization-relationships/assignment.md new file mode 100644 index 00000000..784a2aa1 --- /dev/null +++ b/translations/tl/3-Data-Visualization/12-visualization-relationships/assignment.md @@ -0,0 +1,25 @@ + +# Sumisid sa pugad ng mga bubuyog + +## Mga Panuto + +Sa araling ito, sinimulan mong suriin ang isang dataset tungkol sa mga bubuyog at ang kanilang produksyon ng pulot sa loob ng isang panahon na nagpakita ng pagbaba sa populasyon ng kolonya ng bubuyog. Suriin nang mas malalim ang dataset na ito at bumuo ng isang notebook na maaaring magkuwento tungkol sa kalusugan ng populasyon ng bubuyog, estado bawat estado at taon bawat taon. May natuklasan ka bang kawili-wili tungkol sa dataset na ito? + +## Rubric + +| Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti | +| ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| Isang notebook ang ipinakita na may kuwento na may anotasyon ng hindi bababa sa tatlong iba't ibang tsart na nagpapakita ng mga aspeto ng dataset, estado bawat estado at taon bawat taon | Kulang ang notebook ng isa sa mga elementong ito | Kulang ang notebook ng dalawa sa mga elementong ito | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/13-meaningful-visualizations/README.md b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/README.md new file mode 100644 index 00000000..aacc530f --- /dev/null +++ b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/README.md @@ -0,0 +1,182 @@ + +# Paggawa ng Makahulugang Visualizations + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/13-MeaningfulViz.png)| +|:---:| +| Makahulugang Visualizations - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +> "Kung pahihirapan mo nang husto ang datos, aamin ito ng kahit ano" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase) + +Isa sa mga pangunahing kasanayan ng isang data scientist ay ang kakayahang lumikha ng makahulugang data visualization na makakatulong sagutin ang mga tanong na maaaring mayroon ka. Bago mag-visualize ng iyong datos, kailangan mong tiyakin na ito ay nalinis at naihanda, tulad ng ginawa mo sa mga nakaraang aralin. Pagkatapos nito, maaari ka nang magdesisyon kung paano pinakamahusay na ipapakita ang datos. + +Sa araling ito, iyong susuriin: + +1. Paano pumili ng tamang uri ng tsart +2. Paano iwasan ang mapanlinlang na mga tsart +3. Paano gumamit ng kulay +4. Paano i-style ang iyong mga tsart para sa mas madaling mabasa +5. Paano gumawa ng animated o 3D na mga solusyon sa tsart +6. Paano gumawa ng malikhaing visualization + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24) + +## Pumili ng tamang uri ng tsart + +Sa mga nakaraang aralin, sinubukan mong gumawa ng iba't ibang uri ng mga data visualization gamit ang Matplotlib at Seaborn para sa paggawa ng tsart. Sa pangkalahatan, maaari mong piliin ang [tamang uri ng tsart](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/) para sa tanong na iyong tinatanong gamit ang talahanayan na ito: + +| Kailangan mong: | Dapat mong gamitin: | +| -------------------------- | ------------------------------- | +| Ipakita ang mga trend ng datos sa paglipas ng panahon | Line | +| Ihambing ang mga kategorya | Bar, Pie | +| Ihambing ang kabuuan | Pie, Stacked Bar | +| Ipakita ang mga relasyon | Scatter, Line, Facet, Dual Line | +| Ipakita ang mga distribusyon | Scatter, Histogram, Box | +| Ipakita ang mga proporsyon | Pie, Donut, Waffle | + +> ✅ Depende sa komposisyon ng iyong datos, maaaring kailanganin mong i-convert ito mula sa text patungo sa numeriko upang suportahan ang isang partikular na tsart. + +## Iwasan ang panlilinlang + +Kahit na maingat ang isang data scientist sa pagpili ng tamang tsart para sa tamang datos, maraming paraan upang maipakita ang datos sa paraang nagpapatunay ng isang punto, madalas sa kapinsalaan ng datos mismo. Maraming halimbawa ng mapanlinlang na mga tsart at infographics! + +[![Paano Nagsisinungaling ang Mga Tsart ni Alberto Cairo](../../../../translated_images/tornado.9f42168791208f970d6faefc11d1226d7ca89518013b14aa66b1c9edcd7678d2.tl.png)](https://www.youtube.com/watch?v=oX74Nge8Wkw "Paano Nagsisinungaling ang Mga Tsart") + +> 🎥 I-click ang larawan sa itaas para sa isang talakayan tungkol sa mapanlinlang na mga tsart + +Ang tsart na ito ay binabaliktad ang X axis upang ipakita ang kabaligtaran ng katotohanan, batay sa petsa: + +![masamang tsart 1](../../../../translated_images/bad-chart-1.93130f495b748bedfb3423d91b1e754d9026e17f94ad967aecdc9ca7203373bf.tl.png) + +[Ang tsart na ito](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) ay mas mapanlinlang pa, dahil ang mata ay naaakit sa kanan upang isipin na, sa paglipas ng panahon, ang mga kaso ng COVID ay bumaba sa iba't ibang mga county. Sa katunayan, kung titingnan mong mabuti ang mga petsa, makikita mong inayos ang mga ito upang magbigay ng mapanlinlang na pababang trend. + +![masamang tsart 2](../../../../translated_images/bad-chart-2.c20e36dd4e6f617c0c325878dd421a563885bbf30a394884c147438827254e0e.tl.jpg) + +Ang kilalang halimbawa na ito ay gumagamit ng kulay AT isang baliktad na Y axis upang manlinlang: sa halip na isipin na ang mga pagkamatay dahil sa baril ay tumaas pagkatapos ng pagpasa ng batas na pabor sa baril, ang mata ay nalilinlang upang isipin ang kabaligtaran: + +![masamang tsart 3](../../../../translated_images/bad-chart-3.6865d0afac4108d737558d90a61547d23a8722896397ec792264ee51a1be4be5.tl.jpg) + +Ang kakaibang tsart na ito ay nagpapakita kung paano maaaring manipulahin ang proporsyon, sa nakakatawang paraan: + +![masamang tsart 4](../../../../translated_images/bad-chart-4.68cfdf4011b454471053ee1231172747e1fbec2403b4443567f1dc678134f4f2.tl.jpg) + +Ang paghahambing ng mga bagay na hindi maihahambing ay isa pang mapanlinlang na taktika. Mayroong isang [kahanga-hangang website](https://tylervigen.com/spurious-correlations) tungkol sa 'spurious correlations' na nagpapakita ng mga 'katotohanan' na nag-uugnay sa mga bagay tulad ng rate ng diborsyo sa Maine at ang pagkonsumo ng margarina. Ang isang Reddit group ay nangongolekta rin ng [pangit na paggamit](https://www.reddit.com/r/dataisugly/top/?t=all) ng datos. + +Mahalagang maunawaan kung gaano kadaling malinlang ang mata ng mga mapanlinlang na tsart. Kahit na mabuti ang intensyon ng data scientist, ang pagpili ng maling uri ng tsart, tulad ng pie chart na nagpapakita ng masyadong maraming kategorya, ay maaaring mapanlinlang. + +## Kulay + +Makikita mo sa 'Florida gun violence' chart sa itaas kung paano ang kulay ay maaaring magbigay ng karagdagang kahulugan sa mga tsart, lalo na ang mga hindi dinisenyo gamit ang mga library tulad ng Matplotlib at Seaborn na may iba't ibang na-vet na mga library ng kulay at palette. Kung ikaw ay gumagawa ng tsart nang manu-mano, maglaan ng kaunting oras upang pag-aralan ang [teorya ng kulay](https://colormatters.com/color-and-design/basic-color-theory). + +> ✅ Maging maingat, kapag nagdidisenyo ng mga tsart, na ang accessibility ay isang mahalagang aspeto ng visualization. Ang ilan sa iyong mga user ay maaaring may color blindness - nagpapakita ba nang maayos ang iyong tsart para sa mga user na may kapansanan sa paningin? + +Mag-ingat sa pagpili ng mga kulay para sa iyong tsart, dahil ang kulay ay maaaring magdala ng kahulugan na maaaring hindi mo sinasadya. Ang 'pink ladies' sa 'height' chart sa itaas ay nagdadala ng isang natatanging 'pambabae' na kahulugan na nagdaragdag sa kakaibang katangian ng tsart mismo. + +Habang ang [kahulugan ng kulay](https://colormatters.com/color-symbolism/the-meanings-of-colors) ay maaaring magkaiba sa iba't ibang bahagi ng mundo, at may posibilidad na magbago depende sa lilim nito. Sa pangkalahatan, ang mga kahulugan ng kulay ay kinabibilangan ng: + +| Kulay | Kahulugan | +| ------ | -------------------- | +| pula | kapangyarihan | +| asul | tiwala, katapatan | +| dilaw | kasiyahan, babala | +| berde | ekolohiya, swerte, inggit | +| lila | kasiyahan | +| kahel | kasiglahan | + +Kung ikaw ay inatasang gumawa ng tsart na may mga custom na kulay, tiyakin na ang iyong mga tsart ay parehong accessible at ang kulay na iyong pinili ay tumutugma sa kahulugan na nais mong iparating. + +## Pag-style ng iyong mga tsart para sa mas madaling mabasa + +Ang mga tsart ay hindi magiging makahulugan kung hindi ito madaling mabasa! Maglaan ng oras upang isaalang-alang ang pag-style ng lapad at taas ng iyong tsart upang magkasya nang maayos sa iyong datos. Kung ang isang variable (tulad ng lahat ng 50 estado) ay kailangang ipakita, ipakita ang mga ito nang patayo sa Y axis kung maaari upang maiwasan ang isang tsart na kailangang i-scroll nang pahalang. + +Lagyan ng label ang iyong mga axis, magbigay ng legend kung kinakailangan, at mag-alok ng mga tooltip para sa mas mahusay na pag-unawa sa datos. + +Kung ang iyong datos ay tekstuwal at mahaba sa X axis, maaari mong i-anggulo ang teksto para sa mas madaling mabasa. Ang [Matplotlib](https://matplotlib.org/stable/tutorials/toolkits/mplot3d.html) ay nag-aalok ng 3D plotting, kung sinusuportahan ito ng iyong datos. Ang mga sopistikadong data visualization ay maaaring gawin gamit ang `mpl_toolkits.mplot3d`. + +![3d plots](../../../../translated_images/3d.0cec12bcc60f0ce7284c63baed1411a843e24716f7d7425de878715ebad54a15.tl.png) + +## Animation at 3D na pagpapakita ng tsart + +Ang ilan sa mga pinakamahusay na data visualization ngayon ay animated. Si Shirley Wu ay may mga kamangha-manghang gawa gamit ang D3, tulad ng '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', kung saan ang bawat bulaklak ay isang visualization ng isang pelikula. Isa pang halimbawa para sa Guardian ay 'bussed out', isang interactive na karanasan na pinagsasama ang mga visualization gamit ang Greensock at D3 kasama ang isang scrollytelling na format ng artikulo upang ipakita kung paano hinahawakan ng NYC ang problema nito sa mga walang tirahan sa pamamagitan ng pagpapadala ng mga tao palabas ng lungsod. + +![busing](../../../../translated_images/busing.7b9e3b41cd4b981c6d63922cd82004cc1cf18895155536c1d98fcc0999bdd23e.tl.png) + +> "Bussed Out: Paano Inililipat ng Amerika ang mga Walang Tirahan" mula sa [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Mga visualization nina Nadieh Bremer & Shirley Wu + +Bagama't hindi sapat ang araling ito upang talakayin nang malalim ang mga makapangyarihang library ng visualization, subukan ang iyong kakayahan sa D3 sa isang Vue.js app gamit ang isang library upang ipakita ang visualization ng aklat na "Dangerous Liaisons" bilang isang animated na social network. + +> Ang "Les Liaisons Dangereuses" ay isang epistolaryong nobela, o isang nobela na ipinakita bilang isang serye ng mga liham. Isinulat noong 1782 ni Choderlos de Laclos, ito ay nagsasalaysay ng kuwento ng masama at walang moral na mga galaw ng dalawang pangunahing tauhan ng aristokrasya ng Pransya noong huling bahagi ng ika-18 siglo, ang Vicomte de Valmont at ang Marquise de Merteuil. Pareho silang nagwawakas sa trahedya ngunit hindi bago magdulot ng malaking pinsala sa lipunan. Ang nobela ay nagbubukas bilang isang serye ng mga liham na isinulat sa iba't ibang tao sa kanilang mga bilog, nagpaplano ng paghihiganti o simpleng gumagawa ng gulo. Gumawa ng isang visualization ng mga liham na ito upang matuklasan ang mga pangunahing tauhan ng kuwento, sa biswal na paraan. + +Ikukumpleto mo ang isang web app na magpapakita ng isang animated na view ng social network na ito. Gumagamit ito ng isang library na ginawa upang lumikha ng isang [visual ng isang network](https://github.com/emiliorizzo/vue-d3-network) gamit ang Vue.js at D3. Kapag tumatakbo na ang app, maaari mong hilahin ang mga node sa screen upang i-shuffle ang datos. + +![liaisons](../../../../translated_images/liaisons.7b440b28f6d07ea430244fdf1fc4c64ff48f473f143b8e921846eda1c302aeba.tl.png) + +## Proyekto: Gumawa ng tsart upang ipakita ang isang network gamit ang D3.js + +> Ang folder ng araling ito ay may kasamang `solution` folder kung saan maaari mong makita ang kumpletong proyekto, para sa iyong sanggunian. + +1. Sundin ang mga tagubilin sa README.md file sa root ng starter folder. Siguraduhing may NPM at Node.js na tumatakbo sa iyong makina bago i-install ang mga dependency ng proyekto. + +2. Buksan ang `starter/src` folder. Makikita mo ang isang `assets` folder kung saan mayroong .json file na naglalaman ng lahat ng mga liham mula sa nobela, na may bilang, at may anotasyon na 'to' at 'from'. + +3. Kumpletuhin ang code sa `components/Nodes.vue` upang paganahin ang visualization. Hanapin ang method na tinatawag na `createLinks()` at idagdag ang sumusunod na nested loop. + +I-loop ang .json object upang makuha ang 'to' at 'from' na datos para sa mga liham at buuin ang `links` object upang magamit ito ng visualization library: + +```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 }); + } + ``` + +Patakbuhin ang iyong app mula sa terminal (npm run serve) at tamasahin ang visualization! + +## 🚀 Hamon + +Maglibot sa internet upang matuklasan ang mga mapanlinlang na visualization. Paano nililinlang ng may-akda ang user, at ito ba ay sinadya? Subukang itama ang mga visualization upang ipakita kung paano dapat ang mga ito. + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25) + +## Pagsusuri at Pag-aaral sa Sarili + +Narito ang ilang mga artikulo na maaaring basahin tungkol sa mapanlinlang na data visualization: + +https://gizmodo.com/how-to-lie-with-data-visualization-1563576606 + +http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/ + +Tingnan ang mga interesanteng visualization para sa mga makasaysayang asset at artifact: + +https://handbook.pubpub.org/ + +Basahin ang artikulong ito tungkol sa kung paano maaaring mapahusay ng animation ang iyong mga visualization: + +https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4 + +## Takdang-Aralin + +[Gumawa ng sarili mong custom na visualization](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang orihinal na wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/13-meaningful-visualizations/assignment.md b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/assignment.md new file mode 100644 index 00000000..f26566b5 --- /dev/null +++ b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/assignment.md @@ -0,0 +1,25 @@ + +# Gumawa ng Sariling Custom na Vis + +## Mga Instruksyon + +Gamitin ang sample na code sa proyektong ito upang lumikha ng isang social network, mag-mock up ng data mula sa sarili mong mga social interaction. Maaari mong i-map ang paggamit mo ng social media o gumawa ng diagram ng iyong mga miyembro ng pamilya. Gumawa ng isang kawili-wiling web app na nagpapakita ng natatanging visualisasyon ng isang social network. + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | --- | +May GitHub repo na ipinakita na may code na maayos na gumagana (subukang i-deploy ito bilang static web app) at may annotated README na nagpapaliwanag ng proyekto | Ang repo ay hindi maayos na gumagana o hindi maayos ang dokumentasyon | Ang repo ay hindi maayos na gumagana at hindi maayos ang dokumentasyon + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/13-meaningful-visualizations/solution/README.md b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/solution/README.md new file mode 100644 index 00000000..c17f7b36 --- /dev/null +++ b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/solution/README.md @@ -0,0 +1,40 @@ + +# Proyekto ng Pagpapakita ng Datos ng Dangerous Liaisons + +Para makapagsimula, tiyakin na mayroon kang NPM at Node na tumatakbo sa iyong makina. I-install ang mga kinakailangang dependencies (npm install) at pagkatapos ay patakbuhin ang proyekto nang lokal (npm run serve): + +## Setup ng Proyekto +``` +npm install +``` + +### Nagko-compile at nagre-reload nang mabilis para sa development +``` +npm run serve +``` + +### Nagko-compile at nagmi-minify para sa production +``` +npm run build +``` + +### Nagli-lint at nag-aayos ng mga file +``` +npm run lint +``` + +### I-customize ang configuration +Tingnan ang [Configuration Reference](https://cli.vuejs.org/config/). + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/13-meaningful-visualizations/starter/README.md b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/starter/README.md new file mode 100644 index 00000000..83725834 --- /dev/null +++ b/translations/tl/3-Data-Visualization/13-meaningful-visualizations/starter/README.md @@ -0,0 +1,40 @@ + +# Proyekto sa Pagpapakita ng Datos ng Dangerous Liaisons + +Para makapagsimula, tiyakin na naka-install ang NPM at Node sa iyong makina. I-install ang mga kinakailangang dependencies (npm install) at pagkatapos ay patakbuhin ang proyekto nang lokal (npm run serve): + +## Setup ng Proyekto +``` +npm install +``` + +### Nagko-compile at nagre-reload nang mabilis para sa development +``` +npm run serve +``` + +### Nagko-compile at nagmi-minify para sa production +``` +npm run build +``` + +### Nagli-lint at nag-aayos ng mga file +``` +npm run lint +``` + +### I-customize ang configuration +Tingnan ang [Configuration Reference](https://cli.vuejs.org/config/). + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/09-visualization-quantities/README.md b/translations/tl/3-Data-Visualization/R/09-visualization-quantities/README.md new file mode 100644 index 00000000..827ce18d --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/09-visualization-quantities/README.md @@ -0,0 +1,235 @@ + +# Pagpapakita ng Dami + +|![Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev)](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/09-Visualizing-Quantities.png)| +|:---:| +| Pagpapakita ng Dami - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa araling ito, matutuklasan mo kung paano gamitin ang ilan sa maraming magagamit na mga library ng R packages upang matutunan kung paano lumikha ng mga kawili-wiling visualisasyon na nakatuon sa konsepto ng dami. Gamit ang isang nalinis na dataset tungkol sa mga ibon ng Minnesota, maaari kang matuto ng maraming kawili-wiling impormasyon tungkol sa lokal na wildlife. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/16) + +## Obserbahan ang wingspan gamit ang ggplot2 + +Isang mahusay na library para sa paggawa ng parehong simple at sopistikadong mga plot at chart ng iba't ibang uri ay ang [ggplot2](https://cran.r-project.org/web/packages/ggplot2/index.html). Sa pangkalahatang termino, ang proseso ng pag-plot ng data gamit ang mga library na ito ay kinabibilangan ng pagtukoy sa mga bahagi ng iyong dataframe na nais mong i-target, pagsasagawa ng anumang transformasyon sa data na kinakailangan, pag-assign ng mga x at y axis na halaga, pagpapasya kung anong uri ng plot ang ipapakita, at pagkatapos ay ipakita ang plot. + +Ang `ggplot2` ay isang sistema para sa deklaratibong paglikha ng mga graphics, batay sa The Grammar of Graphics. Ang [Grammar of Graphics](https://en.wikipedia.org/wiki/Ggplot2) ay isang pangkalahatang scheme para sa data visualization na naghahati sa mga graph sa semantic components tulad ng scales at layers. Sa madaling salita, ang kadalian ng paglikha ng mga plot at graph para sa univariate o multivariate na data gamit ang kaunting code ay ginagawang `ggplot2` ang pinakasikat na package na ginagamit para sa visualisasyon sa R. Sinasabi ng user sa `ggplot2` kung paano i-map ang mga variable sa aesthetics, ang mga graphical primitives na gagamitin, at ang `ggplot2` ang bahala sa natitira. + +> ✅ Plot = Data + Aesthetics + Geometry +> - Ang Data ay tumutukoy sa dataset +> - Ang Aesthetics ay nagpapahiwatig ng mga variable na pag-aaralan (x at y variables) +> - Ang Geometry ay tumutukoy sa uri ng plot (line plot, bar plot, atbp.) + +Piliin ang pinakamahusay na geometry (uri ng plot) ayon sa iyong data at sa kwento na nais mong ipakita sa pamamagitan ng plot. + +> - Para sa pagsusuri ng mga trend: line, column +> - Para sa paghahambing ng mga halaga: bar, column, pie, scatterplot +> - Para ipakita kung paano nauugnay ang mga bahagi sa kabuuan: pie +> - Para ipakita ang distribusyon ng data: scatterplot, bar +> - Para ipakita ang relasyon sa pagitan ng mga halaga: line, scatterplot, bubble + +✅ Maaari mo ring tingnan ang detalyadong [cheatsheet](https://nyu-cdsc.github.io/learningr/assets/data-visualization-2.1.pdf) para sa ggplot2. + +## Gumawa ng line plot tungkol sa mga halaga ng wingspan ng ibon + +Buksan ang R console at i-import ang dataset. +> Note: Ang dataset ay naka-imbak sa root ng repo na ito sa `/data` folder. + +I-import natin ang dataset at obserbahan ang head (nangungunang 5 rows) ng data. + +```r +birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM") +head(birds) +``` +Ang head ng data ay may halo ng text at mga numero: + +| | Pangalan | ScientificName | Kategorya | Order | Pamilya | 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 | + +Simulan natin sa pag-plot ng ilang numeric na data gamit ang isang basic line plot. Halimbawa, gusto mong makita ang maximum wingspan ng mga kawili-wiling ibon na ito. + +```r +install.packages("ggplot2") +library("ggplot2") +ggplot(data=birds, aes(x=Name, y=MaxWingspan,group=1)) + + geom_line() +``` +Dito, ini-install mo ang `ggplot2` package at pagkatapos ay ini-import ito sa workspace gamit ang `library("ggplot2")` command. Para mag-plot ng anumang plot sa ggplot, ginagamit ang `ggplot()` function at tinutukoy mo ang dataset, x at y variables bilang attributes. Sa kasong ito, ginagamit natin ang `geom_line()` function dahil layunin nating mag-plot ng line plot. + +![MaxWingspan-lineplot](../../../../../translated_images/MaxWingspan-lineplot.b12169f99d26fdd263f291008dfd73c18a4ba8f3d32b1fda3d74af51a0a28616.tl.png) + +Ano ang napansin mo agad? Mukhang mayroong hindi bababa sa isang outlier - napakalaki ng wingspan! Ang wingspan na higit sa 2000 sentimetro ay katumbas ng higit sa 20 metro - may mga Pterodactyl ba sa Minnesota? Suriin natin. + +Bagama't maaari kang gumawa ng mabilis na sort sa Excel upang mahanap ang mga outlier na ito, na malamang na mga typo, ipagpatuloy ang proseso ng visualisasyon sa pamamagitan ng pagtatrabaho mula sa loob ng plot. + +Magdagdag ng mga label sa x-axis upang ipakita kung anong uri ng mga ibon ang pinag-uusapan: + +```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") +``` +Tinutukoy natin ang anggulo sa `theme` at tinutukoy ang mga label ng x at y axis sa `xlab()` at `ylab()` ayon sa pagkakabanggit. Ang `ggtitle()` ay nagbibigay ng pangalan sa graph/plot. + +![MaxWingspan-lineplot-improved](../../../../../translated_images/MaxWingspan-lineplot-improved.04b73b4d5a59552a6bc7590678899718e1f065abe9eada9ebb4148939b622fd4.tl.png) + +Kahit na may rotation ng mga label na nakatakda sa 45 degrees, masyadong marami ang mga ito para basahin. Subukan natin ang ibang estratehiya: lagyan lamang ng label ang mga outlier at itakda ang mga label sa loob ng chart. Maaari kang gumamit ng scatter chart upang magkaroon ng mas maraming espasyo para sa paglalagay ng label: + +```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") + +``` +Ano ang nangyayari dito? Ginamit mo ang `geom_point()` function upang mag-plot ng scatter points. Sa ganito, nagdagdag ka ng mga label para sa mga ibon na may `MaxWingspan > 500` at itinago rin ang mga label sa x axis upang mabawasan ang kalat sa plot. + +Ano ang natuklasan mo? + +![MaxWingspan-scatterplot](../../../../../translated_images/MaxWingspan-scatterplot.60dc9e0e19d32700283558f253841fdab5104abb62bc96f7d97f9c0ee857fa8b.tl.png) + +## I-filter ang iyong data + +Ang Bald Eagle at Prairie Falcon, bagama't malamang na napakalaking mga ibon, ay mukhang maling na-label, na may dagdag na 0 na idinagdag sa kanilang maximum wingspan. Hindi malamang na makakita ka ng Bald Eagle na may 25 metrong wingspan, ngunit kung sakali, ipaalam sa amin! Gumawa tayo ng bagong dataframe na walang dalawang outlier na ito: + +```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()) +``` +Gumawa tayo ng bagong dataframe `birds_filtered` at pagkatapos ay nag-plot ng scatter plot. Sa pamamagitan ng pag-filter ng mga outlier, ang iyong data ay mas cohesive at mas madaling maunawaan. + +![MaxWingspan-scatterplot-improved](../../../../../translated_images/MaxWingspan-scatterplot-improved.7d0af81658c65f3e75b8fedeb2335399e31108257e48db15d875ece608272051.tl.png) + +Ngayon na mayroon tayong mas malinis na dataset, hindi bababa sa mga tuntunin ng wingspan, tuklasin natin ang higit pa tungkol sa mga ibon na ito. + +Bagama't ang mga line at scatter plots ay maaaring magpakita ng impormasyon tungkol sa mga halaga ng data at kanilang distribusyon, nais nating pag-isipan ang mga halaga na likas sa dataset na ito. Maaari kang lumikha ng mga visualisasyon upang sagutin ang mga sumusunod na tanong tungkol sa dami: + +> Ilan ang mga kategorya ng ibon, at ano ang kanilang bilang? +> Ilan ang mga ibon na extinct, endangered, rare, o common? +> Ilan ang mayroon sa iba't ibang genus at orders sa terminolohiya ni Linnaeus? + +## Tuklasin ang mga bar chart + +Ang mga bar chart ay praktikal kapag kailangan mong ipakita ang mga grupo ng data. Tuklasin natin ang mga kategorya ng ibon na umiiral sa dataset na ito upang makita kung alin ang pinakakaraniwan batay sa bilang. +Gumawa tayo ng bar chart sa filtered data. + +```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") + +``` +Sa sumusunod na snippet, ini-install natin ang [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) at [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) packages upang makatulong sa pag-manipula at pag-group ng data upang mag-plot ng stacked bar chart. Una, i-group mo ang data batay sa `Category` ng ibon at pagkatapos ay i-summarize ang `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan` columns. Pagkatapos, i-plot ang bar chart gamit ang `ggplot2` package at tukuyin ang mga kulay para sa iba't ibang kategorya at mga label. + +![Stacked bar chart](../../../../../translated_images/stacked-bar-chart.0c92264e89da7b391a7490224d1e7059a020e8b74dcd354414aeac78871c02f1.tl.png) + +Gayunpaman, ang bar chart na ito ay hindi mababasa dahil masyadong maraming hindi naka-group na data. Kailangan mong piliin lamang ang data na nais mong i-plot, kaya't tingnan natin ang haba ng mga ibon batay sa kanilang kategorya. + +I-filter ang iyong data upang isama lamang ang kategorya ng ibon. + +Dahil maraming kategorya, maaari mong ipakita ang chart na ito nang patayo at i-tweak ang taas nito upang ma-accommodate ang lahat ng data: + +```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() +``` +Una mong binibilang ang mga unique na halaga sa `Category` column at pagkatapos ay inaayos ang mga ito sa isang bagong dataframe `birds_count`. Ang sorted data na ito ay pagkatapos ay factored sa parehong level upang ito ay ma-plot sa sorted na paraan. Gamit ang `ggplot2` ay i-plot mo ang data sa isang bar chart. Ang `coord_flip()` ay nag-plot ng horizontal bars. + +![category-length](../../../../../translated_images/category-length.7e34c296690e85d64f7e4d25a56077442683eca96c4f5b4eae120a64c0755636.tl.png) + +Ang bar chart na ito ay nagpapakita ng magandang view ng bilang ng mga ibon sa bawat kategorya. Sa isang sulyap, makikita mo na ang pinakamalaking bilang ng mga ibon sa rehiyong ito ay nasa kategoryang Ducks/Geese/Waterfowl. Ang Minnesota ay ang 'land of 10,000 lakes' kaya't hindi ito nakakagulat! + +✅ Subukan ang ilang iba pang bilang sa dataset na ito. Mayroon bang bagay na ikinagulat mo? + +## Paghahambing ng data + +Maaari kang mag-eksperimento sa iba't ibang paghahambing ng grouped data sa pamamagitan ng paglikha ng mga bagong axes. Subukan ang paghahambing ng MaxLength ng isang ibon, batay sa kanyang kategorya: + +```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() +``` +I-group natin ang `birds_filtered` data batay sa `Category` at pagkatapos ay mag-plot ng bar graph. + +![comparing data](../../../../../translated_images/comparingdata.f486a450d61c7ca5416f27f3f55a6a4465d00df3be5e6d33936e9b07b95e2fdd.tl.png) + +Walang nakakagulat dito: ang mga hummingbird ay may pinakamaliit na MaxLength kumpara sa Pelicans o Geese. Maganda kapag ang data ay may lohikal na kahulugan! + +Maaari kang lumikha ng mas kawili-wiling visualisasyon ng mga bar chart sa pamamagitan ng pag-superimpose ng data. I-superimpose natin ang Minimum at Maximum Length sa isang ibinigay na kategorya ng ibon: + +```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() +``` +![super-imposed values](../../../../../translated_images/superimposed-values.5363f0705a1da4167625a373a1064331ea3cb7a06a297297d0734fcc9b3819a0.tl.png) + +## 🚀 Hamon + +Ang dataset ng ibon na ito ay nag-aalok ng maraming impormasyon tungkol sa iba't ibang uri ng ibon sa loob ng isang partikular na ecosystem. Maghanap sa internet at tingnan kung makakahanap ka ng iba pang mga dataset na nakatuon sa ibon. Magpraktis sa paggawa ng mga chart at graph tungkol sa mga ibon na ito upang matuklasan ang mga bagay na hindi mo inaasahan. + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/17) + +## Review at Pag-aaral ng Sarili + +Ang unang araling ito ay nagbigay sa iyo ng ilang impormasyon tungkol sa kung paano gamitin ang `ggplot2` upang mag-visualize ng dami. Mag-research tungkol sa iba pang paraan upang magtrabaho sa mga dataset para sa visualisasyon. Maghanap at mag-research ng mga dataset na maaari mong i-visualize gamit ang iba pang mga package tulad ng [Lattice](https://stat.ethz.ch/R-manual/R-devel/library/lattice/html/Lattice.html) at [Plotly](https://github.com/plotly/plotly.R#readme). + +## Takdang-Aralin +[Lines, Scatters, and Bars](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang orihinal na wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/09-visualization-quantities/assignment.md b/translations/tl/3-Data-Visualization/R/09-visualization-quantities/assignment.md new file mode 100644 index 00000000..63f9d1e4 --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/09-visualization-quantities/assignment.md @@ -0,0 +1,25 @@ + +# Mga Linya, Scatter, at Bar + +## Mga Panuto + +Sa araling ito, gumamit ka ng line charts, scatterplots, at bar charts upang ipakita ang mga kawili-wiling impormasyon tungkol sa dataset na ito. Sa gawaing ito, masusing pag-aralan ang dataset upang matuklasan ang isang impormasyon tungkol sa isang uri ng ibon. Halimbawa, gumawa ng script na nagpapakita ng lahat ng kawili-wiling datos na maaari mong matuklasan tungkol sa Snow Geese. Gamitin ang tatlong uri ng plot na nabanggit sa itaas upang magkuwento sa iyong notebook. + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagbuti +--- | --- | --- | +Ang script ay may mahusay na anotasyon, solidong pagkukuwento, at kaakit-akit na mga graph | Ang script ay kulang ng isa sa mga elementong ito | Ang script ay kulang ng dalawa sa mga elementong ito + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/10-visualization-distributions/README.md b/translations/tl/3-Data-Visualization/R/10-visualization-distributions/README.md new file mode 100644 index 00000000..5c8bff70 --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/10-visualization-distributions/README.md @@ -0,0 +1,185 @@ + +# Pagpapakita ng Pamamahagi + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](https://github.com/microsoft/Data-Science-For-Beginners/blob/main/sketchnotes/10-Visualizing-Distributions.png)| +|:---:| +| Pagpapakita ng Pamamahagi - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa nakaraang aralin, natutunan mo ang ilang kawili-wiling impormasyon tungkol sa dataset ng mga ibon sa Minnesota. Nakakita ka ng maling datos sa pamamagitan ng pagpapakita ng mga outlier at tiningnan ang mga pagkakaiba sa pagitan ng mga kategorya ng ibon batay sa kanilang maximum na haba. + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/18) +## Tuklasin ang dataset ng mga ibon + +Isa pang paraan upang suriin ang datos ay sa pamamagitan ng pagtingin sa pamamahagi nito, o kung paano nakaayos ang datos sa isang axis. Halimbawa, maaaring gusto mong malaman ang pangkalahatang pamamahagi, para sa dataset na ito, ng maximum na wingspan o maximum na body mass ng mga ibon sa Minnesota. + +Tuklasin natin ang ilang impormasyon tungkol sa pamamahagi ng datos sa dataset na ito. Sa iyong R console, i-import ang `ggplot2` at ang database. Alisin ang mga outlier mula sa database tulad ng ginawa sa nakaraang paksa. + +```r +library(ggplot2) + +birds <- read.csv("../../data/birds.csv",fileEncoding="UTF-8-BOM") + +birds_filtered <- subset(birds, MaxWingspan < 500) +head(birds_filtered) +``` +| | Pangalan | Pangalan Siyentipiko | Kategorya | Order | Pamilya | Genus | Kalagayan ng Konserbasyon | 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 | + +Sa pangkalahatan, maaari mong mabilisang tingnan kung paano nakapamahagi ang datos sa pamamagitan ng paggamit ng scatter plot tulad ng ginawa natin sa nakaraang aralin: + +```r +ggplot(data=birds_filtered, aes(x=Order, y=MaxLength,group=1)) + + geom_point() + + ggtitle("Max Length per order") + coord_flip() +``` +![max length per order](../../../../../translated_images/max-length-per-order.e5b283d952c78c12b091307c5d3cf67132dad6fefe80a073353b9dc5c2bd3eb8.tl.png) + +Ipinapakita nito ang pangkalahatang pamamahagi ng haba ng katawan bawat Order ng ibon, ngunit hindi ito ang pinakamainam na paraan upang ipakita ang tunay na pamamahagi. Ang gawaing ito ay karaniwang ginagawa sa pamamagitan ng paglikha ng Histogram. + +## Paggamit ng histograms + +Nag-aalok ang `ggplot2` ng mahusay na paraan upang ipakita ang pamamahagi ng datos gamit ang Histograms. Ang ganitong uri ng tsart ay parang bar chart kung saan makikita ang pamamahagi sa pamamagitan ng pagtaas at pagbaba ng mga bar. Upang makabuo ng histogram, kailangan mo ng numeric na datos. Upang makabuo ng Histogram, maaari kang mag-plot ng tsart na tinutukoy ang uri bilang 'hist' para sa Histogram. Ang tsart na ito ay nagpapakita ng pamamahagi ng MaxBodyMass para sa buong saklaw ng numeric na datos sa dataset. Sa pamamagitan ng paghahati ng array ng datos sa mas maliliit na bins, maaari nitong ipakita ang pamamahagi ng mga halaga ng datos: + +```r +ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + + geom_histogram(bins=10)+ylab('Frequency') +``` +![distribution over entire dataset](../../../../../translated_images/distribution-over-the-entire-dataset.d22afd3fa96be854e4c82213fedec9e3703cba753d07fad4606aadf58cf7e78e.tl.png) + +Makikita mo na karamihan sa 400+ na ibon sa dataset na ito ay nasa saklaw na mas mababa sa 2000 para sa kanilang Max Body Mass. Makakuha ng mas maraming insight sa datos sa pamamagitan ng pagbabago ng `bins` parameter sa mas mataas na numero, tulad ng 30: + +```r +ggplot(data = birds_filtered, aes(x = MaxBodyMass)) + geom_histogram(bins=30)+ylab('Frequency') +``` + +![distribution-30bins](../../../../../translated_images/distribution-30bins.6a3921ea7a421bf71f06bf5231009e43d1146f1b8da8dc254e99b5779a4983e5.tl.png) + +Ipinapakita ng tsart na ito ang pamamahagi sa mas detalyadong paraan. Ang isang tsart na hindi masyadong skewed sa kaliwa ay maaaring malikha sa pamamagitan ng pagtiyak na pipiliin mo lamang ang datos sa loob ng isang ibinigay na saklaw: + +I-filter ang iyong datos upang makuha lamang ang mga ibon na ang body mass ay mas mababa sa 60, at ipakita ang 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') +``` + +![filtered histogram](../../../../../translated_images/filtered-histogram.6bf5d2bfd82533220e1bd4bc4f7d14308f43746ed66721d9ec8f460732be6674.tl.png) + +✅ Subukan ang iba pang mga filter at puntos ng datos. Upang makita ang buong pamamahagi ng datos, alisin ang `['MaxBodyMass']` filter upang ipakita ang mga labeled distributions. + +Nag-aalok ang histogram ng magagandang enhancement sa kulay at labeling na maaari mong subukan: + +Gumawa ng 2D histogram upang ihambing ang relasyon sa pagitan ng dalawang pamamahagi. Ihambing natin ang `MaxBodyMass` vs. `MaxLength`. Nag-aalok ang `ggplot2` ng built-in na paraan upang ipakita ang convergence gamit ang mas maliwanag na kulay: + +```r +ggplot(data=birds_filtered_1, aes(x=MaxBodyMass, y=MaxLength) ) + + geom_bin2d() +scale_fill_continuous(type = "viridis") +``` +Mukhang may inaasahang ugnayan sa pagitan ng dalawang elementong ito sa isang inaasahang axis, na may isang partikular na malakas na punto ng convergence: + +![2d plot](../../../../../translated_images/2d-plot.c504786f439bd7ebceebf2465c70ca3b124103e06c7ff7214bf24e26f7aec21e.tl.png) + +Ang histograms ay mahusay na gumagana bilang default para sa numeric na datos. Paano kung kailangan mong makita ang pamamahagi ayon sa text na datos? + +## Tuklasin ang dataset para sa pamamahagi gamit ang text na datos + +Ang dataset na ito ay naglalaman din ng magagandang impormasyon tungkol sa kategorya ng ibon at ang genus, species, at pamilya nito pati na rin ang kalagayan ng konserbasyon nito. Tuklasin natin ang impormasyon ng konserbasyon na ito. Ano ang pamamahagi ng mga ibon ayon sa kanilang kalagayan ng konserbasyon? + +> ✅ Sa dataset, ilang acronyms ang ginagamit upang ilarawan ang kalagayan ng konserbasyon. Ang mga acronyms na ito ay mula sa [IUCN Red List Categories](https://www.iucnredlist.org/), isang organisasyon na nagkatalogo ng kalagayan ng mga species. +> +> - CR: Critically Endangered +> - EN: Endangered +> - EX: Extinct +> - LC: Least Concern +> - NT: Near Threatened +> - VU: Vulnerable + +Ang mga ito ay text-based na halaga kaya kailangan mong gumawa ng transform upang makabuo ng histogram. Gamit ang filteredBirds dataframe, ipakita ang kalagayan ng konserbasyon nito kasabay ng Minimum Wingspan. Ano ang nakikita mo? + +```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")) +``` + +![wingspan and conservation collation](../../../../../translated_images/wingspan-conservation-collation.4024e9aa6910866aa82f0c6cb6a6b4b925bd10079e6b0ef8f92eefa5a6792f76.tl.png) + +Mukhang walang magandang ugnayan sa pagitan ng minimum wingspan at kalagayan ng konserbasyon. Subukan ang iba pang mga elemento ng dataset gamit ang pamamaraang ito. Maaari kang mag-eksperimento sa iba't ibang filter. May nakikita ka bang ugnayan? + +## Density plots + +Maaaring napansin mo na ang mga histogram na tiningnan natin hanggang ngayon ay 'stepped' at hindi dumadaloy nang maayos sa isang arc. Upang ipakita ang mas maayos na density chart, maaari kang gumamit ng density plot. + +Subukan natin ang density plot ngayon! + +```r +ggplot(data = birds_filtered_1, aes(x = MinWingspan)) + + geom_density() +``` +![density plot](../../../../../translated_images/density-plot.675ccf865b76c690487fb7f69420a8444a3515f03bad5482886232d4330f5c85.tl.png) + +Makikita mo kung paano ginagaya ng plot ang naunang isa para sa Minimum Wingspan na datos; medyo mas maayos lang ito. Kung nais mong balikan ang jagged MaxBodyMass line sa pangalawang tsart na ginawa mo, maaari mo itong gawing mas maayos sa pamamagitan ng muling paggawa nito gamit ang pamamaraang ito: + +```r +ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) + + geom_density() +``` +![bodymass density](../../../../../translated_images/bodymass-smooth.d31ce526d82b0a1f19a073815dea28ecfbe58145ec5337e4ef7e8cdac81120b3.tl.png) + +Kung nais mo ng maayos, ngunit hindi masyadong maayos na linya, i-edit ang `adjust` parameter: + +```r +ggplot(data = birds_filtered_1, aes(x = MaxBodyMass)) + + geom_density(adjust = 1/5) +``` +![less smooth bodymass](../../../../../translated_images/less-smooth-bodymass.10f4db8b683cc17d17b2d33f22405413142004467a1493d416608dafecfdee23.tl.png) + +✅ Basahin ang tungkol sa mga parameter na magagamit para sa ganitong uri ng plot at mag-eksperimento! + +Ang ganitong uri ng tsart ay nag-aalok ng magagandang paliwanag na visualizations. Sa ilang linya ng code, halimbawa, maaari mong ipakita ang max body mass density bawat Order ng ibon: + +```r +ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) + + geom_density(alpha=0.5) +``` +![bodymass per order](../../../../../translated_images/bodymass-per-order.9d2b065dd931b928c839d8cdbee63067ab1ae52218a1b90717f4bc744354f485.tl.png) + +## 🚀 Hamon + +Ang histograms ay mas sopistikadong uri ng tsart kaysa sa mga basic scatterplots, bar charts, o line charts. Maghanap sa internet ng magagandang halimbawa ng paggamit ng histograms. Paano sila ginagamit, ano ang kanilang ipinapakita, at sa anong mga larangan o lugar ng pag-aaral sila karaniwang ginagamit? + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/19) + +## Review & Self Study + +Sa araling ito, ginamit mo ang `ggplot2` at nagsimulang magpakita ng mas sopistikadong mga tsart. Mag-research tungkol sa `geom_density_2d()` isang "continuous probability density curve in one or more dimensions". Basahin ang [documentation](https://ggplot2.tidyverse.org/reference/geom_density_2d.html) upang maunawaan kung paano ito gumagana. + +## Takdang Aralin + +[Ilapat ang iyong mga kasanayan](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/10-visualization-distributions/assignment.md b/translations/tl/3-Data-Visualization/R/10-visualization-distributions/assignment.md new file mode 100644 index 00000000..d1da042a --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/10-visualization-distributions/assignment.md @@ -0,0 +1,25 @@ + +# I-apply ang Iyong Mga Kasanayan + +## Mga Panuto + +Sa ngayon, ginamit mo na ang dataset ng mga ibon sa Minnesota upang tuklasin ang impormasyon tungkol sa dami ng mga ibon at densidad ng populasyon. Sanayin ang iyong paggamit ng mga teknik na ito sa pamamagitan ng pagsubok sa ibang dataset, marahil mula sa [Kaggle](https://www.kaggle.com/). Gumawa ng isang R script upang magkuwento tungkol sa dataset na ito, at siguraduhing gumamit ng mga histogram kapag tinatalakay ito. + +## Rubric + +Napakahusay | Katamtaman | Kailangan ng Pagbuti +--- | --- | --- +May script na may mga anotasyon tungkol sa dataset na ito, kabilang ang pinagmulan nito, at gumagamit ng hindi bababa sa 5 histogram upang tuklasin ang mga katotohanan tungkol sa datos. | May script na may hindi kumpletong anotasyon o may mga bug. | May script na walang anotasyon at may mga bug. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/11-visualization-proportions/README.md b/translations/tl/3-Data-Visualization/R/11-visualization-proportions/README.md new file mode 100644 index 00000000..e002fb8d --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/11-visualization-proportions/README.md @@ -0,0 +1,198 @@ + +# Pagpapakita ng Proporsyon + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../../sketchnotes/11-Visualizing-Proportions.png)| +|:---:| +|Pagpapakita ng Proporsyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa araling ito, gagamit ka ng dataset na may temang kalikasan upang ipakita ang proporsyon, tulad ng kung gaano karaming iba't ibang uri ng fungi ang makikita sa isang dataset tungkol sa kabute. Tuklasin natin ang mga kamangha-manghang fungi gamit ang dataset mula sa Audubon na naglalaman ng detalye tungkol sa 23 species ng gilled mushrooms sa mga pamilya ng Agaricus at Lepiota. Mag-eeksperimento ka sa masarap na mga visualisasyon tulad ng: + +- Pie charts 🥧 +- Donut charts 🍩 +- Waffle charts 🧇 + +> 💡 Isang napaka-interesanteng proyekto na tinatawag na [Charticulator](https://charticulator.com) mula sa Microsoft Research ang nag-aalok ng libreng drag-and-drop na interface para sa data visualizations. Sa isa sa kanilang mga tutorial, ginamit din nila ang dataset ng kabute! Kaya maaari mong tuklasin ang data at matutunan ang library nang sabay: [Charticulator tutorial](https://charticulator.com/tutorials/tutorial4.html). + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/20) + +## Kilalanin ang Iyong mga Kabute 🍄 + +Ang mga kabute ay napaka-interesante. Mag-import tayo ng dataset upang pag-aralan ang mga ito: + +```r +mushrooms = read.csv('../../data/mushrooms.csv') +head(mushrooms) +``` +Isang table ang ipinapakita na may magagandang datos para sa pagsusuri: + +| 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 + +Mapapansin mo agad na ang lahat ng datos ay tekstwal. Kailangan mong i-convert ang datos na ito upang magamit ito sa isang chart. Karamihan sa datos, sa katunayan, ay kinakatawan bilang isang object: + +```r +names(mushrooms) +``` + +Ang output ay: + +```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" +``` +Kunin ang datos na ito at i-convert ang 'class' column sa isang kategorya: + +```r +library(dplyr) +grouped=mushrooms %>% + group_by(class) %>% + summarise(count=n()) +``` + +Ngayon, kung ipi-print mo ang datos ng kabute, makikita mo na ito ay na-grupo sa mga kategorya ayon sa poisonous/edible class: +```r +View(grouped) +``` + +| class | count | +| --------- | --------- | +| Edible | 4208 | +| Poisonous| 3916 | + +Kung susundin mo ang pagkakasunod na ipinakita sa table na ito upang lumikha ng iyong class category labels, maaari kang gumawa ng pie chart. + +## Pie! + +```r +pie(grouped$count,grouped$class, main="Edible?") +``` +Voila, isang pie chart na nagpapakita ng proporsyon ng datos ayon sa dalawang klase ng kabute. Napakahalaga na makuha ang tamang pagkakasunod ng labels, lalo na dito, kaya siguraduhing i-verify ang pagkakasunod ng label array! + +![pie chart](../../../../../translated_images/pie1-wb.685df063673751f4b0b82127f7a52c7f9a920192f22ae61ad28412ba9ace97bf.tl.png) + +## Donuts! + +Ang isang mas visually interesting na pie chart ay isang donut chart, na isang pie chart na may butas sa gitna. Tingnan natin ang ating datos gamit ang pamamaraang ito. + +Tingnan ang iba't ibang habitat kung saan tumutubo ang mga kabute: + +```r +library(dplyr) +habitat=mushrooms %>% + group_by(habitat) %>% + summarise(count=n()) +View(habitat) +``` +Ang output ay: +| habitat| count | +| --------- | --------- | +| Grasses | 2148 | +| Leaves| 832 | +| Meadows | 292 | +| Paths| 1144 | +| Urban | 368 | +| Waste| 192 | +| Wood| 3148 | + +Dito, ini-group mo ang iyong datos ayon sa habitat. Mayroong 7 na nakalista, kaya gamitin ang mga ito bilang labels para sa iyong donut chart: + +```r +library(ggplot2) +library(webr) +PieDonut(habitat, aes(habitat, count=count)) +``` + +![donut chart](../../../../../translated_images/donut-wb.34e6fb275da9d834c2205145e39a3de9b6878191dcdba6f7a9e85f4b520449bc.tl.png) + +Ang code na ito ay gumagamit ng dalawang library - ggplot2 at webr. Gamit ang PieDonut function ng webr library, madali tayong makakagawa ng donut chart! + +Ang mga donut chart sa R ay maaaring gawin gamit lamang ang ggplot2 library. Maaari kang matuto pa tungkol dito [dito](https://www.r-graph-gallery.com/128-ring-or-donut-plot.html) at subukan ito. + +Ngayon na alam mo kung paano i-group ang iyong datos at ipakita ito bilang pie o donut, maaari mong tuklasin ang iba pang uri ng chart. Subukan ang waffle chart, na isang kakaibang paraan ng pagpapakita ng dami. + +## Waffles! + +Ang 'waffle' type chart ay isang kakaibang paraan upang ipakita ang dami bilang isang 2D array ng mga square. Subukang ipakita ang iba't ibang dami ng mushroom cap colors sa dataset na ito. Upang gawin ito, kailangan mong mag-install ng helper library na tinatawag na [waffle](https://cran.r-project.org/web/packages/waffle/waffle.pdf) at gamitin ito upang lumikha ng iyong visualization: + +```r +install.packages("waffle", repos = "https://cinc.rud.is") +``` + +Pumili ng segment ng iyong datos upang i-group: + +```r +library(dplyr) +cap_color=mushrooms %>% + group_by(cap.color) %>% + summarise(count=n()) +View(cap_color) +``` + +Gumawa ng waffle chart sa pamamagitan ng paglikha ng labels at pagkatapos ay i-group ang iyong datos: + +```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")) +``` + +Gamit ang waffle chart, makikita mo nang malinaw ang proporsyon ng mga cap colors sa dataset ng kabute. Nakakatuwa, maraming green-capped mushrooms! + +![waffle chart](../../../../../translated_images/waffle.aaa75c5337735a6ef32ace0ffb6506ef49e5aefe870ffd72b1bb080f4843c217.tl.png) + +Sa araling ito, natutunan mo ang tatlong paraan upang ipakita ang proporsyon. Una, kailangan mong i-group ang iyong datos sa mga kategorya at pagkatapos ay magdesisyon kung alin ang pinakamahusay na paraan upang ipakita ang datos - pie, donut, o waffle. Lahat ay masarap at nagbibigay ng instant snapshot ng dataset sa user. + +## 🚀 Hamon + +Subukang muling likhain ang mga masarap na chart na ito sa [Charticulator](https://charticulator.com). + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/21) + +## Review & Self Study + +Minsan hindi halata kung kailan gagamit ng pie, donut, o waffle chart. Narito ang ilang artikulo na maaaring basahin tungkol sa paksang ito: + +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 + +Mag-research upang makahanap ng higit pang impormasyon tungkol sa desisyong ito. + +## Assignment + +[Subukan ito sa Excel](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/12-visualization-relationships/README.md b/translations/tl/3-Data-Visualization/R/12-visualization-relationships/README.md new file mode 100644 index 00000000..9e97b47b --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/12-visualization-relationships/README.md @@ -0,0 +1,177 @@ + +# Pagpapakita ng Relasyon: Lahat Tungkol sa Pulot 🍯 + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../../sketchnotes/12-Visualizing-Relationships.png)| +|:---:| +|Pagpapakita ng Relasyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa pagpapatuloy ng ating pananaliksik na nakatuon sa kalikasan, tuklasin natin ang mga kawili-wiling paraan ng pagpapakita ng relasyon sa pagitan ng iba't ibang uri ng pulot, batay sa dataset mula sa [United States Department of Agriculture](https://www.nass.usda.gov/About_NASS/index.php). + +Ang dataset na ito, na may humigit-kumulang 600 item, ay nagpapakita ng produksyon ng pulot sa maraming estado sa U.S. Halimbawa, maaari mong tingnan ang bilang ng mga kolonya, ani bawat kolonya, kabuuang produksyon, imbentaryo, presyo bawat libra, at halaga ng pulot na ginawa sa isang partikular na estado mula 1998-2012, na may isang hilera bawat taon para sa bawat estado. + +Magiging kawili-wiling ipakita ang relasyon sa pagitan ng produksyon ng isang estado bawat taon at, halimbawa, ang presyo ng pulot sa estado na iyon. Bilang alternatibo, maaari mong ipakita ang relasyon sa pagitan ng ani ng pulot bawat kolonya sa iba't ibang estado. Ang saklaw ng taon na ito ay sumasaklaw sa mapaminsalang 'CCD' o 'Colony Collapse Disorder' na unang nakita noong 2006 (http://npic.orst.edu/envir/ccd.html), kaya't ito ay isang makabuluhang dataset na pag-aralan. 🐝 + +## [Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/22) + +Sa araling ito, maaari mong gamitin ang ggplot2, na ginamit mo na dati, bilang isang mahusay na library para ipakita ang relasyon sa pagitan ng mga variable. Partikular na kawili-wili ang paggamit ng `geom_point` at `qplot` function ng ggplot2 na nagbibigay-daan sa scatter plots at line plots upang mabilis na ipakita ang '[statistical relationships](https://ggplot2.tidyverse.org/)', na tumutulong sa data scientist na mas maunawaan kung paano nauugnay ang mga variable sa isa't isa. + +## Scatterplots + +Gumamit ng scatterplot upang ipakita kung paano nagbago ang presyo ng pulot, taon-taon, sa bawat estado. Ang ggplot2, gamit ang `ggplot` at `geom_point`, ay maginhawang naggugrupo ng data ng estado at nagpapakita ng mga data point para sa parehong kategorya at numerong data. + +Magsimula tayo sa pag-import ng data at Seaborn: + +```r +honey=read.csv('../../data/honey.csv') +head(honey) +``` +Mapapansin mo na ang data ng pulot ay may ilang kawili-wiling mga column, kabilang ang taon at presyo bawat libra. Tuklasin natin ang data na ito, na naka-grupo ayon sa estado ng U.S.: + +| estado | 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 | + +Gumawa ng simpleng scatterplot upang ipakita ang relasyon sa pagitan ng presyo bawat libra ng pulot at ng estado kung saan ito nagmula. Gawing sapat na mataas ang `y` axis upang maipakita ang lahat ng estado: + +```r +library(ggplot2) +ggplot(honey, aes(x = priceperlb, y = state)) + + geom_point(colour = "blue") +``` +![scatterplot 1](../../../../../translated_images/scatter1.86b8900674d88b26dd3353a83fe604e9ab3722c4680cc40ee9beb452ff02cdea.tl.png) + +Ngayon, ipakita ang parehong data gamit ang isang kulay ng pulot upang ipakita kung paano nagbago ang presyo sa paglipas ng mga taon. Magagawa mo ito sa pamamagitan ng pagdaragdag ng parameter na 'scale_color_gradientn' upang ipakita ang pagbabago, taon-taon: + +> ✅ Alamin ang higit pa tungkol sa [scale_color_gradientn](https://www.rdocumentation.org/packages/ggplot2/versions/0.9.1/topics/scale_colour_gradientn) - subukan ang isang magandang rainbow color scheme! + +```r +ggplot(honey, aes(x = priceperlb, y = state, color=year)) + + geom_point()+scale_color_gradientn(colours = colorspace::heat_hcl(7)) +``` +![scatterplot 2](../../../../../translated_images/scatter2.4d1cbc693bad20e2b563888747eb6bdf65b73ce449d903f7cd4068a78502dcff.tl.png) + +Sa pagbabago ng color scheme na ito, makikita mo na malinaw na may malakas na pagtaas sa paglipas ng mga taon sa presyo ng pulot bawat libra. Sa katunayan, kung titingnan mo ang isang sample set sa data upang i-verify (pumili ng isang partikular na estado, Arizona halimbawa) makikita mo ang pattern ng pagtaas ng presyo taon-taon, na may ilang mga pagbubukod: + +| estado | 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 | + +Isa pang paraan upang ipakita ang progresyon na ito ay ang paggamit ng laki, sa halip na kulay. Para sa mga gumagamit na may colorblindness, maaaring mas mabuting opsyon ito. I-edit ang iyong visualization upang ipakita ang pagtaas ng presyo sa pamamagitan ng pagtaas ng circumference ng mga tuldok: + +```r +ggplot(honey, aes(x = priceperlb, y = state)) + + geom_point(aes(size = year),colour = "blue") + + scale_size_continuous(range = c(0.25, 3)) +``` +Makikita mo ang unti-unting pagtaas ng laki ng mga tuldok. + +![scatterplot 3](../../../../../translated_images/scatter3.722d21e6f20b3ea2e18339bb9b10d75906126715eb7d5fdc88fe74dcb6d7066a.tl.png) + +Ito ba ay simpleng kaso ng supply at demand? Dahil sa mga salik tulad ng pagbabago ng klima at colony collapse, mas kaunti ba ang pulot na magagamit para bilhin taon-taon, kaya't tumataas ang presyo? + +Upang matuklasan ang ugnayan sa pagitan ng ilang mga variable sa dataset na ito, tuklasin natin ang ilang line charts. + +## Line charts + +Tanong: May malinaw bang pagtaas sa presyo ng pulot bawat libra taon-taon? Pinakamadaling matuklasan ito sa pamamagitan ng paggawa ng isang simpleng line chart: + +```r +qplot(honey$year,honey$priceperlb, geom='smooth', span =0.5, xlab = "year",ylab = "priceperlb") +``` +Sagot: Oo, na may ilang mga pagbubukod sa paligid ng taong 2003: + +![line chart 1](../../../../../translated_images/line1.299b576fbb2a59e60a59e7130030f59836891f90302be084e4e8d14da0562e2a.tl.png) + +Tanong: Sa 2003, makikita rin ba natin ang pagtaas sa supply ng pulot? Paano kung tingnan mo ang kabuuang produksyon taon-taon? + +```python +qplot(honey$year,honey$totalprod, geom='smooth', span =0.5, xlab = "year",ylab = "totalprod") +``` + +![line chart 2](../../../../../translated_images/line2.3b18fcda7176ceba5b6689eaaabb817d49c965e986f11cac1ae3f424030c34d8.tl.png) + +Sagot: Hindi talaga. Kung titingnan mo ang kabuuang produksyon, tila ito ay tumaas sa partikular na taon na iyon, kahit na sa pangkalahatan ang dami ng pulot na ginagawa ay bumababa sa mga taong ito. + +Tanong: Sa kasong iyon, ano kaya ang sanhi ng pagtaas ng presyo ng pulot sa paligid ng 2003? + +Upang matuklasan ito, maaari kang mag-explore ng facet grid. + +## Facet grids + +Ang facet grids ay kumukuha ng isang aspeto ng iyong dataset (sa ating kaso, maaari mong piliin ang 'year' upang maiwasan ang sobrang dami ng facets na ginawa). Ang Seaborn ay maaaring gumawa ng plot para sa bawat isa sa mga aspeto ng iyong napiling x at y coordinates para sa mas madaling visual na paghahambing. Kapansin-pansin ba ang 2003 sa ganitong uri ng paghahambing? + +Gumawa ng facet grid gamit ang `facet_wrap` tulad ng inirerekomenda ng [ggplot2's documentation](https://ggplot2.tidyverse.org/reference/facet_wrap.html). + +```r +ggplot(honey, aes(x=yieldpercol, y = numcol,group = 1)) + + geom_line() + facet_wrap(vars(year)) +``` +Sa visualization na ito, maaari mong ihambing ang ani bawat kolonya at bilang ng mga kolonya taon-taon, magkatabi na may wrap na nakatakda sa 3 para sa mga column: + +![facet grid](../../../../../translated_images/facet.491ad90d61c2a7cc69b50c929f80786c749e38217ccedbf1e22ed8909b65987c.tl.png) + +Para sa dataset na ito, walang partikular na kapansin-pansin tungkol sa bilang ng mga kolonya at kanilang ani, taon-taon at estado sa estado. Mayroon bang ibang paraan upang tingnan ang paghahanap ng ugnayan sa pagitan ng dalawang variable na ito? + +## Dual-line Plots + +Subukan ang multiline plot sa pamamagitan ng pag-overlay ng dalawang lineplots sa ibabaw ng isa't isa, gamit ang `par` at `plot` function ng R. Mag-plot tayo ng taon sa x axis at ipakita ang dalawang y axes. Kaya, ipakita ang ani bawat kolonya at bilang ng mga kolonya, na naka-overlay: + +```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) +``` +![superimposed plots](../../../../../translated_images/dual-line.fc4665f360a54018d7df9bc6abcc26460112e17dcbda18d3b9ae6109b32b36c3.tl.png) + +Habang walang kapansin-pansin sa mata sa paligid ng taong 2003, pinapayagan tayo nitong tapusin ang araling ito sa mas masayang tala: habang may pangkalahatang pagbaba sa bilang ng mga kolonya, ang bilang ng mga kolonya ay nagiging matatag kahit na ang kanilang ani bawat kolonya ay bumababa. + +Go, bees, go! + +🐝❤️ +## 🚀 Hamon + +Sa araling ito, natutunan mo ang kaunti pa tungkol sa iba pang gamit ng scatterplots at line grids, kabilang ang facet grids. Hamunin ang iyong sarili na gumawa ng facet grid gamit ang ibang dataset, marahil isa na ginamit mo bago ang mga araling ito. Pansinin kung gaano katagal ang paggawa nito at kung paano mo kailangang maging maingat sa dami ng grids na kailangang iguhit gamit ang mga teknik na ito. +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/23) + +## Review & Self Study + +Ang mga line plots ay maaaring simple o medyo kumplikado. Magbasa nang kaunti sa [ggplot2 documentation](https://ggplot2.tidyverse.org/reference/geom_path.html#:~:text=geom_line()%20connects%20them%20in,which%20cases%20are%20connected%20together) tungkol sa iba't ibang paraan kung paano mo ito mabubuo. Subukang pagandahin ang mga line charts na ginawa mo sa araling ito gamit ang iba pang mga pamamaraan na nakalista sa docs. +## Assignment + +[Dive into the beehive](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/R/13-meaningful-vizualizations/README.md b/translations/tl/3-Data-Visualization/R/13-meaningful-vizualizations/README.md new file mode 100644 index 00000000..6a3f1d48 --- /dev/null +++ b/translations/tl/3-Data-Visualization/R/13-meaningful-vizualizations/README.md @@ -0,0 +1,182 @@ + +# Paggawa ng Makahulugang Visualisasyon + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../../sketchnotes/13-MeaningfulViz.png)| +|:---:| +| Makahulugang Visualisasyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +> "Kung pipilitin mo ang datos nang matagal, aamin ito ng kahit ano" -- [Ronald Coase](https://en.wikiquote.org/wiki/Ronald_Coase) + +Isa sa mga pangunahing kasanayan ng isang data scientist ay ang kakayahang lumikha ng makahulugang visualisasyon ng datos na tumutulong sagutin ang mga tanong na maaaring mayroon ka. Bago mag-visualize ng datos, kailangang tiyakin na ito ay nalinis at naihanda, tulad ng ginawa mo sa mga nakaraang aralin. Pagkatapos nito, maaari ka nang magdesisyon kung paano pinakamahusay na ipapakita ang datos. + +Sa araling ito, tatalakayin mo ang: + +1. Paano pumili ng tamang uri ng tsart +2. Paano iwasan ang mapanlinlang na tsart +3. Paano gumamit ng kulay +4. Paano istilohan ang iyong mga tsart para sa mas madaling basahin +5. Paano gumawa ng animated o 3D na solusyon sa tsart +6. Paano gumawa ng malikhaing visualisasyon + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/24) + +## Pumili ng tamang uri ng tsart + +Sa mga nakaraang aralin, sinubukan mong gumawa ng iba't ibang uri ng visualisasyon ng datos gamit ang Matplotlib at Seaborn para sa paggawa ng tsart. Sa pangkalahatan, maaari mong piliin ang [tamang uri ng tsart](https://chartio.com/learn/charts/how-to-select-a-data-vizualization/) para sa tanong na nais mong sagutin gamit ang talahanayang ito: + +| Kailangan mong: | Dapat mong gamitin: | +| -------------------------- | ------------------------------- | +| Ipakita ang mga trend ng datos sa paglipas ng panahon | Line | +| Ihambing ang mga kategorya | Bar, Pie | +| Ihambing ang kabuuan | Pie, Stacked Bar | +| Ipakita ang mga relasyon | Scatter, Line, Facet, Dual Line | +| Ipakita ang distribusyon | Scatter, Histogram, Box | +| Ipakita ang proporsyon | Pie, Donut, Waffle | + +> ✅ Depende sa anyo ng iyong datos, maaaring kailanganin mong i-convert ito mula text patungong numeric upang suportahan ang isang partikular na tsart. + +## Iwasan ang panlilinlang + +Kahit na maingat ang isang data scientist sa pagpili ng tamang tsart para sa tamang datos, maraming paraan upang maipakita ang datos sa paraang nagpapakita ng isang punto, madalas sa kapinsalaan ng datos mismo. Maraming halimbawa ng mapanlinlang na tsart at infographics! + +[![Paano Nagsisinungaling ang mga Tsart ni Alberto Cairo](../../../../../translated_images/tornado.2880ffc7f135f82b5e5328624799010abefd1080ae4b7ecacbdc7d792f1d8849.tl.png)](https://www.youtube.com/watch?v=oX74Nge8Wkw "Paano Nagsisinungaling ang mga Tsart") + +> 🎥 I-click ang larawan sa itaas para sa isang talakayan tungkol sa mapanlinlang na mga tsart + +Ang tsart na ito ay binabaliktad ang X axis upang ipakita ang kabaligtaran ng katotohanan, batay sa petsa: + +![masamang tsart 1](../../../../../translated_images/bad-chart-1.596bc93425a8ac301a28b8361f59a970276e7b961658ce849886aa1fed427341.tl.png) + +[Ang tsart na ito](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) ay mas mapanlinlang pa, dahil ang mata ay naaakit sa kanan upang isipin na, sa paglipas ng panahon, ang mga kaso ng COVID ay bumaba sa iba't ibang mga county. Sa katunayan, kung titingnan mong mabuti ang mga petsa, makikita mong inayos ang mga ito upang magmukhang pababa ang trend. + +![masamang tsart 2](../../../../../translated_images/bad-chart-2.62edf4d2f30f4e519f5ef50c07ce686e27b0196a364febf9a4d98eecd21f9f60.tl.jpg) + +Ang kilalang halimbawa na ito ay gumagamit ng kulay AT baliktad na Y axis upang manlinlang: sa halip na isipin na tumaas ang mga pagkamatay dahil sa baril pagkatapos ng pagpasa ng batas na pabor sa baril, ang mata ay nalilinlang upang isipin ang kabaligtaran: + +![masamang tsart 3](../../../../../translated_images/bad-chart-3.e201e2e915a230bc2cde289110604ec9abeb89be510bd82665bebc1228258972.tl.jpg) + +Ang kakaibang tsart na ito ay nagpapakita kung paano maaaring manipulahin ang proporsyon, na nagdudulot ng nakakatawang epekto: + +![masamang tsart 4](../../../../../translated_images/bad-chart-4.8872b2b881ffa96c3e0db10eb6aed7793efae2cac382c53932794260f7bfff07.tl.jpg) + +Ang paghahambing ng mga bagay na hindi maihahambing ay isa pang mapanlinlang na taktika. Mayroong [kahanga-hangang website](https://tylervigen.com/spurious-correlations) na nagpapakita ng 'spurious correlations' na nagtatampok ng 'mga katotohanan' na nag-uugnay sa mga bagay tulad ng rate ng diborsyo sa Maine at ang pagkonsumo ng margarina. Ang isang Reddit group ay nangongolekta rin ng [pangit na paggamit](https://www.reddit.com/r/dataisugly/top/?t=all) ng datos. + +Mahalagang maunawaan kung gaano kadaling malinlang ang mata ng mga mapanlinlang na tsart. Kahit na mabuti ang intensyon ng data scientist, ang pagpili ng maling uri ng tsart, tulad ng pie chart na nagpapakita ng masyadong maraming kategorya, ay maaaring mapanlinlang. + +## Kulay + +Nakita mo sa 'Florida gun violence' chart sa itaas kung paano maaaring magbigay ng karagdagang kahulugan ang kulay sa mga tsart, lalo na ang mga hindi dinisenyo gamit ang mga library tulad ng ggplot2 at RColorBrewer na may iba't ibang na-vet na color libraries at palettes. Kung gumagawa ka ng tsart nang mano-mano, maglaan ng oras upang mag-aral ng [teorya ng kulay](https://colormatters.com/color-and-design/basic-color-theory). + +> ✅ Tandaan, kapag nagdidisenyo ng mga tsart, na ang accessibility ay mahalagang aspeto ng visualisasyon. Ang ilan sa iyong mga gumagamit ay maaaring may color blindness - nagpapakita ba nang maayos ang iyong tsart para sa mga may kapansanan sa paningin? + +Mag-ingat sa pagpili ng mga kulay para sa iyong tsart, dahil ang kulay ay maaaring maghatid ng kahulugan na hindi mo sinasadya. Ang 'pink ladies' sa 'height' chart sa itaas ay nagdadala ng isang malinaw na 'pambabae' na kahulugan na nagdaragdag sa kakaibang anyo ng tsart mismo. + +Habang ang [kahulugan ng kulay](https://colormatters.com/color-symbolism/the-meanings-of-colors) ay maaaring magkaiba sa iba't ibang bahagi ng mundo, at may posibilidad na magbago depende sa lilim nito. Sa pangkalahatan, ang mga kahulugan ng kulay ay kinabibilangan ng: + +| Kulay | Kahulugan | +| ------ | ------------------- | +| pula | kapangyarihan | +| asul | tiwala, katapatan | +| dilaw | kasiyahan, babala | +| berde | ekolohiya, swerte, inggit | +| lila | kasiyahan | +| kahel | sigla | + +Kung ikaw ay inatasang gumawa ng tsart na may custom na mga kulay, tiyakin na ang iyong mga tsart ay parehong accessible at ang kulay na iyong pinili ay tumutugma sa kahulugan na nais mong iparating. + +## Istilohan ang iyong mga tsart para sa mas madaling basahin + +Ang mga tsart ay hindi makahulugan kung hindi ito madaling basahin! Maglaan ng oras upang isaalang-alang ang pag-istilo ng lapad at taas ng iyong tsart upang magkasya nang maayos sa iyong datos. Kung ang isang variable (tulad ng lahat ng 50 estado) ay kailangang ipakita, ipakita ang mga ito nang patayo sa Y axis kung maaari upang maiwasan ang isang tsart na kailangang i-scroll nang pahalang. + +Lagyan ng label ang iyong mga axis, magbigay ng legend kung kinakailangan, at mag-alok ng tooltips para sa mas mahusay na pag-unawa sa datos. + +Kung ang iyong datos ay tekstwal at mahaba sa X axis, maaari mong i-anggulo ang teksto para sa mas madaling basahin. Ang [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) ay nag-aalok ng 3D plotting, kung sinusuportahan ito ng iyong datos. Ang mga sopistikadong visualisasyon ng datos ay maaaring gawin gamit ito. + +![3d plots](../../../../../translated_images/3d.db1734c151eee87d924989306a00e23f8cddac6a0aab122852ece220e9448def.tl.png) + +## Animation at 3D na pagpapakita ng tsart + +Ang ilan sa mga pinakamahusay na visualisasyon ng datos ngayon ay animated. Si Shirley Wu ay may mga kamangha-manghang gawa gamit ang D3, tulad ng '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', kung saan ang bawat bulaklak ay isang visualisasyon ng isang pelikula. Isa pang halimbawa para sa Guardian ay 'bussed out', isang interactive na karanasan na pinagsasama ang mga visualisasyon gamit ang Greensock at D3 kasama ang isang scrollytelling na format ng artikulo upang ipakita kung paano hinahawakan ng NYC ang problema nito sa mga walang tirahan sa pamamagitan ng pagdadala ng mga tao palabas ng lungsod. + +![busing](../../../../../translated_images/busing.8157cf1bc89a3f65052d362a78c72f964982ceb9dcacbe44480e35909c3dce62.tl.png) + +> "Bussed Out: Paano Inililipat ng Amerika ang mga Walang Tirahan" mula sa [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Mga visualisasyon nina Nadieh Bremer & Shirley Wu + +Bagama't hindi sapat ang araling ito upang talakayin nang malalim ang mga makapangyarihang library ng visualisasyon, subukan ang iyong kakayahan sa D3 sa isang Vue.js app gamit ang isang library upang ipakita ang isang visualisasyon ng aklat na "Dangerous Liaisons" bilang isang animated na social network. + +> "Les Liaisons Dangereuses" ay isang epistolaryong nobela, o isang nobela na iniharap bilang isang serye ng mga liham. Isinulat noong 1782 ni Choderlos de Laclos, ito ay nagsasalaysay ng kuwento ng masama at moral na bangkaroteng mga galaw panlipunan ng dalawang naglalabanang pangunahing tauhan ng aristokrasya ng Pransya noong huling bahagi ng ika-18 siglo, ang Vicomte de Valmont at ang Marquise de Merteuil. Pareho silang nagwawakas sa trahedya ngunit hindi bago magdulot ng malaking pinsala sa lipunan. Ang nobela ay nagbubukas bilang isang serye ng mga liham na isinulat sa iba't ibang tao sa kanilang mga bilog, nagbabalak ng paghihiganti o simpleng magdulot ng kaguluhan. Gumawa ng isang visualisasyon ng mga liham na ito upang matuklasan ang mga pangunahing tauhan ng kuwento, sa biswal na paraan. + +Kukumpletuhin mo ang isang web app na magpapakita ng isang animated na view ng social network na ito. Gumagamit ito ng isang library na ginawa upang lumikha ng isang [visual ng isang network](https://github.com/emiliorizzo/vue-d3-network) gamit ang Vue.js at D3. Kapag tumatakbo na ang app, maaari mong hilahin ang mga node sa screen upang i-shuffle ang datos. + +![liaisons](../../../../../translated_images/liaisons.90ce7360bcf8476558f700bbbaf198ad697d5b5cb2829ba141a89c0add7c6ecd.tl.png) + +## Proyekto: Gumawa ng tsart upang ipakita ang isang network gamit ang D3.js + +> Ang folder ng araling ito ay may kasamang `solution` folder kung saan makikita mo ang kumpletong proyekto, para sa iyong sanggunian. + +1. Sundin ang mga tagubilin sa README.md file sa root ng starter folder. Tiyaking mayroon kang NPM at Node.js na tumatakbo sa iyong makina bago i-install ang mga dependency ng iyong proyekto. + +2. Buksan ang `starter/src` folder. Makikita mo ang isang `assets` folder kung saan mayroong .json file na naglalaman ng lahat ng mga liham mula sa nobela, na may bilang, at may anotasyon na 'to' at 'from'. + +3. Kumpletuhin ang code sa `components/Nodes.vue` upang paganahin ang visualisasyon. Hanapin ang method na tinatawag na `createLinks()` at idagdag ang sumusunod na nested loop. + +I-loop ang .json object upang makuha ang 'to' at 'from' na datos para sa mga liham at buuin ang `links` object upang magamit ito ng library ng visualisasyon: + +```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 }); + } + ``` + +Patakbuhin ang iyong app mula sa terminal (npm run serve) at tamasahin ang visualisasyon! + +## 🚀 Hamon + +Maglibot sa internet upang matuklasan ang mga mapanlinlang na visualisasyon. Paano nililinlang ng may-akda ang gumagamit, at ito ba ay sinasadya? Subukang itama ang mga visualisasyon upang ipakita kung paano dapat ang mga ito. + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/25) + +## Pagsusuri at Pag-aaral sa Sarili + +Narito ang ilang mga artikulo na maaaring basahin tungkol sa mapanlinlang na visualisasyon ng datos: + +https://gizmodo.com/how-to-lie-with-data-visualization-1563576606 + +http://ixd.prattsi.org/2017/12/visual-lies-usability-in-deceptive-data-visualizations/ + +Tingnan ang mga interesanteng visualisasyon para sa mga makasaysayang assets at artifacts: + +https://handbook.pubpub.org/ + +Basahin ang artikulong ito tungkol sa kung paano maaaring mapahusay ng animation ang iyong mga visualisasyon: + +https://medium.com/@EvanSinar/use-animation-to-supercharge-data-visualization-cd905a882ad4 + +## Takdang-Aralin + +[Gumawa ng sarili mong custom na visualisasyon](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/3-Data-Visualization/README.md b/translations/tl/3-Data-Visualization/README.md new file mode 100644 index 00000000..46db21cb --- /dev/null +++ b/translations/tl/3-Data-Visualization/README.md @@ -0,0 +1,42 @@ + +# Mga Biswal na Presentasyon + +![isang bubuyog sa bulaklak ng lavender](../../../translated_images/bee.0aa1d91132b12e3a8994b9ca12816d05ce1642010d9b8be37f8d37365ba845cf.tl.jpg) +> Larawan ni Jenna Lee sa Unsplash + +Ang pagbibiswal ng datos ay isa sa pinakamahalagang gawain ng isang data scientist. Ang mga larawan ay nagkakahalaga ng 1000 salita, at ang isang biswal na presentasyon ay makakatulong sa iyong matukoy ang iba't ibang kawili-wiling bahagi ng iyong datos tulad ng biglaang pagtaas, mga outlier, mga pangkat, mga uso, at marami pang iba, na makakatulong sa iyong maunawaan ang kwento na nais ipahayag ng iyong datos. + +Sa limang araling ito, iyong susuriin ang datos mula sa kalikasan at lilikha ng mga kawili-wili at magagandang biswal na presentasyon gamit ang iba't ibang teknika. + +| Bilang ng Paksa | Paksa | Kaugnay na Aralin | May-akda | +| :-----------: | :--: | :-----------: | :----: | +| 1. | Pagbibiswal ng mga Dami | | | +| 2. | Pagbibiswal ng Pamamahagi | | | +| 3. | Pagbibiswal ng Proporsyon | | | +| 4. | Pagbibiswal ng Relasyon | | | +| 5. | Paggawa ng Makahulugang Biswal na Presentasyon | | | + +### Mga Kredito + +Ang mga aralin sa pagbibiswal na ito ay isinulat nang may 🌸 nina [Jen Looper](https://twitter.com/jenlooper), [Jasleen Sondhi](https://github.com/jasleen101010) at [Vidushi Gupta](https://github.com/Vidushi-Gupta). + +🍯 Ang datos para sa US Honey Production ay mula sa proyekto ni Jessica Li sa [Kaggle](https://www.kaggle.com/jessicali9530/honey-production). Ang [datos](https://usda.library.cornell.edu/concern/publications/rn301137d) ay nagmula sa [United States Department of Agriculture](https://www.nass.usda.gov/About_NASS/index.php). + +🍄 Ang datos para sa mga kabute ay mula rin sa [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset) na binago ni Hatteras Dunton. Ang dataset na ito ay naglalaman ng mga paglalarawan ng mga hypothetical na halimbawa na tumutukoy sa 23 species ng gilled mushrooms sa Agaricus at Lepiota Family. Ang mga kabute ay mula sa The Audubon Society Field Guide to North American Mushrooms (1981). Ang dataset na ito ay naibigay sa UCI ML 27 noong 1987. + +🦆 Ang datos para sa mga ibon sa Minnesota ay mula sa [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds) na kinuha mula sa [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) ni Hannah Collins. + +Ang lahat ng dataset na ito ay lisensyado bilang [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/). + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/14-Introduction/README.md b/translations/tl/4-Data-Science-Lifecycle/14-Introduction/README.md new file mode 100644 index 00000000..5a1e7eb3 --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/14-Introduction/README.md @@ -0,0 +1,123 @@ + +# Panimula sa Lifecycle ng Data Science + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/14-DataScience-Lifecycle.png)| +|:---:| +| Panimula sa Lifecycle ng Data Science - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## [Pre-Lecture Quiz](https://red-water-0103e7a0f.azurestaticapps.net/quiz/26) + +Sa puntong ito, malamang napagtanto mo na ang data science ay isang proseso. Ang prosesong ito ay maaaring hatiin sa limang yugto: + +- Pagkuha +- Pagproseso +- Pagsusuri +- Komunikasyon +- Pagpapanatili + +Ang araling ito ay nakatuon sa tatlong bahagi ng lifecycle: pagkuha, pagproseso, at pagpapanatili. + +![Diagram ng lifecycle ng data science](../../../../translated_images/data-science-lifecycle.a1e362637503c4fb0cd5e859d7552edcdb4aa629a279727008baa121f2d33f32.tl.jpg) +> Larawan mula sa [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/) + +## Pagkuha + +Ang unang yugto ng lifecycle ay napakahalaga dahil ang mga susunod na yugto ay nakadepende rito. Sa praktikal na aspeto, ito ay parang dalawang yugto na pinagsama: ang pagkuha ng data at ang pagtukoy sa layunin at mga problemang kailangang tugunan. +Ang pagtukoy sa mga layunin ng proyekto ay nangangailangan ng mas malalim na konteksto tungkol sa problema o tanong. Una, kailangan nating tukuyin at makuha ang mga taong nangangailangan ng solusyon sa kanilang problema. Maaaring ito ay mga stakeholder sa isang negosyo o mga sponsor ng proyekto, na makakatulong sa pagtukoy kung sino o ano ang makikinabang sa proyektong ito, pati na rin kung ano at bakit nila ito kailangan. Ang isang malinaw na layunin ay dapat na nasusukat at nabibilang upang matukoy ang katanggap-tanggap na resulta. + +Mga tanong na maaaring itanong ng isang data scientist: +- Nasubukan na ba ang problemang ito dati? Ano ang natuklasan? +- Naiintindihan ba ng lahat ang layunin at layunin ng proyekto? +- Mayroon bang kalabuan at paano ito mababawasan? +- Ano ang mga limitasyon? +- Ano ang posibleng hitsura ng resulta? +- Gaano karaming mga mapagkukunan (oras, tao, computational) ang magagamit? + +Susunod ay ang pagtukoy, pagkolekta, at sa wakas ay pagsusuri ng data na kailangan upang makamit ang mga tinukoy na layunin. Sa hakbang na ito ng pagkuha, kailangang suriin ng mga data scientist ang dami at kalidad ng data. Nangangailangan ito ng ilang pagsusuri ng data upang matiyak na ang nakuha ay susuporta sa pag-abot sa nais na resulta. + +Mga tanong na maaaring itanong ng isang data scientist tungkol sa data: +- Anong data ang mayroon na sa akin? +- Sino ang may-ari ng data na ito? +- Ano ang mga alalahanin sa privacy? +- Sapat ba ang data upang malutas ang problemang ito? +- Angkop ba ang kalidad ng data para sa problemang ito? +- Kung makakahanap ako ng karagdagang impormasyon mula sa data na ito, dapat ba nating isaalang-alang ang pagbabago o muling pagtukoy sa mga layunin? + +## Pagproseso + +Ang yugto ng pagproseso sa lifecycle ay nakatuon sa pagtuklas ng mga pattern sa data pati na rin ang pagmomodelo. Ang ilang mga teknik na ginagamit sa yugtong ito ay nangangailangan ng mga estadistikal na pamamaraan upang matuklasan ang mga pattern. Karaniwan, ito ay magiging isang nakakapagod na gawain para sa isang tao na gawin sa isang malaking dataset kaya’t umaasa sa mga computer upang mapabilis ang proseso. Sa yugtong ito rin nagtatagpo ang data science at machine learning. Tulad ng natutunan mo sa unang aralin, ang machine learning ay ang proseso ng paggawa ng mga modelo upang maunawaan ang data. Ang mga modelo ay representasyon ng relasyon sa pagitan ng mga variable sa data na tumutulong sa paghula ng mga resulta. + +Karaniwang mga teknik na ginagamit sa yugtong ito ay saklaw sa kurikulum ng ML for Beginners. Sundan ang mga link upang matuto pa tungkol dito: + +- [Classification](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification): Pag-oorganisa ng data sa mga kategorya para sa mas epektibong paggamit. +- [Clustering](https://github.com/microsoft/ML-For-Beginners/tree/main/5-Clustering): Pag-grupo ng data sa mga magkakatulad na grupo. +- [Regression](https://github.com/microsoft/ML-For-Beginners/tree/main/2-Regression): Tukuyin ang relasyon sa pagitan ng mga variable upang mahulaan o ma-forecast ang mga halaga. + +## Pagpapanatili + +Sa diagram ng lifecycle, maaaring napansin mo na ang pagpapanatili ay nasa pagitan ng pagkuha at pagproseso. Ang pagpapanatili ay isang tuloy-tuloy na proseso ng pamamahala, pag-iimbak, at pag-secure ng data sa buong proseso ng isang proyekto at dapat isaalang-alang sa kabuuan ng proyekto. + +### Pag-iimbak ng Data + +Ang mga konsiderasyon kung paano at saan iniimbak ang data ay maaaring makaapekto sa gastos ng imbakan pati na rin ang performance ng bilis ng pag-access sa data. Ang mga desisyong tulad nito ay malamang na hindi gagawin ng isang data scientist lamang, ngunit maaaring kailanganin nilang gumawa ng mga pagpipilian kung paano gagamitin ang data batay sa kung paano ito iniimbak. + +Narito ang ilang aspeto ng mga modernong sistema ng imbakan ng data na maaaring makaapekto sa mga pagpipiliang ito: + +**On premise vs off premise vs public o private cloud** + +Ang on premise ay tumutukoy sa pagho-host at pamamahala ng data gamit ang sariling kagamitan, tulad ng pagmamay-ari ng server na may mga hard drive na nag-iimbak ng data, habang ang off premise ay umaasa sa kagamitan na hindi mo pagmamay-ari, tulad ng isang data center. Ang public cloud ay isang popular na opsyon para sa pag-iimbak ng data na hindi nangangailangan ng kaalaman kung paano o saan eksaktong iniimbak ang data, kung saan ang public ay tumutukoy sa isang pinag-isang imprastraktura na ginagamit ng lahat ng gumagamit ng cloud. Ang ilang mga organisasyon ay may mahigpit na mga patakaran sa seguridad na nangangailangan ng ganap na access sa kagamitan kung saan naka-host ang data at umaasa sa isang private cloud na nagbibigay ng sariling serbisyo sa cloud. Matututo ka pa tungkol sa data sa cloud sa [mga susunod na aralin](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/5-Data-Science-In-Cloud). + +**Cold vs hot data** + +Kapag sinasanay ang iyong mga modelo, maaaring kailanganin mo ng mas maraming training data. Kung kontento ka na sa iyong modelo, maaaring dumating ang mas maraming data upang magamit ang modelo sa layunin nito. Sa anumang kaso, ang gastos ng pag-iimbak at pag-access sa data ay tataas habang dumarami ito. Ang paghihiwalay ng bihirang ginagamit na data, na kilala bilang cold data, mula sa madalas na ginagamit na hot data ay maaaring maging mas murang opsyon sa pag-iimbak ng data gamit ang hardware o software services. Kung kailangang ma-access ang cold data, maaaring mas matagal itong makuha kumpara sa hot data. + +### Pamamahala ng Data + +Habang nagtatrabaho ka sa data, maaaring matuklasan mo na ang ilang bahagi ng data ay kailangang linisin gamit ang ilang mga teknik na saklaw sa aralin tungkol sa [data preparation](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/2-Working-With-Data/08-data-preparation) upang makabuo ng tumpak na mga modelo. Kapag may bagong data na dumating, kakailanganin nito ng parehong mga aplikasyon upang mapanatili ang kalidad. Ang ilang mga proyekto ay mangangailangan ng paggamit ng isang automated na tool para sa paglilinis, pagsasama-sama, at compression bago ilipat ang data sa huling lokasyon nito. Ang Azure Data Factory ay isang halimbawa ng isa sa mga tool na ito. + +### Pag-secure ng Data + +Isa sa mga pangunahing layunin ng pag-secure ng data ay tiyakin na ang mga nagtatrabaho rito ay may kontrol sa kung ano ang kinokolekta at sa anong konteksto ito ginagamit. Ang pagpapanatiling ligtas ng data ay nangangailangan ng limitadong access sa mga taong nangangailangan lamang nito, pagsunod sa mga lokal na batas at regulasyon, pati na rin ang pagpapanatili ng mga etikal na pamantayan, tulad ng tinalakay sa [aralin sa etika](https://github.com/microsoft/Data-Science-For-Beginners/tree/main/1-Introduction/02-ethics). + +Narito ang ilang bagay na maaaring gawin ng isang team na may kinalaman sa seguridad: +- Tiyakin na ang lahat ng data ay naka-encrypt +- Magbigay ng impormasyon sa mga customer kung paano ginagamit ang kanilang data +- Alisin ang access sa data mula sa mga umalis na sa proyekto +- Payagan lamang ang ilang miyembro ng proyekto na baguhin ang data + +## 🚀 Hamon + +Mayroong maraming bersyon ng Lifecycle ng Data Science, kung saan ang bawat hakbang ay maaaring may iba’t ibang pangalan at bilang ng mga yugto ngunit naglalaman ng parehong mga proseso na nabanggit sa araling ito. + +Suriin ang [Team Data Science Process lifecycle](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/lifecycle) at ang [Cross-industry standard process for data mining](https://www.datascience-pm.com/crisp-dm-2/). Magbanggit ng 3 pagkakatulad at pagkakaiba sa pagitan ng dalawa. + +|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)| +|--|--| +|![Team Data Science Lifecycle](../../../../translated_images/tdsp-lifecycle2.e19029d598e2e73d5ef8a4b98837d688ec6044fe332c905d4dbb69eb6d5c1d96.tl.png) | ![Data Science Process Alliance Image](../../../../translated_images/CRISP-DM.8bad2b4c66e62aa75278009e38e3e99902c73b0a6f63fd605a67c687a536698c.tl.png) | +| Larawan mula sa [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Larawan mula sa [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) | + +## [Post-Lecture Quiz](https://red-water-0103e7a0f.azurestaticapps.net/quiz/27) + +## Review at Pag-aaral sa Sarili + +Ang paglalapat ng Lifecycle ng Data Science ay nangangailangan ng maraming tungkulin at gawain, kung saan ang ilan ay maaaring nakatuon sa partikular na bahagi ng bawat yugto. Ang Team Data Science Process ay nagbibigay ng ilang mga mapagkukunan na nagpapaliwanag ng mga uri ng tungkulin at gawain na maaaring mayroon ang isang tao sa isang proyekto. + +* [Mga tungkulin at gawain sa Team Data Science Process](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/roles-tasks) +* [Pagganap ng mga gawain sa data science: pagsusuri, pagmomodelo, at pag-deploy](https://docs.microsoft.com/en-us/azure/architecture/data-science-process/execute-data-science-tasks) + +## Takdang Aralin + +[Pag-aassess ng Dataset](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/14-Introduction/assignment.md b/translations/tl/4-Data-Science-Lifecycle/14-Introduction/assignment.md new file mode 100644 index 00000000..35cb610b --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/14-Introduction/assignment.md @@ -0,0 +1,36 @@ + +# Pagsusuri ng Dataset + +Isang kliyente ang lumapit sa inyong team para humingi ng tulong sa pagsisiyasat ng mga pana-panahong gawi sa paggastos ng mga customer ng taxi sa New York City. + +Gusto nilang malaman: **Mas malaki ba ang ibinibigay na tip ng mga pasahero ng yellow taxi sa New York City tuwing taglamig o tag-init?** + +Ang inyong team ay nasa yugto ng [Capturing](Readme.md#Capturing) ng Data Science Lifecycle, at ikaw ang naatasang humawak ng dataset. Binigyan ka ng isang notebook at [data](../../../../data/taxi.csv) upang suriin. + +Sa direktoryong ito, mayroong isang [notebook](notebook.ipynb) na gumagamit ng Python upang i-load ang datos ng yellow taxi trip mula sa [NYC Taxi & Limousine Commission](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets). Maaari mo ring buksan ang taxi data file gamit ang text editor o spreadsheet software tulad ng Excel. + +## Mga Instruksyon + +- Suriin kung ang datos sa dataset na ito ay makakatulong upang masagot ang tanong. +- Galugarin ang [NYC Open Data catalog](https://data.cityofnewyork.us/browse?sortBy=most_accessed&utf8=%E2%9C%93). Tukuyin ang isa pang dataset na maaaring makatulong upang masagot ang tanong ng kliyente. +- Gumawa ng 3 tanong na maaari mong itanong sa kliyente para sa mas malinaw na pagkaunawa at mas mahusay na pag-unawa sa problema. + +Sumangguni sa [dictionary ng dataset](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf) at [user guide](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf) para sa karagdagang impormasyon tungkol sa datos. + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagbuti +--- | --- | --- + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/15-analyzing/README.md b/translations/tl/4-Data-Science-Lifecycle/15-analyzing/README.md new file mode 100644 index 00000000..892a9241 --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/15-analyzing/README.md @@ -0,0 +1,61 @@ + +# Ang Lifecycle ng Data Science: Pagsusuri + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/15-Analyzing.png)| +|:---:| +| Lifecycle ng Data Science: Pagsusuri - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## Pre-Lecture Quiz + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/28) + +Ang pagsusuri sa lifecycle ng data ay nagkukumpirma kung ang data ay makakasagot sa mga tanong na iminungkahi o makakalutas ng isang partikular na problema. Ang hakbang na ito ay maaari ring magpokus sa pagkumpirma kung ang isang modelo ay tamang tumutugon sa mga tanong at problemang ito. Ang araling ito ay nakatuon sa Exploratory Data Analysis o EDA, na mga teknik para tukuyin ang mga katangian at relasyon sa loob ng data at maaaring gamitin upang ihanda ang data para sa pagmomodelo. + +Gagamit tayo ng isang halimbawa ng dataset mula sa [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1) upang ipakita kung paano ito maiaangkop gamit ang Python at ang Pandas library. Ang dataset na ito ay naglalaman ng bilang ng ilang karaniwang salita na matatagpuan sa mga email, at ang mga pinagmulan ng mga email na ito ay hindi kilala. Gamitin ang [notebook](notebook.ipynb) sa direktoryong ito upang sumabay. + +## Exploratory Data Analysis + +Ang yugto ng pagkuha sa lifecycle ay kung saan kinokolekta ang data pati na rin ang mga problema at tanong na kailangang sagutin, ngunit paano natin malalaman kung ang data ay makakatulong sa pagsuporta sa resulta? +Tandaan na maaaring itanong ng isang data scientist ang mga sumusunod na tanong kapag nakuha na ang data: +- May sapat ba akong data upang malutas ang problemang ito? +- Ang kalidad ba ng data ay katanggap-tanggap para sa problemang ito? +- Kung makakahanap ako ng karagdagang impormasyon mula sa data na ito, dapat ba nating isaalang-alang ang pagbabago o muling pagtukoy sa mga layunin? + +Ang Exploratory Data Analysis ay ang proseso ng pag-unawa sa data at maaaring gamitin upang sagutin ang mga tanong na ito, pati na rin tukuyin ang mga hamon sa pagtatrabaho sa dataset. Magpokus tayo sa ilang mga teknik na ginagamit upang makamit ito. + +## Data Profiling, Descriptive Statistics, at Pandas +Paano natin masusuri kung sapat ang data upang malutas ang problemang ito? Ang data profiling ay maaaring magbigay ng buod at mangalap ng pangkalahatang impormasyon tungkol sa ating dataset sa pamamagitan ng mga teknik ng descriptive statistics. Ang data profiling ay tumutulong sa atin na maunawaan kung ano ang mayroon tayo, at ang descriptive statistics ay tumutulong sa atin na maunawaan kung gaano karami ang mayroon tayo. + +Sa ilang mga nakaraang aralin, ginamit natin ang Pandas upang magbigay ng ilang descriptive statistics gamit ang [`describe()` function](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html). Nagbibigay ito ng bilang, pinakamataas at pinakamababang halaga, mean, standard deviation, at mga quantile sa numerical na data. Ang paggamit ng descriptive statistics tulad ng `describe()` function ay makakatulong sa iyong masuri kung gaano karami ang mayroon ka at kung kailangan mo pa ng higit. + +## Sampling at Querying +Ang pag-explore sa lahat ng bagay sa isang malaking dataset ay maaaring maging napakatagal at isang gawain na karaniwang iniiwan sa isang computer upang gawin. Gayunpaman, ang sampling ay isang kapaki-pakinabang na kasangkapan sa pag-unawa sa data at nagbibigay-daan sa atin na magkaroon ng mas mahusay na pag-unawa sa kung ano ang nasa dataset at kung ano ang kinakatawan nito. Sa pamamagitan ng sample, maaari kang mag-aplay ng probability at statistics upang makabuo ng ilang pangkalahatang konklusyon tungkol sa iyong data. Bagama’t walang tiyak na panuntunan kung gaano karaming data ang dapat mong i-sample, mahalagang tandaan na mas maraming data ang iyong i-sample, mas tiyak ang iyong magiging pangkalahatang konklusyon tungkol sa data. + +Ang Pandas ay may [`sample()` function sa library nito](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html) kung saan maaari kang magpasa ng argumento kung gaano karaming random na sample ang nais mong makuha at gamitin. + +Ang pangkalahatang pag-query sa data ay makakatulong sa iyong sagutin ang ilang pangkalahatang tanong at teorya na maaaring mayroon ka. Sa kaibahan sa sampling, ang mga query ay nagbibigay-daan sa iyong magkaroon ng kontrol at magpokus sa mga partikular na bahagi ng data na may mga tanong ka tungkol dito. Ang [`query()` function](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) sa Pandas library ay nagbibigay-daan sa iyong pumili ng mga column at makatanggap ng mga simpleng sagot tungkol sa data sa pamamagitan ng mga row na nakuha. + +## Pag-Explore gamit ang Visualizations +Hindi mo kailangang hintayin na ang data ay lubos na nalinis at nasuri bago magsimulang lumikha ng mga visualization. Sa katunayan, ang pagkakaroon ng visual na representasyon habang nag-eexplore ay makakatulong sa pagtukoy ng mga pattern, relasyon, at problema sa data. Bukod dito, ang mga visualization ay nagbibigay ng paraan ng komunikasyon sa mga hindi kasali sa pamamahala ng data at maaaring maging isang pagkakataon upang ibahagi at linawin ang mga karagdagang tanong na hindi natugunan sa yugto ng pagkuha. Tingnan ang [seksyon sa Visualizations](../../../../../../../../../3-Data-Visualization) upang matuto nang higit pa tungkol sa ilang mga sikat na paraan ng pag-explore gamit ang biswal. + +## Pag-Explore upang Tukuyin ang mga Inconsistency +Ang lahat ng mga paksa sa araling ito ay makakatulong sa pagtukoy ng mga nawawala o hindi tugmang halaga, ngunit ang Pandas ay nagbibigay ng mga function upang suriin ang ilan sa mga ito. Ang [isna() o isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) ay maaaring suriin ang mga nawawalang halaga. Isang mahalagang bahagi ng pag-explore para sa mga halagang ito sa loob ng iyong data ay ang pag-explore kung bakit sila naging ganoon sa simula. Makakatulong ito sa iyong magpasya kung anong [mga aksyon ang dapat gawin upang malutas ang mga ito](/2-Working-With-Data/08-data-preparation/notebook.ipynb). + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/27) + +## Gawain + +[Pag-Explore para sa mga Sagot](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang orihinal na wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/15-analyzing/assignment.md b/translations/tl/4-Data-Science-Lifecycle/15-analyzing/assignment.md new file mode 100644 index 00000000..454b6510 --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/15-analyzing/assignment.md @@ -0,0 +1,36 @@ + +# Pagsusuri para sa mga sagot + +Ito ay pagpapatuloy ng [gawain](../14-Introduction/assignment.md) mula sa nakaraang aralin, kung saan bahagyang sinuri ang data set. Ngayon, mas malalim nating titingnan ang data. + +Muli, ang tanong na nais malaman ng kliyente: **Mas malaki ba ang tip ng mga pasahero ng yellow taxi sa New York City sa taglamig kumpara sa tag-init?** + +Ang iyong koponan ay nasa yugto ng [Pagsusuri](README.md) ng Data Science Lifecycle, kung saan kayo ang responsable sa paggawa ng exploratory data analysis sa dataset. Binigyan kayo ng notebook at dataset na naglalaman ng 200 transaksyon ng taxi mula Enero at Hulyo 2019. + +## Mga Instruksyon + +Sa direktoryong ito ay mayroong [notebook](assignment.ipynb) at data mula sa [Taxi & Limousine Commission](https://docs.microsoft.com/en-us/azure/open-datasets/dataset-taxi-yellow?tabs=azureml-opendatasets). Sumangguni sa [dictionary ng dataset](https://www1.nyc.gov/assets/tlc/downloads/pdf/data_dictionary_trip_records_yellow.pdf) at [user guide](https://www1.nyc.gov/assets/tlc/downloads/pdf/trip_record_user_guide.pdf) para sa karagdagang impormasyon tungkol sa data. + +Gamitin ang ilan sa mga teknik sa araling ito upang gawin ang iyong sariling EDA sa notebook (magdagdag ng mga cell kung kinakailangan) at sagutin ang mga sumusunod na tanong: + +- Anong iba pang mga salik sa data ang maaaring makaapekto sa halaga ng tip? +- Anong mga column ang malamang na hindi kailangan upang sagutin ang tanong ng kliyente? +- Batay sa mga naibigay na impormasyon, may ebidensya ba sa data na nagpapakita ng kaugnayan sa seasonal na pag-uugali sa pagbibigay ng tip? + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | --- + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa orihinal nitong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/16-communication/README.md b/translations/tl/4-Data-Science-Lifecycle/16-communication/README.md new file mode 100644 index 00000000..8390c8b8 --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/16-communication/README.md @@ -0,0 +1,224 @@ + +# Ang Lifecycle ng Data Science: Komunikasyon + +|![Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev)](../../sketchnotes/16-Communicating.png)| +|:---:| +| Lifecycle ng Data Science: Komunikasyon - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/30) + +Subukan ang iyong kaalaman sa darating na aralin gamit ang Pre-Lecture Quiz sa itaas! + +# Panimula + +### Ano ang Komunikasyon? +Simulan natin ang araling ito sa pamamagitan ng pagde-define kung ano ang ibig sabihin ng komunikasyon. **Ang komunikasyon ay ang pagpapahayag o pagpapalitan ng impormasyon.** Ang impormasyon ay maaaring mga ideya, kaisipan, damdamin, mensahe, lihim na senyales, datos – anumang bagay na nais ng isang **_nagpapadala_** (ang nagpapadala ng impormasyon) na maunawaan ng isang **_tumatanggap_** (ang tumatanggap ng impormasyon). Sa araling ito, tatawagin natin ang mga nagpapadala bilang mga tagapagkomunika, at ang mga tumatanggap bilang ang audience. + +### Komunikasyon ng Datos at Pagkukuwento +Nauunawaan natin na ang layunin ng komunikasyon ay ang pagpapahayag o pagpapalitan ng impormasyon. Ngunit kapag nagkokomunika ng datos, hindi dapat ang layunin mo ay basta ipasa ang mga numero sa iyong audience. Ang layunin mo ay magkuwento na nakabatay sa iyong datos – ang epektibong komunikasyon ng datos at pagkukuwento ay magkaugnay. Mas malamang na maalala ng iyong audience ang kuwento na ikinuwento mo kaysa sa numerong ibinigay mo. Sa bandang huli ng araling ito, tatalakayin natin ang ilang paraan kung paano mo magagamit ang pagkukuwento upang mas epektibong maipahayag ang iyong datos. + +### Mga Uri ng Komunikasyon +Sa buong araling ito, dalawang uri ng komunikasyon ang tatalakayin: One-Way Communication at Two-Way Communication. + +**One-way communication** ay nangyayari kapag ang isang nagpapadala ay nagpapadala ng impormasyon sa isang tumatanggap, nang walang feedback o tugon. Nakikita natin ang mga halimbawa ng one-way communication araw-araw – sa mga mass email, kapag ang balita ay naghahatid ng pinakabagong mga kwento, o kahit sa mga patalastas sa telebisyon na nagpapaliwanag kung bakit maganda ang kanilang produkto. Sa bawat isa sa mga pagkakataong ito, ang nagpapadala ay hindi naghahanap ng palitan ng impormasyon. Ang layunin lamang nila ay magpahayag o maghatid ng impormasyon. + +**Two-way communication** ay nangyayari kapag ang lahat ng kasangkot na partido ay kumikilos bilang parehong nagpapadala at tumatanggap. Ang isang nagpapadala ay magsisimula sa pamamagitan ng pakikipagkomunika sa isang tumatanggap, at ang tumatanggap ay magbibigay ng feedback o tugon. Ang two-way communication ang tradisyunal na iniisip natin kapag pinag-uusapan ang komunikasyon. Karaniwan nating iniisip ang mga tao na nakikipag-usap – sa personal, sa tawag sa telepono, sa social media, o sa text message. + +Kapag nagkokomunika ng datos, may mga pagkakataon na gagamit ka ng one-way communication (halimbawa, kapag nagpe-present sa isang conference o sa malaking grupo kung saan walang direktang tanong pagkatapos) at may mga pagkakataon na gagamit ka ng two-way communication (halimbawa, kapag ginagamit ang datos upang kumbinsihin ang ilang stakeholder para sa buy-in, o upang hikayatin ang isang kasamahan na maglaan ng oras at pagsisikap sa paggawa ng bago). + +# Epektibong Komunikasyon + +### Ang Iyong Mga Responsibilidad bilang Tagapagkomunika +Kapag nagkokomunika, responsibilidad mo na tiyakin na ang iyong tumatanggap ay nauunawaan ang impormasyon na nais mong iparating. Kapag nagkokomunika ng datos, hindi mo lang nais na ang tumatanggap ay maunawaan ang mga numero, kundi nais mong maunawaan nila ang isang kuwento na nakabatay sa iyong datos. Ang isang mahusay na tagapagkomunika ng datos ay isang mahusay na tagapagkuwento. + +Paano ka magkuwento gamit ang datos? Maraming paraan – ngunit narito ang 6 na tatalakayin natin sa araling ito: +1. Unawain ang Iyong Audience, Medium, at Paraan ng Komunikasyon +2. Simulan sa Layunin +3. Lapitan Ito na Parang Isang Kuwento +4. Gumamit ng Makabuluhang Salita at Parirala +5. Gumamit ng Emosyon + +Ang bawat isa sa mga estratehiyang ito ay ipinaliwanag nang mas detalyado sa ibaba. + +### 1. Unawain ang Iyong Audience, Channel, at Paraan ng Komunikasyon +Ang paraan ng pakikipag-usap mo sa mga miyembro ng pamilya ay malamang naiiba sa paraan ng pakikipag-usap mo sa mga kaibigan. Malamang gumagamit ka ng iba't ibang salita at parirala na mas nauunawaan ng mga taong kausap mo. Dapat mong gamitin ang parehong diskarte kapag nagkokomunika ng datos. Isipin kung sino ang iyong audience. Isipin ang kanilang mga layunin at ang konteksto na mayroon sila tungkol sa sitwasyong ipinaliliwanag mo. + +Maaari mong pangkatin ang karamihan ng iyong audience sa isang kategorya. Sa isang artikulo ng _Harvard Business Review_, “[How to Tell a Story with Data](http://blogs.hbr.org/2013/04/how-to-tell-a-story-with-data/),” tinukoy ni Dell Executive Strategist Jim Stikeleather ang limang kategorya ng audience: + + - **Novice**: unang exposure sa paksa, ngunit ayaw ng sobrang pagpapasimple + - **Generalist**: may kaalaman sa paksa, ngunit naghahanap ng pangkalahatang + pag-unawa at mga pangunahing tema + - **Managerial**: malalim, actionable na pag-unawa sa intricacies at + interrelationships na may access sa detalye + - **Expert**: mas nakatuon sa exploration at discovery kaysa sa storytelling na may detalyadong impormasyon + - **Executive**: may limitadong oras para maunawaan ang kahalagahan at mga konklusyon ng weighted probabilities + +Ang mga kategoryang ito ay maaaring magbigay ng gabay sa paraan ng pagpapakita ng datos sa iyong audience. + +Bukod sa pag-iisip tungkol sa kategorya ng iyong audience, dapat mo ring isaalang-alang ang channel na ginagamit mo sa pakikipagkomunika sa kanila. Ang iyong diskarte ay dapat bahagyang naiiba kung nagsusulat ka ng memo o email kumpara sa pagkakaroon ng meeting o pagpe-present sa isang conference. + +Bukod sa pag-unawa sa iyong audience, mahalaga rin na malaman kung paano ka makikipagkomunika sa kanila (gamit ang one-way communication o two-way). + +Kung ang iyong audience ay karamihan Novice at gumagamit ka ng one-way communication, kailangan mo munang turuan ang audience at bigyan sila ng tamang konteksto. Pagkatapos, ipakita mo ang iyong datos sa kanila at ipaliwanag kung ano ang ibig sabihin ng iyong datos at kung bakit mahalaga ang iyong datos. Sa ganitong pagkakataon, dapat kang magpokus sa pagiging malinaw, dahil hindi makakapagtanong nang direkta ang iyong audience. + +Kung ang iyong audience ay karamihan Managerial at gumagamit ka ng two-way communication, malamang hindi mo na kailangang turuan ang iyong audience o magbigay ng masyadong maraming konteksto. Maaari kang dumiretso sa pagtalakay sa datos na nakolekta mo at kung bakit ito mahalaga. Gayunpaman, sa ganitong sitwasyon, dapat kang magpokus sa timing at kontrolin ang iyong presentasyon. Kapag gumagamit ng two-way communication (lalo na sa Managerial audience na naghahanap ng “actionable understanding of intricacies and interrelationships with access to detail”), maaaring may mga tanong na lumitaw sa panahon ng interaksyon na maaaring magdala ng talakayan sa direksyon na hindi nauugnay sa kuwento na sinusubukan mong ikuwento. Kapag nangyari ito, maaari kang kumilos upang ibalik ang talakayan sa tamang landas ng iyong kuwento. + +### 2. Simulan sa Layunin +Ang pagsisimula sa layunin ay nangangahulugan ng pag-unawa sa mga intended takeaways para sa iyong audience bago ka magsimulang makipagkomunika sa kanila. Ang pagiging maingat tungkol sa kung ano ang nais mong iparating sa iyong audience nang maaga ay makakatulong sa iyo na bumuo ng isang kuwento na masusundan ng iyong audience. Ang pagsisimula sa layunin ay angkop para sa parehong one-way communication at two-way communication. + +Paano ka magsisimula sa layunin? Bago ipahayag ang iyong datos, isulat ang iyong mga pangunahing takeaways. Pagkatapos, sa bawat hakbang habang inihahanda ang kuwento na nais mong ikuwento gamit ang iyong datos, tanungin ang iyong sarili, "Paano ito nag-iintegrate sa kuwento na ikinukuwento ko?" + +Mag-ingat – Bagamat ang pagsisimula sa layunin ay ideal, hindi mo nais na ipahayag lamang ang datos na sumusuporta sa iyong intended takeaways. Ang paggawa nito ay tinatawag na Cherry-Picking, na nangyayari kapag ang isang tagapagkomunika ay nagpapahayag lamang ng datos na sumusuporta sa puntong nais niyang iparating at hindi pinapansin ang iba pang datos. + +Kung ang lahat ng datos na nakolekta mo ay malinaw na sumusuporta sa iyong intended takeaways, magaling. Ngunit kung may datos na nakolekta mo na hindi sumusuporta sa iyong takeaways, o kahit sumusuporta sa argumento laban sa iyong mga pangunahing takeaways, dapat mo ring ipahayag ang datos na iyon. Kung mangyari ito, maging tapat sa iyong audience at ipaliwanag kung bakit ka nananatili sa iyong kuwento kahit na hindi lahat ng datos ay sumusuporta dito. + +### 3. Lapitan Ito na Parang Isang Kuwento +Ang tradisyunal na kuwento ay nangyayari sa 5 yugto. Maaaring narinig mo na ang mga yugtong ito bilang Exposition, Rising Action, Climax, Falling Action, at Denouncement. O ang mas madaling tandaan na Context, Conflict, Climax, Closure, Conclusion. Kapag nagkokomunika ng iyong datos at kuwento, maaari kang gumamit ng katulad na diskarte. + +Maaari kang magsimula sa konteksto, itakda ang eksena at tiyakin na ang iyong audience ay nasa parehong pahina. Pagkatapos, ipakilala ang conflict. Bakit mo kailangang kolektahin ang datos na ito? Anong mga problema ang sinusubukan mong lutasin? Pagkatapos nito, ang climax. Ano ang datos? Ano ang ibig sabihin ng datos? Anong mga solusyon ang sinasabi ng datos na kailangan natin? Pagkatapos ay dumating ka sa closure, kung saan maaari mong ulitin ang problema, at ang mga iminungkahing solusyon. Sa huli, dumating tayo sa conclusion, kung saan maaari mong ibuod ang iyong mga pangunahing takeaways at ang mga susunod na hakbang na inirerekomenda mong gawin ng team. + +### 4. Gumamit ng Makabuluhang Salita at Parirala +Kung tayo ay nagtatrabaho sa isang produkto, at sinabi ko sa iyo "Ang ating mga user ay tumatagal ng mahabang oras upang mag-onboard sa ating platform," gaano katagal ang "mahabang oras" sa iyong palagay? Isang oras? Isang linggo? Mahirap malaman. Paano kung sinabi ko iyon sa isang buong audience? Ang bawat isa sa audience ay maaaring magkaroon ng iba't ibang ideya kung gaano katagal ang "mahabang oras" para sa mga user na mag-onboard sa ating platform. + +Sa halip, paano kung sinabi ko "Ang ating mga user ay tumatagal, sa average, ng 3 minuto upang mag-sign up at mag-onboard sa ating platform." + +Mas malinaw ang mensaheng iyon. Kapag nagkokomunika ng datos, maaaring madali mong isipin na ang lahat ng tao sa iyong audience ay nag-iisip tulad mo. Ngunit hindi ito palaging ganito. Ang pagpapalinaw sa iyong datos at kung ano ang ibig sabihin nito ay isa sa iyong mga responsibilidad bilang tagapagkomunika. Kung ang datos o ang iyong kuwento ay hindi malinaw, mahihirapan ang iyong audience na sundan ito, at mas malamang na hindi nila maunawaan ang iyong mga pangunahing takeaways. + +Mas maipapahayag mo ang datos nang malinaw kapag gumamit ka ng makabuluhang salita at parirala, sa halip na malabo. Narito ang ilang mga halimbawa: + + - Nagkaroon tayo ng *kahanga-hangang* taon! + - Ang isang tao ay maaaring mag-isip na ang kahanga-hanga ay nangangahulugan ng 2% - 3% na pagtaas sa kita, at ang isa ay maaaring mag-isip na ito ay nangangahulugan ng 50% - 60% na pagtaas. + - Ang success rates ng ating mga user ay tumaas nang *malaki*. + - Gaano kalaki ang pagtaas na tinutukoy ng "malaki"? + - Ang proyektong ito ay mangangailangan ng *malaking* pagsisikap. + - Gaano kalaki ang pagsisikap na tinutukoy ng "malaki"? + +Ang paggamit ng malabong salita ay maaaring maging kapaki-pakinabang bilang panimula sa mas maraming datos na darating, o bilang buod ng kuwento na iyong ikinuwento. Ngunit isaalang-alang ang pagtiyak na ang bawat bahagi ng iyong presentasyon ay malinaw para sa iyong audience. + +### 5. Gumamit ng Emosyon +Ang emosyon ay mahalaga sa pagkukuwento. Mas mahalaga ito kapag nagkukuwento ka gamit ang datos. Kapag nagkokomunika ng datos, ang lahat ay nakatuon sa mga takeaways na nais mong makuha ng iyong audience. Kapag nag-evoke ka ng emosyon para sa isang audience, mas madali silang makiramay, at mas malamang na kumilos sila. Ang emosyon ay nagpapataas din ng posibilidad na maalala ng audience ang iyong mensahe. + +Maaaring naranasan mo na ito sa mga patalastas sa TV. Ang ilang mga patalastas ay napaka-lungkot, at gumagamit ng malungkot na emosyon upang makipag-ugnayan sa kanilang audience at gawing mas kapansin-pansin ang datos na kanilang ipinapakita. O, ang ilang mga patalastas ay napaka-masaya at masigla na maaaring magdulot sa iyo ng masayang damdamin tungkol sa kanilang datos. + +Paano ka gagamit ng emosyon kapag nagkokomunika ng datos? Narito ang ilang mga paraan: + + - Gumamit ng Testimonials at Personal na Kuwento + - Kapag nangongolekta ng datos, subukang mangolekta ng parehong quantitative at qualitative na datos, at isama ang parehong uri ng datos kapag nagkokomunika. Kung ang iyong datos ay pangunahing quantitative, maghanap ng mga kuwento mula sa mga indibidwal upang malaman ang higit pa tungkol sa kanilang karanasan sa kung ano ang sinasabi ng iyong datos. + - Gumamit ng Imahe + - Ang mga imahe ay tumutulong sa audience na makita ang kanilang sarili sa isang sitwasyon. Kapag gumamit ka ng mga imahe, maaari mong itulak ang audience patungo sa emosyon na sa tingin mo ay dapat nilang maramdaman tungkol sa iyong datos. + - Gumamit ng Kulay + - Ang iba't ibang kulay ay nag-e-evoke ng iba't ibang emosyon. Ang mga sikat na kulay at ang emosyon na kanilang pinupukaw ay narito. Mag-ingat, ang mga kulay ay maaaring may iba't ibang kahulugan sa iba't ibang kultura. + - Ang asul ay karaniwang nagdudulot ng damdamin ng kapayapaan at tiwala + - Ang berde ay karaniwang nauugnay sa kalikasan at kapaligiran + - Ang pula ay karaniwang nagpapakita ng passion at excitement + - Ang dilaw ay karaniwang optimismo at kasiyahan + +# Case Study sa Komunikasyon +Si Emerson ay isang Product Manager para sa isang mobile app. Napansin ni Emerson na ang mga customer ay nagsusumite ng 42% na mas maraming reklamo at bug reports tuwing weekend. Napansin din ni Emerson na ang mga customer na nagsusumite ng reklamo na hindi nasasagot pagkatapos ng 48 oras ay 32% na mas malamang na magbigay ng rating na 1 o 2 sa app store. + +Matapos magsagawa ng pananaliksik, may ilang solusyon si Emerson na maaaring tugunan ang isyu. Nag-set up si Emerson ng 30-minutong meeting kasama ang 3 company leads upang ipahayag ang datos at ang mga iminungkahing solusyon. + +Sa meeting na ito, ang layunin ni Emerson ay maunawaan ng mga company leads na ang 2 solusyon sa ibaba ay maaaring magpabuti sa rating ng app, na malamang na magresulta sa mas mataas na kita. + +**Solusyon 1.** Mag-hire ng customer service reps na magtatrabaho tuwing weekend + +**Solusyon 2.** Bumili ng bagong customer service ticketing system kung saan madaling matutukoy ng mga customer service reps kung aling mga reklamo ang nasa queue nang mas matagal – upang malaman nila kung alin ang dapat tugunan kaagad. +Sa pulong, gumugol si Emerson ng 5 minuto upang ipaliwanag kung bakit masama ang mababang rating sa app store, 10 minuto upang ipaliwanag ang proseso ng pananaliksik at kung paano natukoy ang mga trend, 10 minuto upang talakayin ang ilan sa mga kamakailang reklamo ng customer, at ang huling 5 minuto upang bahagyang talakayin ang 2 posibleng solusyon. + +Epektibo ba ang paraan ni Emerson sa pakikipag-usap sa pulong na ito? + +Sa pulong, isang lider ng kumpanya ang nagtuon ng pansin sa 10 minutong reklamo ng customer na tinalakay ni Emerson. Pagkatapos ng pulong, ang mga reklamo lamang ang natatandaan ng lider ng koponan na ito. Ang isa pang lider ng kumpanya ay pangunahing nakatuon sa paglalarawan ni Emerson ng proseso ng pananaliksik. Ang pangatlong lider ng kumpanya ay naalala ang mga solusyon na iminungkahi ni Emerson ngunit hindi sigurado kung paano maipapatupad ang mga solusyon na iyon. + +Sa sitwasyon sa itaas, makikita mo na may malaking agwat sa pagitan ng nais ni Emerson na matutunan ng mga lider ng koponan at kung ano ang kanilang natutunan mula sa pulong. Narito ang isa pang paraan na maaaring isaalang-alang ni Emerson. + +Paano mapapabuti ni Emerson ang kanyang paraan? +Context, Conflict, Climax, Closure, Conclusion +**Context** - Maaaring gumugol si Emerson ng unang 5 minuto sa pagpapakilala ng buong sitwasyon at tiyakin na nauunawaan ng mga lider ng koponan kung paano naaapektuhan ng mga problema ang mga sukatan na mahalaga sa kumpanya, tulad ng kita. + +Maaaring ilahad ito sa ganitong paraan: "Sa kasalukuyan, ang rating ng ating app sa app store ay 2.5. Ang mga rating sa app store ay mahalaga sa App Store Optimization, na nakakaapekto sa kung gaano karaming mga user ang nakakakita ng ating app sa paghahanap, at kung paano tinitingnan ng mga potensyal na user ang ating app. At siyempre, ang bilang ng mga user na mayroon tayo ay direktang konektado sa kita." + +**Conflict** Maaaring pagkatapos ay lumipat si Emerson upang pag-usapan ang tungkol sa salungatan sa loob ng susunod na 5 minuto. + +Maaaring ganito: “Ang mga user ay nagsusumite ng 42% na mas maraming reklamo at ulat ng bug tuwing weekend. Ang mga customer na nagsusumite ng reklamo na hindi nasagot pagkatapos ng 48 oras ay 32% na mas malamang na magbigay ng rating na higit sa 2 sa app store. Ang pagpapabuti ng rating ng ating app sa app store sa 4 ay magpapabuti ng visibility ng 20-30%, na inaasahan kong magpapataas ng kita ng 10%." Siyempre, dapat handa si Emerson na patunayan ang mga numerong ito. + +**Climax** Pagkatapos ilatag ang pundasyon, maaaring lumipat si Emerson sa Climax sa loob ng 5 minuto. + +Maaaring ipakilala ni Emerson ang mga iminungkahing solusyon, ilahad kung paano matutugunan ng mga solusyon ang mga isyung binanggit, kung paano maipapatupad ang mga solusyon sa umiiral na mga workflow, kung magkano ang halaga ng mga solusyon, kung ano ang ROI ng mga solusyon, at maaaring magpakita pa ng mga screenshot o wireframe kung paano ang magiging hitsura ng mga solusyon kung ipapatupad. Maaari ring magbahagi si Emerson ng mga testimonial mula sa mga user na tumagal ng higit sa 48 oras bago nasagot ang kanilang reklamo, at kahit isang testimonial mula sa kasalukuyang kinatawan ng customer service sa loob ng kumpanya na may mga komento tungkol sa kasalukuyang sistema ng ticketing. + +**Closure** Ngayon, maaaring gumugol si Emerson ng 5 minuto sa muling pagbanggit ng mga problemang kinakaharap ng kumpanya, muling bisitahin ang mga iminungkahing solusyon, at suriin kung bakit ang mga solusyon na iyon ang tamang sagot. + +**Conclusion** Dahil ito ay isang pulong na may ilang stakeholder kung saan gagamitin ang two-way communication, maaaring magplano si Emerson na mag-iwan ng 10 minuto para sa mga tanong, upang matiyak na anumang bagay na nakakalito sa mga lider ng koponan ay maaaring linawin bago matapos ang pulong. + +Kung gagamitin ni Emerson ang approach #2, mas malamang na ang mga lider ng koponan ay makukuha mula sa pulong ang eksaktong nais ni Emerson na matutunan nila – na ang paraan ng paghawak sa mga reklamo at bug ay maaaring mapabuti, at mayroong 2 solusyon na maaaring ilagay upang magawa ang pagpapabuti. Ang approach na ito ay magiging mas epektibong paraan ng pakikipag-usap ng data, at ng kwento, na nais iparating ni Emerson. + +# Konklusyon +### Buod ng mga pangunahing punto +- Ang komunikasyon ay ang pagpapahayag o pagpapalitan ng impormasyon. +- Kapag nagkokomunika ng data, ang layunin mo ay hindi lamang ipasa ang mga numero sa iyong audience. Ang layunin mo ay magkwento na batay sa iyong data. +- Mayroong 2 uri ng komunikasyon, One-Way Communication (ang impormasyon ay ipinapahayag nang walang intensyon ng tugon) at Two-Way Communication (ang impormasyon ay ipinapahayag nang pabalik-balik.) +- Maraming estratehiya ang maaari mong gamitin sa pagkukwento gamit ang iyong data, 5 estratehiya na tinalakay natin ay: + - Unawain ang Iyong Audience, Medium, at Paraan ng Komunikasyon + - Magsimula sa Layunin + - Lapitan ito na parang Isang Kwento + - Gumamit ng Makabuluhang Salita at Parirala + - Gumamit ng Emosyon + +### Mga Inirerekomendang Mapagkukunan para sa Pag-aaral +[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) + +## [Post-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/31) + +Suriin ang iyong natutunan gamit ang Post-Lecture Quiz sa itaas! + +## Takdang-Aralin + +[Market Research](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/16-communication/assignment.md b/translations/tl/4-Data-Science-Lifecycle/16-communication/assignment.md new file mode 100644 index 00000000..fdc441be --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/16-communication/assignment.md @@ -0,0 +1,26 @@ + +# Magkwento + +## Mga Panuto + +Ang Data Science ay tungkol sa pagkukuwento. Pumili ng anumang dataset at magsulat ng maikling papel tungkol sa kuwento na maaari mong ikuwento tungkol dito. Ano ang inaasahan mong maipakita ng iyong dataset? Ano ang gagawin mo kung ang mga natuklasan nito ay magdulot ng problema? Paano kung ang iyong data ay hindi madaling maipakita ang mga lihim nito? Isipin ang mga senaryong maaaring ihain ng iyong dataset at isulat ang mga ito. + +## Rubric + +Natatangi | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | -- | + +Isang isang-pahinang sanaysay ang ipinasa sa .doc format na may paliwanag, dokumentasyon, kredito, at isang maayos na kuwento tungkol dito na may detalyadong halimbawa mula sa data.| Isang mas maikling sanaysay ang ipinasa na may mas kaunting detalye | Ang sanaysay ay kulang sa isa sa mga nabanggit na detalye. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/4-Data-Science-Lifecycle/README.md b/translations/tl/4-Data-Science-Lifecycle/README.md new file mode 100644 index 00000000..061c2fb2 --- /dev/null +++ b/translations/tl/4-Data-Science-Lifecycle/README.md @@ -0,0 +1,30 @@ + +# Ang Lifecycle ng Data Science + +![communication](../../../translated_images/communication.06d8e2a88d30d168d661ad9f9f0a4f947ebff3719719cfdaf9ed00a406a01ead.tl.jpg) +> Larawan ni Headway sa Unsplash + +Sa mga araling ito, tatalakayin mo ang ilang aspeto ng lifecycle ng Data Science, kabilang ang pagsusuri at komunikasyon tungkol sa datos. + +### Mga Paksa + +1. [Panimula](14-Introduction/README.md) +2. [Pagsusuri](15-analyzing/README.md) +3. [Komunikasyon](16-communication/README.md) + +### Mga Kredito + +Ang mga araling ito ay isinulat nang may ❤️ nina [Jalen McGee](https://twitter.com/JalenMCG) at [Jasmine Greenaway](https://twitter.com/paladique) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/17-Introduction/README.md b/translations/tl/5-Data-Science-In-Cloud/17-Introduction/README.md new file mode 100644 index 00000000..12b94ee1 --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/17-Introduction/README.md @@ -0,0 +1,113 @@ + +# Panimula sa Data Science sa Cloud + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/17-DataScience-Cloud.png)| +|:---:| +| Data Science Sa Cloud: Panimula - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Sa araling ito, matututuhan mo ang mga pangunahing prinsipyo ng Cloud, malalaman kung bakit maaaring maging kapaki-pakinabang ang paggamit ng mga serbisyo ng Cloud para sa iyong mga proyekto sa data science, at titingnan natin ang ilang halimbawa ng mga proyektong data science na isinasagawa sa Cloud. + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32) + +## Ano ang Cloud? + +Ang Cloud, o Cloud Computing, ay ang pagbibigay ng malawak na hanay ng mga serbisyong pang-compute na binabayaran ayon sa paggamit at naka-host sa isang imprastraktura sa internet. Kasama sa mga serbisyong ito ang mga solusyon tulad ng storage, databases, networking, software, analytics, at mga intelligent services. + +Karaniwang inihihiwalay ang Public, Private, at Hybrid clouds sa ganitong paraan: + +* Public cloud: Ang public cloud ay pagmamay-ari at pinapatakbo ng isang third-party cloud service provider na naghahatid ng mga computing resources nito sa publiko sa pamamagitan ng Internet. +* Private cloud: Tumutukoy ito sa mga cloud computing resources na eksklusibong ginagamit ng isang negosyo o organisasyon, na may mga serbisyo at imprastraktura na pinapanatili sa isang pribadong network. +* Hybrid cloud: Ang hybrid cloud ay isang sistema na pinagsasama ang public at private clouds. Pinipili ng mga user ang isang on-premises datacenter, habang pinapayagan ang data at mga aplikasyon na tumakbo sa isa o higit pang public clouds. + +Karamihan sa mga serbisyo ng cloud computing ay nahahati sa tatlong kategorya: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), at Software as a Service (SaaS). + +* Infrastructure as a Service (IaaS): Ang mga user ay umuupa ng IT infrastructure tulad ng servers at virtual machines (VMs), storage, networks, at operating systems. +* Platform as a Service (PaaS): Ang mga user ay umuupa ng isang kapaligiran para sa pagbuo, pagsubok, paghahatid, at pamamahala ng mga software application. Hindi na kailangang mag-alala ang mga user tungkol sa pag-set up o pamamahala ng underlying infrastructure ng servers, storage, network, at databases na kailangan para sa pag-develop. +* Software as a Service (SaaS): Ang mga user ay nakakakuha ng access sa mga software application sa Internet, on-demand, at karaniwang sa pamamagitan ng subscription. Hindi na kailangang mag-alala ang mga user tungkol sa pagho-host at pamamahala ng software application, ang underlying infrastructure, o ang maintenance tulad ng software upgrades at security patching. + +Ilan sa mga pinakamalalaking Cloud providers ay ang Amazon Web Services, Google Cloud Platform, at Microsoft Azure. + +## Bakit Pumili ng Cloud para sa Data Science? + +Pinipili ng mga developer at IT professionals na magtrabaho gamit ang Cloud dahil sa maraming dahilan, kabilang ang mga sumusunod: + +* Inobasyon: Maaari mong palakasin ang iyong mga aplikasyon sa pamamagitan ng pagsasama ng mga makabagong serbisyo na nilikha ng mga Cloud provider nang direkta sa iyong mga app. +* Kakayahang umangkop: Magbabayad ka lamang para sa mga serbisyong kailangan mo at maaaring pumili mula sa malawak na hanay ng mga serbisyo. Karaniwang nagbabayad ka habang ginagamit at inaangkop ang iyong mga serbisyo ayon sa iyong mga pangangailangan. +* Badyet: Hindi mo kailangang gumawa ng paunang pamumuhunan para bumili ng hardware at software, mag-set up at magpatakbo ng on-site datacenters, at magbabayad ka lamang para sa iyong ginagamit. +* Scalability: Ang iyong mga resources ay maaaring mag-scale ayon sa mga pangangailangan ng iyong proyekto, na nangangahulugang ang iyong mga app ay maaaring gumamit ng mas marami o mas kaunting computing power, storage, at bandwidth, na umaangkop sa mga panlabas na salik anumang oras. +* Produktibidad: Maaari kang mag-focus sa iyong negosyo sa halip na maglaan ng oras sa mga gawain na maaaring pamahalaan ng iba, tulad ng pamamahala ng datacenters. +* Pagiging maaasahan: Nag-aalok ang Cloud Computing ng maraming paraan upang tuloy-tuloy na i-back up ang iyong data at maaari kang mag-set up ng mga disaster recovery plan upang mapanatili ang iyong negosyo at mga serbisyo kahit sa panahon ng krisis. +* Seguridad: Maaari kang makinabang mula sa mga polisiya, teknolohiya, at kontrol na nagpapalakas sa seguridad ng iyong proyekto. + +Ito ang ilan sa mga karaniwang dahilan kung bakit pinipili ng mga tao na gumamit ng mga serbisyo ng Cloud. Ngayon na mas nauunawaan na natin kung ano ang Cloud at ang mga pangunahing benepisyo nito, tingnan natin nang mas partikular ang mga trabaho ng mga Data Scientist at developer na nagtatrabaho gamit ang data, at kung paano makakatulong ang Cloud sa kanila sa ilang mga hamon na maaaring harapin nila: + +* Pag-iimbak ng malalaking dami ng data: Sa halip na bumili, pamahalaan, at protektahan ang malalaking servers, maaari mong iimbak ang iyong data nang direkta sa cloud gamit ang mga solusyon tulad ng Azure Cosmos DB, Azure SQL Database, at Azure Data Lake Storage. +* Pagsasagawa ng Data Integration: Ang data integration ay isang mahalagang bahagi ng Data Science na nagbibigay-daan sa iyong mag-transition mula sa data collection patungo sa paggawa ng aksyon. Sa mga serbisyo ng data integration na inaalok sa cloud, maaari kang mangolekta, mag-transform, at mag-integrate ng data mula sa iba't ibang pinagmulan patungo sa isang data warehouse gamit ang Data Factory. +* Pagpoproseso ng data: Ang pagpoproseso ng malalaking dami ng data ay nangangailangan ng maraming computing power, at hindi lahat ay may access sa mga makinang sapat ang lakas para dito, kaya't maraming tao ang pinipiling direktang gamitin ang napakalaking computing power ng cloud upang patakbuhin at i-deploy ang kanilang mga solusyon. +* Paggamit ng mga serbisyo ng data analytics: Ang mga serbisyo ng cloud tulad ng Azure Synapse Analytics, Azure Stream Analytics, at Azure Databricks ay tumutulong sa iyo na gawing actionable insights ang iyong data. +* Paggamit ng Machine Learning at mga serbisyo ng data intelligence: Sa halip na magsimula mula sa simula, maaari mong gamitin ang mga machine learning algorithm na inaalok ng cloud provider, gamit ang mga serbisyo tulad ng AzureML. Maaari mo ring gamitin ang mga cognitive services tulad ng speech-to-text, text-to-speech, computer vision, at marami pa. + +## Mga Halimbawa ng Data Science sa Cloud + +Gawin nating mas kongkreto ito sa pamamagitan ng pagtingin sa ilang mga senaryo. + +### Real-time na pagsusuri ng damdamin sa social media +Magsimula tayo sa isang senaryong karaniwang pinag-aaralan ng mga nagsisimula sa machine learning: pagsusuri ng damdamin sa social media nang real-time. + +Halimbawa, nagpapatakbo ka ng isang news media website at nais mong gamitin ang live data upang maunawaan kung anong nilalaman ang maaaring interesado ang iyong mga mambabasa. Upang malaman ito, maaari kang bumuo ng isang program na nagsasagawa ng real-time sentiment analysis ng data mula sa mga publikasyon sa Twitter, sa mga paksang may kaugnayan sa iyong mga mambabasa. + +Ang mga pangunahing tagapagpahiwatig na titingnan mo ay ang dami ng mga tweet sa mga partikular na paksa (hashtags) at damdamin, na itinatag gamit ang mga analytics tools na nagsasagawa ng sentiment analysis sa mga tinukoy na paksa. + +Ang mga hakbang na kinakailangan upang likhain ang proyektong ito ay ang mga sumusunod: + +* Gumawa ng event hub para sa streaming input, na mangongolekta ng data mula sa Twitter. +* I-configure at simulan ang isang Twitter client application, na tatawag sa Twitter Streaming APIs. +* Gumawa ng Stream Analytics job. +* Tukuyin ang job input at query. +* Gumawa ng output sink at tukuyin ang job output. +* Simulan ang job. + +Upang makita ang buong proseso, tingnan ang [dokumentasyon](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099). + +### Pagsusuri ng mga siyentipikong papel +Tingnan natin ang isa pang halimbawa ng isang proyekto na nilikha ni [Dmitry Soshnikov](http://soshnikov.com), isa sa mga may-akda ng kurikulum na ito. + +Lumikha si Dmitry ng isang tool na nagsusuri ng mga papel tungkol sa COVID. Sa pamamagitan ng pagsusuri sa proyektong ito, makikita mo kung paano ka makakalikha ng isang tool na kumukuha ng kaalaman mula sa mga siyentipikong papel, nakakakuha ng mga insight, at tumutulong sa mga mananaliksik na mag-navigate sa malalaking koleksyon ng mga papel nang mas mahusay. + +Narito ang iba't ibang hakbang na ginamit para dito: +* Pagkuha at pag-preprocess ng impormasyon gamit ang [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). +* Paggamit ng [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) upang gawing parallel ang pagpoproseso. +* Pag-iimbak at pag-query ng impormasyon gamit ang [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). +* Gumawa ng interactive dashboard para sa data exploration at visualization gamit ang Power BI. + +Upang makita ang buong proseso, bisitahin ang [blog ni Dmitry](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/). + +Makikita mo, maraming paraan upang magamit ang mga serbisyo ng Cloud para sa Data Science. + +## Tala sa Ibaba + +Mga Pinagmulan: +* 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/ + +## Post-Lecture Quiz + +[Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/33) + +## Takdang Aralin + +[Market Research](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/17-Introduction/assignment.md b/translations/tl/5-Data-Science-In-Cloud/17-Introduction/assignment.md new file mode 100644 index 00000000..4651bd53 --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/17-Introduction/assignment.md @@ -0,0 +1,25 @@ + +# Pananaliksik sa Merkado + +## Mga Instruksyon + +Sa araling ito, natutunan mo na may ilang mahahalagang cloud providers. Magsagawa ng pananaliksik sa merkado upang matuklasan kung ano ang maibibigay ng bawat isa sa Data Scientist. Ang mga alok ba ay maihahambing? Sumulat ng isang papel upang ilarawan ang mga alok ng tatlo o higit pang mga cloud providers. + +## Rubric + +Natatangi | Katamtaman | Kailangan ng Pagpapabuti +--- | --- | --- | +Isang papel na isang pahina ang naglalarawan sa mga alok ng tatlong cloud providers para sa data science at pinagkaiba ang mga ito. | Isang mas maikling papel ang ipinakita | Isang papel ang ipinakita nang hindi natapos ang pagsusuri + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/README.md b/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/README.md new file mode 100644 index 00000000..887dc4fa --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/README.md @@ -0,0 +1,353 @@ + +# Data Science sa Cloud: Ang "Low code/No code" na Paraan + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/18-DataScience-Cloud.png)| +|:---:| +| Data Science sa Cloud: Low Code - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Talaan ng Nilalaman: + +- [Data Science sa Cloud: Ang "Low code/No code" na Paraan](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [Pre-Lecture Quiz](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [1. Panimula](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [1.1 Ano ang Azure Machine Learning?](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [1.2 Ang Proyekto sa Prediksyon ng Heart Failure:](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [1.3 Ang Heart Failure Dataset:](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2. Low code/No code na Pagsasanay ng Modelo sa Azure ML Studio](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.1 Gumawa ng Azure ML Workspace](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.2 Compute Resources](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.2.1 Pagpili ng tamang opsyon para sa iyong compute resources](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.2.2 Paglikha ng compute cluster](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.3 Paglo-load ng Dataset](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [2.4 Low code/No Code na Pagsasanay gamit ang AutoML](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [3. Low code/No Code na Pag-deploy ng Modelo at Paggamit ng Endpoint](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [3.1 Pag-deploy ng Modelo](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [3.2 Paggamit ng Endpoint](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [🚀 Hamon](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [Post-Lecture Quiz](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [Review at Pag-aaral sa Sarili](../../../../5-Data-Science-In-Cloud/18-Low-Code) + - [Takdang Aralin](../../../../5-Data-Science-In-Cloud/18-Low-Code) + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/34) + +## 1. Panimula + +### 1.1 Ano ang Azure Machine Learning? + +Ang Azure cloud platform ay binubuo ng mahigit 200 produkto at cloud services na dinisenyo upang makatulong sa paglikha ng mga bagong solusyon. Ang mga data scientist ay gumugugol ng maraming oras sa pag-eeksperimento at pag-preprocess ng data, pati na rin sa pagsubok ng iba't ibang uri ng model-training algorithms upang makabuo ng tumpak na mga modelo. Ang mga gawaing ito ay nakakaubos ng oras at madalas na hindi epektibo sa paggamit ng mahal na compute hardware. + +Ang [Azure ML](https://docs.microsoft.com/azure/machine-learning/overview-what-is-azure-machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) ay isang cloud-based platform para sa pagbuo at pagpapatakbo ng mga solusyon sa machine learning sa Azure. Naglalaman ito ng malawak na hanay ng mga tampok at kakayahan na tumutulong sa mga data scientist sa paghahanda ng data, pagsasanay ng mga modelo, pag-publish ng mga predictive services, at pagsubaybay sa kanilang paggamit. Ang pinakamahalaga, pinapadali nito ang kanilang trabaho sa pamamagitan ng pag-automate ng maraming nakakaubos ng oras na gawain na kaugnay ng pagsasanay ng mga modelo; at pinapayagan silang gumamit ng cloud-based compute resources na epektibong nag-e-scale upang hawakan ang malalaking volume ng data habang nagbabayad lamang kapag ginagamit. + +Ang Azure ML ay nagbibigay ng lahat ng mga tool na kailangan ng mga developer at data scientist para sa kanilang machine learning workflows. Kabilang dito ang: + +- **Azure Machine Learning Studio**: Isang web portal sa Azure Machine Learning para sa low-code at no-code na mga opsyon para sa pagsasanay ng modelo, pag-deploy, automation, tracking, at asset management. Ang studio ay integrated sa Azure Machine Learning SDK para sa seamless na karanasan. +- **Jupyter Notebooks**: Mabilis na pag-prototype at pagsubok ng mga ML model. +- **Azure Machine Learning Designer**: Pinapayagan ang drag-and-drop ng mga module upang bumuo ng mga eksperimento at mag-deploy ng mga pipeline sa isang low-code na kapaligiran. +- **Automated machine learning UI (AutoML)**: Ina-automate ang mga iterative na gawain ng pagbuo ng machine learning model, na nagbibigay-daan sa paggawa ng mga ML model na may mataas na scale, kahusayan, at produktibidad, habang pinapanatili ang kalidad ng modelo. +- **Data Labelling**: Isang assisted ML tool para awtomatikong mag-label ng data. +- **Machine learning extension para sa Visual Studio Code**: Nagbibigay ng full-featured na development environment para sa pagbuo at pamamahala ng mga ML project. +- **Machine learning CLI**: Nagbibigay ng mga command para sa pamamahala ng Azure ML resources mula sa command line. +- **Integration sa open-source frameworks** tulad ng PyTorch, TensorFlow, Scikit-learn, at marami pang iba para sa pagsasanay, pag-deploy, at pamamahala ng end-to-end na proseso ng machine learning. +- **MLflow**: Isang open-source library para sa pamamahala ng life cycle ng iyong machine learning experiments. Ang **MLFlow Tracking** ay isang bahagi ng MLflow na naglo-log at sumusubaybay sa iyong training run metrics at model artifacts, anuman ang kapaligiran ng iyong eksperimento. + +### 1.2 Ang Proyekto sa Prediksyon ng Heart Failure: + +Walang duda na ang paggawa at pagbuo ng mga proyekto ang pinakamahusay na paraan upang subukan ang iyong mga kasanayan at kaalaman. Sa araling ito, tatalakayin natin ang dalawang magkaibang paraan ng paggawa ng isang data science project para sa prediksyon ng heart failure attacks sa Azure ML Studio, gamit ang Low code/No code at ang Azure ML SDK, tulad ng ipinapakita sa sumusunod na schema: + +![project-schema](../../../../translated_images/project-schema.736f6e403f321eb48d10242b3f4334dc6ccf0eabef8ff87daf52b89781389fcb.tl.png) + +Ang bawat paraan ay may kani-kaniyang kalamangan at kahinaan. Ang Low code/No code na paraan ay mas madaling simulan dahil ito ay gumagamit ng GUI (Graphical User Interface), na hindi nangangailangan ng kaalaman sa code. Ang pamamaraang ito ay nagbibigay-daan sa mabilis na pagsubok ng viability ng proyekto at sa paggawa ng POC (Proof Of Concept). Gayunpaman, habang lumalaki ang proyekto at kailangang maging handa para sa production, hindi praktikal na lumikha ng mga resources sa pamamagitan ng GUI. Kailangan nating i-automate ang lahat ng bagay nang programmatically, mula sa paglikha ng mga resources hanggang sa pag-deploy ng modelo. Dito nagiging mahalaga ang kaalaman sa paggamit ng Azure ML SDK. + +| | Low code/No code | Azure ML SDK | +|-------------------|------------------|---------------------------| +| Kaalaman sa code | Hindi kailangan | Kailangan | +| Oras ng pagbuo | Mabilis at madali| Depende sa kaalaman sa code | +| Handa sa production | Hindi | Oo | + +### 1.3 Ang Heart Failure Dataset: + +Ang cardiovascular diseases (CVDs) ang pangunahing sanhi ng kamatayan sa buong mundo, na nagdudulot ng 31% ng lahat ng pagkamatay. Ang mga environmental at behavioral risk factors tulad ng paggamit ng tabako, hindi malusog na diyeta at labis na katabaan, kawalan ng pisikal na aktibidad, at mapanganib na paggamit ng alak ay maaaring gamitin bilang mga feature para sa estimation models. Ang kakayahang matantiya ang posibilidad ng pag-develop ng CVD ay maaaring maging malaking tulong upang maiwasan ang mga atake sa mga taong may mataas na panganib. + +Ang Kaggle ay nagbigay ng isang [Heart Failure dataset](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data) na magagamit natin para sa proyektong ito. Maaari mo nang i-download ang dataset. Ito ay isang tabular dataset na may 13 column (12 features at 1 target variable) at 299 rows. + +| | Pangalan ng Variable | Uri | Deskripsyon | Halimbawa | +|----|---------------------------|-----------------|-----------------------------------------------------------|-------------------| +| 1 | age | numerical | Edad ng pasyente | 25 | +| 2 | anaemia | boolean | Pagbaba ng red blood cells o hemoglobin | 0 o 1 | +| 3 | creatinine_phosphokinase | numerical | Antas ng CPK enzyme sa dugo | 542 | +| 4 | diabetes | boolean | Kung may diabetes ang pasyente | 0 o 1 | +| 5 | ejection_fraction | numerical | Porsyento ng dugo na lumalabas sa puso sa bawat contraction | 45 | +| 6 | high_blood_pressure | boolean | Kung may hypertension ang pasyente | 0 o 1 | +| 7 | platelets | numerical | Platelets sa dugo | 149000 | +| 8 | serum_creatinine | numerical | Antas ng serum creatinine sa dugo | 0.5 | +| 9 | serum_sodium | numerical | Antas ng serum sodium sa dugo | jun | +| 10 | sex | boolean | Babae o lalaki | 0 o 1 | +| 11 | smoking | boolean | Kung naninigarilyo ang pasyente | 0 o 1 | +| 12 | time | numerical | Panahon ng follow-up (araw) | 4 | +|----|---------------------------|-----------------|-----------------------------------------------------------|-------------------| +| 21 | DEATH_EVENT [Target] | boolean | Kung namatay ang pasyente sa panahon ng follow-up | 0 o 1 | + +Kapag nakuha mo na ang dataset, maaari na nating simulan ang proyekto sa Azure. + +## 2. Low code/No code na Pagsasanay ng Modelo sa Azure ML Studio + +### 2.1 Gumawa ng Azure ML Workspace + +Upang magsanay ng modelo sa Azure ML, kailangan mo munang gumawa ng Azure ML workspace. Ang workspace ang pangunahing resource para sa Azure Machine Learning, na nagbibigay ng sentralisadong lugar upang pamahalaan ang lahat ng artifacts na iyong nilikha kapag ginamit mo ang Azure Machine Learning. Ang workspace ay nagtatala ng kasaysayan ng lahat ng training runs, kabilang ang mga log, metrics, output, at snapshot ng iyong mga script. Ginagamit mo ang impormasyong ito upang matukoy kung aling training run ang nagbunga ng pinakamahusay na modelo. [Matuto pa](https://docs.microsoft.com/azure/machine-learning/concept-workspace?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) + +Inirerekomenda na gumamit ng pinakabagong bersyon ng browser na compatible sa iyong operating system. Ang mga sumusunod na browser ay suportado: + +- Microsoft Edge (Ang bagong Microsoft Edge, pinakabagong bersyon. Hindi ang Microsoft Edge legacy) +- Safari (pinakabagong bersyon, Mac lamang) +- Chrome (pinakabagong bersyon) +- Firefox (pinakabagong bersyon) + +Upang magamit ang Azure Machine Learning, gumawa ng workspace sa iyong Azure subscription. Maaari mo nang gamitin ang workspace na ito upang pamahalaan ang data, compute resources, code, modelo, at iba pang artifacts na may kaugnayan sa iyong machine learning workloads. + +> **_NOTE:_** Ang iyong Azure subscription ay sisingilin ng maliit na halaga para sa data storage hangga't ang Azure Machine Learning workspace ay umiiral sa iyong subscription, kaya inirerekomenda naming tanggalin ang Azure Machine Learning workspace kapag hindi mo na ito ginagamit. + +1. Mag-sign in sa [Azure portal](https://ms.portal.azure.com/) gamit ang Microsoft credentials na nauugnay sa iyong Azure subscription. +2. Piliin ang **+Create a resource** + + ![workspace-1](../../../../translated_images/workspace-1.ac8694d60b073ed1ae8333d71244dc8a9b3e439d54593724f98f1beefdd27b08.tl.png) + + Maghanap ng Machine Learning at piliin ang Machine Learning tile. + + ![workspace-2](../../../../translated_images/workspace-2.ae7c486db8796147075e4a56566aa819827dd6c4c8d18d64590317c3be625f17.tl.png) + + I-click ang create button. + + ![workspace-3](../../../../translated_images/workspace-3.398ca4a5858132cce584db9df10c5a011cd9075eb182e647a77d5cac01771eea.tl.png) + + Punan ang mga setting tulad ng sumusunod: + - Subscription: Ang iyong Azure subscription + - Resource group: Gumawa o pumili ng resource group + - Workspace name: Maglagay ng natatanging pangalan para sa iyong workspace + - Region: Piliin ang pinakamalapit na rehiyon sa iyo + - Storage account: Tandaan ang default na bagong storage account na gagawin para sa iyong workspace + - Key vault: Tandaan ang default na bagong key vault na gagawin para sa iyong workspace + - Application insights: Tandaan ang default na bagong application insights resource na gagawin para sa iyong workspace + - Container registry: Wala (isa ang awtomatikong gagawin sa unang pagkakataon na mag-deploy ka ng modelo sa isang container) + + ![workspace-4](../../../../translated_images/workspace-4.bac87f6599c4df63e624fc2608990f965887bee551d9dedc71c687b43b986b6a.tl.png) + + - I-click ang create + review at pagkatapos ay ang create button. +3. Hintayin na mabuo ang iyong workspace (maaari itong tumagal ng ilang minuto). Pagkatapos, pumunta dito sa portal. Maaari mo itong mahanap sa pamamagitan ng Machine Learning Azure service. +4. Sa Overview page ng iyong workspace, ilunsad ang Azure Machine Learning studio (o magbukas ng bagong browser tab at pumunta sa https://ml.azure.com), at mag-sign in sa Azure Machine Learning studio gamit ang iyong Microsoft account. Kung na-prompt, piliin ang iyong Azure directory at subscription, at ang iyong Azure Machine Learning workspace. + +![workspace-5](../../../../translated_images/workspace-5.a6eb17e0a5e6420018b08bdaf3755ce977f96f1df3ea363d2476a9dce7e15adb.tl.png) + +5. Sa Azure Machine Learning studio, i-toggle ang ☰ icon sa itaas na kaliwa upang makita ang iba't ibang pahina sa interface. Maaari mong gamitin ang mga pahinang ito upang pamahalaan ang mga resources sa iyong workspace. + +![workspace-6](../../../../translated_images/workspace-6.8dd81fe841797ee17f8f73916769576260b16c4e17e850d277a49db35fd74a15.tl.png) + +Maaari mong pamahalaan ang iyong workspace gamit ang Azure portal, ngunit para sa mga data scientist at Machine Learning operations engineers, ang Azure Machine Learning Studio ay nagbibigay ng mas nakatuon na user interface para sa pamamahala ng mga workspace resources. + +### 2.2 Compute Resources + +Ang Compute Resources ay mga cloud-based na resources kung saan maaari mong patakbuhin ang mga proseso ng model training at data exploration. Mayroong apat na uri ng compute resource na maaari mong likhain: + +- **Compute Instances**: Mga development workstation na maaaring gamitin ng mga data scientist upang magtrabaho sa data at mga modelo. Kabilang dito ang paggawa ng Virtual Machine (VM) at paglulunsad ng notebook instance. Maaari kang magsanay ng modelo sa pamamagitan ng pagtawag sa compute cluster mula sa notebook. +- **Compute Clusters**: Mga scalable na cluster ng VMs para sa on-demand na pagproseso ng experiment code. Kakailanganin mo ito kapag nagsasanay ng modelo. Ang compute clusters ay maaari ring gumamit ng mga espesyal na GPU o CPU resources. +- **Inference Clusters**: Mga deployment target para sa predictive services na gumagamit ng iyong mga sinanay na modelo. +- **Attached Compute**: Nag-uugnay sa mga umiiral na Azure compute resources, tulad ng Virtual Machines o Azure Databricks clusters. + +#### 2.2.1 Pagpili ng tamang opsyon para sa iyong compute resources + +May ilang mahahalagang salik na dapat isaalang-alang kapag gumagawa ng compute resource, at ang mga pagpipiliang ito ay maaaring maging kritikal na desisyon. + +**Kailangan mo ba ng CPU o GPU?** + +Ang CPU (Central Processing Unit) ay ang electronic circuitry na nagpapatupad ng mga utos na bumubuo sa isang computer program. Ang GPU (Graphics Processing Unit) ay isang espesyal na electronic circuit na kayang magpatupad ng mga graphics-related code sa napakataas na bilis. + +Ang pangunahing pagkakaiba ng CPU at GPU architecture ay ang CPU ay dinisenyo upang mabilis na mag-handle ng malawak na hanay ng mga gawain (nasusukat sa CPU clock speed), ngunit limitado ang kakayahan sa sabay-sabay na mga gawain. Ang GPUs ay dinisenyo para sa parallel computing kaya mas mahusay ito para sa mga deep learning tasks. + +| CPU | GPU | +|-----------------------------------------|-----------------------------| +| Mas mura | Mas mahal | +| Mas mababa ang concurrency | Mas mataas ang concurrency | +| Mas mabagal sa pag-train ng deep learning models | Optimal para sa deep learning | + +**Laki ng Cluster** + +Mas malalaking cluster ay mas mahal ngunit magreresulta sa mas mahusay na responsiveness. Kaya, kung may oras ka ngunit kulang sa pera, magsimula sa maliit na cluster. Sa kabaligtaran, kung may pera ka ngunit kulang sa oras, magsimula sa mas malaking cluster. + +**Laki ng VM** + +Depende sa iyong oras at budget, maaari mong baguhin ang laki ng RAM, disk, bilang ng cores, at clock speed. Ang pagtaas ng mga parameter na ito ay mas magastos ngunit magreresulta sa mas mahusay na performance. + +**Dedicated o Low-Priority Instances?** + +Ang low-priority instance ay nangangahulugang ito ay interruptible: sa esensya, maaaring kunin ng Microsoft Azure ang mga resources na ito at i-assign sa ibang gawain, kaya maaantala ang isang trabaho. Ang dedicated instance, o non-interruptible, ay nangangahulugang ang trabaho ay hindi kailanman matatapos nang walang iyong pahintulot. Isa itong konsiderasyon sa pagitan ng oras at pera, dahil ang interruptible instances ay mas mura kaysa sa dedicated ones. + +#### 2.2.2 Paglikha ng compute cluster + +Sa [Azure ML workspace](https://ml.azure.com/) na ginawa natin kanina, pumunta sa compute at makikita mo ang iba't ibang compute resources na tinalakay natin (i.e compute instances, compute clusters, inference clusters, at attached compute). Para sa proyektong ito, kakailanganin natin ng compute cluster para sa model training. Sa Studio, i-click ang "Compute" menu, pagkatapos ang "Compute cluster" tab, at i-click ang "+ New" button upang lumikha ng compute cluster. + +![22](../../../../translated_images/cluster-1.b78cb630bb543729b11f60c34d97110a263f8c27b516ba4dc47807b3cee5579f.tl.png) + +1. Piliin ang iyong mga opsyon: Dedicated vs Low priority, CPU o GPU, VM size, at core number (maaari mong panatilihin ang default settings para sa proyektong ito). +2. I-click ang Next button. + +![23](../../../../translated_images/cluster-2.ea30cdbc9f926bb9e05af3fdbc1f679811c796dc2a6847f935290aec15526e88.tl.png) + +3. Bigyan ang cluster ng compute name. +4. Piliin ang iyong mga opsyon: Minimum/Maximum na bilang ng nodes, Idle seconds bago mag-scale down, SSH access. Tandaan na kung ang minimum na bilang ng nodes ay 0, makakatipid ka ng pera kapag idle ang cluster. Tandaan din na mas mataas ang bilang ng maximum nodes, mas maikli ang training. Ang maximum na bilang ng nodes na inirerekomenda ay 3. +5. I-click ang "Create" button. Ang hakbang na ito ay maaaring tumagal ng ilang minuto. + +![29](../../../../translated_images/cluster-3.8a334bc070ec173a329ce5abd2a9d727542e83eb2347676c9af20f2c8870b3e7.tl.png) + +Ang galing! Ngayon na mayroon tayong Compute cluster, kailangan nating i-load ang data sa Azure ML Studio. + +### 2.3 Paglo-load ng Dataset + +1. Sa [Azure ML workspace](https://ml.azure.com/) na ginawa natin kanina, i-click ang "Datasets" sa kaliwang menu at i-click ang "+ Create dataset" button upang lumikha ng dataset. Piliin ang "From local files" na opsyon at piliin ang Kaggle dataset na na-download natin kanina. + + ![24](../../../../translated_images/dataset-1.e86ab4e10907a6e9c2a72577b51db35f13689cb33702337b8b7032f2ef76dac2.tl.png) + +2. Bigyan ang iyong dataset ng pangalan, uri, at deskripsyon. I-click ang Next. I-upload ang data mula sa mga file. I-click ang Next. + + ![25](../../../../translated_images/dataset-2.f58de1c435d5bf9ccb16ccc5f5d4380eb2b50affca85cfbf4f97562bdab99f77.tl.png) + +3. Sa Schema, baguhin ang data type sa Boolean para sa mga sumusunod na features: anaemia, diabetes, high blood pressure, sex, smoking, at DEATH_EVENT. I-click ang Next at pagkatapos ay i-click ang Create. + + ![26](../../../../translated_images/dataset-3.58db8c0eb783e89236a02bbce5bb4ba808d081a87d994d5284b1ae59928c95bf.tl.png) + +Mahusay! Ngayon na ang dataset ay nasa lugar na at ang compute cluster ay nalikha, maaari na nating simulan ang pag-train ng modelo! + +### 2.4 Low code/No Code training gamit ang AutoML + +Ang tradisyunal na pagbuo ng machine learning model ay nangangailangan ng maraming resources, malalim na kaalaman, at oras upang makabuo at maikumpara ang dose-dosenang mga modelo. +Ang Automated machine learning (AutoML) ay ang proseso ng pag-automate ng mga nakakaubos ng oras at paulit-ulit na gawain sa pagbuo ng machine learning model. Pinapayagan nito ang mga data scientist, analyst, at developer na bumuo ng ML models na may mataas na scale, kahusayan, at produktibidad, habang pinapanatili ang kalidad ng modelo. Binabawasan nito ang oras na kinakailangan upang makakuha ng production-ready ML models nang may kadalian at kahusayan. [Matuto pa](https://docs.microsoft.com/azure/machine-learning/concept-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) + +1. Sa [Azure ML workspace](https://ml.azure.com/) na ginawa natin kanina, i-click ang "Automated ML" sa kaliwang menu at piliin ang dataset na kakaupload mo lang. I-click ang Next. + + ![27](../../../../translated_images/aml-1.67281a85d3a1e2f34eb367b2d0f74e1039d13396e510f363cd8766632106d1ec.tl.png) + +2. Maglagay ng bagong pangalan ng eksperimento, ang target column (DEATH_EVENT), at ang compute cluster na ginawa natin. I-click ang Next. + + ![28](../../../../translated_images/aml-2.c9fb9cffb39ccbbe21ab9810ae937195d41a489744e15cff2b8477ed4dcae1ec.tl.png) + +3. Piliin ang "Classification" at i-click ang Finish. Ang hakbang na ito ay maaaring tumagal ng 30 minuto hanggang 1 oras, depende sa laki ng iyong compute cluster. + + ![30](../../../../translated_images/aml-3.a7952e4295f38cc6cdb0c7ed6dc71ea756b7fb5697ec126bc1220f87c5fa9231.tl.png) + +4. Kapag natapos na ang run, i-click ang "Automated ML" tab, i-click ang iyong run, at i-click ang Algorithm sa "Best model summary" card. + + ![31](../../../../translated_images/aml-4.7a627e09cb6f16d0aa246059d9faee3d1725cc4258d0c8df15e801f73afc7e2c.tl.png) + +Dito makikita mo ang detalyadong deskripsyon ng pinakamahusay na modelong nalikha ng AutoML. Maaari mo ring tuklasin ang iba pang mga modelo sa Models tab. Maglaan ng ilang minuto upang tuklasin ang mga modelo sa Explanations (preview button). Kapag napili mo na ang modelong nais mong gamitin (dito pipiliin natin ang pinakamahusay na modelo na pinili ng AutoML), titingnan natin kung paano ito ide-deploy. + +## 3. Low code/No Code model deployment at endpoint consumption +### 3.1 Model deployment + +Ang automated machine learning interface ay nagbibigay-daan sa iyo na i-deploy ang pinakamahusay na modelo bilang isang web service sa ilang hakbang. Ang deployment ay ang integrasyon ng modelo upang makagawa ito ng mga prediksyon batay sa bagong data at matukoy ang mga potensyal na oportunidad. Para sa proyektong ito, ang deployment sa isang web service ay nangangahulugang ang mga medical applications ay maaaring gumamit ng modelo upang makagawa ng live predictions ng panganib ng kanilang mga pasyente na magkaroon ng heart attack. + +Sa deskripsyon ng pinakamahusay na modelo, i-click ang "Deploy" button. + +![deploy-1](../../../../translated_images/deploy-1.ddad725acadc84e34553c3d09e727160faeb32527a9fb8b904c0f99235a34bb6.tl.png) + +15. Bigyan ito ng pangalan, deskripsyon, compute type (Azure Container Instance), i-enable ang authentication, at i-click ang Deploy. Ang hakbang na ito ay maaaring tumagal ng humigit-kumulang 20 minuto upang makumpleto. Ang deployment process ay binubuo ng ilang hakbang kabilang ang pagrehistro ng modelo, pagbuo ng mga resources, at pag-configure ng mga ito para sa web service. Ang status message ay lilitaw sa ilalim ng Deploy status. Piliin ang Refresh nang pana-panahon upang suriin ang deployment status. Ito ay deployed at running kapag ang status ay "Healthy". + +![deploy-2](../../../../translated_images/deploy-2.94dbb13f239086473aa4bf814342fd40483d136849b080f02bafbb995383940e.tl.png) + +16. Kapag na-deploy na ito, i-click ang Endpoint tab at i-click ang endpoint na kakadeploy mo lang. Dito mo makikita ang lahat ng detalye na kailangan mong malaman tungkol sa endpoint. + +![deploy-3](../../../../translated_images/deploy-3.fecefef070e8ef3b28e802326d107f61ac4e672d20bf82d05f78d025f9e6c611.tl.png) + +Ang galing! Ngayon na mayroon tayong modelong na-deploy, maaari na nating simulan ang paggamit ng endpoint. + +### 3.2 Endpoint consumption + +I-click ang "Consume" tab. Dito mo makikita ang REST endpoint at isang python script sa consumption option. Maglaan ng oras upang basahin ang python code. + +Ang script na ito ay maaaring patakbuhin nang direkta mula sa iyong lokal na makina at gagamitin ang iyong endpoint. + +![35](../../../../translated_images/consumption-1.700abd196452842a020c7d745908637a6e4c5c50494ad1217be80e283e0de154.tl.png) + +Maglaan ng oras upang suriin ang dalawang linyang ito ng 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 +``` +Ang `url` variable ay ang REST endpoint na matatagpuan sa consume tab at ang `api_key` variable ay ang primary key na matatagpuan din sa consume tab (kung sakaling na-enable mo ang authentication). Ganito magagamit ng script ang endpoint. + +18. Kapag pinatakbo ang script, dapat mong makita ang sumusunod na output: + ```python + b'"{\\"result\\": [true]}"' + ``` +Ibig sabihin nito, ang prediksyon ng heart failure para sa ibinigay na data ay true. May lohika ito dahil kung titingnan mo nang mas malapit ang data na awtomatikong nalikha sa script, lahat ay nasa 0 at false bilang default. Maaari mong baguhin ang data gamit ang sumusunod na input sample: + +```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", + }, + ], +} +``` +Ang script ay dapat magbalik ng: + ```python + b'"{\\"result\\": [true, false]}"' + ``` + +Binabati kita! Ginamit mo lang ang modelong na-deploy at na-train sa Azure ML! + +> **_NOTE:_** Kapag tapos ka na sa proyekto, huwag kalimutang i-delete ang lahat ng resources. + +## 🚀 Hamon + +Pag-aralan nang mabuti ang mga paliwanag at detalye ng modelo na nalikha ng AutoML para sa mga nangungunang modelo. Subukang intindihin kung bakit mas mahusay ang pinakamahusay na modelo kaysa sa iba. Anong mga algorithm ang ikinumpara? Ano ang mga pagkakaiba sa pagitan ng mga ito? Bakit mas mahusay ang performance ng pinakamahusay na modelo sa kasong ito? + +## [Post-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/35) + +## Review at Pag-aaral sa Sarili + +Sa araling ito, natutunan mo kung paano mag-train, mag-deploy, at gumamit ng modelo upang mahulaan ang panganib ng heart failure sa isang Low code/No code na paraan sa cloud. Kung hindi mo pa nagagawa, masusing pag-aralan ang mga paliwanag ng modelo na nalikha ng AutoML para sa mga nangungunang modelo at subukang intindihin kung bakit mas mahusay ang pinakamahusay na modelo kaysa sa iba. + +Maaari kang magpatuloy sa Low code/No code AutoML sa pamamagitan ng pagbabasa ng [dokumentasyon](https://docs.microsoft.com/azure/machine-learning/tutorial-first-experiment-automated-ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). + +## Takdang-Aralin + +[Low code/No code Data Science project sa Azure ML](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakatandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi eksaktong salin. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/assignment.md b/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/assignment.md new file mode 100644 index 00000000..26a6c73b --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/18-Low-Code/assignment.md @@ -0,0 +1,25 @@ + +# Low code/No code Data Science project sa Azure ML + +## Mga Instruksyon + +Nakita natin kung paano gamitin ang Azure ML platform upang mag-train, mag-deploy, at gumamit ng modelo sa isang Low code/No code na paraan. Ngayon, maghanap ng ilang datos na maaari mong gamitin upang mag-train ng isa pang modelo, i-deploy ito, at gamitin ito. Maaari kang maghanap ng mga dataset sa [Kaggle](https://kaggle.com) at [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). + +## Rubric + +| Napakahusay | Katamtaman | Kailangan ng Pagpapabuti | +|-------------|------------|--------------------------| +|Kapag nag-upload ng datos, inasikaso mo ang pagbabago ng uri ng feature kung kinakailangan. Nilinis mo rin ang datos kung kinakailangan. Nagpatakbo ka ng training sa isang dataset gamit ang AutoML, at sinuri mo ang mga paliwanag ng modelo. Na-deploy mo ang pinakamahusay na modelo at nagamit mo ito. | Kapag nag-upload ng datos, inasikaso mo ang pagbabago ng uri ng feature kung kinakailangan. Nagpatakbo ka ng training sa isang dataset gamit ang AutoML, na-deploy mo ang pinakamahusay na modelo at nagamit mo ito. | Na-deploy mo ang pinakamahusay na modelo na na-train gamit ang AutoML at nagamit mo ito. | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/19-Azure/README.md b/translations/tl/5-Data-Science-In-Cloud/19-Azure/README.md new file mode 100644 index 00000000..4bbe14f7 --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/19-Azure/README.md @@ -0,0 +1,312 @@ + +# Data Science sa Cloud: Ang "Azure ML SDK" na paraan + +|![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/19-DataScience-Cloud.png)| +|:---:| +| Data Science sa Cloud: Azure ML SDK - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Nilalaman ng talakayan: + +- [Data Science sa Cloud: Ang "Azure ML SDK" na paraan](../../../../5-Data-Science-In-Cloud/19-Azure) + - [Pre-Lecture Quiz](../../../../5-Data-Science-In-Cloud/19-Azure) + - [1. Panimula](../../../../5-Data-Science-In-Cloud/19-Azure) + - [1.1 Ano ang Azure ML SDK?](../../../../5-Data-Science-In-Cloud/19-Azure) + - [1.2 Proyekto sa prediksyon ng heart failure at pagpapakilala sa dataset](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2. Pagsasanay ng modelo gamit ang Azure ML SDK](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.1 Gumawa ng Azure ML workspace](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.2 Gumawa ng compute instance](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.3 Pag-load ng Dataset](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.4 Paglikha ng Notebooks](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.5 Pagsasanay ng modelo](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.5.1 Pag-setup ng Workspace, experiment, compute cluster, at dataset](../../../../5-Data-Science-In-Cloud/19-Azure) + - [2.5.2 AutoML Configuration at pagsasanay](../../../../5-Data-Science-In-Cloud/19-Azure) + - [3. Pag-deploy ng modelo at paggamit ng endpoint gamit ang Azure ML SDK](../../../../5-Data-Science-In-Cloud/19-Azure) + - [3.1 Pag-save ng pinakamahusay na modelo](../../../../5-Data-Science-In-Cloud/19-Azure) + - [3.2 Pag-deploy ng modelo](../../../../5-Data-Science-In-Cloud/19-Azure) + - [3.3 Paggamit ng endpoint](../../../../5-Data-Science-In-Cloud/19-Azure) + - [🚀 Hamon](../../../../5-Data-Science-In-Cloud/19-Azure) + - [Post-lecture quiz](../../../../5-Data-Science-In-Cloud/19-Azure) + - [Review at Pag-aaral sa Sarili](../../../../5-Data-Science-In-Cloud/19-Azure) + - [Takdang-aralin](../../../../5-Data-Science-In-Cloud/19-Azure) + +## [Pre-Lecture Quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/36) + +## 1. Panimula + +### 1.1 Ano ang Azure ML SDK? + +Ginagamit ng mga data scientist at AI developer ang Azure Machine Learning SDK upang bumuo at magpatakbo ng mga workflow sa machine learning gamit ang Azure Machine Learning service. Maaari kang makipag-ugnayan sa serbisyo sa anumang Python environment, kabilang ang Jupyter Notebooks, Visual Studio Code, o ang paborito mong Python IDE. + +Mga pangunahing aspeto ng SDK: + +- Tuklasin, ihanda, at pamahalaan ang lifecycle ng iyong mga dataset na ginagamit sa mga eksperimento sa machine learning. +- Pamahalaan ang mga cloud resource para sa monitoring, logging, at pag-organisa ng iyong mga eksperimento sa machine learning. +- Mag-train ng mga modelo sa lokal o gamit ang mga cloud resource, kabilang ang GPU-accelerated model training. +- Gumamit ng automated machine learning, na tumatanggap ng mga configuration parameter at training data. Awtomatikong iniikot nito ang mga algorithm at hyperparameter settings upang mahanap ang pinakamahusay na modelo para sa prediksyon. +- Mag-deploy ng web services upang gawing RESTful services ang iyong mga trained model na maaaring gamitin sa anumang application. + +[Matuto pa tungkol sa Azure Machine Learning SDK](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) + +Sa [nakaraang aralin](../18-Low-Code/README.md), nakita natin kung paano mag-train, mag-deploy, at gumamit ng modelo sa Low code/No code na paraan. Ginamit natin ang Heart Failure dataset upang bumuo ng modelo para sa prediksyon ng heart failure. Sa araling ito, gagawin natin ang parehong bagay ngunit gamit ang Azure Machine Learning SDK. + +![project-schema](../../../../translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tl.png) + +### 1.2 Proyekto sa prediksyon ng heart failure at pagpapakilala sa dataset + +Tingnan [dito](../18-Low-Code/README.md) ang pagpapakilala sa proyekto sa prediksyon ng heart failure at dataset. + +## 2. Pagsasanay ng modelo gamit ang Azure ML SDK +### 2.1 Gumawa ng Azure ML workspace + +Para sa kasimplehan, gagamit tayo ng jupyter notebook. Ibig sabihin nito ay mayroon ka nang Workspace at compute instance. Kung mayroon ka nang Workspace, maaari kang direktang pumunta sa seksyon 2.3 Paglikha ng Notebook. + +Kung wala pa, sundin ang mga tagubilin sa seksyon **2.1 Gumawa ng Azure ML workspace** sa [nakaraang aralin](../18-Low-Code/README.md) upang gumawa ng workspace. + +### 2.2 Gumawa ng compute instance + +Sa [Azure ML workspace](https://ml.azure.com/) na ginawa natin kanina, pumunta sa compute menu at makikita mo ang iba't ibang compute resources na available. + +![compute-instance-1](../../../../translated_images/compute-instance-1.dba347cb199ca4996b3e3d649295ed95626ba481479d3986557b9b98e76d8816.tl.png) + +Gumawa tayo ng compute instance upang mag-provision ng jupyter notebook. +1. I-click ang + New button. +2. Magbigay ng pangalan sa iyong compute instance. +3. Piliin ang iyong mga opsyon: CPU o GPU, VM size, at bilang ng core. +4. I-click ang Create button. + +Congratulations, nakagawa ka na ng compute instance! Gagamitin natin ang compute instance na ito upang gumawa ng Notebook sa seksyong [Paglikha ng Notebooks](../../../../5-Data-Science-In-Cloud/19-Azure). + +### 2.3 Pag-load ng Dataset +Tingnan ang [nakaraang aralin](../18-Low-Code/README.md) sa seksyong **2.3 Pag-load ng Dataset** kung hindi mo pa na-upload ang dataset. + +### 2.4 Paglikha ng Notebooks + +> **_NOTE:_** Para sa susunod na hakbang, maaari kang gumawa ng bagong notebook mula sa simula, o maaari mong i-upload ang [notebook na ginawa natin](notebook.ipynb) sa iyong Azure ML Studio. Upang i-upload ito, i-click lamang ang "Notebook" menu at i-upload ang notebook. + +Ang mga notebook ay mahalagang bahagi ng proseso ng data science. Maaari itong gamitin upang magsagawa ng Exploratory Data Analysis (EDA), tumawag sa compute cluster upang mag-train ng modelo, o tumawag sa inference cluster upang mag-deploy ng endpoint. + +Upang gumawa ng Notebook, kailangan natin ng compute node na nagse-serve ng jupyter notebook instance. Bumalik sa [Azure ML workspace](https://ml.azure.com/) at i-click ang Compute instances. Sa listahan ng compute instances, dapat mong makita ang [compute instance na ginawa natin kanina](../../../../5-Data-Science-In-Cloud/19-Azure). + +1. Sa seksyong Applications, i-click ang Jupyter option. +2. I-tick ang "Yes, I understand" box at i-click ang Continue button. +![notebook-1](../../../../translated_images/notebook-1.12998af7b02c83f536c11b3aeba561be16e0f05e94146600728ec64270ce1105.tl.png) +3. Magbubukas ito ng bagong browser tab na may jupyter notebook instance. I-click ang "New" button upang gumawa ng notebook. + +![notebook-2](../../../../translated_images/notebook-2.9a657c037e34f1cf26c0212f5ee9e2da8545b3e107c7682c55114e494167a8aa.tl.png) + +Ngayon na mayroon na tayong Notebook, maaari na tayong magsimula sa pag-train ng modelo gamit ang Azure ML SDK. + +### 2.5 Pagsasanay ng modelo + +Una sa lahat, kung may alinlangan ka, tingnan ang [Azure ML SDK documentation](https://docs.microsoft.com/python/api/overview/azure/ml?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). Naglalaman ito ng lahat ng kinakailangang impormasyon upang maunawaan ang mga module na tatalakayin natin sa araling ito. + +#### 2.5.1 Pag-setup ng Workspace, experiment, compute cluster, at dataset + +Kailangan mong i-load ang `workspace` mula sa configuration file gamit ang sumusunod na code: + +```python +from azureml.core import Workspace +ws = Workspace.from_config() +``` + +Magbabalik ito ng object na uri ng `Workspace` na kumakatawan sa workspace. Pagkatapos, kailangan mong gumawa ng `experiment` gamit ang sumusunod na code: + +```python +from azureml.core import Experiment +experiment_name = 'aml-experiment' +experiment = Experiment(ws, experiment_name) +``` +Upang makuha o gumawa ng experiment mula sa workspace, hihilingin mo ang experiment gamit ang pangalan nito. Ang pangalan ng experiment ay dapat 3-36 na karakter, nagsisimula sa letra o numero, at maaari lamang maglaman ng mga letra, numero, underscores, at dashes. Kung hindi natagpuan ang experiment sa workspace, gagawa ng bagong experiment. + +Ngayon, kailangan mong gumawa ng compute cluster para sa pagsasanay gamit ang sumusunod na code. Tandaan na ang hakbang na ito ay maaaring tumagal ng ilang minuto. + +```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] +``` + +Maaari mong makuha ang dataset mula sa workspace gamit ang pangalan ng dataset sa sumusunod na paraan: + +```python +dataset = ws.datasets['heart-failure-records'] +df = dataset.to_pandas_dataframe() +df.describe() +``` +#### 2.5.2 AutoML Configuration at pagsasanay + +Upang i-set ang AutoML configuration, gamitin ang [AutoMLConfig class](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig(class)?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). + +Ayon sa dokumentasyon, maraming mga parameter na maaari mong paglaruan. Para sa proyektong ito, gagamitin natin ang mga sumusunod na parameter: + +- `experiment_timeout_minutes`: Ang maximum na oras (sa minuto) na pinapayagan ang experiment na tumakbo bago ito awtomatikong itigil at gawing available ang mga resulta. +- `max_concurrent_iterations`: Ang maximum na bilang ng sabay-sabay na training iterations na pinapayagan para sa experiment. +- `primary_metric`: Ang pangunahing sukatan na ginagamit upang matukoy ang status ng experiment. +- `compute_target`: Ang Azure Machine Learning compute target kung saan tatakbo ang Automated Machine Learning experiment. +- `task`: Ang uri ng task na tatakbo. Ang mga halaga ay maaaring 'classification', 'regression', o 'forecasting' depende sa uri ng automated ML problem na kailangang lutasin. +- `training_data`: Ang training data na gagamitin sa loob ng experiment. Dapat itong maglaman ng parehong training features at label column (opsyonal ang sample weights column). +- `label_column_name`: Ang pangalan ng label column. +- `path`: Ang buong path sa Azure Machine Learning project folder. +- `enable_early_stopping`: Kung papayagan ang maagang pag-terminate kung hindi gumaganda ang score sa maikling panahon. +- `featurization`: Indicator kung ang featurization step ay awtomatikong gagawin o hindi, o kung gagamit ng customized featurization. +- `debug_log`: Ang log file kung saan isusulat ang debug information. + +```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 + ) +``` +Ngayon na na-set mo na ang configuration, maaari mong i-train ang modelo gamit ang sumusunod na code. Ang hakbang na ito ay maaaring tumagal ng hanggang isang oras depende sa laki ng iyong cluster. + +```python +remote_run = experiment.submit(automl_config) +``` +Maaari mong patakbuhin ang RunDetails widget upang ipakita ang iba't ibang eksperimento. +```python +from azureml.widgets import RunDetails +RunDetails(remote_run).show() +``` +## 3. Pag-deploy ng modelo at paggamit ng endpoint gamit ang Azure ML SDK + +### 3.1 Pag-save ng pinakamahusay na modelo + +Ang `remote_run` ay isang object na uri ng [AutoMLRun](https://docs.microsoft.com/python/api/azureml-train-automl-client/azureml.train.automl.run.automlrun?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). Ang object na ito ay naglalaman ng method na `get_output()` na nagbabalik ng pinakamahusay na run at ang kaukulang fitted model. + +```python +best_run, fitted_model = remote_run.get_output() +``` +Makikita mo ang mga parameter na ginamit para sa pinakamahusay na modelo sa pamamagitan ng pag-print ng fitted_model at makita ang mga properties ng pinakamahusay na modelo gamit ang [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) method. + +```python +best_run.get_properties() +``` + +Ngayon, i-register ang modelo gamit ang [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) method. +```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 Pag-deploy ng modelo + +Kapag na-save na ang pinakamahusay na modelo, maaari natin itong i-deploy gamit ang [InferenceConfig](https://docs.microsoft.com/python/api/azureml-core/azureml.core.model.inferenceconfig?view=azure-ml-py?ocid=AID3041109) class. Ang InferenceConfig ay kumakatawan sa mga configuration settings para sa custom environment na ginagamit para sa deployment. Ang [AciWebservice](https://docs.microsoft.com/python/api/azureml-core/azureml.core.webservice.aciwebservice?view=azure-ml-py) class ay kumakatawan sa machine learning model na na-deploy bilang web service endpoint sa Azure Container Instances. Ang na-deploy na serbisyo ay isang load-balanced, HTTP endpoint na may REST API. Maaari kang magpadala ng data sa API na ito at makatanggap ng prediksyon mula sa modelo. + +Ang modelo ay na-deploy gamit ang [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) method. + +```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) +``` +Ang hakbang na ito ay maaaring tumagal ng ilang minuto. + +### 3.3 Paggamit ng endpoint + +Maaari mong gamitin ang iyong endpoint sa pamamagitan ng paggawa ng sample input: + +```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)) +``` +At pagkatapos, maaari mong ipadala ang input na ito sa iyong modelo para sa prediksyon: +```python +response = aci_service.run(input_data=test_sample) +response +``` +Dapat itong mag-output ng `'{"result": [false]}'`. Ibig sabihin nito, ang input ng pasyente na ipinadala natin sa endpoint ay nag-generate ng prediksyon na `false`, na nangangahulugang hindi malamang na magkaroon ng atake sa puso ang taong ito. + +Binabati kita! Na-consume mo na ang modelong na-deploy at na-train gamit ang Azure ML sa tulong ng Azure ML SDK! + +> **_NOTE:_** Kapag tapos ka na sa proyekto, huwag kalimutang i-delete ang lahat ng resources. + +## 🚀 Hamon + +Marami pang ibang bagay na magagawa mo gamit ang SDK, ngunit sa kasamaang-palad, hindi natin ito lahat matatalakay sa araling ito. Ang magandang balita, ang pag-aaral kung paano mag-skim sa SDK documentation ay makakatulong sa'yo nang malaki. Tingnan ang Azure ML SDK documentation at hanapin ang `Pipeline` class na nagbibigay-daan sa'yo na gumawa ng mga pipeline. Ang Pipeline ay isang koleksyon ng mga hakbang na maaaring i-execute bilang isang workflow. + +**HINT:** Pumunta sa [SDK documentation](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) at mag-type ng mga keyword sa search bar tulad ng "Pipeline". Dapat mong makita ang `azureml.pipeline.core.Pipeline` class sa mga resulta ng paghahanap. + +## [Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/37) + +## Review at Sariling Pag-aaral + +Sa araling ito, natutunan mo kung paano mag-train, mag-deploy, at mag-consume ng modelo upang ma-predict ang panganib ng heart failure gamit ang Azure ML SDK sa cloud. Tingnan ang [documentation](https://docs.microsoft.com/python/api/overview/azure/ml/?view=azure-ml-py?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) para sa karagdagang impormasyon tungkol sa Azure ML SDK. Subukang gumawa ng sarili mong modelo gamit ang Azure ML SDK. + +## Takdang Aralin + +[Proyekto sa Data Science gamit ang Azure ML SDK](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/19-Azure/assignment.md b/translations/tl/5-Data-Science-In-Cloud/19-Azure/assignment.md new file mode 100644 index 00000000..074d4b0e --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/19-Azure/assignment.md @@ -0,0 +1,25 @@ + +# Proyekto sa Data Science gamit ang Azure ML SDK + +## Mga Instruksyon + +Nakita natin kung paano gamitin ang Azure ML platform upang magsanay, mag-deploy, at gumamit ng modelo gamit ang Azure ML SDK. Ngayon, maghanap ng ilang datos na maaari mong gamitin upang magsanay ng ibang modelo, i-deploy ito, at gamitin ito. Maaari kang maghanap ng mga dataset sa [Kaggle](https://kaggle.com) at [Azure Open Datasets](https://azure.microsoft.com/services/open-datasets/catalog?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109). + +## Rubric + +| Natatangi | Katanggap-tanggap | Kailangan ng Pagbuti | +|-----------|-------------------|----------------------| +|Kapag gumagawa ng AutoML Configuration, sinuri mo ang dokumentasyon ng SDK upang makita kung anong mga parameter ang maaari mong gamitin. Nagsagawa ka ng pagsasanay sa isang dataset gamit ang AutoML sa pamamagitan ng Azure ML SDK, at sinuri mo ang mga paliwanag ng modelo. Na-deploy mo ang pinakamahusay na modelo at nagamit mo ito gamit ang Azure ML SDK. | Nagsagawa ka ng pagsasanay sa isang dataset gamit ang AutoML sa pamamagitan ng Azure ML SDK, at sinuri mo ang mga paliwanag ng modelo. Na-deploy mo ang pinakamahusay na modelo at nagamit mo ito gamit ang Azure ML SDK. | Nagsagawa ka ng pagsasanay sa isang dataset gamit ang AutoML sa pamamagitan ng Azure ML SDK. Na-deploy mo ang pinakamahusay na modelo at nagamit mo ito gamit ang Azure ML SDK. | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/5-Data-Science-In-Cloud/README.md b/translations/tl/5-Data-Science-In-Cloud/README.md new file mode 100644 index 00000000..a8dd1083 --- /dev/null +++ b/translations/tl/5-Data-Science-In-Cloud/README.md @@ -0,0 +1,35 @@ + +# Data Science sa Cloud + +![cloud-picture](../../../translated_images/cloud-picture.f5526de3c6c6387b2d656ba94f019b3352e5e3854a78440e4fb00c93e2dea675.tl.jpg) + +> Larawan ni [Jelleke Vanooteghem](https://unsplash.com/@ilumire) mula sa [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape) + +Kapag pinag-uusapan ang paggawa ng data science gamit ang malalaking datos, ang cloud ay maaaring maging isang malaking tulong. Sa susunod na tatlong aralin, tatalakayin natin kung ano ang cloud at kung bakit ito napaka-kapaki-pakinabang. Susuriin din natin ang isang dataset tungkol sa heart failure at gagawa ng modelo upang makatulong sa pagsusuri ng posibilidad na magkaroon ng heart failure ang isang tao. Gagamitin natin ang kapangyarihan ng cloud upang sanayin, i-deploy, at gamitin ang modelo sa dalawang magkaibang paraan. Ang isang paraan ay gamit lamang ang user interface sa isang Low code/No code na paraan, at ang isa pang paraan ay gamit ang Azure Machine Learning Software Developer Kit (Azure ML SDK). + +![project-schema](../../../translated_images/project-schema.420e56d495624541eaecf2b737f138c86fb7d8162bb1c0bf8783c350872ffc4d.tl.png) + +### Mga Paksa + +1. [Bakit gamitin ang Cloud para sa Data Science?](17-Introduction/README.md) +2. [Data Science sa Cloud: Ang "Low code/No code" na paraan](18-Low-Code/README.md) +3. [Data Science sa Cloud: Ang "Azure ML SDK" na paraan](19-Azure/README.md) + +### Mga Kredito +Ang mga araling ito ay isinulat nang may ☁️ at 💕 nina [Maud Levy](https://twitter.com/maudstweets) at [Tiffany Souterre](https://twitter.com/TiffanySouterre) + +Ang datos para sa proyekto ng Heart Failure Prediction ay mula sa [ +Larxel](https://www.kaggle.com/andrewmvd) sa [Kaggle](https://www.kaggle.com/andrewmvd/heart-failure-clinical-data). Ito ay lisensyado sa ilalim ng [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/README.md b/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/README.md new file mode 100644 index 00000000..ed951d76 --- /dev/null +++ b/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/README.md @@ -0,0 +1,155 @@ + +# Data Science sa Tunay na Mundo + +| ![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/20-DataScience-RealWorld.png) | +| :--------------------------------------------------------------------------------------------------------------: | +| Data Science sa Tunay na Mundo - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Malapit na tayo sa dulo ng ating pag-aaral! + +Nagsimula tayo sa mga depinisyon ng data science at etika, sinuri ang iba't ibang tools at teknik para sa pagsusuri at pagpapakita ng datos, nirepaso ang lifecycle ng data science, at tiningnan ang pag-scale at pag-automate ng mga workflow ng data science gamit ang mga serbisyo ng cloud computing. Kaya, marahil iniisip mo: _"Paano ko maiaangkop ang lahat ng natutunan ko sa mga tunay na sitwasyon?"_ + +Sa araling ito, tatalakayin natin ang mga aplikasyon ng data science sa iba't ibang industriya at susuriin ang mga partikular na halimbawa sa pananaliksik, digital humanities, at sustainability. Titingnan din natin ang mga oportunidad para sa mga proyekto ng estudyante at magtatapos sa mga kapaki-pakinabang na resources para ipagpatuloy ang iyong pag-aaral! + +## Pre-Lecture Quiz + +[Pre-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/38) + +## Data Science + Industriya + +Dahil sa democratization ng AI, mas madali na ngayon para sa mga developer na magdisenyo at mag-integrate ng AI-driven decision-making at data-driven insights sa user experiences at development workflows. Narito ang ilang halimbawa kung paano "inaaplay" ang data science sa mga tunay na aplikasyon sa industriya: + + * [Google Flu Trends](https://www.wired.com/2015/10/can-learn-epic-failure-google-flu-trends) - ginamit ang data science para i-correlate ang mga search term sa flu trends. Bagama't may mga kahinaan ang approach, nagbigay ito ng kamalayan sa mga posibilidad (at hamon) ng data-driven na prediksyon sa healthcare. + + * [UPS Routing Predictions](https://www.technologyreview.com/2018/11/21/139000/how-ups-uses-ai-to-outsmart-bad-weather/) - nagpapaliwanag kung paano ginagamit ng UPS ang data science at machine learning para hulaan ang pinakamainam na ruta para sa delivery, isinasaalang-alang ang kondisyon ng panahon, traffic patterns, deadlines ng delivery, at iba pa. + + * [NYC Taxicab Route Visualization](http://chriswhong.github.io/nyctaxi/) - ang datos na nakuha gamit ang [Freedom Of Information Laws](https://chriswhong.com/open-data/foil_nyc_taxi/) ay tumulong sa pag-visualize ng isang araw sa buhay ng mga taxi sa NYC, na nagpapakita kung paano sila nag-navigate sa abalang lungsod, ang perang kanilang kinikita, at ang tagal ng biyahe sa loob ng bawat 24 na oras. + + * [Uber Data Science Workbench](https://eng.uber.com/dsw/) - gumagamit ng datos (pickup & dropoff locations, tagal ng biyahe, preferred routes, atbp.) mula sa milyon-milyong Uber trips *araw-araw* para bumuo ng data analytics tool na tumutulong sa pricing, safety, fraud detection, at navigation decisions. + + * [Sports Analytics](https://towardsdatascience.com/scope-of-analytics-in-sports-world-37ed09c39860) - nakatuon sa _predictive analytics_ (team at player analysis - gaya ng [Moneyball](https://datasciencedegree.wisconsin.edu/blog/moneyball-proves-importance-big-data-big-ideas/) - at fan management) at _data visualization_ (team & fan dashboards, games, atbp.) na may aplikasyon tulad ng talent scouting, sports gambling, at inventory/venue management. + + * [Data Science sa Banking](https://data-flair.training/blogs/data-science-in-banking/) - binibigyang-diin ang halaga ng data science sa industriya ng pananalapi na may mga aplikasyon mula sa risk modeling at fraud detection, hanggang sa customer segmentation, real-time prediction, at recommender systems. Ang predictive analytics ay nagdadala rin ng mahahalagang sukatan tulad ng [credit scores](https://dzone.com/articles/using-big-data-and-predictive-analytics-for-credit). + + * [Data Science sa Healthcare](https://data-flair.training/blogs/data-science-in-healthcare/) - binibigyang-diin ang mga aplikasyon tulad ng medical imaging (e.g., MRI, X-Ray, CT-Scan), genomics (DNA sequencing), drug development (risk assessment, success prediction), predictive analytics (patient care & supply logistics), disease tracking & prevention, atbp. + +![Mga Aplikasyon ng Data Science sa Tunay na Mundo](../../../../translated_images/data-science-applications.4e5019cd8790ebac2277ff5f08af386f8727cac5d30f77727c7090677e6adb9c.tl.png) Image Credit: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/) + +Ipinapakita ng figure ang iba pang domain at halimbawa ng paggamit ng mga teknik ng data science. Gusto mo bang tuklasin ang iba pang aplikasyon? Tingnan ang [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) na seksyon sa ibaba. + +## Data Science + Pananaliksik + +| ![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/20-DataScience-Research.png) | +| :---------------------------------------------------------------------------------------------------------------: | +| Data Science & Pananaliksik - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Bagama't ang mga tunay na aplikasyon ay madalas na nakatuon sa mga use case sa industriya, ang mga aplikasyon at proyekto sa _pananaliksik_ ay maaaring maging kapaki-pakinabang mula sa dalawang perspektibo: + +* _oportunidad para sa inobasyon_ - tuklasin ang mabilis na pag-prototype ng mga advanced na konsepto at testing ng user experiences para sa mga susunod na henerasyon ng aplikasyon. +* _mga hamon sa deployment_ - suriin ang mga potensyal na pinsala o hindi inaasahang epekto ng mga teknolohiya ng data science sa mga tunay na sitwasyon. + +Para sa mga estudyante, ang mga proyektong pananaliksik ay maaaring magbigay ng parehong learning at collaboration opportunities na maaaring magpabuti sa iyong pag-unawa sa paksa, at magpalawak ng iyong kamalayan at pakikilahok sa mga kaugnay na tao o team na nagtatrabaho sa mga lugar ng interes. Kaya ano ang hitsura ng mga proyektong pananaliksik at paano ito makakagawa ng epekto? + +Tingnan natin ang isang halimbawa - ang [MIT Gender Shades Study](http://gendershades.org/overview.html) mula kay Joy Buolamwini (MIT Media Labs) na may [signature research paper](http://proceedings.mlr.press/v81/buolamwini18a/buolamwini18a.pdf) na co-authored ni Timnit Gebru (noon sa Microsoft Research) na nakatuon sa + + * **Ano:** Ang layunin ng proyekto ay _suriin ang bias na naroroon sa mga automated facial analysis algorithms at datasets_ batay sa kasarian at uri ng balat. + * **Bakit:** Ang facial analysis ay ginagamit sa mga lugar tulad ng law enforcement, airport security, hiring systems, at iba pa - mga konteksto kung saan ang maling klasipikasyon (hal., dahil sa bias) ay maaaring magdulot ng potensyal na pinsalang pang-ekonomiya at panlipunan sa mga apektadong indibidwal o grupo. Ang pag-unawa (at pag-aalis o pag-mitigate) ng bias ay mahalaga para sa fairness sa paggamit. + * **Paano:** Napansin ng mga mananaliksik na ang mga umiiral na benchmark ay kadalasang gumagamit ng mga subject na may mas maputing balat, kaya gumawa sila ng bagong dataset (1000+ na imahe) na _mas balanse_ sa kasarian at uri ng balat. Ang dataset ay ginamit para suriin ang accuracy ng tatlong gender classification products (mula sa Microsoft, IBM & Face++). + +Ipinakita ng resulta na bagama't maganda ang overall classification accuracy, may kapansin-pansing pagkakaiba sa error rates sa pagitan ng iba't ibang subgroup - kung saan mas mataas ang **misgendering** para sa mga babae o taong may mas maitim na balat, na nagpapahiwatig ng bias. + +**Mga Pangunahing Resulta:** Nagbigay ng kamalayan na ang data science ay nangangailangan ng mas _representative datasets_ (balanseng subgroup) at mas _inclusive teams_ (diverse backgrounds) para ma-recognize at maalis o ma-mitigate ang ganitong bias nang mas maaga sa mga solusyon ng AI. Ang mga pagsisikap sa pananaliksik tulad nito ay mahalaga rin sa maraming organisasyon sa pagbuo ng mga prinsipyo at praktis para sa _responsible AI_ upang mapabuti ang fairness sa kanilang mga AI products at processes. + +**Gusto mo bang matuto tungkol sa mga kaugnay na pagsisikap sa pananaliksik sa Microsoft?** + +* Tingnan ang [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) sa Artificial Intelligence. +* Tuklasin ang mga proyekto ng estudyante mula sa [Microsoft Research Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/). +* Tingnan ang [Fairlearn](https://fairlearn.org/) na proyekto at [Responsible AI](https://www.microsoft.com/en-us/ai/responsible-ai?activetab=pivot1%3aprimaryr6) na mga inisyatibo. + +## Data Science + Humanities + +| ![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/20-DataScience-Humanities.png) | +| :---------------------------------------------------------------------------------------------------------------: | +| Data Science & Digital Humanities - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Ang Digital Humanities [ay naipaliwanag](https://digitalhumanities.stanford.edu/about-dh-stanford) bilang "isang koleksyon ng mga praktis at approach na pinagsasama ang computational methods sa humanistic inquiry". Ang mga [proyekto ng Stanford](https://digitalhumanities.stanford.edu/projects) tulad ng _"rebooting history"_ at _"poetic thinking"_ ay nagpapakita ng koneksyon sa pagitan ng [Digital Humanities at Data Science](https://digitalhumanities.stanford.edu/digital-humanities-and-data-science) - binibigyang-diin ang mga teknik tulad ng network analysis, information visualization, spatial at text analysis na maaaring makatulong sa atin na muling suriin ang mga historical at literary datasets upang makakuha ng bagong insights at perspektibo. + +*Gusto mo bang tuklasin at palawakin ang isang proyekto sa larangang ito?* + +Tingnan ang ["Emily Dickinson and the Meter of Mood"](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671) - isang mahusay na halimbawa mula kay [Jen Looper](https://twitter.com/jenlooper) na nagtatanong kung paano natin magagamit ang data science upang muling suriin ang pamilyar na tula at muling suriin ang kahulugan nito at ang kontribusyon ng may-akda sa bagong konteksto. Halimbawa, _maaari ba nating mahulaan ang panahon kung kailan isinulat ang isang tula sa pamamagitan ng pagsusuri sa tono o damdamin nito_ - at ano ang sinasabi nito tungkol sa estado ng isipan ng may-akda sa kaugnay na panahon? + +Para masagot ang tanong na iyon, sundan natin ang mga hakbang ng lifecycle ng data science: + * [`Data Acquisition`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#acquiring-the-dataset) - upang mangolekta ng kaugnay na dataset para sa pagsusuri. Ang mga opsyon ay kinabibilangan ng paggamit ng API (hal., [Poetry DB API](https://poetrydb.org/index.html)) o pag-scrape ng mga web page (hal., [Project Gutenberg](https://www.gutenberg.org/files/12242/12242-h/12242-h.htm)) gamit ang mga tools tulad ng [Scrapy](https://scrapy.org/). + * [`Data Cleaning`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#clean-the-data) - nagpapaliwanag kung paano maaaring i-format, i-sanitize, at i-simplify ang text gamit ang mga basic tools tulad ng Visual Studio Code at Microsoft Excel. + * [`Data Analysis`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#working-with-the-data-in-a-notebook) - nagpapaliwanag kung paano natin maaaring i-import ang dataset sa "Notebooks" para sa pagsusuri gamit ang Python packages (tulad ng pandas, numpy, at matplotlib) upang ayusin at i-visualize ang datos. + * [`Sentiment Analysis`](https://gist.github.com/jlooper/ce4d102efd057137bc000db796bfd671#sentiment-analysis-using-cognitive-services) - nagpapaliwanag kung paano natin maaaring i-integrate ang cloud services tulad ng Text Analytics, gamit ang low-code tools tulad ng [Power Automate](https://flow.microsoft.com/en-us/) para sa automated na data processing workflows. + +Gamit ang workflow na ito, maaari nating tuklasin ang epekto ng panahon sa damdamin ng mga tula, at tulungan tayong bumuo ng sarili nating perspektibo sa may-akda. Subukan mo ito - pagkatapos ay palawakin ang notebook upang magtanong ng iba pang mga tanong o i-visualize ang datos sa mga bagong paraan! + +> Maaari mong gamitin ang ilan sa mga tools sa [Digital Humanities toolkit](https://github.com/Digital-Humanities-Toolkit) upang ituloy ang mga ganitong uri ng inquiry. + +## Data Science + Sustainability + +| ![ Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/20-DataScience-Sustainability.png) | +| :---------------------------------------------------------------------------------------------------------------: | +| Data Science & Sustainability - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +Ang [2030 Agenda For Sustainable Development](https://sdgs.un.org/2030agenda) - na in-adopt ng lahat ng miyembro ng United Nations noong 2015 - ay nagtatakda ng 17 layunin kabilang ang mga nakatuon sa **Pagprotekta sa Planet** mula sa pagkasira at epekto ng climate change. Ang [Microsoft Sustainability](https://www.microsoft.com/en-us/sustainability) na inisyatibo ay sumusuporta sa mga layuning ito sa pamamagitan ng paggalugad ng mga paraan kung paano makakatulong ang mga teknolohiyang solusyon sa pagbuo ng mas sustainable na kinabukasan na may [focus sa 4 na layunin](https://dev.to/azure/a-visual-guide-to-sustainable-software-engineering-53hh) - pagiging carbon negative, water positive, zero waste, at bio-diverse pagsapit ng 2030. + +Ang pagharap sa mga hamon na ito sa isang scalable at napapanahong paraan ay nangangailangan ng cloud-scale na pag-iisip - at malaking datos. Ang [Planetary Computer](https://planetarycomputer.microsoft.com/) na inisyatibo ay nagbibigay ng 4 na bahagi upang matulungan ang mga data scientist at developer sa pagsisikap na ito: + + * [Data Catalog](https://planetarycomputer.microsoft.com/catalog) - na may petabytes ng Earth Systems data (libre at naka-host sa Azure). + * [Planetary API](https://planetarycomputer.microsoft.com/docs/reference/stac/) - upang matulungan ang mga user na maghanap ng kaugnay na datos sa espasyo at oras. + * [Hub](https://planetarycomputer.microsoft.com/docs/overview/environment/) - managed environment para sa mga scientist na magproseso ng malalaking geospatial datasets. + * [Applications](https://planetarycomputer.microsoft.com/applications) - nagpapakita ng mga use case at tools para sa sustainability insights. +**Ang Planetary Computer Project ay kasalukuyang nasa preview (mula Setyembre 2021)** - narito kung paano ka makakapagsimula sa pag-aambag sa mga solusyon para sa sustainability gamit ang data science. + +* [Humiling ng access](https://planetarycomputer.microsoft.com/account/request) upang magsimula sa pag-explore at makipag-ugnayan sa mga kapwa mananaliksik. +* [Mag-explore ng dokumentasyon](https://planetarycomputer.microsoft.com/docs/overview/about) upang maunawaan ang mga suportadong dataset at API. +* Mag-explore ng mga aplikasyon tulad ng [Ecosystem Monitoring](https://analytics-lab.org/ecosystemmonitoring/) para sa inspirasyon sa mga ideya ng aplikasyon. + +Pag-isipan kung paano mo magagamit ang data visualization upang ipakita o palakasin ang mga mahahalagang insight sa mga larangan tulad ng pagbabago ng klima at deforestation. O pag-isipan kung paano magagamit ang mga insight upang lumikha ng mga bagong karanasan para sa mga user na magpapasigla sa pagbabago ng ugali para sa mas sustainable na pamumuhay. + +## Data Science + Mga Mag-aaral + +Napag-usapan na natin ang mga aplikasyon sa totoong mundo sa industriya at pananaliksik, at nag-explore ng mga halimbawa ng aplikasyon ng data science sa digital humanities at sustainability. Kaya paano mo maitatayo ang iyong mga kakayahan at maibabahagi ang iyong kaalaman bilang mga baguhan sa data science? + +Narito ang ilang halimbawa ng mga proyekto ng data science para sa mga mag-aaral na maaaring magbigay inspirasyon sa iyo. + +* [MSR Data Science Summer School](https://www.microsoft.com/en-us/research/academic-program/data-science-summer-school/#!projects) na may mga proyekto sa GitHub [projects](https://github.com/msr-ds3) na nag-eexplore ng mga paksa tulad ng: + - [Racial Bias in Police Use of Force](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) + - [Reliability of NYC Subway System](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) +* [Digitizing Material Culture: Exploring socio-economic distributions in Sirkap](https://claremont.maps.arcgis.com/apps/Cascade/index.html?appid=bdf2aef0f45a4674ba41cd373fa23afc) - mula kay [Ornella Altunyan](https://twitter.com/ornelladotcom) at team sa Claremont, gamit ang [ArcGIS StoryMaps](https://storymaps.arcgis.com/). + +## 🚀 Hamon + +Maghanap ng mga artikulo na nagrerekomenda ng mga proyekto sa data science na angkop para sa mga baguhan - tulad ng [50 mga paksa](https://www.upgrad.com/blog/data-science-project-ideas-topics-beginners/) o [21 mga ideya ng proyekto](https://www.intellspot.com/data-science-project-ideas) o [16 na proyekto na may source code](https://data-flair.training/blogs/data-science-project-ideas/) na maaari mong pag-aralan at i-remix. At huwag kalimutang mag-blog tungkol sa iyong mga learning journey at ibahagi ang iyong mga insight sa aming lahat. + +## Post-Lecture Quiz + +[Post-lecture quiz](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/39) + +## Review & Self Study + +Gusto mo bang mag-explore ng mas maraming use cases? Narito ang ilang mga kaugnay na artikulo: +* [17 Data Science Applications and Examples](https://builtin.com/data-science/data-science-applications-examples) - Hulyo 2021 +* [11 Breathtaking Data Science Applications in Real World](https://myblindbird.com/data-science-applications-real-world/) - Mayo 2021 +* [Data Science In The Real World](https://towardsdatascience.com/data-science-in-the-real-world/home) - Koleksyon ng Artikulo +* Data Science Sa: [Edukasyon](https://data-flair.training/blogs/data-science-in-education/), [Agrikultura](https://data-flair.training/blogs/data-science-in-agriculture/), [Pananalapi](https://data-flair.training/blogs/data-science-in-finance/), [Mga Pelikula](https://data-flair.training/blogs/data-science-at-movies/) at iba pa. + +## Assignment + +[Mag-explore ng Dataset ng Planetary Computer](assignment.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md b/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md new file mode 100644 index 00000000..28e96a3d --- /dev/null +++ b/translations/tl/6-Data-Science-In-Wild/20-Real-World-Examples/assignment.md @@ -0,0 +1,50 @@ + +# Mag-explore ng Dataset mula sa Planetary Computer + +## Mga Instruksyon + +Sa araling ito, tinalakay natin ang iba't ibang domain ng aplikasyon sa data science - kabilang ang masusing pag-aaral sa mga halimbawa na may kaugnayan sa pananaliksik, pagpapanatili, at digital humanities. Sa gawaing ito, mag-eexplore ka ng isa sa mga halimbawang ito nang mas detalyado, at gagamitin ang ilan sa iyong mga natutunan tungkol sa data visualizations at analysis upang makakuha ng mga insight tungkol sa datos ng pagpapanatili. + +Ang proyekto ng [Planetary Computer](https://planetarycomputer.microsoft.com/) ay may mga dataset at API na maaaring ma-access gamit ang isang account - mag-request ng isa para sa access kung nais mong subukan ang bonus na hakbang ng gawain. Ang site ay mayroon ding [Explorer](https://planetarycomputer.microsoft.com/explore) na maaaring gamitin nang hindi gumagawa ng account. + +`Mga Hakbang:` +Ang interface ng Explorer (makikita sa screenshot sa ibaba) ay nagbibigay-daan sa iyo na pumili ng dataset (mula sa mga ibinigay na opsyon), isang preset na query (upang i-filter ang data), at isang rendering option (upang lumikha ng kaugnay na visualization). Sa gawaing ito, ang iyong layunin ay: + + 1. Basahin ang [Explorer documentation](https://planetarycomputer.microsoft.com/docs/overview/explorer/) - unawain ang mga opsyon. + 2. I-explore ang dataset [Catalog](https://planetarycomputer.microsoft.com/catalog) - alamin ang layunin ng bawat isa. + 3. Gamitin ang Explorer - pumili ng dataset na interesado ka, piliin ang kaugnay na query at rendering option. + +![Ang Planetary Computer Explorer](../../../../translated_images/planetary-computer-explorer.c1e95a9b053167d64e2e8e4347cfb689e47e2037c33103fc1bbea1a149d4f85b.tl.png) + +`Ang Iyong Gawain:` +Pag-aralan ang visualization na na-render sa browser at sagutin ang mga sumusunod: + * Anong mga _feature_ ang mayroon sa dataset? + * Anong mga _insight_ o resulta ang ibinibigay ng visualization? + * Ano ang mga _implikasyon_ ng mga insight na iyon sa mga layunin ng pagpapanatili ng proyekto? + * Ano ang mga _limitasyon_ ng visualization (hal., anong insight ang hindi mo nakuha?) + * Kung makukuha mo ang raw data, anong mga _alternatibong visualization_ ang gagawin mo, at bakit? + +`Bonus Points:` +Mag-apply para sa isang account - at mag-login kapag naaprubahan. + * Gamitin ang opsyon na _Launch Hub_ upang buksan ang raw data sa isang Notebook. + * I-explore ang data nang interaktibo, at ipatupad ang mga alternatibong visualization na naisip mo. + * Pag-aralan ang iyong mga custom na visualization - nakakuha ka ba ng mga insight na hindi mo nakuha dati? + +## Rubric + +Huwaran | Katanggap-tanggap | Kailangan ng Pagpapabuti +--- | --- | -- | +Nasagot ang lahat ng limang pangunahing tanong. Malinaw na tinukoy ng mag-aaral kung paano ang kasalukuyan at alternatibong visualization ay maaaring magbigay ng mga insight sa mga layunin o resulta ng pagpapanatili.| Nasagot ng mag-aaral ang hindi bababa sa nangungunang 3 tanong nang detalyado, na nagpapakita na may praktikal na karanasan sa Explorer. | Nabigo ang mag-aaral na sagutin ang maraming tanong, o nagbigay ng hindi sapat na detalye - na nagpapahiwatig na walang makabuluhang pagsubok na ginawa para sa proyekto | + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/6-Data-Science-In-Wild/README.md b/translations/tl/6-Data-Science-In-Wild/README.md new file mode 100644 index 00000000..07e5d07b --- /dev/null +++ b/translations/tl/6-Data-Science-In-Wild/README.md @@ -0,0 +1,25 @@ + +# Agham ng Datos sa Likas na Kapaligiran + +Mga totoong aplikasyon ng agham ng datos sa iba't ibang industriya. + +### Mga Paksa + +1. [Agham ng Datos sa Totoong Mundo](20-Real-World-Examples/README.md) + +### Mga Kredito + +Isinulat nang may ❤️ ni [Nitya Narasimhan](https://twitter.com/nitya) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/CODE_OF_CONDUCT.md b/translations/tl/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..c256237c --- /dev/null +++ b/translations/tl/CODE_OF_CONDUCT.md @@ -0,0 +1,23 @@ + +# Microsoft Open Source Code of Conduct + +Ang proyektong ito ay sumusunod sa [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Mga Mapagkukunan: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Makipag-ugnayan sa [opencode@microsoft.com](mailto:opencode@microsoft.com) para sa mga tanong o alalahanin + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na pinagmulan. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/CONTRIBUTING.md b/translations/tl/CONTRIBUTING.md new file mode 100644 index 00000000..f184f1ad --- /dev/null +++ b/translations/tl/CONTRIBUTING.md @@ -0,0 +1,23 @@ + +# Pag-aambag + +Tinatanggap ng proyektong ito ang mga ambag at mungkahi. Karamihan sa mga ambag ay nangangailangan na sumang-ayon ka sa isang Contributor License Agreement (CLA) na nagsasaad na may karapatan ka, at aktwal mong ibinibigay, ang mga karapatan sa amin upang gamitin ang iyong ambag. Para sa mga detalye, bisitahin ang https://cla.microsoft.com. + +Kapag nagsumite ka ng isang pull request, awtomatikong matutukoy ng CLA-bot kung kailangan mong magbigay ng CLA at lalagyan ng tamang dekorasyon ang PR (hal., label, komento). Sundin lamang ang mga tagubilin na ibinigay ng bot. Kailangan mo lamang gawin ito nang isang beses sa lahat ng mga repository na gumagamit ng aming CLA. + +Ang proyektong ito ay nagpatibay ng [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +Para sa karagdagang impormasyon, tingnan ang [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +o makipag-ugnayan sa [opencode@microsoft.com](mailto:opencode@microsoft.com) para sa anumang karagdagang tanong o komento. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/README.md b/translations/tl/README.md new file mode 100644 index 00000000..b9643fa5 --- /dev/null +++ b/translations/tl/README.md @@ -0,0 +1,164 @@ + +# Data Science para sa mga Baguhan - Isang Kurikulum + +Azure Cloud Advocates sa Microsoft ay natutuwa na mag-alok ng isang 10-linggong, 20-aralin na kurikulum tungkol sa Data Science. Ang bawat aralin ay may kasamang pre-lesson at post-lesson na mga pagsusulit, nakasulat na mga tagubilin para tapusin ang aralin, isang solusyon, at isang takdang-aralin. Ang aming project-based na paraan ng pagtuturo ay nagbibigay-daan sa iyo na matuto habang gumagawa, isang napatunayang paraan upang mas tumatak ang mga bagong kasanayan. + +**Taos-pusong pasasalamat sa aming mga may-akda:** [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). + +**🙏 Espesyal na pasasalamat 🙏 sa aming [Microsoft Student Ambassador](https://studentambassadors.microsoft.com/) na mga may-akda, tagasuri, at mga tagapag-ambag ng nilalaman,** partikular na sina 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/) + +|![Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev)](./sketchnotes/00-Title.png)| +|:---:| +| Data Science Para sa mga Baguhan - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +## Anunsyo - Bagong Kurikulum sa Generative AI ay Kalalabas Lang! + +Kakalabas lang namin ng isang 12-aralin na kurikulum tungkol sa generative AI. Matutunan ang mga bagay tulad ng: + +- prompting at prompt engineering +- paggawa ng text at image apps +- mga search app + +Gaya ng dati, may aralin, mga takdang-aralin na kailangang tapusin, mga pagsusuri ng kaalaman, at mga hamon. + +Tingnan ito: + +> https://aka.ms/genai-beginners + +# Ikaw ba ay isang mag-aaral? + +Simulan gamit ang mga sumusunod na mapagkukunan: + +- [Student Hub page](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) Sa pahinang ito, makakahanap ka ng mga mapagkukunan para sa mga baguhan, mga Student pack, at maging mga paraan upang makakuha ng libreng cert voucher. Isa itong pahina na dapat mong i-bookmark at balikan paminsan-minsan dahil regular naming ina-update ang nilalaman nito. +- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Sumali sa isang pandaigdigang komunidad ng mga student ambassador, maaaring ito ang iyong daan papunta sa Microsoft. + +# Pagsisimula + +> **Mga Guro**: [kasama ang ilang mungkahi](for-teachers.md) kung paano gamitin ang kurikulum na ito. Gusto naming marinig ang inyong feedback [sa aming discussion forum](https://github.com/microsoft/Data-Science-For-Beginners/discussions)! + +> **[Mga Mag-aaral](https://aka.ms/student-page)**: upang gamitin ang kurikulum na ito nang mag-isa, i-fork ang buong repo at tapusin ang mga gawain nang mag-isa, simula sa pre-lecture quiz. Pagkatapos, basahin ang lektura at tapusin ang natitirang mga aktibidad. Subukang gawin ang mga proyekto sa pamamagitan ng pag-unawa sa mga aralin sa halip na kopyahin ang solution code; gayunpaman, ang code na iyon ay makikita sa /solutions na mga folder sa bawat project-oriented na aralin. Isa pang ideya ay ang bumuo ng isang study group kasama ang mga kaibigan at sabay-sabay na pag-aralan ang nilalaman. Para sa karagdagang pag-aaral, inirerekomenda namin ang [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum). + +## Kilalanin ang Koponan + +[![Promo video](../../ds-for-beginners.gif)](https://youtu.be/8mzavjQSMM4 "Promo video") + +**Gif ni** [Mohit Jaisal](https://www.linkedin.com/in/mohitjaisal) + +> 🎥 I-click ang imahe sa itaas para sa isang video tungkol sa proyekto at sa mga taong lumikha nito! + +## Pedagohiya + +Pinili namin ang dalawang prinsipyo ng pagtuturo habang binubuo ang kurikulum na ito: tiyaking ito ay project-based at may kasamang madalas na pagsusulit. Sa pagtatapos ng seryeng ito, matutunan ng mga mag-aaral ang mga pangunahing prinsipyo ng data science, kabilang ang mga etikal na konsepto, paghahanda ng data, iba't ibang paraan ng pagtatrabaho sa data, data visualization, data analysis, mga tunay na kaso ng paggamit ng data science, at marami pa. + +Bukod dito, ang isang mababang-presyur na pagsusulit bago ang klase ay nagtatakda ng intensyon ng mag-aaral na matutunan ang isang paksa, habang ang pangalawang pagsusulit pagkatapos ng klase ay nagsisiguro ng karagdagang pagkatuto. Ang kurikulum na ito ay idinisenyo upang maging flexible at masaya at maaaring kunin nang buo o bahagi lamang. Ang mga proyekto ay nagsisimula sa maliit at nagiging mas kumplikado sa pagtatapos ng 10-linggong siklo. + +> Hanapin ang aming [Code of Conduct](CODE_OF_CONDUCT.md), [Contributing](CONTRIBUTING.md), [Translation](TRANSLATIONS.md) na mga alituntunin. Malugod naming tinatanggap ang inyong mga nakabubuong feedback! + +## Ang bawat aralin ay may kasamang: + +- Opsyonal na sketchnote +- Opsyonal na karagdagang video +- Pre-lesson warmup quiz +- Nakasulat na aralin +- Para sa mga project-based na aralin, mga step-by-step na gabay kung paano gawin ang proyekto +- Mga pagsusuri ng kaalaman +- Isang hamon +- Karagdagang babasahin +- Takdang-aralin +- Post-lesson quiz + +> **Isang paalala tungkol sa mga pagsusulit**: Ang lahat ng pagsusulit ay nasa Quiz-App folder, para sa kabuuang 40 pagsusulit na may tig-tatlong tanong bawat isa. Ang mga ito ay naka-link mula sa loob ng mga aralin, ngunit ang quiz app ay maaaring patakbuhin nang lokal o i-deploy sa Azure; sundin ang mga tagubilin sa `quiz-app` folder. Unti-unti itong isinasalin sa iba't ibang wika. + +## Mga Aralin + +|![Sketchnote ni [(@sketchthedocs)](https://sketchthedocs.dev)](./sketchnotes/00-Roadmap.png)| +|:---:| +| Data Science Para sa mga Baguhan: Roadmap - _Sketchnote ni [@nitya](https://twitter.com/nitya)_ | + +| Bilang ng Aralin | Paksa | Pangkat ng Aralin | Mga Layunin sa Pagkatuto | Naka-link na Aralin | May-akda | +| :-----------: | :----------------------------------------: | :--------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :----: | +| 01 | Pagpapakilala sa Data Science | [Panimula](1-Introduction/README.md) | Matutunan ang mga pangunahing konsepto sa likod ng data science at kung paano ito nauugnay sa artificial intelligence, machine learning, at big data. | [aralin](1-Introduction/01-defining-data-science/README.md) [video](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) | +| 02 | Etika sa Data Science | [Panimula](1-Introduction/README.md) | Mga Konsepto, Hamon, at Framework ng Data Ethics. | [aralin](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) | +| 03 | Pagpapakilala sa Data | [Panimula](1-Introduction/README.md) | Paano inuuri ang data at ang mga karaniwang pinagmumulan nito. | [aralin](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) | +| 04 | Panimula sa Statistics at Probability | [Panimula](1-Introduction/README.md) | Ang mga matematikal na teknika ng probability at statistics upang maunawaan ang data. | [aralin](1-Introduction/04-stats-and-probability/README.md) [video](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) | +| 05 | Paggamit ng Relational Data | [Paggamit ng Data](2-Working-With-Data/README.md) | Panimula sa relational data at ang mga batayan ng paggalugad at pagsusuri ng relational data gamit ang Structured Query Language, na kilala rin bilang SQL (binibigkas na “see-quell”). | [aralin](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | | +| 06 | Paggamit ng NoSQL Data | [Paggamit ng Data](2-Working-With-Data/README.md) | Panimula sa non-relational data, ang iba't ibang uri nito, at ang mga batayan ng paggalugad at pagsusuri ng document databases. | [aralin](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)| +| 07 | Paggamit ng Python | [Paggamit ng Data](2-Working-With-Data/README.md) | Mga batayan ng paggamit ng Python para sa paggalugad ng data gamit ang mga library tulad ng Pandas. Inirerekomenda ang pundasyong pag-unawa sa Python programming. | [aralin](2-Working-With-Data/07-python/README.md) [video](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) | +| 08 | Paghahanda ng Data | [Paggawa Sa Data](2-Working-With-Data/README.md) | Mga paksa tungkol sa mga teknik sa paglilinis at pagbabago ng data upang matugunan ang mga hamon ng nawawala, hindi tama, o hindi kumpletong data. | [aralin](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) | +| 09 | Pagpapakita ng Dami | [Pagpapakita ng Data](3-Data-Visualization/README.md) | Matutunan kung paano gamitin ang Matplotlib upang ipakita ang data ng mga ibon 🦆 | [aralin](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) | +| 10 | Pagpapakita ng Pamamahagi ng Data | [Pagpapakita ng Data](3-Data-Visualization/README.md) | Pagpapakita ng mga obserbasyon at trend sa loob ng isang saklaw. | [aralin](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) | +| 11 | Pagpapakita ng Proporsyon | [Pagpapakita ng Data](3-Data-Visualization/README.md) | Pagpapakita ng mga discrete at pinagsama-samang porsyento. | [aralin](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) | +| 12 | Pagpapakita ng Relasyon | [Pagpapakita ng Data](3-Data-Visualization/README.md) | Pagpapakita ng mga koneksyon at ugnayan sa pagitan ng mga set ng data at kanilang mga variable. | [aralin](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) | +| 13 | Makabuluhang Pagpapakita | [Pagpapakita ng Data](3-Data-Visualization/README.md) | Mga teknik at gabay para gawing mahalaga ang iyong mga pagpapakita para sa epektibong paglutas ng problema at mga insight. | [aralin](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) | +| 14 | Panimula sa Lifecycle ng Data Science | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Panimula sa lifecycle ng data science at ang unang hakbang nito sa pagkuha at pagkuha ng data. | [aralin](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) | +| 15 | Pagsusuri | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Ang yugtong ito ng lifecycle ng data science ay nakatuon sa mga teknik para suriin ang data. | [aralin](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | | +| 16 | Komunikasyon | [Lifecycle](4-Data-Science-Lifecycle/README.md) | Ang yugtong ito ng lifecycle ng data science ay nakatuon sa pagpapakita ng mga insight mula sa data sa paraang mas madaling maunawaan ng mga gumagawa ng desisyon. | [aralin](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | | +| 17 | Data Science sa Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Ang serye ng mga araling ito ay nagpapakilala sa data science sa cloud at ang mga benepisyo nito. | [aralin](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) at [Maud](https://twitter.com/maudstweets) | +| 18 | Data Science sa Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Pagsasanay ng mga modelo gamit ang Low Code tools. | [aralin](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) at [Maud](https://twitter.com/maudstweets) | +| 19 | Data Science sa Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Pag-deploy ng mga modelo gamit ang Azure Machine Learning Studio. | [aralin](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) at [Maud](https://twitter.com/maudstweets) | +| 20 | Data Science sa Wild | [Sa Wild](6-Data-Science-In-Wild/README.md) | Mga proyektong pinapatakbo ng data science sa totoong mundo. | [aralin](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) | + +## GitHub Codespaces + +Sundin ang mga hakbang na ito upang buksan ang sample na ito sa isang Codespace: +1. I-click ang drop-down na menu ng Code at piliin ang opsyong Open with Codespaces. +2. Piliin ang + New codespace sa ibaba ng pane. +Para sa karagdagang impormasyon, tingnan ang [dokumentasyon ng GitHub](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace). + +## VSCode Remote - Containers +Sundin ang mga hakbang na ito upang buksan ang repo na ito sa isang container gamit ang iyong lokal na makina at VSCode gamit ang VS Code Remote - Containers extension: + +1. Kung ito ang iyong unang beses na gumamit ng development container, tiyaking ang iyong sistema ay nakakatugon sa mga kinakailangan (hal. may naka-install na Docker) sa [dokumentasyon ng pagsisimula](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started). + +Upang magamit ang repositoryong ito, maaari mong buksan ang repositoryo sa isang hiwalay na Docker volume: + +**Tandaan**: Sa ilalim ng hood, gagamitin nito ang Remote-Containers: **Clone Repository in Container Volume...** na utos upang i-clone ang source code sa isang Docker volume sa halip na sa lokal na filesystem. Ang [Volumes](https://docs.docker.com/storage/volumes/) ang mas pinapaborang mekanismo para sa pagpapanatili ng data ng container. + +O buksan ang isang lokal na na-clone o na-download na bersyon ng repositoryo: + +- I-clone ang repositoryong ito sa iyong lokal na filesystem. +- Pindutin ang F1 at piliin ang **Remote-Containers: Open Folder in Container...** na utos. +- Piliin ang na-clone na kopya ng folder na ito, hintayin ang container na magsimula, at subukan ang mga bagay. + +## Offline na Pag-access + +Maaari mong patakbuhin ang dokumentasyong ito offline gamit ang [Docsify](https://docsify.js.org/#/). I-fork ang repo na ito, [i-install ang Docsify](https://docsify.js.org/#/quickstart) sa iyong lokal na makina, pagkatapos sa root folder ng repo na ito, i-type ang `docsify serve`. Ang website ay magsisilbi sa port 3000 sa iyong localhost: `localhost:3000`. + +> Tandaan, ang mga notebook ay hindi maipapakita gamit ang Docsify, kaya kapag kailangan mong patakbuhin ang isang notebook, gawin ito nang hiwalay sa VS Code gamit ang isang Python kernel. + +## Kailangan ng Tulong! + +Kung nais mong isalin ang lahat o bahagi ng kurikulum, sundin ang aming [Mga Pagsasalin](TRANSLATIONS.md) na gabay. + +## Iba Pang Kurikulum + +Ang aming koponan ay gumagawa ng iba pang kurikulum! Tingnan ang: + +- [Generative AI para sa Mga Baguhan](https://aka.ms/genai-beginners) +- [Generative AI para sa Mga Baguhan .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet) +- [Generative AI gamit ang JavaScript](https://github.com/microsoft/generative-ai-with-javascript) +- [Generative AI gamit ang Java](https://aka.ms/genaijava) +- [AI para sa Mga Baguhan](https://aka.ms/ai-beginners) +- [Data Science para sa Mga Baguhan](https://aka.ms/datascience-beginners) +- [ML para sa Mga Baguhan](https://aka.ms/ml-beginners) +- [Cybersecurity para sa Mga Baguhan](https://github.com/microsoft/Security-101) +- [Web Dev para sa Mga Baguhan](https://aka.ms/webdev-beginners) +- [IoT para sa Mga Baguhan](https://aka.ms/iot-beginners) +- [XR Development para sa Mga Baguhan](https://github.com/microsoft/xr-development-for-beginners) +- [Mastering GitHub Copilot para sa Paired Programming](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming) +- [Mastering GitHub Copilot para sa C#/.NET Developers](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers) +- [Piliin ang Iyong Sariling Copilot Adventure](https://github.com/microsoft/CopilotAdventures) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/SECURITY.md b/translations/tl/SECURITY.md new file mode 100644 index 00000000..cfcd771a --- /dev/null +++ b/translations/tl/SECURITY.md @@ -0,0 +1,51 @@ + +## Seguridad + +Seryoso ang Microsoft sa seguridad ng aming mga produkto at serbisyo, kabilang na ang lahat ng source code repositories na pinamamahalaan sa pamamagitan ng aming mga organisasyon sa GitHub, tulad ng [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), at [aming mga organisasyon sa GitHub](https://opensource.microsoft.com/). + +Kung naniniwala kang nakakita ka ng kahinaan sa seguridad sa alinmang repository na pag-aari ng Microsoft na tumutugma sa [kahulugan ng Microsoft ng kahinaan sa seguridad](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), mangyaring iulat ito sa amin ayon sa mga tagubilin sa ibaba. + +## Pag-uulat ng Mga Isyu sa Seguridad + +**Mangyaring huwag iulat ang mga kahinaan sa seguridad sa pamamagitan ng pampublikong GitHub issues.** + +Sa halip, iulat ang mga ito sa Microsoft Security Response Center (MSRC) sa [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). + +Kung mas gusto mong magsumite nang hindi nagla-log in, magpadala ng email sa [secure@microsoft.com](mailto:secure@microsoft.com). Kung maaari, i-encrypt ang iyong mensahe gamit ang aming PGP key; mangyaring i-download ito mula sa [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). + +Dapat kang makatanggap ng tugon sa loob ng 24 oras. Kung sa anumang dahilan ay hindi ka makatanggap, mangyaring mag-follow up sa pamamagitan ng email upang matiyak na natanggap namin ang iyong orihinal na mensahe. Karagdagang impormasyon ay matatagpuan sa [microsoft.com/msrc](https://www.microsoft.com/msrc). + +Mangyaring isama ang hinihinging impormasyon na nakalista sa ibaba (hangga't maaari mong ibigay) upang matulungan kaming mas maunawaan ang likas na katangian at saklaw ng posibleng isyu: + + * Uri ng isyu (hal. buffer overflow, SQL injection, cross-site scripting, atbp.) + * Buong mga path ng source file(s) na may kaugnayan sa pagpapakita ng isyu + * Lokasyon ng apektadong source code (tag/branch/commit o direktang URL) + * Anumang espesyal na configuration na kinakailangan upang maulit ang isyu + * Hakbang-hakbang na mga tagubilin upang maulit ang isyu + * Proof-of-concept o exploit code (kung maaari) + * Epekto ng isyu, kabilang kung paano maaaring samantalahin ng isang attacker ang isyu + +Ang impormasyong ito ay makakatulong sa amin na mas mabilis na ma-triage ang iyong ulat. + +Kung nag-uulat ka para sa bug bounty, ang mas kumpletong mga ulat ay maaaring magresulta sa mas mataas na gantimpala. Mangyaring bisitahin ang aming [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page para sa karagdagang detalye tungkol sa aming mga aktibong programa. + +## Mga Preferensiyang Wika + +Mas gusto namin na ang lahat ng komunikasyon ay nasa Ingles. + +## Patakaran + +Sinusunod ng Microsoft ang prinsipyo ng [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/SUPPORT.md b/translations/tl/SUPPORT.md new file mode 100644 index 00000000..7c855379 --- /dev/null +++ b/translations/tl/SUPPORT.md @@ -0,0 +1,24 @@ + +# Suporta +## Paano maghain ng mga isyu at humingi ng tulong + +Gumagamit ang proyektong ito ng GitHub Issues upang subaybayan ang mga bug at kahilingan para sa mga bagong tampok. Mangyaring hanapin muna ang mga umiiral na isyu bago maghain ng bago upang maiwasan ang mga dobleng isyu. Para sa mga bagong isyu, ihain ang iyong bug o kahilingan para sa bagong tampok bilang isang bagong Isyu. + +Para sa tulong at mga katanungan tungkol sa paggamit ng proyektong ito, maghain ng isang isyu. + +## Patakaran sa Suporta ng Microsoft + +Ang suporta para sa repositoryong ito ay limitado sa mga mapagkukunang nakalista sa itaas. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/docs/_sidebar.md b/translations/tl/docs/_sidebar.md new file mode 100644 index 00000000..f5a0bdb7 --- /dev/null +++ b/translations/tl/docs/_sidebar.md @@ -0,0 +1,40 @@ + +- Panimula + - [Pagpapakilala sa Data Science](../1-Introduction/01-defining-data-science/README.md) + - [Etika ng Data Science](../1-Introduction/02-ethics/README.md) + - [Pagpapakilala sa Data](../1-Introduction/03-defining-data/README.md) + - [Probabilidad at Estadistika](../1-Introduction/04-stats-and-probability/README.md) +- Paggawa Gamit ang Data + - [Relational Databases](../2-Working-With-Data/05-relational-databases/README.md) + - [Nonrelational Databases](../2-Working-With-Data/06-non-relational/README.md) + - [Python](../2-Working-With-Data/07-python/README.md) + - [Paghahanda ng Data](../2-Working-With-Data/08-data-preparation/README.md) +- Pagpapakita ng Data + - [Pagpapakita ng Mga Dami](../3-Data-Visualization/09-visualization-quantities/README.md) + - [Pagpapakita ng Mga Pamamahagi](../3-Data-Visualization/10-visualization-distributions/README.md) + - [Pagpapakita ng Mga Proporsyon](../3-Data-Visualization/11-visualization-proportions/README.md) + - [Pagpapakita ng Mga Relasyon](../3-Data-Visualization/12-visualization-relationships/README.md) + - [Makabuluhang Visualizations](../3-Data-Visualization/13-meaningful-visualizations/README.md) +- Lifecycle ng Data Science + - [Panimula](../4-Data-Science-Lifecycle/14-Introduction/README.md) + - [Pagsusuri](../4-Data-Science-Lifecycle/15-analyzing/README.md) + - [Komunikasyon](../4-Data-Science-Lifecycle/16-communication/README.md) +- Data Science sa Cloud + - [Panimula](../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) +- Data Science sa Kalikasan + - [DS sa Kalikasan](../6-Data-Science-In-Wild/README.md) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, pakitandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/for-teachers.md b/translations/tl/for-teachers.md new file mode 100644 index 00000000..75d73ff3 --- /dev/null +++ b/translations/tl/for-teachers.md @@ -0,0 +1,78 @@ + +## Para sa mga Guro + +Gusto mo bang gamitin ang kurikulum na ito sa iyong klase? Huwag mag-atubiling gamitin ito! + +Sa katunayan, maaari mo itong gamitin mismo sa GitHub gamit ang GitHub Classroom. + +Para magawa ito, i-fork ang repo na ito. Kakailanganin mong gumawa ng repo para sa bawat aralin, kaya kakailanganin mong i-extract ang bawat folder sa isang hiwalay na repo. Sa ganitong paraan, maaaring kunin ng [GitHub Classroom](https://classroom.github.com/classrooms) ang bawat aralin nang hiwalay. + +Ang mga [kumpletong tagubilin](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) ay magbibigay sa iyo ng ideya kung paano i-set up ang iyong classroom. + +## Paggamit ng repo sa kasalukuyang anyo + +Kung nais mong gamitin ang repo na ito sa kasalukuyang anyo nito, nang hindi gumagamit ng GitHub Classroom, maaari rin itong gawin. Kakailanganin mong ipaalam sa iyong mga estudyante kung aling aralin ang dapat nilang pag-aralan nang sabay-sabay. + +Sa online na format (Zoom, Teams, o iba pa), maaari kang magbuo ng breakout rooms para sa mga pagsusulit, at gabayan ang mga estudyante upang matulungan silang maghanda para matuto. Pagkatapos, anyayahan ang mga estudyante para sa mga pagsusulit at isumite ang kanilang mga sagot bilang 'issues' sa itinakdang oras. Maaari mo ring gawin ito sa mga takdang-aralin, kung nais mong ang mga estudyante ay magtrabaho nang sama-sama sa publiko. + +Kung mas gusto mo ang mas pribadong format, hilingin sa iyong mga estudyante na i-fork ang kurikulum, aralin sa aralin, sa kanilang sariling mga pribadong GitHub repos, at bigyan ka ng access. Pagkatapos, maaari nilang kumpletuhin ang mga pagsusulit at takdang-aralin nang pribado at isumite ang mga ito sa iyo sa pamamagitan ng issues sa iyong classroom repo. + +Maraming paraan upang magamit ito sa online na classroom format. Ipaalam sa amin kung ano ang pinakamainam para sa iyo! + +## Kasama sa kurikulum na ito: + +20 aralin, 40 pagsusulit, at 20 takdang-aralin. May kasamang sketchnotes ang mga aralin para sa mga visual learners. Maraming aralin ang magagamit sa parehong Python at R at maaaring kumpletuhin gamit ang Jupyter notebooks sa VS Code. Alamin ang higit pa kung paano i-set up ang iyong classroom upang magamit ang tech stack na ito: https://code.visualstudio.com/docs/datascience/jupyter-notebooks. + +Ang lahat ng sketchnotes, kabilang ang isang malaking-format na poster, ay nasa [folder na ito](../../sketchnotes). + +Ang buong kurikulum ay magagamit [bilang PDF](../../pdf/readme.pdf). + +Maaari mo ring patakbuhin ang kurikulum na ito bilang isang standalone, offline-friendly na website gamit ang [Docsify](https://docsify.js.org/#/). [I-install ang Docsify](https://docsify.js.org/#/quickstart) sa iyong lokal na makina, pagkatapos sa root folder ng lokal na kopya ng repo na ito, i-type ang `docsify serve`. Ang website ay magsisilbi sa port 3000 sa iyong localhost: `localhost:3000`. + +Ang offline-friendly na bersyon ng kurikulum ay magbubukas bilang isang standalone na web page: https://localhost:3000 + +Ang mga aralin ay naka-grupo sa 6 na bahagi: + +- 1: Panimula + - 1: Pagpapakahulugan sa Data Science + - 2: Etika + - 3: Pagpapakahulugan sa Data + - 4: Pangkalahatang-ideya ng Probability at Statistics +- 2: Paggawa gamit ang Data + - 5: Relational Databases + - 6: Non-Relational Databases + - 7: Python + - 8: Paghahanda ng Data +- 3: Pagpapakita ng Data + - 9: Visualization ng Quantities + - 10: Visualization ng Distributions + - 11: Visualization ng Proportions + - 12: Visualization ng Relationships + - 13: Makabuluhang Visualizations +- 4: Lifecycle ng Data Science + - 14: Panimula + - 15: Pagsusuri + - 16: Komunikasyon +- 5: Data Science sa Cloud + - 17: Panimula + - 18: Low-Code Options + - 19: Azure +- 6: Data Science sa Wild + - 20: Pangkalahatang-ideya + +## Ibigay ang iyong opinyon! + +Nais naming gawing angkop ang kurikulum na ito para sa iyo at sa iyong mga estudyante. Mangyaring magbigay ng feedback sa discussion boards! Huwag mag-atubiling gumawa ng classroom area sa discussion boards para sa iyong mga estudyante. + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/quiz-app/README.md b/translations/tl/quiz-app/README.md new file mode 100644 index 00000000..da4e8e5c --- /dev/null +++ b/translations/tl/quiz-app/README.md @@ -0,0 +1,139 @@ + +# Mga Pagsusulit + +Ang mga pagsusulit na ito ay ang pre- at post-lecture quizzes para sa kurikulum ng data science sa https://aka.ms/datascience-beginners + +## Pagdaragdag ng Isinaling Set ng Pagsusulit + +Magdagdag ng salin ng pagsusulit sa pamamagitan ng paggawa ng mga katugmang istruktura ng pagsusulit sa mga folder na `assets/translations`. Ang mga orihinal na pagsusulit ay nasa `assets/translations/en`. Ang mga pagsusulit ay hinati sa ilang mga grupo. Siguraduhing i-align ang pagnunumero sa tamang seksyon ng pagsusulit. May kabuuang 40 pagsusulit sa kurikulum na ito, na nagsisimula sa bilang na 0. + +Pagkatapos i-edit ang mga salin, i-edit ang file na `index.js` sa folder ng salin upang i-import ang lahat ng mga file ayon sa mga convention sa `en`. + +I-edit ang file na `index.js` sa `assets/translations` upang i-import ang mga bagong isinaling file. + +Pagkatapos, i-edit ang dropdown sa `App.vue` sa app na ito upang idagdag ang iyong wika. Itugma ang lokal na abbreviation sa pangalan ng folder para sa iyong wika. + +Sa wakas, i-edit ang lahat ng mga link ng pagsusulit sa mga isinaling aralin, kung mayroon, upang isama ang lokal na parameter bilang query: `?loc=fr` halimbawa. + +## Setup ng Proyekto + +``` +npm install +``` + +### Nagko-compile at nagre-reload para sa development + +``` +npm run serve +``` + +### Nagko-compile at nagmi-minify para sa production + +``` +npm run build +``` + +### Nagli-lint at nag-aayos ng mga file + +``` +npm run lint +``` + +### I-customize ang configuration + +Tingnan ang [Configuration Reference](https://cli.vuejs.org/config/). + +Mga Kredito: Salamat sa orihinal na bersyon ng app na ito ng pagsusulit: https://github.com/arpan45/simple-quiz-vue + +## Pag-deploy sa Azure + +Narito ang isang step-by-step na gabay upang matulungan kang magsimula: + +1. I-fork ang isang GitHub Repository +Siguraduhing ang iyong static web app code ay nasa iyong GitHub repository. I-fork ang repository na ito. + +2. Gumawa ng Azure Static Web App +- Gumawa ng [Azure account](http://azure.microsoft.com) +- Pumunta sa [Azure portal](https://portal.azure.com) +- I-click ang “Create a resource” at hanapin ang “Static Web App”. +- I-click ang “Create”. + +3. I-configure ang Static Web App +- **Basics**: + - Subscription: Piliin ang iyong Azure subscription. + - Resource Group: Gumawa ng bagong resource group o gumamit ng umiiral na. + - Name: Magbigay ng pangalan para sa iyong static web app. + - Region: Piliin ang rehiyon na pinakamalapit sa iyong mga user. + +- **Deployment Details**: + - Source: Piliin ang “GitHub”. + - GitHub Account: I-authorize ang Azure na ma-access ang iyong GitHub account. + - Organization: Piliin ang iyong GitHub organization. + - Repository: Piliin ang repository na naglalaman ng iyong static web app. + - Branch: Piliin ang branch na nais mong i-deploy. + +- **Build Details**: + - Build Presets: Piliin ang framework na ginamit sa paggawa ng iyong app (hal., React, Angular, Vue, atbp.). + - App Location: Tukuyin ang folder na naglalaman ng iyong app code (hal., / kung nasa root ito). + - API Location: Kung mayroon kang API, tukuyin ang lokasyon nito (opsyonal). + - Output Location: Tukuyin ang folder kung saan nabubuo ang build output (hal., build o dist). + +4. I-review at I-create +I-review ang iyong mga setting at i-click ang “Create”. Ang Azure ay magse-set up ng mga kinakailangang resources at gagawa ng GitHub Actions workflow sa iyong repository. + +5. GitHub Actions Workflow +Ang Azure ay awtomatikong gagawa ng GitHub Actions workflow file sa iyong repository (.github/workflows/azure-static-web-apps-.yml). Ang workflow na ito ang hahawak sa proseso ng build at deployment. + +6. I-monitor ang Deployment +Pumunta sa tab na “Actions” sa iyong GitHub repository. +Makikita mo ang isang workflow na tumatakbo. Ang workflow na ito ang magbi-build at magde-deploy ng iyong static web app sa Azure. +Kapag natapos ang workflow, magiging live na ang iyong app sa ibinigay na Azure URL. + +### Halimbawa ng Workflow File + +Narito ang halimbawa ng GitHub Actions workflow file: +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 +``` + +### Karagdagang Mga Mapagkukunan +- [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) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito. \ No newline at end of file diff --git a/translations/tl/sketchnotes/README.md b/translations/tl/sketchnotes/README.md new file mode 100644 index 00000000..eaa84c12 --- /dev/null +++ b/translations/tl/sketchnotes/README.md @@ -0,0 +1,21 @@ + +Hanapin ang lahat ng sketchnotes dito! + +## Mga Kredito + +Nitya Narasimhan, artista + +![roadmap sketchnote](../../../translated_images/00-Roadmap.4905d6567dff47532b9bfb8e0b8980fc6b0b1292eebb24181c1a9753b33bc0f5.tl.png) + +--- + +**Paunawa**: +Ang dokumentong ito ay isinalin gamit ang AI translation service na [Co-op Translator](https://github.com/Azure/co-op-translator). Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na maaaring magmula sa paggamit ng pagsasaling ito. \ No newline at end of file