[](https://youtu.be/beZ7Mb_oz9I)
[](https://youtu.be/beZ7Mb_oz9I)
Σε αυτή την πρόκληση, θα προσπαθήσουμε να βρούμε έννοιες σχετικές με τον τομέα της Επιστήμης Δεδομένων εξετάζοντας κείμενα. Θα πάρουμε ένα άρθρο από τη Wikipedia για την Επιστήμη Δεδομένων, θα κατεβάσουμε και θα επεξεργαστούμε το κείμενο και στη συνέχεια θα δημιουργήσουμε ένα σύννεφο λέξεων όπως αυτό:


Επισκεφθείτε το [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') γιανα διαβάσετε τον κώδικα. Μπορείτε επίσης να εκτελέσετε τον κώδικα και να δείτε πώς πραγματοποιεί όλες τις μετατροπές δεδομένων σε πραγματικό χρόνο.
"# Πρόκληση: Ανάλυση Κειμένου για Επιστήμη Δεδομένων\n",
"\n",
"Σε αυτό το παράδειγμα, ας κάνουμε μια απλή άσκηση που καλύπτει όλα τα βήματα μιας παραδοσιακής διαδικασίας επιστήμης δεδομένων. Δεν χρειάζεται να γράψετε κώδικα, μπορείτε απλώς να κάνετε κλικ στα παρακάτω κελιάγιανα τα εκτελέσετε και να παρατηρήσετε το αποτέλεσμα. Ως πρόκληση, σας ενθαρρύνουμε να δοκιμάσετε αυτόν τον κώδικα με διαφορετικά δεδομένα.\n",
"Σε αυτό το παράδειγμα, ας κάνουμε μια απλή άσκηση που καλύπτει όλα τα βήματα μιας παραδοσιακής διαδικασίας επιστήμης δεδομένων. Δεν χρειάζεται να γράψετε κώδικα, μπορείτε απλώς να κάνετε κλικ στα κελιά παρακάτω γιανα τα εκτελέσετε και να παρατηρήσετε το αποτέλεσμα. Ως πρόκληση, σας ενθαρρύνουμε να δοκιμάσετε αυτόν τον κώδικα με διαφορετικά δεδομένα.\n",
"\n",
"## Στόχος\n",
"\n",
"Σε αυτό το μάθημα, συζητήσαμε διάφορες έννοιες που σχετίζονται με την Επιστήμη Δεδομένων. Ας προσπαθήσουμε να ανακαλύψουμε περισσότερες σχετικές έννοιες κάνοντας **εξόρυξη κειμένου**. Θα ξεκινήσουμε με ένα κείμενο για την Επιστήμη Δεδομένων, θα εξάγουμε λέξεις-κλειδιά από αυτό και στη συνέχεια θα προσπαθήσουμε να οπτικοποιήσουμε το αποτέλεσμα.\n",
"Σε αυτό το μάθημα, έχουμε συζητήσει διάφορες έννοιες που σχετίζονται με την Επιστήμη Δεδομένων. Ας προσπαθήσουμε να ανακαλύψουμε περισσότερες σχετικές έννοιες κάνοντας **εξόρυξη κειμένου**. Θα ξεκινήσουμε με ένα κείμενο για την Επιστήμη Δεδομένων, θα εξαγάγουμε λέξεις-κλειδιά από αυτό και στη συνέχεια θα προσπαθήσουμε να οπτικοποιήσουμε το αποτέλεσμα.\n",
"\n",
"Ως κείμενο, θα χρησιμοποιήσω τη σελίδα για την Επιστήμη Δεδομένων από τη Wikipedia:\n"
],
@ -32,9 +32,9 @@
{
"cell_type": "markdown",
"source": [
"## Βήμα 1: Απόκτηση Δεδομένων\n",
"## Βήμα 1: Απόκτηση των δεδομένων\n",
"\n",
"Το πρώτο βήμα σε κάθε διαδικασία επιστήμης δεδομένων είναι η απόκτηση των δεδομένων. Θα χρησιμοποιήσουμε τη βιβλιοθήκη `requests` γιανα το κάνουμε:\n"
"Το πρώτο βήμα σε κάθε διαδικασία επιστήμης δεδομένων είναι η απόκτηση των δεδομένων. Θα χρησιμοποιήσουμε τη βιβλιοθήκη `requests` γιανα το κάνουμε αυτό:\n"
],
"metadata": {}
},
@ -66,45 +66,43 @@
{
"cell_type": "markdown",
"source": [
"## Βήμα 2: Μετατροπή των Δεδομένων\n",
"## Step 2: Μετασχηματισμός των Δεδομένων\n",
"\n",
"Το επόμενο βήμα είναι να μετατρέψουμε τα δεδομένα σε μορφή κατάλληλη για επεξεργασία. Στην περίπτωσή μας, έχουμε κατεβάσει τον πηγαίο κώδικα HTML από τη σελίδα και πρέπει να τον μετατρέψουμε σε απλό κείμενο.\n",
"Το επόμενο βήμα είναι να μετατρέψουμε τα δεδομένα σε μορφή κατάλληλη για επεξεργασία. Στην περίπτωσή μας, έχουμε κατεβάσει τον κώδικα πηγής HTML από τη σελίδα και πρέπει να τον μετατρέψουμε σε απλό κείμενο.\n",
"\n",
"Υπάρχουν πολλοί τρόποι γιανα γίνει αυτό. Θα χρησιμοποιήσουμε το πιο απλό ενσωματωμένο αντικείμενο [HTMLParser](https://docs.python.org/3/library/html.parser.html) από τη Python. Πρέπει να υποκλάσουμε την κλάση `HTMLParser` και να ορίσουμε τον κώδικα που θα συλλέγει όλο το κείμενο μέσα στις ετικέτες HTML, εκτός από τις ετικέτες `<script>` και `<style>`.\n"
"Υπάρχουν πολλοί τρόποι γιανα γίνει αυτό. Θα χρησιμοποιήσουμε το [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/), μια δημοφιλή βιβλιοθήκη Python για ανάλυση HTML. Το BeautifulSoup μας επιτρέπει να στοχεύσουμε σε συγκεκριμένα στοιχεία HTML, ώστε να μπορούμε να εστιάσουμε στο κύριο περιεχόμενο του άρθρου από τη Wikipedia και να μειώσουμε κάποια μενού πλοήγησης, πλαϊνές μπάρες, υποσέλιδα και άλλο άσχετο περιεχόμενο (αν και κάποιο γενικό κείμενο ενδέχεται να παραμείνει).\n"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Πρώτα, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη BeautifulSoup για ανάλυση HTML:\n"
"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Data science - Wikipedia Data science From Wikipedia, the free encyclopedia Jump to navigation Jump to search Interdisciplinary field of study focused on deriving knowledge and insights from data Not to be confused with information science . The existence of Comet NEOWISE (here depicted as a series of red dots) was discovered by analyzing astronomical survey data acquired by a space telescope , the Wide-field Infrared Survey Explorer . Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection AutoML Association rules Reinforcement learning Structured prediction Feature engineering Feature learning Online learning Semi-supervised learning Unsupervised learning Learning to rank Grammar induction Supervised learning ( classification • regression ) Decision trees Ensembles Bagging Boosting Random forest k -NN Linear regression Naive Bayes Artificial neural networks Logistic regression Perceptron Relevance vector machine \n"
"Data science From Wikipedia, the free encyclopedia Interdisciplinary field of study focused on deriving knowledge and insights from data Data science is an interdisciplinary academic field that uses statistics, scientific computing, scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from noisy, structured, and unstructured data. Data science also integrates domain knowledge from the underlying application domain. Data science is multifaceted and can be described as a science, a research paradigm, a research method, a discipline, a workflow, and a profession.\n"
]
}
],
@ -113,11 +111,11 @@
{
"cell_type": "markdown",
"source": [
"## Βήμα 3: Απόκτηση Ενδείξεων\n",
"## Step 3: Απόκτηση Εμπειριών\n",
"\n",
"Το πιο σημαντικό βήμα είναι να μετατρέψουμε τα δεδομένα μας σε μια μορφή από την οποία μπορούμε να αντλήσουμε ενδείξεις. Στην περίπτωσή μας, θέλουμε να εξάγουμε λέξεις-κλειδιά από το κείμενο και να δούμε ποιες λέξεις-κλειδιά είναι πιο σημαντικές.\n",
"Το πιο σημαντικό βήμα είναι να μετατρέψουμε τα δεδομένα μας σε μια μορφή από την οποία μπορούμε να αντλήσουμε εμπειρίες. Στην περίπτωσή μας, θέλουμε να εξάγουμε λέξεις-κλειδιά από το κείμενο και να δούμε ποιες λέξεις-κλειδιά είναι πιο σημαντικές.\n",
"\n",
"Θα χρησιμοποιήσουμε τη βιβλιοθήκη Python που ονομάζεται [RAKE](https://github.com/aneesha/RAKE) για την εξαγωγή λέξεων-κλειδιών. Πρώτα, ας εγκαταστήσουμε αυτή τη βιβλιοθήκη σε περίπτωση που δεν είναι ήδη εγκατεστημένη:\n"
"Θα χρησιμοποιήσουμε τη βιβλιοθήκη Python που ονομάζεται [RAKE](https://github.com/aneesha/RAKE) για την εξαγωγή λέξεων-κλειδιών. Αρχικά, ας εγκαταστήσουμε αυτή τη βιβλιοθήκη σε περίπτωση που δεν είναι εγκατεστημένη:\n"
],
"metadata": {}
},
@ -162,7 +160,7 @@
{
"cell_type": "markdown",
"source": [
"Η κύρια λειτουργικότητα είναι διαθέσιμη από το αντικείμενο `Rake`, το οποίο μπορούμε να προσαρμόσουμε χρησιμοποιώντας ορισμένες παραμέτρους. Στην περίπτωσή μας, θα ορίσουμε το ελάχιστο μήκος μιας λέξης-κλειδί σε 5 χαρακτήρες, την ελάχιστη συχνότητα μιας λέξης-κλειδί στο έγγραφο σε 3, και τον μέγιστο αριθμό λέξεων σε μια λέξη-κλειδί - σε 2. Μη διστάσετε να πειραματιστείτε με άλλες τιμές και να παρατηρήσετε το αποτέλεσμα.\n"
"Η κύρια λειτουργικότητα είναι διαθέσιμη από το αντικείμενο `Rake`, το οποίο μπορούμε να προσαρμόσουμε χρησιμοποιώντας ορισμένες παραμέτρους. Στη δική μας περίπτωση, θα ορίσουμε το ελάχιστο μήκος μιας λέξης-κλειδί σε 5 χαρακτήρες, τη ελάχιστη συχνότητα μιας λέξης-κλειδί στο έγγραφο σε 3, και τον μέγιστο αριθμό λέξεων σε μια λέξη-κλειδί - σε 2. Μη διστάσετε να πειραματιστείτε με άλλες τιμές και να παρατηρήσετε το αποτέλεσμα.\n"
],
"metadata": {}
},
@ -211,11 +209,12 @@
{
"cell_type": "markdown",
"source": [
"Αποκτήσαμε μια λίστα όρων μαζί με τον αντίστοιχο βαθμό σημασίας. Όπως μπορείτε να δείτε, οι πιο σημαντικοί κλάδοι, όπως η μηχανική μάθηση και τα μεγάλα δεδομένα, βρίσκονται στις κορυφαίες θέσεις της λίστας.\n",
"\n",
"Λάβαμε μια λίστα όρων μαζί με τον συνδεδεμένο βαθμό σημασίας. Όπως μπορείτε να δείτε, οι πιο σχετικές επιστημονικές περιοχές, όπως η μηχανική μάθηση και τα μεγάλα δεδομένα, είναι παρούσες στη λίστα στις κορυφαίες θέσεις.\n",
"\n",
"## Βήμα 4: Οπτικοποίηση του Αποτελέσματος\n",
"\n",
"Οι άνθρωποι μπορούν να ερμηνεύσουν καλύτερα τα δεδομένα σε οπτική μορφή. Επομένως, συχνά έχει νόημα να οπτικοποιούμε τα δεδομένα γιανα εξάγουμε κάποιες πληροφορίες. Μπορούμε να χρησιμοποιήσουμε τη βιβλιοθήκη `matplotlib` στην Python γιανα σχεδιάσουμε μια απλή κατανομή των λέξεων-κλειδιών με τη σημασία τους:\n"
"Οι άνθρωποι μπορούν να ερμηνεύσουν τα δεδομένα καλύτερα σε οπτική μορφή. Έτσι, συχνά έχει νόημα να οπτικοποιούμε τα δεδομένα γιανα αντλήσουμε κάποια συμπεράσματα. Μπορούμε να χρησιμοποιήσουμε τη βιβλιοθήκη `matplotlib` στην Python γιανα σχεδιάσουμε την απλή κατανομή των λέξεων-κλειδιών με τη σχετικότητά τους:\n"
],
"metadata": {}
},
@ -252,7 +251,7 @@
{
"cell_type": "markdown",
"source": [
"Υπάρχει, ωστόσο, ένας ακόμη καλύτερος τρόπος να οπτικοποιήσουμε τις συχνότητες λέξεων - χρησιμοποιώντας **Word Cloud**. Θα χρειαστεί να εγκαταστήσουμε μια άλλη βιβλιοθήκη γιαναδημιουργήσουμε το word cloud από τη λίστα των λέξεων-κλειδιών μας.\n"
"Υπάρχει, ωστόσο, ένας ακόμα καλύτερος τρόπος να οπτικοποιήσουμε τις συχνότητες των λέξεων - χρησιμοποιώντας **Word Cloud**. Θα χρειαστεί να εγκαταστήσουμε μια άλλη βιβλιοθήκη γιανασχεδιάσουμε το word cloud από τη λίστα των λέξεων-κλειδιών μας.\n"
],
"metadata": {}
},
@ -268,7 +267,7 @@
{
"cell_type": "markdown",
"source": [
"`Το αντικείμενο WordCloud είναι υπεύθυνο για τη λήψη είτε του αρχικού κειμένου, είτε μιας προϋπολογισμένης λίστας λέξεων με τις συχνότητές τους, και επιστρέφει μια εικόνα, η οποία μπορεί στη συνέχεια να εμφανιστεί χρησιμοποιώντας το matplotlib:`\n"
"Το αντικείμενο `WordCloud` είναι υπεύθυνο για τη λήψη είτε του αρχικού κειμένου είτε μιας προ-υπολογισμένης λίστας λέξεων με τις συχνότητές τους, και επιστρέφει μια εικόνα, η οποία μπορεί στη συνέχεια να εμφανιστεί χρησιμοποιώντας το `matplotlib`:\n"
],
"metadata": {}
},
@ -312,7 +311,7 @@
{
"cell_type": "markdown",
"source": [
"Μπορούμε επίσης να περάσουμε το αρχικό κείμενο στο `WordCloud` - ας δούμε αν μπορούμε ναέχουμε παρόμοιο αποτέλεσμα:\n"
"Μπορούμε επίσης να περάσουμε το αρχικό κείμενο στο `WordCloud` - ας δούμε αν μπορούμε ναπάρουμε παρόμοιο αποτέλεσμα:\n"
],
"metadata": {}
},
@ -372,11 +371,11 @@
{
"cell_type": "markdown",
"source": [
"Μπορείτε να δείτε ότι το word cloud τώρα φαίνεται πιο εντυπωσιακό, αλλά περιέχει επίσης πολύ θόρυβο (π.χ. άσχετες λέξεις όπως `Retrieved on`). Επίσης, λαμβάνουμε λιγότερες λέξεις-κλειδιά που αποτελούνται από δύο λέξεις, όπως *data scientist* ή *computer science*. Αυτό συμβαίνει επειδή ο αλγόριθμος RAKE κάνει πολύ καλύτερη δουλειά στην επιλογή καλών λέξεων-κλειδιών από το κείμενο. Αυτό το παράδειγμα υπογραμμίζει τη σημασία της προεπεξεργασίας και του καθαρισμού των δεδομένων, καθώς μια καθαρή εικόνα στο τέλος θα μας επιτρέψει να πάρουμε καλύτερες αποφάσεις.\n",
"Μπορείτε να δείτε ότι το word cloud τώρα φαίνεται πιο εντυπωσιακό, αλλά περιέχει επίσης πολύ θόρυβο (π.χ. μη σχετικά λόγια όπως `Retrieved on`). Επιπλέον, λαμβάνουμε λιγότερες λέξεις-κλειδιά που αποτελούνται από δύο λέξεις, όπως *data scientist* ή *computer science*. Αυτό συμβαίνει επειδή ο αλγόριθμος RAKE κάνει πολύ καλύτερη δουλειά στην επιλογή καλών λέξεων-κλειδιών από το κείμενο. Αυτό το παράδειγμα δείχνει τη σημασία της προεπεξεργασίας και καθαρισμού των δεδομένων, γιατί μια καθαρή εικόνα στο τέλος θα μας επιτρέψει να παίρνουμε καλύτερες αποφάσεις.\n",
"\n",
"Σε αυτή την άσκηση περάσαμε από μια απλή διαδικασία εξαγωγής νοήματος από κείμενο της Wikipedia, με τη μορφή λέξεων-κλειδιών και word cloud. Αυτό το παράδειγμα είναι αρκετά απλό, αλλά δείχνει καλά όλα τα τυπικά βήματα που θα ακολουθήσει ένας data scientist όταν εργάζεται με δεδομένα, ξεκινώντας από την απόκτηση δεδομένων μέχρι την οπτικοποίηση.\n",
"Σε αυτή την άσκηση περάσαμε από μια απλή διαδικασία εξαγωγής κάποιου νοήματος από το κείμενο της Wikipedia, με τη μορφή λέξεων-κλειδιών και word cloud. Αυτό το παράδειγμα είναι αρκετά απλό, αλλά παρουσιάζει καλά όλα τα τυπικά βήματα που θα ακολουθήσει ένας data scientist όταν εργάζεται με δεδομένα, ξεκινώντας από την απόκτηση δεδομένων μέχρι την απεικόνιση.\n",
"\n",
"Στο μάθημά μας θα συζητήσουμε όλα αυτά τα βήματα με λεπτομέρεια.\n"
"Στο μάθημά μας θα συζητήσουμε όλα αυτά τα βήματα λεπτομερώς.\n"
],
"metadata": {}
},
@ -394,7 +393,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Αποποίηση ευθύνης**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Ενώ καταβάλλουμε προσπάθεια για ακρίβεια, παρακαλούμε να γνωρίζετε ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στην αρχική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική μετάφραση από ανθρώπινο μεταφραστή. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"# Πρόκληση: Ανάλυση Κειμένου για την Επιστήμη Δεδομένων\n",
"# Πρόκληση: Ανάλυση Κειμένου σχετικά με την Επιστήμη Δεδομένων\n",
"\n",
"> *Σε αυτό το σημειωματάριο, πειραματιζόμαστε με τη χρήση διαφορετικών URL - άρθρο της Wikipedia για τη Μηχανική Μάθηση. Μπορείτε να δείτε ότι, σε αντίθεση με την Επιστήμη Δεδομένων, αυτό το άρθρο περιέχει πολλούς όρους, γεγονός που καθιστά την ανάλυση πιο προβληματική. Πρέπει να βρούμε έναν άλλο τρόπο να καθαρίσουμε τα δεδομένα μετά την εξαγωγή λέξεων-κλειδιών, ώστε να απαλλαγούμε από κάποιους συχνούς, αλλά όχι ουσιαστικούς συνδυασμούς λέξεων.*\n",
"> *Σε αυτό το τετράδιο, πειραματιζόμαστε με τη χρήση διαφορετικού URL - άρθρο της wikipedia για τη Μηχανική Μάθηση. Μπορείτε να δείτε ότι, σε αντίθεση με την Επιστήμη Δεδομένων, αυτό το άρθρο περιέχει πολλούς όρους, γεγονός που καθιστά την ανάλυση πιο προβληματική. Πρέπει να βρούμε έναν άλλο τρόπο να καθαρίσουμε τα δεδομένα μετά την εξαγωγή λέξεων-κλειδιών, γιανα απαλλαγούμε από κάποιους συχνούς, αλλά μη σημαντικούς συνδυασμούς λέξεων.*\n",
"\n",
"Σε αυτό το παράδειγμα, ας κάνουμε μια απλή άσκηση που καλύπτει όλα τα βήματα μιας παραδοσιακής διαδικασίας επιστήμης δεδομένων. Δεν χρειάζεται να γράψετε κανέναν κώδικα, μπορείτε απλώς να κάνετε κλικ στα παρακάτω κελιά γιανα τα εκτελέσετε και να παρατηρήσετε το αποτέλεσμα. Ως πρόκληση, σας ενθαρρύνουμε να δοκιμάσετε αυτόν τον κώδικα με διαφορετικά δεδομένα.\n",
"Σε αυτό το παράδειγμα, ας κάνουμε μια απλή άσκηση που καλύπτει όλα τα βήματα μιας παραδοσιακής διαδικασίας επιστήμης δεδομένων. Δεν χρειάζεται να γράψετε κώδικα, μπορείτε απλώς να κάνετε κλικ στα κελιά παρακάτω γιανα τα εκτελέσετε και να παρατηρήσετε το αποτέλεσμα. Ως πρόκληση, ενθαρρύνεστε να δοκιμάσετε αυτόν τον κώδικα με διαφορετικά δεδομένα.\n",
"\n",
"## Στόχος\n",
"\n",
"Σε αυτό το μάθημα, συζητήσαμε διάφορες έννοιες που σχετίζονται με την Επιστήμη Δεδομένων. Ας προσπαθήσουμε να ανακαλύψουμε περισσότερες σχετικές έννοιες κάνοντας **εξόρυξη κειμένου**. Θα ξεκινήσουμε με ένα κείμενο για την Επιστήμη Δεδομένων, θα εξάγουμε λέξεις-κλειδιά από αυτό και στη συνέχεια θα προσπαθήσουμε να οπτικοποιήσουμε το αποτέλεσμα.\n",
"Στο μάθημα αυτό, συζητάμε διάφορες έννοιες σχετικές με την Επιστήμη Δεδομένων. Ας προσπαθήσουμε να ανακαλύψουμε περισσότερες σχετικές έννοιες κάνοντας **εξόρυξη κειμένου**. Θα ξεκινήσουμε με ένα κείμενο για την Επιστήμη Δεδομένων, θα εξαγάγουμε λέξεις-κλειδιά από αυτό, και έπειτα θα προσπαθήσουμε να οπτικοποιήσουμε το αποτέλεσμα.\n",
"\n",
"Ως κείμενο, θα χρησιμοποιήσω τη σελίδα για την Επιστήμη Δεδομένων από τη Wikipedia:\n"
],
@ -35,9 +35,9 @@
{
"cell_type": "markdown",
"source": [
"## Βήμα 1: Απόκτηση Δεδομένων\n",
"## Βήμα 1: Απόκτηση των Δεδομένων\n",
"\n",
"Το πρώτο βήμα σε κάθε διαδικασία επιστήμης δεδομένων είναι η απόκτηση των δεδομένων. Θα χρησιμοποιήσουμε τη βιβλιοθήκη `requests` γιανα το κάνουμε:\n"
"Το πρώτο βήμα σε κάθε διαδικασία επιστήμης δεδομένων είναι η απόκτηση των δεδομένων. Θα χρησιμοποιήσουμε τη βιβλιοθήκη `requests` γιανα το κάνουμε αυτό:\n"
],
"metadata": {}
},
@ -73,41 +73,39 @@
"\n",
"Το επόμενο βήμα είναι να μετατρέψουμε τα δεδομένα σε μορφή κατάλληλη για επεξεργασία. Στην περίπτωσή μας, έχουμε κατεβάσει τον πηγαίο κώδικα HTML από τη σελίδα και πρέπει να τον μετατρέψουμε σε απλό κείμενο.\n",
"\n",
"Υπάρχουν πολλοί τρόποι γιανα γίνει αυτό. Θα χρησιμοποιήσουμε το πιο απλό ενσωματωμένο αντικείμενο [HTMLParser](https://docs.python.org/3/library/html.parser.html) από την Python. Πρέπει να υποκλάσουμε την κλάση `HTMLParser` και να ορίσουμε τον κώδικα που θα συλλέγει όλο το κείμενο μέσα στις ετικέτες HTML, εκτός από τις ετικέτες `<script>` και `<style>`.\n"
"Υπάρχουν πολλοί τρόποι γιανα γίνει αυτό. Θα χρησιμοποιήσουμε το [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/), μια δημοφιλής βιβλιοθήκη Python για την ανάλυση HTML. Το BeautifulSoup μας επιτρέπει να στοχεύουμε συγκεκριμένα στοιχεία HTML, ώστε να μπορούμε να εστιάσουμε στο κύριο περιεχόμενο του άρθρου από τη Wikipedia και να μειώσουμε κάποια μενού πλοήγησης, πλευρικές μπάρες, υποσέλιδα και άλλο άσχετο περιεχόμενο (αν και κάποιο κοινό κείμενο μπορεί να παραμείνει).\n"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Πρώτα, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη BeautifulSoup για ανάλυση HTML:\n"
"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Machine learning - Wikipedia Machine learning From Wikipedia, the free encyclopedia Jump to navigation Jump to search Study of algorithms that improve automatically through experience For the journal, see Machine Learning (journal) . \"Statistical learning\" redirects here. For statistical learning in linguistics, see statistical learning in language acquisition . Part of a series on Artificial intelligence Major goals Artificial general intelligence Planning Computer vision General game playing Knowledge reasoning Machine learning Natural language processing Robotics Approaches Symbolic Deep learning Bayesian networks Evolutionary algorithms Philosophy Ethics Existential risk Turing test Chinese room Control problem Friendly AI History Timeline Progress AI winter Technology Applications Projects Programming languages Glossary Glossary v t e Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection Data Cleaning AutoML Associ\n"
"Machine learning From Wikipedia, the free encyclopedia Study of algorithms that improve automatically through experience Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn from data and generalize to unseen data, and thus perform tasks without explicit instructions. Recently, artificial neural networks have been able to surpass many previous approaches in performance. ML finds application in many fields, including natural language processing, computer vision, speech recognition, email filtering, agriculture, and medicine.\n"
]
}
],
@ -116,11 +114,11 @@
{
"cell_type": "markdown",
"source": [
"## Βήμα 3: Απόκτηση Επισκοπήσεων\n",
"## Step 3: Απόκτηση Απεικονίσεων\n",
"\n",
"Το πιο σημαντικό βήμα είναι να μετατρέψουμε τα δεδομένα μας σε μορφή από την οποία μπορούμε να αντλήσουμε επισκοπήσεις. Στην περίπτωσή μας, θέλουμε να εξάγουμε λέξεις-κλειδιά από το κείμενο και να δούμε ποιες λέξεις-κλειδιά είναι πιο σημαντικές.\n",
"Το πιο σημαντικό βήμα είναι να μετατρέψουμε τα δεδομένα μας σε κάποια μορφή από την οποία μπορούμε να αντλήσουμε πληροφορίες. Στην περίπτωσή μας, θέλουμε να εξάγουμε λέξεις-κλειδιά από το κείμενο και να δούμε ποιες λέξεις-κλειδιά είναι πιο σημαντικές.\n",
"\n",
"Θα χρησιμοποιήσουμε τη βιβλιοθήκη Python που ονομάζεται [RAKE](https://github.com/aneesha/RAKE) για την εξαγωγή λέξεων-κλειδιών. Πρώτα, ας εγκαταστήσουμε αυτήν τη βιβλιοθήκη σε περίπτωση που δεν είναι ήδη διαθέσιμη:\n"
"Θα χρησιμοποιήσουμε τη βιβλιοθήκη Python που ονομάζεται [RAKE](https://github.com/aneesha/RAKE) για την εξαγωγή λέξεων-κλειδιών. Πρώτα, ας εγκαταστήσουμε αυτή τη βιβλιοθήκη σε περίπτωση που δεν είναι παρούσα:\n"
],
"metadata": {}
},
@ -172,7 +170,7 @@
{
"cell_type": "markdown",
"source": [
"Η κύρια λειτουργικότητα είναι διαθέσιμη από το αντικείμενο `Rake`, το οποίο μπορούμε να προσαρμόσουμε χρησιμοποιώντας ορισμένες παραμέτρους. Στην περίπτωσή μας, θα ορίσουμε το ελάχιστο μήκος μιας λέξης-κλειδί σε 5 χαρακτήρες, την ελάχιστη συχνότητα μιας λέξης-κλειδί στο έγγραφο σε 3, και τον μέγιστο αριθμό λέξεων σε μια λέξη-κλειδί - σε 2. Μη διστάσετε να πειραματιστείτε με άλλες τιμές και να παρατηρήσετε το αποτέλεσμα.\n"
"Η κύρια λειτουργικότητα είναι διαθέσιμη από το αντικείμενο `Rake`, το οποίο μπορούμε να προσαρμόσουμε χρησιμοποιώντας ορισμένες παραμέτρους. Στην περίπτωσή μας, θα ορίσουμε το ελάχιστο μήκος μιας λέξης-κλειδιού στα 5 χαρακτήρες, τη ελάχιστη συχνότητα μιας λέξης-κλειδιού στο έγγραφο σε 3 και τον μέγιστο αριθμό λέξεων σε μια λέξη-κλειδί - σε 2. Μη διστάσετε να πειραματιστείτε με άλλες τιμές και να παρατηρήσετε το αποτέλεσμα.\n"
],
"metadata": {}
},
@ -353,11 +351,12 @@
{
"cell_type": "markdown",
"source": [
"Λάβαμε μια λίστα όρων μαζί με τον αντίστοιχο βαθμό σημασίας. Όπως μπορείτε να δείτε, οι πιο σχετικές επιστημονικές περιοχές, όπως η μηχανική μάθηση και τα μεγάλα δεδομένα, βρίσκονται στις κορυφαίες θέσεις της λίστας.\n",
"\n",
"Λάβαμε μια λίστα όρων μαζί με τον αντίστοιχο βαθμό σημασίας. Όπως μπορείτε να δείτε, οι πιο σχετικές επιστήμες, όπως η μηχανική μάθηση και τα μεγάλα δεδομένα, είναι παρούσες στη λίστα στις κορυφαίες θέσεις.\n",
"\n",
"## Βήμα 4: Οπτικοποίηση του Αποτελέσματος\n",
"\n",
"Οι άνθρωποι μπορούν να ερμηνεύσουν τα δεδομένα καλύτερα σε οπτική μορφή. Έτσι, συχνά έχει νόημα να οπτικοποιούμε τα δεδομένα γιανα αντλήσουμε κάποιες πληροφορίες. Μπορούμε να χρησιμοποιήσουμε τη βιβλιοθήκη `matplotlib` στην Python γιανα σχεδιάσουμε μια απλή κατανομή των λέξεων-κλειδιών με τη σχετικότητά τους:\n"
"Οι άνθρωποι μπορούν να ερμηνεύσουν καλύτερα τα δεδομένα με οπτική μορφή. Συνεπώς, συχνά έχει νόημα να οπτικοποιήσουμε τα δεδομένα γιανα αντλήσουμε κάποιες γνώσεις. Μπορούμε να χρησιμοποιήσουμε τη βιβλιοθήκη `matplotlib` στη Python γιανα σχεδιάσουμε μια απλή κατανομή των λέξεων-κλειδιών με τη σχετικότητά τους:\n"
],
"metadata": {}
},
@ -392,7 +391,7 @@
{
"cell_type": "markdown",
"source": [
"Υπάρχει, ωστόσο, ένας ακόμη καλύτερος τρόπος να οπτικοποιήσουμε τις συχνότητες λέξεων - χρησιμοποιώντας **Word Cloud**. Θα χρειαστεί να εγκαταστήσουμε μια άλλη βιβλιοθήκη γιαναδημιουργήσουμε το word cloud από τη λίστα των λέξεων-κλειδιών μας.\n"
"Υπάρχει, ωστόσο, ένας ακόμα καλύτερος τρόπος να οπτικοποιήσουμε τις συχνότητες λέξεων - χρησιμοποιώντας **Word Cloud**. Θα χρειαστεί να εγκαταστήσουμε μια άλλη βιβλιοθήκη γιανασχεδιάσουμε το word cloud από τη λίστα των λέξεων-κλειδιών μας.\n"
],
"metadata": {}
},
@ -408,7 +407,7 @@
{
"cell_type": "markdown",
"source": [
"Το αντικείμενο `WordCloud` είναι υπεύθυνο για τη λήψη είτε του αρχικού κειμένου, είτε μιας προϋπολογισμένης λίστας λέξεων με τις συχνότητές τους, και επιστρέφει μια εικόνα, η οποία μπορεί στη συνέχεια να εμφανιστεί χρησιμοποιώντας το `matplotlib`:\n"
"Το αντικείμενο `WordCloud` είναι υπεύθυνο για τη λήψη είτε του αρχικού κειμένου, είτε μιας προ-υπολογισμένης λίστας λέξεων με τις συχνότητές τους, και επιστρέφει μια εικόνα, η οποία μπορεί στη συνέχεια να εμφανιστεί χρησιμοποιώντας το `matplotlib`:\n"
],
"metadata": {}
},
@ -441,7 +440,7 @@
{
"cell_type": "markdown",
"source": [
"Μπορούμε επίσης να περάσουμε το αρχικό κείμενο στο `WordCloud` - ας δούμε αν μπορούμε ναέχουμε παρόμοιο αποτέλεσμα:\n"
"Μπορούμε επίσης να περάσουμε το αρχικό κείμενο στο `WordCloud` - ας δούμε αν μπορούμε ναπάρουμε παρόμοιο αποτέλεσμα:\n"
],
"metadata": {}
},
@ -490,11 +489,11 @@
{
"cell_type": "markdown",
"source": [
"Μπορείτε να δείτε ότι το word cloud τώρα φαίνεται πιο εντυπωσιακό, αλλά περιέχει επίσης πολύ θόρυβο (π.χ. άσχετες λέξεις όπως `Retrieved on`). Επίσης, λαμβάνουμε λιγότερες λέξεις-κλειδιά που αποτελούνται από δύο λέξεις, όπως *data scientist* ή *computer science*. Αυτό συμβαίνει επειδή ο αλγόριθμος RAKE κάνει πολύ καλύτερη δουλειά στην επιλογή καλών λέξεων-κλειδιών από το κείμενο. Αυτό το παράδειγμα υπογραμμίζει τη σημασία της προεπεξεργασίας και του καθαρισμού των δεδομένων, καθώς μια καθαρή εικόνα στο τέλος θα μας επιτρέψει να πάρουμε καλύτερες αποφάσεις.\n",
"Μπορείτε να δείτε ότι το σύννεφο λέξεων τώρα φαίνεται πιο εντυπωσιακό, αλλά επίσης περιέχει πολλή φασαρία (π.χ. λέξεις άσχετες όπως `Retrieved on`). Επίσης, λαμβάνουμε λιγότερες λέξεις-κλειδιά που αποτελούνται από δύο λέξεις, όπως *data scientist* ή *computer science*. Αυτό συμβαίνει επειδή ο αλγόριθμος RAKE κάνει πολύ καλύτερη δουλειά στην επιλογή καλών λέξεων-κλειδιών από το κείμενο. Αυτό το παράδειγμα αναδεικνύει τη σημασία της προεπεξεργασίας και καθαρισμού δεδομένων, επειδή μια καθαρή εικόνα στο τέλος θα μας επιτρέψει να πάρουμε καλύτερες αποφάσεις.\n",
"\n",
"Σε αυτή την άσκηση περάσαμε από μια απλή διαδικασία εξαγωγής νοήματος από κείμενο της Wikipedia, με τη μορφή λέξεων-κλειδιών και word cloud. Αυτό το παράδειγμα είναι αρκετά απλό, αλλά δείχνει καλά όλα τα τυπικά βήματα που ακολουθεί ένας data scientist όταν εργάζεται με δεδομένα, ξεκινώντας από την απόκτηση δεδομένων μέχρι την οπτικοποίηση.\n",
"Σε αυτήν την άσκηση έχουμε περάσει από μια απλή διαδικασία εξαγωγής κάποιου νοήματος από το κείμενο της Wikipedia, με τη μορφή λέξεων-κλειδιών και σύννεφου λέξεων. Αυτό το παράδειγμα είναι αρκετά απλό, αλλά δείχνει καλά όλα τα τυπικά βήματα που θα ακολουθήσει ένας data scientist όταν εργάζεται με δεδομένα, ξεκινώντας από την απόκτηση δεδομένων, μέχρι την οπτικοποίηση.\n",
"\n",
"Στο μάθημά μας θα συζητήσουμε όλα αυτά τα βήματα με λεπτομέρεια.\n"
"Στο μάθημά μας θα συζητήσουμε όλα αυτά τα βήματα αναλυτικά.\n"
],
"metadata": {}
},
@ -502,7 +501,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Αποποίηση Ευθύνης**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Αποποίηση ευθυνών**: \nΑυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρότι επιδιώκουμε ακρίβεια, παρακαλούμε να σημειώσετε ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
Η Στατιστική και η Θεωρία Πιθανοτήτων είναι δύο στενά συνδεδεμένοι κλάδοι των Μαθηματικών που είναι εξαιρετικά σημαντικοί για την Επιστήμη Δεδομένων. Είναι δυνατόν να δουλέψουμε με δεδομένα χωρίς βαθιά γνώση μαθηματικών, αλλά είναι καλύτερο να γνωρίζουμε τουλάχιστον κάποιες βασικές έννοιες. Εδώ θα παρουσιάσουμε μια σύντομη εισαγωγή που θα σας βοηθήσει να ξεκινήσετε.
## [Κουίζ πριν το μάθημα](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@ -30,7 +30,7 @@
Μπορούμε μόνο να μιλήσουμε για την πιθανότητα μιας μεταβλητής να πέσει σε ένα δεδομένο διάστημα τιμών, π.χ. P(t<sub>1</sub>≤X<t<sub>2</sub>). Σε αυτή την περίπτωση, η κατανομή πιθανότητας περιγράφεται από μια **συνάρτηση πυκνότητας πιθανότητας** p(x), έτσι ώστε
Ένα συνεχές ανάλογο της ομοιόμορφης κατανομής ονομάζεται **συνεχής ομοιόμορφη**, η οποία ορίζεται σε ένα πεπερασμένο διάστημα. Η πιθανότητα ότι η τιμή X πέφτει σε ένα διάστημα μήκους l είναι ανάλογη του l και φτάνει μέχρι το 1.
@ -73,11 +73,11 @@
Ακολουθεί το κουτίγραμμα που δείχνει τη μέση τιμή, τη διάμεσο και τα τεταρτημόρια για τα δεδομένα μας:
Επειδή τα δεδομένα μας περιέχουν πληροφορίες για διαφορετικούς **ρόλους** παικτών, μπορούμε επίσης να δημιουργήσουμε κουτίγραμμα ανά ρόλο - αυτό θα μας επιτρέψει να κατανοήσουμε πώς οι τιμές των παραμέτρων διαφέρουν ανάλογα με τους ρόλους. Αυτή τη φορά θα εξετάσουμε το ύψος:


Αυτό το διάγραμμα υποδεικνύει ότι, κατά μέσο όρο, το ύψος των πρώτων βασικών παικτών είναι μεγαλύτερο από το ύψος των δεύτερων βασικών παικτών. Αργότερα σε αυτό το μάθημα θα μάθουμε πώς μπορούμε να ελέγξουμε αυτή την υπόθεση πιο επίσημα και πώς να δείξουμε ότι τα δεδομένα μας είναι στατιστικά σημαντικά γιανα το αποδείξουν.
@ -85,7 +85,7 @@
Για να δούμε ποια είναι η κατανομή των δεδομένων μας, μπορούμε να σχεδιάσουμε ένα γράφημα που ονομάζεται **ιστόγραμμα**. Ο άξονας Χ θα περιέχει έναν αριθμό διαφορετικών διαστημάτων βάρους (τα λεγόμενα **bins**), και ο κάθετος άξονας θα δείχνει τον αριθμό των φορών που το δείγμα της τυχαίας μεταβλητής μας ήταν μέσα σε ένα δεδομένο διάστημα.
Από αυτό το ιστόγραμμα μπορείτε να δείτε ότι όλες οι τιμές είναι συγκεντρωμένες γύρω από μια συγκεκριμένη μέση τιμή βάρους, και όσο πιο μακριά πηγαίνουμε από αυτή τη μέση τιμή - τόσο λιγότερα βάρη αυτής της τιμής συναντώνται. Δηλαδή, είναι πολύ απίθανο το βάρος ενός παίκτη μπέιζμπολ να είναι πολύ διαφορετικό από τη μέση τιμή. Η διασπορά των βαρών δείχνει την έκταση στην οποία τα βάρη είναι πιθανό να διαφέρουν από τη μέση τιμή.
Αν σχεδιάσουμε το ιστόγραμμα των παραγόμενων δειγμάτων, θα δούμε μια εικόνα πολύ παρόμοια με αυτή που φαίνεται παραπάνω. Καιαν αυξήσουμε τον αριθμό των δειγμάτων και τον αριθμό των bins, μπορούμε να δημιουργήσουμε μια εικόνα της κανονικής κατανομής που είναι πιο κοντά στο ιδανικό:


*Κανονική Κατανομή με mean=0 και std.dev=1*
@ -218,7 +218,7 @@ array([[1. , 0.52959196],
Στην περίπτωσή μας, η τιμή 0.53 υποδεικνύει ότι υπάρχει κάποια συσχέτιση μεταξύ του βάρους και του ύψους ενός ατόμου. Μπορούμε επίσης να κάνουμε το διάγραμμα διασποράς μιας τιμής έναντι της άλλης γιανα δούμε τη σχέση οπτικά:


> Περισσότερα παραδείγματα συσχέτισης και συνδιακύμανσης μπορείτε να βρείτε στο [συνοδευτικό σημειωματάριο](notebook.ipynb).


> Φωτογραφία από <ahref="https://unsplash.com/@dawson2406?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Stephen Dawson</a> στο <ahref="https://unsplash.com/s/photos/data?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Σε αυτά τα μαθήματα, θα ανακαλύψετε πώς ορίζεται η Επιστήμη Δεδομένων και θα μάθετε για τις ηθικές παραμέτρους που πρέπει να λαμβάνει υπόψη ένας επιστήμονας δεδομένων. Θα μάθετε επίσης πώς ορίζονται τα δεδομένα και θα αποκτήσετε μια βασική κατανόηση της στατιστικής και της πιθανότητας, των βασικών ακαδημαϊκών πεδίων της Επιστήμης Δεδομένων.
Ενώ οι βάσεις δεδομένων προσφέρουν πολύ αποτελεσματικούς τρόπους αποθήκευσης δεδομένων και ερωτημάτων μέσω γλωσσών ερωτημάτων, ο πιο ευέλικτος τρόπος επεξεργασίας δεδομένων είναι η δημιουργία του δικού σας προγράμματος για την επεξεργασία τους. Σε πολλές περιπτώσεις, η χρήση ερωτημάτων βάσης δεδομένων είναι πιο αποτελεσματική. Ωστόσο, σε ορισμένες περιπτώσεις όπου απαιτείται πιο σύνθετη επεξεργασία δεδομένων, αυτό δεν μπορεί να γίνει εύκολα με SQL.
Η επεξεργασία δεδομένων μπορεί να προγραμματιστεί σε οποιαδήποτε γλώσσα προγραμματισμού, αλλά υπάρχουν ορισμένες γλώσσες που είναι πιο κατάλληλες για εργασία με δεδομένα. Οι επιστήμονες δεδομένων συνήθως προτιμούν μία από τις παρακάτω γλώσσες:
@ -64,7 +64,7 @@ print(f"Length of index is {len(idx)}")
Τώρα υποθέστε ότι κάθε εβδομάδα οργανώνουμε ένα πάρτι για φίλους και παίρνουμε επιπλέον 10 πακέτα παγωτού για το πάρτι. Μπορούμε να δημιουργήσουμε μια άλλη σειρά, με δείκτη εβδομάδας, γιανα το δείξουμε:
> **Σημείωση** ότι δεν χρησιμοποιούμε απλή σύνταξη `total_items+additional_items`. Εάν το κάναμε, θα λαμβάναμε πολλές τιμές `NaN` (*Not a Number*) στη σειρά που προκύπτει. Αυτό συμβαίνει επειδή υπάρχουν ελλείπουσες τιμές για ορισμένα σημεία δείκτη στη σειρά `additional_items`, και η προσθήκη `NaN` σε οτιδήποτε έχει ως αποτέλεσμα `NaN`. Έτσι, πρέπει να καθορίσουμε την παράμετρο `fill_value` κατά την πρόσθεση.
Επειδή θέλουμε να δείξουμε πώς να χειριζόμαστε δεδομένα, σας προσκαλούμε να ανοίξετε το [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) και να το διαβάσετε από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.
> Αν δεν γνωρίζετε πώς να εκτελέσετε κώδικα στο Jupyter Notebook, ρίξτε μια ματιά σε αυτό το [άρθρο](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@ -216,7 +216,7 @@ df = pd.read_csv('file.csv')
Ανοίξτε το [`notebook-papers.ipynb`](notebook-papers.ipynb) και διαβάστε το από την αρχή μέχρι το τέλος. Μπορείτε επίσης να εκτελέσετε τα κελιά και να κάνετε κάποιες προκλήσεις που έχουμε αφήσει για εσάς στο τέλος.


> Φωτογραφία από <ahref="https://unsplash.com/@swimstaralex?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Alexander Sinn</a> στο <ahref="https://unsplash.com/s/photos/data?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Σε αυτά τα μαθήματα, θα μάθετε μερικούς από τους τρόπους με τους οποίους μπορούν να διαχειριστούν, να τροποποιηθούν και να χρησιμοποιηθούν τα δεδομένα σε εφαρμογές. Θα μάθετε για σχεσιακές και μη σχεσιακές βάσεις δεδομένων και πώς μπορούν να αποθηκευτούν δεδομένα σε αυτές. Θα μάθετε τα βασικά της εργασίας με την Python για τη διαχείριση δεδομένων και θα ανακαλύψετε μερικούς από τους πολλούς τρόπους με τους οποίους μπορείτε να χρησιμοποιήσετε την Python για τη διαχείριση και την εξόρυξη δεδομένων.
Τώρα, δείξτε τα ίδια δεδομένα με μια χρωματική παλέτα που θυμίζει μέλι, γιανα δείξετε πώς εξελίσσεται η τιμή με την πάροδο των ετών. Μπορείτε να το κάνετε αυτό προσθέτοντας την παράμετρο 'hue' γιανα δείξετε την αλλαγή, χρόνο με τον χρόνο:
Με αυτή την αλλαγή χρωματικής παλέτας, μπορείτε να δείτε ότι υπάρχει προφανώς μια ισχυρή πρόοδος με την πάροδο των ετών όσον αφορά την τιμή του μελιού ανά λίβρα. Πράγματι, αν εξετάσετε ένα δείγμα δεδομένων (π.χ. την πολιτεία της Αριζόνα), μπορείτε να δείτε ένα μοτίβο αύξησης της τιμής χρόνο με τον χρόνο, με λίγες εξαιρέσεις:
Είναι αυτό μια απλή περίπτωση προσφοράς και ζήτησης; Λόγω παραγόντων όπως η κλιματική αλλαγή και η κατάρρευση αποικιών, υπάρχει λιγότερο διαθέσιμο μέλι για αγορά χρόνο με τον χρόνο, και έτσι αυξάνεται η τιμή;
✅ Επειδή το Seaborn συγκεντρώνει δεδομένα γύρω από μία γραμμή, εμφανίζει «τις πολλαπλές μετρήσεις σε κάθε τιμή x σχεδιάζοντας τον μέσο όρο και το διάστημα εμπιστοσύνης 95% γύρω από τον μέσο όρο». [Πηγή](https://seaborn.pydata.org/tutorial/relational.html). Αυτή η χρονοβόρα συμπεριφορά μπορεί να απενεργοποιηθεί προσθέτοντας `ci=None`.
Απάντηση: Όχι ακριβώς. Αν κοιτάξετε τη συνολική παραγωγή, φαίνεται να έχει αυξηθεί εκείνη τη χρονιά, παρόλο που γενικά η ποσότητα του παραγόμενου μελιού μειώνεται κατά τη διάρκεια αυτών των ετών.
@ -130,7 +130,7 @@ sns.relplot(
```
Σε αυτή την οπτικοποίηση, μπορείτε να συγκρίνετε την απόδοση ανά αποικία και τον αριθμό των αποικιών χρόνο με τον χρόνο, δίπλα-δίπλα, με το περιτύλιγμα να έχει οριστεί στις 3 στήλες:
Για αυτό το σύνολο δεδομένων, τίποτα ιδιαίτερο δεν ξεχωρίζει όσον αφορά τον αριθμό των αποικιών και την απόδοσή τους, χρόνο με τον χρόνο και πολιτεία με πολιτεία. Υπάρχει διαφορετικός τρόπος να βρείτε μια συσχέτιση μεταξύ αυτών των δύο μεταβλητών;
Ενώ τίποτα δεν τραβάει την προσοχή γύρω στο έτος 2003, αυτό μας επιτρέπει να κλείσουμε το μάθημα με μια πιο αισιόδοξη νότα: ενώ υπάρχει συνολικά μια μείωση στον αριθμό των αποικιών, ο αριθμός των αποικιών σταθεροποιείται, ακόμα κι αν η απόδοσή τους ανά αποικία μειώνεται.
Εδώ, εγκαθιστάτε το πακέτο `ggplot2` και στη συνέχεια το εισάγετε στον χώρο εργασίας χρησιμοποιώντας την εντολή `library("ggplot2")`. Για να σχεδιάσετε οποιοδήποτε διάγραμμα στο ggplot, χρησιμοποιείται η συνάρτηση `ggplot()` και καθορίζετε το σύνολο δεδομένων, τις μεταβλητές x και y ως χαρακτηριστικά. Σε αυτή την περίπτωση, χρησιμοποιούμε τη συνάρτηση `geom_line()` καθώς σκοπεύουμε να σχεδιάσουμε ένα γραμμικό διάγραμμα.
Τι παρατηρείτε αμέσως; Φαίνεται να υπάρχει τουλάχιστον μία ακραία τιμή - αυτό είναι αρκετά μεγάλο άνοιγμα φτερών! Ένα άνοιγμα φτερών άνω των 2000 εκατοστών ισοδυναμεί με πάνω από 20 μέτρα - υπάρχουν Πτερόδακτυλοι που περιφέρονται στη Μινεσότα; Ας ερευνήσουμε.
Καθορίζουμε τη γωνία στο `theme` και καθορίζουμε τις ετικέτες των αξόνων x και y στα `xlab()` και `ylab()` αντίστοιχα. Το`ggtitle()` δίνει ένα όνομα στο γράφημα/διάγραμμα.
Ακόμα και με την περιστροφή των ετικετών στις 45 μοίρες, υπάρχουν πάρα πολλές γιανα διαβαστούν. Ας δοκιμάσουμε μια διαφορετική στρατηγική: ετικέτα μόνο για τις ακραίες τιμές και τοποθέτηση των ετικετών μέσα στο διάγραμμα. Μπορείτε να χρησιμοποιήσετε ένα διάγραμμα διασποράς γιανα δημιουργήσετε περισσότερο χώρο για την επισήμανση:
Δημιουργήσαμε ένα νέο dataframe `birds_filtered` και στη συνέχεια σχεδιάσαμε ένα διάγραμμα διασποράς. Φιλτράροντας τις ακραίες τιμές, τα δεδομένα σας είναι τώρα πιο συνεκτικά και κατανοητά.
Στο παρακάτω απόσπασμα, εγκαθιστούμε τα πακέτα [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) και [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) γιανα βοηθήσουμε στη διαχείριση και ομαδοποίηση δεδομένων προκειμένου να σχεδιάσουμε ένα στοίβαγμα ραβδογράμματος. Πρώτα, ομαδοποιείτε τα δεδομένα ανά `Category` του πουλιού και στη συνέχεια συνοψίζετε τις στήλες `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Στη συνέχεια, σχεδιάζετε το ραβδόγραμμα χρησιμοποιώντας το πακέτο `ggplot2` και καθορίζετε τα χρώματα για τις διαφορετικές κατηγορίες και τις ετικέτες.


Αυτό το ραβδόγραμμα, ωστόσο, είναι δυσανάγνωστο επειδή υπάρχουν πάρα πολλά μη ομαδοποιημένα δεδομένα. Χρειάζεται να επιλέξετε μόνο τα δεδομένα που θέλετε να σχεδιάσετε, οπότε ας δούμε το μήκος των πουλιών με βάση την κατηγορία τους.
Πρώτα μετράτε μοναδικές τιμές στη στήλη `Category` και στη συνέχεια τις ταξινομείτε σε ένα νέο dataframe `birds_count`. Αυτά τα ταξινομημένα δεδομένα στη συνέχεια λαμβάνονται υπόψη στο ίδιο επίπεδο ώστε να σχεδιαστούν με ταξινομημένο τρόπο. Χρησιμοποιώντας το `ggplot2` σχεδιάζετε στη συνέχεια τα δεδομένα σε ένα ραβδόγραμμα. Το`coord_flip()` σχεδιάζει οριζόντιες μπάρες.
Αυτό το ραβδόγραμμα δείχνει μια καλή εικόνα του αριθμού των πουλιών σε κάθε κατηγορία. Με μια ματιά, βλέπετε ότι ο μεγαλύτερος αριθμός πουλιών σε αυτή την περιοχή ανήκει στην κατηγορία Πάπιες/Χήνες/Υδρόβια. Η Μινεσότα είναι η "γη των 10.000 λιμνών", οπότε αυτό δεν είναι έκπληξη!
Τίποτα δεν είναι εκπληκτικό εδώ: τα κολιμπρί έχουν το μικρότερο MaxLength σε σύγκριση με τους Πελεκάνους ή τις Χήνες. Είναι καλό όταν τα δεδομένα έχουν λογική!


Αυτό δίνει μια γενική εικόνα της κατανομής του μήκους σώματος ανά Τάξη πουλιών, αλλά δεν είναι ο βέλτιστος τρόπος γιανα εμφανιστούν οι πραγματικές κατανομές. Αυτή η εργασία συνήθως γίνεται με τη δημιουργία Ιστογραμμάτων.


Όπως βλέπετε, τα περισσότερα από τα 400+ πουλιά σε αυτό το σύνολο δεδομένων βρίσκονται στο εύρος κάτω από 2000 για τη Μέγιστη Μάζα Σώματος. Αποκτήστε περισσότερη εικόνα για τα δεδομένα αλλάζοντας την παράμετρο `bins` σε μεγαλύτερο αριθμό, όπως 30:
Αυτό το γράφημα δείχνει την κατανομή με λίγο πιο λεπτομερή τρόπο. Ένα γράφημα λιγότερο προκατειλημμένο προς τα αριστερά θα μπορούσε να δημιουργηθεί διασφαλίζοντας ότι επιλέγετε μόνο δεδομένα εντός ενός συγκεκριμένου εύρους:
✅ Δοκιμάστε άλλα φίλτρα και σημεία δεδομένων. Για να δείτε την πλήρη κατανομή των δεδομένων, αφαιρέστε το φίλτρο `['MaxBodyMass']`γιανα εμφανίσετε κατανομές με ετικέτες.
Φαίνεται να υπάρχει μια αναμενόμενη συσχέτιση μεταξύ αυτών των δύο στοιχείων κατά μήκος ενός αναμενόμενου άξονα, με ένα ιδιαίτερα ισχυρό σημείο σύγκλισης:


Δεν φαίνεται να υπάρχει καλή συσχέτιση μεταξύ του ελάχιστου ανοίγματος φτερών και της κατάστασης διατήρησης. Δοκιμάστε άλλα στοιχεία του συνόλου δεδομένων χρησιμοποιώντας αυτή τη μέθοδο. Μπορείτε να δοκιμάσετε διαφορετικά φίλτρα επίσης. Βρίσκετε κάποια συσχέτιση;
Μπορείτε να δείτε πώς το διάγραμμα αντικατοπτρίζει το προηγούμενο για τα δεδομένα Ελάχιστου Ανοίγματος Φτερών· είναι απλώς λίγο πιο ομαλό. Αν θέλατε να επανεξετάσετε εκείνη τη "σκαλοπάτια" γραμμή της MaxBodyMass στο δεύτερο διάγραμμα που δημιουργήσατε, θα μπορούσατε να την εξομαλύνετε πολύ καλά αναδημιουργώντας την με αυτή τη μέθοδο:
Ορίστε, ένα γράφημα πίτας που δείχνει τις αναλογίες αυτών των δεδομένων σύμφωνα με αυτές τις δύο κατηγορίες μανιταριών. Είναι αρκετά σημαντικό να έχετε τη σωστή σειρά των ετικετών, ειδικά εδώ, οπότε βεβαιωθείτε ότι έχετε επαληθεύσει τη σειρά με την οποία δημιουργείται ο πίνακας ετικετών!
Αυτός ο κώδικας χρησιμοποιεί τις δύο βιβλιοθήκες - ggplot2 και webr. Χρησιμοποιώντας τη συνάρτηση PieDonut της βιβλιοθήκης webr, μπορούμε να δημιουργήσουμε εύκολα ένα γράφημα ντόνατ!
Χρησιμοποιώντας ένα γράφημα βάφλας, μπορείτε να δείτε ξεκάθαρα τις αναλογίες χρωμάτων καπέλων σε αυτό το σύνολο δεδομένων μανιταριών. Ενδιαφέρον είναι ότι υπάρχουν πολλά μανιτάρια με πράσινα καπέλα!
Σε αυτό το μάθημα, μάθατε τρεις τρόπους γιανα οπτικοποιήσετε αναλογίες. Πρώτα, πρέπει να ομαδοποιήσετε τα δεδομένα σας σε κατηγορίες και στη συνέχεια να αποφασίσετε ποιος είναι ο καλύτερος τρόπος γιανα εμφανίσετε τα δεδομένα - πίτα, ντόνατ ή βάφλα. Όλα είναι νόστιμα και προσφέρουν στον χρήστη μια άμεση εικόνα ενός συνόλου δεδομένων.
Τώρα, δείξτε τα ίδια δεδομένα με μια χρωματική παλέτα που θυμίζει μέλι, γιανα δείξετε πώς εξελίσσεται η τιμή με την πάροδο των ετών. Μπορείτε να το κάνετε αυτό προσθέτοντας την παράμετρο 'scale_color_gradientn' γιανα δείξετε την αλλαγή, χρόνο με τον χρόνο:
Με αυτή την αλλαγή χρωματικής παλέτας, μπορείτε να δείτε ότι υπάρχει προφανώς μια ισχυρή εξέλιξη με την πάροδο των ετών όσον αφορά την τιμή του μελιού ανά λίβρα. Πράγματι, αν κοιτάξετε ένα δείγμα δεδομένων γιανα το επαληθεύσετε (επιλέξτε, για παράδειγμα, την Αριζόνα), μπορείτε να δείτε ένα μοτίβο αύξησης της τιμής χρόνο με τον χρόνο, με λίγες εξαιρέσεις:
Είναι αυτό μια απλή περίπτωση προσφοράς και ζήτησης; Λόγω παραγόντων όπως η κλιματική αλλαγή και η κατάρρευση αποικιών, υπάρχει λιγότερο διαθέσιμο μέλι για αγορά χρόνο με τον χρόνο, και έτσι αυξάνεται η τιμή;
Απάντηση: Όχι ακριβώς. Αν κοιτάξετε τη συνολική παραγωγή, φαίνεται να έχει αυξηθεί εκείνη τη χρονιά, παρόλο που γενικά η ποσότητα του παραγόμενου μελιού μειώνεται κατά τη διάρκεια αυτών των ετών.
Σε αυτή την οπτικοποίηση, μπορείτε να συγκρίνετε την απόδοση ανά αποικία και τον αριθμό των αποικιών χρόνο με τον χρόνο, δίπλα-δίπλα, με το περιτύλιγμα να έχει οριστεί στις 3 στήλες:
Για αυτό το σύνολο δεδομένων, τίποτα ιδιαίτερο δεν ξεχωρίζει όσον αφορά τον αριθμό των αποικιών και την απόδοσή τους, χρόνο με τον χρόνο και πολιτεία με πολιτεία. Υπάρχει διαφορετικός τρόπος να βρείτε μια συσχέτιση μεταξύ αυτών των δύο μεταβλητών;
Ενώ τίποτα δεν τραβάει την προσοχή γύρω στο 2003, αυτό μας επιτρέπει να κλείσουμε το μάθημα με μια πιο αισιόδοξη νότα: ενώ υπάρχει συνολικά μείωση στον αριθμό των αποικιών, ο αριθμός των αποικιών σταθεροποιείται, ακόμα κι αν η απόδοση ανά αποικία μειώνεται.
Ακόμα κι αν ένας επιστήμονας δεδομένων είναι προσεκτικός στην επιλογή του σωστού γραφήματος για τα σωστά δεδομένα, υπάρχουν πολλοί τρόποι με τους οποίους τα δεδομένα μπορούν να παρουσιαστούν με τρόπο που να αποδεικνύει ένα σημείο, συχνά εις βάρος της αλήθειας των δεδομένων. Υπάρχουν πολλά παραδείγματα παραπλανητικών γραφημάτων και infographics!
[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Πώς Ψεύδονται τα Γραφήματα")
[](https://www.youtube.com/watch?v=oX74Nge8Wkw "Πώς Ψεύδονται τα Γραφήματα")
> 🎥 Κάντε κλικ στην εικόνα παραπάνω για μια ομιλία συνεδρίου σχετικά με παραπλανητικά γραφήματα
Αυτό το γράφημα αντιστρέφει τον άξονα X γιανα δείξει το αντίθετο της αλήθειας, βάσει ημερομηνίας:
[Αυτό το γράφημα](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) είναι ακόμα πιο παραπλανητικό, καθώς το μάτι τραβιέται προς τα δεξιά γιανα συμπεράνει ότι, με την πάροδο του χρόνου, τα κρούσματα COVID έχουν μειωθεί στις διάφορες κομητείες. Στην πραγματικότητα, αν κοιτάξετε προσεκτικά τις ημερομηνίες, θα διαπιστώσετε ότι έχουν αναδιαταχθεί γιανα δώσουν αυτήν την παραπλανητική πτωτική τάση.
Αυτό το διαβόητο παράδειγμα χρησιμοποιεί χρώμα ΚΑΙ έναν αναστραμμένο άξονα Y γιανα παραπλανήσει: αντί να συμπεράνουμε ότι οι θάνατοι από όπλα αυξήθηκαν μετά την ψήφιση νομοθεσίας φιλικής προς τα όπλα, στην πραγματικότητα το μάτι ξεγελιέται να πιστεύει το αντίθετο:
Η σύγκριση του ασύγκριτου είναι ακόμα ένα ύπουλο κόλπο. Υπάρχει ένας [υπέροχος ιστότοπος](https://tylervigen.com/spurious-correlations) γεμάτος με 'ψευδείς συσχετίσεις' που εμφανίζουν 'γεγονότα' που συσχετίζουν πράγματα όπως το ποσοστό διαζυγίων στο Maine και την κατανάλωση μαργαρίνης. Μια ομάδα στο Reddit συλλέγει επίσης τις [άσχημες χρήσεις](https://www.reddit.com/r/dataisugly/top/?t=all) των δεδομένων.
@ -91,13 +91,13 @@
Αν τα δεδομένα σας είναι κείμενο και εκτενή στον άξονα X, μπορείτε να γωνιάσετε το κείμενο για καλύτερη ευανάγνωστοτητα. Το [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) προσφέρει 3D σχεδιασμό, αν τα δεδομένα σας το υποστηρίζουν. Μπορούν να παραχθούν εξελιγμένες οπτικοποιήσεις δεδομένων χρησιμοποιώντας το.
Μερικές από τις καλύτερες οπτικοποιήσεις δεδομένων σήμερα είναι κινούμενες. Η Shirley Wu έχει εκπληκτικές δημιουργίες με D3, όπως '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', όπου κάθε λουλούδι είναι μια οπτικοποίηση μιας ταινίας. Ένα άλλο παράδειγμα για τον Guardian είναι το 'bussed out', μια διαδραστική εμπειρία που συνδυάζει οπτικοποιήσεις με Greensock και D3 καθώς και ένα άρθρο σε μορφή scrollytelling γιανα δείξει πώς η Νέα Υόρκη διαχειρίζεται το πρόβλημα των αστέγων της, στέλνοντας ανθρώπους εκτός πόλης.
> "Bussed Out: Πώς η Αμερική Μετακινεί τους Άστεγους" από [τον Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Οπτικοποιήσεις από Nadieh Bremer & Shirley Wu
@ -107,7 +107,7 @@
Θα ολοκληρώσετε μια εφαρμογή ιστού που θα εμφανίζει μια κινούμενη προβολή αυτού του κοινωνικού δικτύου. Χρησιμοποιεί μια βιβλιοθήκη που δημιουργήθηκε γιανα δημιουργήσει μια [οπτικοποίηση ενός δικτύου](https://github.com/emiliorizzo/vue-d3-network) χρησιμοποιώντας Vue.js και D3. Όταν η εφαρμογή τρέχει, μπορείτε να μετακινήσετε τους κόμβους στην οθόνη γιανα ανακατέψετε τα δεδομένα.


> Φωτογραφία από <ahref="https://unsplash.com/@jenna2980?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Jenna Lee</a> στο <ahref="https://unsplash.com/s/photos/bees-in-a-meadow?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Η οπτικοποίηση δεδομένων είναι μία από τις πιο σημαντικές εργασίες ενός επιστήμονα δεδομένων. Μια εικόνα αξίζει όσο χίλιες λέξεις, και μια οπτικοποίηση μπορεί να σας βοηθήσει να εντοπίσετε κάθε είδους ενδιαφέροντα στοιχεία στα δεδομένα σας, όπως αιχμές, ακραίες τιμές, ομαδοποιήσεις, τάσεις και πολλά άλλα, που μπορούν να σας βοηθήσουν να κατανοήσετε την ιστορία που προσπαθούν να σας πουν τα δεδομένα σας.
Αυτό το μάθημα επικεντρώνεται σε 3 μέρη του κύκλου ζωής: συλλογή, επεξεργασία και συντήρηση.


> Φωτογραφία από [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Συλλογή
@ -92,7 +92,7 @@
|Διαδικασία Ομάδας Επιστήμης Δεδομένων (TDSP)|Δια-βιομηχανικό πρότυπο διαδικασίας για εξόρυξη δεδομένων (CRISP-DM)|
|--|--|
| |  |
| |  |
| Εικόνα από [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Εικόνα από [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Κουίζ Μετά τη Διάλεξη](https://ff-quizzes.netlify.app/en/ds/quiz/27)
> Φωτογραφία από <ahref="https://unsplash.com/@headwayio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Headway</a> στο <ahref="https://unsplash.com/s/photos/communication?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Σε αυτά τα μαθήματα, θα εξερευνήσετε ορισμένες πτυχές του κύκλου ζωής της Επιστήμης Δεδομένων, συμπεριλαμβανομένης της ανάλυσης και της επικοινωνίας γύρω από τα δεδομένα.
> Φωτογραφία από [Jelleke Vanooteghem](https://unsplash.com/@ilumire) στο [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
Όταν πρόκειται για την επιστήμη δεδομένων με μεγάλα δεδομένα, το cloud μπορεί να αλλάξει τα δεδομένα. Στα επόμενα τρία μαθήματα, θα δούμε τι είναι το cloud και γιατί μπορεί να είναι πολύ χρήσιμο. Θα εξερευνήσουμε επίσης ένα σύνολο δεδομένων για καρδιακή ανεπάρκεια και θα δημιουργήσουμε ένα μοντέλο γιανα βοηθήσουμε στην εκτίμηση της πιθανότητας κάποιος να έχει καρδιακή ανεπάρκεια. Θα χρησιμοποιήσουμε τη δύναμη του cloud γιανα εκπαιδεύσουμε, να αναπτύξουμε και να χρησιμοποιήσουμε ένα μοντέλο με δύο διαφορετικούς τρόπους. Ο ένας τρόπος είναι χρησιμοποιώντας μόνο το περιβάλλον χρήστη με μια προσέγγιση "Low code/No code", και ο άλλος τρόπος είναι χρησιμοποιώντας το Azure Machine Learning Software Developer Kit (Azure ML SDK).
* [Επιστήμη Δεδομένων στην Υγειονομική Περίθαλψη](https://data-flair.training/blogs/data-science-in-healthcare/) - αναδεικνύει εφαρμογές όπως η ιατρική απεικόνιση (π.χ., MRI, ακτινογραφία, CT-Scan), η γονιδιωματική (αλληλούχιση DNA), η ανάπτυξη φαρμάκων (αξιολόγηση κινδύνου, πρόβλεψη επιτυχίας), η προβλεπτική ανάλυση (φροντίδα ασθενών και εφοδιαστική), η παρακολούθηση και πρόληψη ασθενειών κ.λπ.
 Πηγή Εικόνας: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
 Πηγή Εικόνας: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Η εικόνα δείχνει άλλους τομείς και παραδείγματα για την εφαρμογή τεχνικών επιστήμης δεδομένων. Θέλετε να εξερευνήσετε άλλες εφαρμογές; Δείτε την ενότητα [Ανασκόπηση & Αυτομελέτη](../../../../6-Data-Science-In-Wild/20-Real-World-Examples) παρακάτω.
# Data Science για Αρχάριους - Ένα Πρόγραμμα Σπουδών
# Επιστήμη Δεδομένων για Αρχάριους - Ένα Αναλυτικό Πρόγραμμα
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
[](https://GitHub.com/microsoft/Data-Science-For-Beginners/graphs/contributors/)
[](https://aka.ms/foundry/forum)
ΟιΠρεσβευτές του Azure Cloud στη Microsoft είναι στην ευχάριστη θέση να προσφέρουν ένα δεκαεβδομαδιαίο πρόγραμμα σπουδών 10 εβδομάδων και 20 μαθημάτων που αφορά αποκλειστικά την Επιστήμη Δεδομένων. Κάθε μάθημα περιλαμβάνει κουίζ πριν και μετά το μάθημα, γραπτές οδηγίες για την ολοκλήρωση του μαθήματος, μία λύση και μία εργασία. Η παιδαγωγική μας που βασίζεται σε έργα σας επιτρέπει να μαθαίνετε καθώς δημιουργείτε, ένας αποδεδειγμένος τρόπος γιανα "εγκατασταθούν" νέες δεξιότητες.
ΟιAzure Cloud Advocates της Microsoft έχουν τη χαρά να προσφέρουν ένα 10-εβδομάδων, 20-μαθημάτων πρόγραμμα που αφορά όλη την Επιστήμη Δεδομένων. Κάθε μάθημα περιλαμβάνει κουίζ πριν και μετά το μάθημα, γραπτές οδηγίες ολοκλήρωσης του μαθήματος, μια λύση και μια εργασία. Η εκπαιδευτική προσέγγισή μας με βάση έργα σας επιτρέπει να μαθαίνετε ενώ δημιουργείτε, ένας αποδεδειγμένος τρόπος ώστε οι νέες δεξιότητες να «καρφώνονται».
> Αυτό το αποθετήριο περιλαμβάνει 50+ μεταφράσεις γλωσσών που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κάνετε κλωνοποίηση χωρίς τις μεταφράσεις, χρησιμοποιήστε sparse checkout:
> **Προτιμάτε να κάνετε κλωνοποίηση τοπικά;**
>
> Αυτό το αποθετήριο περιλαμβάνει πάνω από 50 μεταφράσεις γλωσσών που αυξάνουν σημαντικά το μέγεθος λήψης. Για να κλωνοποιήσετε χωρίς τις μεταφράσεις, χρησιμοποιήστε το sparse checkout:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Αυτό σας δίνει όλα όσα χρειάζεστε γιανα ολοκληρώσετε το μάθημα με πολύ πιο γρήγορη λήψη.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Εάν θέλετε να υποστηριχθούν επιπλέον γλώσσες μετάφρασης, αυτές αναφέρονται [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Εάν θέλετε να υποστηρίζονται επιπλέον γλώσσες μετάφρασης, αναφέρονται [εδώ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
Έχουμε σε εξέλιξη μια σειρά Discord μάθησης με AI, μάθετε περισσότερα και γίνετε μέλος μας στο [Learn with AI Series](https://aka.ms/learnwithai/discord) από 18 - 30 Σεπτεμβρίου 2025. Θα λάβετε συμβουλές και κόλπα για τη χρήση του GitHub Copilot για την Επιστήμη Δεδομένων.
Διοργανώνουμε μια σειρά Discord "Μάθετε με τη βοήθεια Τεχνητής Νοημοσύνης", μάθετε περισσότερα και συμμετέχετε στη [Σειρά Μάθησης με AI](https://aka.ms/learnwithai/discord) από 18 - 30 Σεπτεμβρίου, 2025. Θα λάβετε συμβουλές και κόλπα για τη χρήση του GitHub Copilot στην Επιστήμη Δεδομένων.


# Είσαι φοιτητής;
# Είσαι φοιτητής/φοιτήτρια;
Ξεκίνα με τους παρακάτω πόρους:
- [Σελίδα Κέντρου Φοιτητών](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) Σε αυτή τη σελίδα, θα βρεις πόρους για αρχάριους, πακέτα για φοιτητές και ακόμη τρόπους να πάρεις δωρεάν κουπόνι πιστοποίησης. Αυτή είναι μια σελίδα που θέλεις να αποθηκεύσεις στα αγαπημένα σου και να την ελέγχεις από καιρό σε καιρό καθώς ενημερώνουμε το περιεχόμενο τουλάχιστον κάθε μήνα.
- [Πρεσβευτές Φοιτητών Microsoft](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Γίνε μέλος μιας παγκόσμιας κοινότητας φοιτητών πρεσβευτών, αυτό μπορεί να είναι ο δρόμος σου προς τη Microsoft.
- [Σελίδα Φοιτητών](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) Σε αυτή τη σελίδα, θα βρεις πόρους για αρχάριους, πακέτα φοιτητών και ακόμη τρόπους γιανα αποκτήσεις δωρεάν κουπόνι πιστοποίησης. Αυτή είναι μια σελίδα που αξίζει να προσθέσεις στα αγαπημένα και να ελέγχεις συχνά καθώς ανανεώνουμε το περιεχόμενο τουλάχιστον μηνιαίως.
- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Εντάξου σε μια παγκόσμια κοινότητα πρεσβευτών φοιτητών, αυτή μπορεί να είναι η είσοδός σουστη Microsoft.
# Ξεκινώντας
## 📚 Τεκμηρίωση
- **[Οδηγός Εγκατάστασης](INSTALLATION.md)** - Οδηγίες βήμα προς βήμα για αρχάριους
- **[Οδηγός Χρήσης](USAGE.md)** - Παραδείγματα και συνηθισμένες εργασίες
- **[Αντιμετώπιση Προβλημάτων](TROUBLESHOOTING.md)** - Λύσεις σε συνηθισμένα θέματα
- **[Οδηγός Συνεργασίας](CONTRIBUTING.md)** - Πώς να συμβάλλετε σε αυτό το έργο
- **[Για Εκπαιδευτικούς](for-teachers.md)** - Κατευθύνσεις διδασκαλίας και υλικό τάξης
- **[Οδηγός Εγκατάστασης](INSTALLATION.md)** - βήμα προς βήμα οδηγίες εγκατάστασηςγια αρχάριους
- **[Οδηγός Χρήσης](USAGE.md)** - παραδείγματα και συνήθεις ροές εργασίας
- **[Αντιμετώπιση Προβλημάτων](TROUBLESHOOTING.md)** - λύσεις σε συνηθισμένα προβλήματα
- **[Οδηγός Συνεισφοράς](CONTRIBUTING.md)** - πώς να συνεισφέρετε σε αυτό το έργο
- **[Για Εκπαιδευτικούς](for-teachers.md)** - οδηγίες διδασκαλίας και πόροι τάξης
## 👨🎓 Για Φοιτητές
> **Απόλυτοι Αρχάριοι**: Νέοι στην επιστήμη δεδομένων; Ξεκινήστε με τα [φιλικά προς αρχάριους παραδείγματά μας](examples/README.md)! Αυτά τα απλά, καλά σχολιασμένα παραδείγματα θα σας βοηθήσουν να κατανοήσετε τα βασικά πριν βουτήξετε στο πλήρες πρόγραμμα σπουδών.
> **[Φοιτητές](https://aka.ms/student-page)**:γιανα χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών μόνοι σας, κάντε fork όλο το repository και ολοκληρώστε τις ασκήσεις μόνοι σας, ξεκινώντας με ένα κουίζ πριν το μάθημα. Στη συνέχεια διαβάστε το μάθημα και ολοκληρώστε τις υπόλοιπες δραστηριότητες. Προσπαθήστε να δημιουργήσετε τα έργα κατανοώντας τα μαθήματα αντί να αντιγράψετε τον κώδικα λύσης· ωστόσο, αυτός ο κώδικας είναι διαθέσιμος στους φακέλους /solutions σε κάθε μάθημα με προσανατολισμό σε έργο. Μια άλλη ιδέα είναι να δημιουργήσετε μια ομάδα μελέτης με φίλους και να περάσετε το περιεχόμενο μαζί. Για περαιτέρω μελέτη, προτείνουμε το [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
> **Πλήρης Αρχάριος:** Νέος στην επιστήμη δεδομένων; Ξεκίνα με τα [φιλικά για αρχάριους παραδείγματά μας](examples/README.md)! Αυτά τα απλά, καλογραμμένα παραδείγματα θα σε βοηθήσουν να κατανοήσεις τα βασικά πριν βυθιστείς στο πλήρες πρόγραμμα.
> **[Φοιτητές](https://aka.ms/student-page):** γιανα χρησιμοποιήσετε αυτό το πρόγραμμα μόνοι σας, κάντε fork ολόκληρου του αποθετηρίου και ολοκληρώστε τις ασκήσεις μόνοι σας, ξεκινώντας με ένα κουίζ πριν τη διάλεξη. Διαβάστε την διάλεξη και ολοκληρώστε τις υπόλοιπες δραστηριότητες. Προσπαθήστε να δημιουργήσετε τα έργα κατανοώντας τα μαθήματα παρά να αντιγράφετε τον κώδικα λύσης· ωστόσο, αυτός ο κώδικας είναι διαθέσιμος στους φακέλους /solutions σε κάθε μάθημα προσανατολισμένο σε έργο. Μια άλλη ιδέα είναι να σχηματίσετε μια ομάδα μελέτης με φίλους και να μελετήσετε μαζί το περιεχόμενο. Για περαιτέρω μελέτη, προτείνουμε το [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
**Γρήγορη Εκκίνηση:**
1. Ελέγξτε τον [Οδηγό Εγκατάστασης](INSTALLATION.md) γιανα ρυθμίσετε το περιβάλλον σας
2. Ανασκοπήστε τον [Οδηγό Χρήσης](USAGE.md) γιανα μάθετε πώς να δουλέψετε με το πρόγραμμα σπουδών
**Γρήγορη εκκίνηση:**
1. Τσεκάρετε τον [Οδηγό Εγκατάστασης](INSTALLATION.md) γιανα ρυθμίσετε το περιβάλλον σας
2. Εξετάστε τον [Οδηγό Χρήσης](USAGE.md) γιανα μάθετε πώς να δουλεύετε με το πρόγραμμα
3. Ξεκινήστε με το Μάθημα 1 και συνεχίστε διαδοχικά
4. Γίνετε μέλος της [κοινότητας Discord μας](https://aka.ms/ds4beginners/discord) για υποστήριξη
4. Ενταχθείτε στην κοινότητά μας στο [Discord](https://aka.ms/ds4beginners/discord) για υποστήριξη
## 👩🏫 Για Εκπαιδευτικούς
> **Καθηγητές**: έχουμε [συμπεριλάβει μερικές προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το αναλυτικό πρόγραμμα. Θα εκτιμούσαμε τα σχόλιά σας [στο φόρουμ συζητήσεών μας](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
> **Εκπαιδευτικοί**: έχουμε [συμπεριλάβει μερικές προτάσεις](for-teachers.md) για το πώς να χρησιμοποιήσετε αυτό το πρόγραμμα σπουδών. Θα χαρούμε να λάβουμε τα σχόλιά σας [στο φόρουμ συζητήσεών μας](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
> 🎥 Κάντε κλικ στην εικόνα παραπάνω για ένα βίντεο σχετικά με το έργο και τους ανθρώπους που το δημιούργησαν!
## Παιδαγωγική
## Διδακτική Μεθοδολογία
Έχουμε επιλέξει δύο παιδαγωγικές αρχές κατά την κατασκευή αυτού του προγράμματος σπουδών: να είναι βασισμένο σε έργα και να περιλαμβάνει συχνά κουίζ. Στο τέλος αυτής της σειράς, οι μαθητές θα έχουν μάθει βασικές αρχές της επιστήμης δεδομένων, συμπεριλαμβανομένων ηθικών εννοιών, προετοιμασίας δεδομένων, διαφόρων τρόπων εργασίας με δεδομένα, οπτικοποίησης δεδομένων, ανάλυσης δεδομένων, πραγματικών περιπτώσεων χρήσης της επιστήμης δεδομένων και άλλα.
Έχουμε επιλέξει δύο παιδαγωγικές αρχές κατά τη δημιουργία αυτού του προγράμματος σπουδών: την εξασφάλιση ότι βασίζεται σε έργα και ότι περιλαμβάνει συχνά κουίζ. Μέχρι το τέλος αυτής της σειράς, οι μαθητές θα έχουν μάθει βασικές αρχές της επιστήμης δεδομένων, συμπεριλαμβανομένων ηθικών εννοιών, προετοιμασίας δεδομένων, διαφορετικούς τρόπους εργασίας με δεδομένα, οπτικοποίηση δεδομένων, ανάλυση δεδομένων, πραγματικά παραδείγματα χρήσης της επιστήμης δεδομένων και άλλα.
Επιπλέον, ένα μικρής κλίμακας κουίζ πριν από ένα μάθημα θέτει την πρόθεση του μαθητή προς την εκμάθηση ενός θέματος, ενώ ένα δεύτερο κουίζ μετά το μάθημα διασφαλίζει περαιτέρω συγκράτηση. Αυτό το πρόγραμμα σπουδών σχεδιάστηκενα είναι ευέλικτο και διασκεδαστικό και μπορεί να ολοκληρωθεί ολόκληρο ή μεμονωμένα. Τα έργα ξεκινούν μικρά και γίνονται ολοένα και πιο πολύπλοκα μέχρι το τέλος του κύκλου των 10 εβδομάδων.
Επιπλέον, ένα απλό κουίζ πριν από το μάθημα θέτει την πρόθεση του μαθητή για εκμάθηση ενός θέματος, ενώ ένα δεύτερο κουίζ μετά το μάθημα διασφαλίζει περαιτέρω διατήρηση. Αυτό το πρόγραμμα σπουδών έχει σχεδιαστείνα είναι ευέλικτο και διασκεδαστικό και μπορεί να ολοκληρωθεί ολόκληρο ή τμηματικά. Τα έργα ξεκινούν μικρά και γίνονται όλο και πιο περίπλοκα έως το τέλος του κύκλου των 10 εβδομάδων.
> Βρείτε τους [Κανόνες Συμπεριφοράς μας](CODE_OF_CONDUCT.md), [Κατευθυντήριες Οδηγίες Συμμετοχής](CONTRIBUTING.md), [Μετάφρασης](TRANSLATIONS.md). Καλωσορίζουμε τα εποικοδομητικά σας σχόλια!
> Βρείτε τους [Κανόνες Συμπεριφοράς μας](CODE_OF_CONDUCT.md), [Οδηγίες Συνεισφοράς](CONTRIBUTING.md), [Μετάφρασης](TRANSLATIONS.md). Καλωσορίζουμε τα εποικοδομητικά σας σχόλια!
## Κάθε μάθημα περιλαμβάνει:
- Προαιρετικό σκίτσο σημειώσεων
- Προαιρετικό sketchnote
- Προαιρετικό συμπληρωματικό βίντεο
- Προ-μάθημα ζέσταμα κουίζ
- Κουίζ προθέρμανσης πριν το μάθημα
- Γραπτό μάθημα
- Για μαθήματα βασισμένα σε έργα, βήμα-βήμα οδηγίεςγια την κατασκευή του έργου
- Για μαθήματα βασισμένα σε έργα, οδηγίες βήμα προς βήμαγια την κατασκευή του έργου
- [Κουίζ μετά το μάθημα](https://ff-quizzes.netlify.app/en/)
> **Σημείωση για τα κουίζ**: Όλα τα κουίζ βρίσκονται στον φάκελο Quiz-App, συνολικά 40 κουίζ με τρεις ερωτήσεις το καθένα. Συνδέονται μέσα στα μαθήματα, αλλά η εφαρμογή κουίζ μπορεί να τρέξει τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στο φάκελο `quiz-app`. Βρίσκονται σταδιακά σε διαδικασία τοπικοποίησης.
> **Μια σημείωση για τα κουίζ**: Όλα τα κουίζ περιέχονται στον φάκελο Quiz-App, συνολικά 40 κουίζ των τριών ερωτήσεων το καθένα. Συνδέονται εντός των μαθημάτων, αλλά η εφαρμογή κουίζ μπορεί να εκτελεστεί τοπικά ή να αναπτυχθεί στο Azure· ακολουθήστε τις οδηγίες στον φάκελο `quiz-app`. Μεταφράζονται σταδιακά.
## 🎓 Παραδείγματα Φιλικά για Αρχάριους
**Νέος στην Επιστήμη Δεδομένων;** Δημιουργήσαμε έναν ειδικό [κατάλογο παραδειγμάτων](examples/README.md) με απλό, καλο-σχολιασμένο κώδικα γιανα σας βοηθήσεινα ξεκινήσετε:
**Νέοι στην Επιστήμη Δεδομένων;** Δημιουργήσαμε έναν ειδικό [φάκελο παραδειγμάτων](examples/README.md) με απλό, καλά σχολιασμένο κώδικα γιανα σας βοηθήσουμε να ξεκινήσετε:
- 🌟 **Hello World** - Το πρώτο σας πρόγραμμα επιστήμης δεδομένων
- 🌟 **Γειά σου Κόσμε** - Το πρώτο σας πρόγραμμα επιστήμης δεδομένων
- 📂 **Φόρτωση Δεδομένων** - Μάθετε να διαβάζετε και να εξερευνάτε σύνολα δεδομένων
- 📊 **Απλή Ανάλυση** - Υπολογίστε στατιστικά και βρείτε μοτίβα
- 📈 **Βασική Οπτικοποίηση** - Δημιουργήστε γραφήματα και διαγράμματα
- 🔬 **Πραγματικό Έργο** - Πλήρης ροή εργασίας από την αρχή έως το τέλος
- 📈 **Βασική Οπτικοποίηση** - Δημιουργήστε διαγράμματα και γραφήματα
- 🔬 **Πραγματικό Έργο** - Πλήρης ροή εργασίας από την αρχή ως το τέλος
Κάθε παράδειγμα περιλαμβάνει λεπτομερή σχόλια που εξηγούν κάθε βήμα, καθιστώντας το τέλειο για απόλυτους αρχάριους!
Κάθε παράδειγμα περιλαμβάνει λεπτομερείς σχόλια που εξηγούν κάθε βήμα, καθιστώντας το τέλειο για απόλυτους αρχάριους!
👉 **[Ξεκινήστε με τα παραδείγματα](examples/README.md)** 👈
## Μαθήματα
||
||
|:---:|
| Επιστήμη Δεδομένων για Αρχάριους: Χάρτης Διαδρομών - _Σκίτσο σημειώσεων από [@nitya](https://twitter.com/nitya)_ |
| Επιστήμη Δεδομένων για Αρχάριους: Χάρτης Πορείας - _Sketchnote από [@nitya](https://twitter.com/nitya)_ |
| Αριθμός Μαθήματος | Θέμα | Ομάδα Μαθημάτων | Μαθησιακοί Στόχοι | Συνδεδεμένο Μάθημα | Συγγραφέας |
| Αριθμός Μαθήματος | Θέμα | Ομαδοποίηση Μαθήματος | Μαθησιακοί Στόχοι | Συνδεδεμένο Μάθημα | Συγγραφέας |
| 01 | Ορισμός Επιστήμης Δεδομένων | [Εισαγωγή](1-Introduction/README.md) | Μάθετε τις βασικές έννοιες γύρω από την επιστήμη δεδομένων και πώς σχετίζεται με την τεχνητή νοημοσύνη, τη μηχανική μάθηση και τα μεγάλα δεδομένα. | [μάθημα](1-Introduction/01-defining-data-science/README.md) [βίντεο](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
| 01 | Ορισμός της Επιστήμης Δεδομένων | [Εισαγωγή](1-Introduction/README.md) | Μάθετε τις βασικές έννοιες πίσω από την επιστήμη δεδομένων και πώς σχετίζεται με την τεχνητή νοημοσύνη, τη μηχανική μάθηση και τα μεγάλα δεδομένα. | [μάθημα](1-Introduction/01-defining-data-science/README.md) [βίντεο](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
| 03 | Ορισμός Δεδομένων | [Εισαγωγή](1-Introduction/README.md) | Πώς ταξινομούνται τα δεδομένα και οι κοινές πηγές τους. | [μάθημα](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 04 | Εισαγωγή στη Στατιστική & Πιθανότητες | [Εισαγωγή](1-Introduction/README.md) | Οι μαθηματικές τεχνικές πιθανότητας και στατιστικής για κατανόηση των δεδομένων. | [μάθημα](1-Introduction/04-stats-and-probability/README.md) [βίντεο](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
| 05 | Εργασία με Σχεσιακά Δεδομένα | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Εισαγωγή στα σχεσιακά δεδομένα και στα βασικά της εξερεύνησης και ανάλυσης σχεσιακών δεδομένων με τη Γλώσσα Δομημένων Ερωτημάτων, γνωστή και ως SQL (προφέρεται “σι-κουελ”). | [μάθημα](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
| 06 | Εργασία με NoSQL Δεδομένα | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Εισαγωγή σε μη σχεσιακά δεδομένα, τους διάφορους τύπους τους και τα βασικά της εξερεύνησης και ανάλυσης βάσεων δεδομένων εγγράφων. | [μάθημα](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
| 07 | Εργασία με Python | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Βασικά της χρήσης της Python για εξερεύνηση δεδομένων με βιβλιοθήκες όπως οι Pandas. Συνιστάται θεμελιώδης κατανόηση προγραμματισμού Python. | [μάθημα](2-Working-With-Data/07-python/README.md) [βίντεο](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
| 08 | Προετοιμασία Δεδομένων | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Θέματα τεχνικών καθαρισμού και μετασχηματισμού δεδομένων για αντιμετώπιση προκλήσεων όπως ελλιπή, ανακριβή ή ατελή δεδομένα. | [μάθημα](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 04 | Εισαγωγή στη Στατιστική & Πιθανότητες | [Εισαγωγή](1-Introduction/README.md) | Οι μαθηματικές τεχνικές πιθανοτήτων και στατιστικής για την κατανόηση δεδομένων. | [μάθημα](1-Introduction/04-stats-and-probability/README.md) [βίντεο](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
| 05 | Εργασία με Σχεσιακά Δεδομένα | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Εισαγωγή στα σχεσιακά δεδομένα και στα βασικά της εξερεύνησης και ανάλυσης σχεσιακών δεδομένων με τη Γλώσσα Δομημένων Ερωτημάτων, γνωστή και ως SQL (προφέρεται "σι-κουελ"). | [μάθημα](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
| 06 | Εργασία με Δεδομένα NoSQL | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Εισαγωγή στα μη σχεσιακά δεδομένα, τους διάφορους τύπους τους και στα βασικά της εξερεύνησης και ανάλυσης βάσεων δεδομένων εγγράφων. | [μάθημα](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
| 07 | Εργασία με Python | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Βασικά της χρήσης της Python για εξερεύνηση δεδομένων με βιβλιοθήκες όπως η Pandas. Συνιστάται βασική κατανόηση προγραμματισμού Python. | [μάθημα](2-Working-With-Data/07-python/README.md) [βίντεο](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
| 08 | Προετοιμασία Δεδομένων | [Εργασία με Δεδομένα](2-Working-With-Data/README.md) | Θέματα τεχνικών καθαρισμού και μετατροπής δεδομένων για την αντιμετώπιση προκλήσεων όπως τα ελλιπή, ανακριβή ή ατελή δεδομένα. | [μάθημα](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 12 | Οπτικοποίηση Σχέσεων | [Οπτικοποίηση Δεδομένων](3-Data-Visualization/README.md) | Οπτικοποίηση συνδέσεων και συσχετίσεων μεταξύ συνόλων δεδομένων και των μεταβλητών τους. | [μάθημα](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
| 13 | Σημαντικές Οπτικοποιήσεις | [Οπτικοποίηση Δεδομένων](3-Data-Visualization/README.md) | Τεχνικές και οδηγίεςγιανα κάνετε τις οπτικοποιήσεις σας πολύτιμες για αποτελεσματική επίλυση προβλημάτων και ανάλυση. | [μάθημα](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
| 14 | Εισαγωγή στον κύκλο ζωής της Επιστήμης Δεδομένων | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Εισαγωγή στον κύκλο ζωής της επιστήμης δεδομένων και το πρώτο βήμα της απόκτησης και εξαγωγής δεδομένων. | [μάθημα](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
| 15 | Ανάλυση | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Αυτή η φάση του κύκλου ζωής της επιστήμης δεδομένων επικεντρώνεται σε τεχνικές ανάλυσης δεδομένων. | [μάθημα](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
| 16 | Επικοινωνία | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Αυτή η φάση του κύκλου ζωής της επιστήμης δεδομένων εστιάζει στην παρουσίαση των ευρημάτων από τα δεδομένα με τρόπο που διευκολύνει τους φορείς λήψης αποφάσεων να κατανοήσουν. | [μάθημα](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
| 17 | Επιστήμη Δεδομένων στο Νέφος | [Δεδομένα στο Νέφος](5-Data-Science-In-Cloud/README.md) | Αυτή η σειρά μαθημάτων εισάγει την επιστήμη δεδομένων στο νέφος και τα οφέλη της. | [μάθημα](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) και [Maud](https://twitter.com/maudstweets) |
| 18 | Επιστήμη Δεδομένων στο Νέφος | [Δεδομένα στο Νέφος](5-Data-Science-In-Cloud/README.md) | Εκπαίδευση μοντέλων χρησιμοποιώντας εργαλεία Low Code. |[μάθημα](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) και [Maud](https://twitter.com/maudstweets) |
| 19 | Επιστήμη Δεδομένων στο Νέφος | [Δεδομένα στο Νέφος](5-Data-Science-In-Cloud/README.md) | Ανάπτυξη μοντέλων με το Azure Machine Learning Studio. | [μάθημα](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) και [Maud](https://twitter.com/maudstweets) |
| 20 | Επιστήμη Δεδομένων στην Πράξη | [Στην Πράξη](6-Data-Science-In-Wild/README.md) | Έργα επιστήμης δεδομένων στον πραγματικό κόσμο. | [μάθημα](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
| 12 | Οπτικοποίηση Σχέσεων | [Οπτικοποίηση Δεδομένων](3-Data-Visualization/README.md) | Οπτικοποίηση συνδέσεων και συσχετίσεων μεταξύ σετ δεδομένων και των μεταβλητών τους. | [μάθημα](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
| 13 | Σημαντικές Οπτικοποιήσεις | [Οπτικοποίηση Δεδομένων](3-Data-Visualization/README.md) | Τεχνικές και καθοδήγησηγιανα κάνετε τις οπτικοποιήσεις σας πολύτιμες για αποτελεσματική επίλυση προβλημάτων και αποκάλυψη πληροφοριών. | [μάθημα](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
| 14 | Εισαγωγή στον Κύκλο Ζωής της Επιστήμης Δεδομένων | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Εισαγωγή στον κύκλο ζωής της επιστήμης δεδομένων και το πρώτο βήμα της απόκτησης και εξαγωγής δεδομένων. | [μάθημα](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
| 15 | Ανάλυση | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Αυτή η φάση του κύκλου ζωής της επιστήμης δεδομένων εστιάζει σε τεχνικές ανάλυσης δεδομένων. | [μάθημα](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
| 16 | Επικοινωνία | [Κύκλος Ζωής](4-Data-Science-Lifecycle/README.md) | Αυτή η φάση του κύκλου ζωής της επιστήμης δεδομένων εστιάζει στην παρουσίαση των συμπερασμάτων από τα δεδομένα με τρόπο που καθιστά ευκολότερη την κατανόηση από τους αποφασιστές. | [μάθημα](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
| 17 | Επιστήμη Δεδομένων στο Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Αυτή η σειρά μαθημάτων εισάγει την επιστήμη δεδομένων στο cloud και τα οφέλη της. | [μάθημα](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
| 18 | Επιστήμη Δεδομένων στο Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Εκπαίδευση μοντέλων με εργαλεία Low Code. |[μάθημα](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
| 19 | Επιστήμη Δεδομένων στο Cloud | [Cloud Data](5-Data-Science-In-Cloud/README.md) | Ανάπτυξη μοντέλων με το Azure Machine Learning Studio. | [μάθημα](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) and [Maud](https://twitter.com/maudstweets) |
| 20 | Επιστήμη Δεδομένων στην Πράξη | [In the Wild](6-Data-Science-In-Wild/README.md) | Έργα επιστήμης δεδομένων στον πραγματικό κόσμο. | [μάθημα](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
## GitHub Codespaces
Ακολουθήστε αυτά τα βήματα γιανα ανοίξετε αυτό το δείγμα σε μία Codespace:
1. Κάντε κλικ στο αναπτυσσόμενο μενού Code και επιλέξτε την επιλογή Open with Codespaces.
2. Επιλέξτε + New codespace στο κάτω μέρος του παραθύρου.
Για περισσότερες πληροφορίες, δείτε την [τεκμηρίωση του GitHub](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
Ακολουθήστε αυτά τα βήματα γιανα ανοίξετε αυτό το δείγμα σε Codespace:
1. Κάντε κλικ στο αναπτυσσόμενο μενού Κώδικα και επιλέξτε την επιλογή Άνοιγμα με Codespaces.
2. Επιλέξτε + Νέο codespace στο κάτω μέρος του παραθύρου.
Για περισσότερες πληροφορίες, δείτε την [τεκμηρίωση GitHub](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
## VSCode Remote - Containers
Ακολουθήστε αυτά τα βήματα γιανα ανοίξετε αυτό το αποθετήριο σε container χρησιμοποιώντας τον τοπικό σας υπολογιστή και το VSCode μέσω της επέκτασης VS Code Remote - Containers:
Ακολουθήστε αυτά τα βήματα γιανα ανοίξετε αυτό το αποθετήριο μέσα σε κοντέινερ χρησιμοποιώντας τον τοπικό σας υπολογιστή και το VSCode με την επέκταση VS Code Remote - Containers:
1. Αν είναι η πρώτη φορά που χρησιμοποιείτε development container, βεβαιωθείτε ότι το σύστημά σας πληροί τις προϋποθέσεις (π.χ. έχει εγκατεστημένο το Docker) σύμφωνα με [την τεκμηρίωση εκκίνησης](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
1. Αν είναι η πρώτη φορά που χρησιμοποιείτε κοντέινερ ανάπτυξης, παρακαλούμε βεβαιωθείτε ότι το σύστημά σας πληροί τις προϋποθέσεις (π.χ. έχει εγκατασταθεί το Docker) στη [τεκμηρίωση γιανα ξεκινήσετε](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
Για να χρησιμοποιήσετε αυτό το αποθετήριο, μπορείτε είτε νατο ανοίξετε σε έναν απομονωμένο τόμο Docker:
Για να χρησιμοποιήσετε αυτό το αποθετήριο, μπορείτε είτε να ανοίξετε το αποθετήριο σε έναν απομονωμένο τόμο Docker:
**Σημείωση**: Στο παρασκήνιο, αυτό θα χρησιμοποιήσει την εντολή Remote-Containers: **Clone Repository in Container Volume...**γιανα κλωνοποιήσει τον πηγαίο κώδικα σε ένα Docker volume αντί του τοπικού συστήματος αρχείων. [Volumes](https://docs.docker.com/storage/volumes/) είναι ο προτιμώμενος μηχανισμός για την αποθήκευση δεδομένων container.
**Σημείωση**: Στο παρασκήνιο, αυτή η εντολή θα χρησιμοποιήσει το Remote-Containers: **Κλωνοποίηση Αποθετηρίου σε Τόμο Κοντέινερ...** γιανα κλωνοποιήσει τον πηγαίο κώδικα σε τόμο Docker αντί για το τοπικό σύστημα αρχείων. Οι [Τόμοι](https://docs.docker.com/storage/volumes/) είναι ο προτιμώμενος μηχανισμός για τη διατήρηση δεδομένων κοντέινερ.
Ή ναανοίξετε μια τοπικά κλωνοποιημένη ή κατεβασμένη έκδοση του αποθετηρίου:
Ή ανοίξτε μια τοπικά κλωνοποιημένη ή ληφθείσα έκδοση του αποθετηρίου:
- Κλωνοποιήστε αυτό το αποθετήριο στο τοπικό σας σύστημα αρχείων.
- Πατήστε F1 και επιλέξτε την εντολή **Remote-Containers: Open Folder in Container...**.
- Επιλέξτε το κλωνοποιημένο αντίγραφο αυτού του φακέλου, περιμένετε να ξεκινήσει το container και δοκιμάστε λειτουργίες.
- Επιλέξτε το κλωνοποιημένο αντίγραφο αυτού του φακέλου, περιμένετε να ξεκινήσει το κοντέινερ και δοκιμάστε.
## Πρόσβαση εκτός σύνδεσης
Μπορείτε να εκτελέσετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας το [Docsify](https://docsify.js.org/#/). Φτιάξτε ένα fork αυτού του αποθετηρίου, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό σας υπολογιστή, και στη ρίζα του φακέλου αυτού του αποθετηρίου πληκτρολογήστε `docsify serve`. Ο ιστότοπος θα σερβιριστεί στην θύρα 3000 στο localhost σας: `localhost:3000`.
Μπορείτε να εκτελέσετε αυτή την τεκμηρίωση εκτός σύνδεσης χρησιμοποιώντας [Docsify](https://docsify.js.org/#/). Φτιάξτε ένα fork αυτού του αποθετηρίου, [εγκαταστήστε το Docsify](https://docsify.js.org/#/quickstart) στον τοπικό υπολογιστή σας, και στη ριζική διαδρομή αυτού του αποθετηρίου, πληκτρολογήστε `docsify serve`. Η ιστοσελίδα θα σερβίρεται στην πόρτα 3000 στο localhost σας: `localhost:3000`.
> Σημείωση, τα notebooks δεν προβάλλονται μέσω Docsify, οπότε όταν χρειάζεται να εκτελέσετε ένα notebook, κάντε το ξεχωριστά στο VS Code χρησιμοποιώντας ένα Python kernel.
> Σημειώστε, τα notebooks δεν θα αποδοθούν μέσω του Docsify, οπότε όταν χρειαστεί να εκτελέσετε ένα notebook, κάντε το ξεχωριστά στο VS Code με έναν πυρήνα Python.
## Άλλα Προγράμματα Σπουδών
## Άλλα Αναλυτικά Προγράμματα
Η ομάδα μας παράγει και άλλα προγράμματα σπουδών! Δείτε:
Η ομάδα μας παράγει και άλλα αναλυτικά προγράμματα! Δείτε:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Πράκτορες
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / Agents
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Σειρά Δημιουργικού AI
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Σειρά Δημιουργικής Τεχνητής Νοημοσύνης
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Σειρά Copilot
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
**Αντιμετωπίζετε προβλήματα;** Δείτε τον [Οδηγό Επίλυσης Προβλημάτων](TROUBLESHOOTING.md) για λύσεις σε συνηθισμένα θέματα.
**Αν αντιμετωπίζετε προβλήματα;** Ελέγξτε τον [Οδηγό Επίλυσης Προβλημάτων](TROUBLESHOOTING.md) για λύσεις σε συνηθισμένα ζητήματα.
Αν κολλήσετε ή έχετε οποιεσδήποτε ερωτήσεις σχετικά με την κατασκευή εφαρμογών AI, συμμετέχετε με άλλους μαθητές και έμπειρους προγραμματιστές σε συζητήσεις για το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα.
Αν κολλήσετε ή έχετε ερωτήσεις σχετικά με την κατασκευή εφαρμογών τεχνητής νοημοσύνης, συμμετέχετε σε συζητήσεις με συναδέλφους μαθητές και έμπειρους προγραμματιστές σχετικά με το MCP. Είναι μια υποστηρικτική κοινότητα όπου οι ερωτήσεις είναι ευπρόσδεκτες και η γνώση μοιράζεται ελεύθερα.
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης AI [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε ναγνωρίζετε ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το αρχικό έγγραφο στη γλώσσα του αποτελεί την αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται η επαγγελματική μετάφραση από ανθρώπους. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που επιδιώκουμε την ακρίβεια, παρακαλούμε ναλάβετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται η επαγγελματική ανθρώπινη μετάφραση. Δεν φαινόμαστε υπεύθυνοι για οποιαδήποτε παρερμηνεία ή λανθασμένη κατανόηση προκύψει από τη χρήση αυτής της μετάφρασης.
[](https://youtu.be/beZ7Mb_oz9I)
[](https://youtu.be/beZ7Mb_oz9I)
## [Quiz före föreläsningen](https://ff-quizzes.netlify.app/en/ds/quiz/0)
@ -144,7 +144,7 @@ Om vi vill göra det ännu mer komplicerat kan vi plotta den tid som krävs för
I denna utmaning ska vi försöka hitta koncept som är relevanta för området Data Science genom att analysera texter. Vi kommer att ta en Wikipedia-artikel om Data Science, ladda ner och bearbeta texten, och sedan skapa ett ordmoln som detta:


Besök [`notebook.ipynb`](../../../../1-Introduction/01-defining-data-science/notebook.ipynb ':ignore') för att läsa igenom koden. Du kan också köra koden och se hur den utför alla datatransformationer i realtid.
"I det här exemplet ska vi göra en enkel övning som täcker alla steg i en traditionell datavetenskapsprocess. Du behöver inte skriva någon kod, du kan bara klicka på cellerna nedan för att köra dem och observera resultatet. Som en utmaning uppmuntras du att testa koden med olika data.\n",
"I detta exempel ska vi göra en enkel övning som täcker alla steg i en traditionell datavetenskapsprocess. Du behöver inte skriva någon kod, du kan bara klicka på cellerna nedan för att köra dem och observera resultatet. Som en utmaning uppmuntras du att prova denna kod med olika data.\n",
"\n",
"## Mål\n",
"\n",
"I den här lektionen har vi diskuterat olika koncept relaterade till datavetenskap. Låt oss försöka upptäcka fler relaterade koncept genom att göra lite **textutvinning**. Vi kommer att börja med en text om datavetenskap, extrahera nyckelord från den och sedan försöka visualisera resultatet.\n",
"I denna lektion har vi diskuterat olika begrepp relaterade till datavetenskap. Låt oss försöka upptäcka fler relaterade begrepp genom att göra lite **textgruvdrift**. Vi börjar med en text om datavetenskap, extraherar nyckelord från den och försöker sedan visualisera resultatet.\n",
"\n",
"Som text kommer jag att använda sidan om datavetenskap från Wikipedia:\n"
"Som text kommer jag använda sidan om datavetenskap från Wikipedia:\n"
],
"metadata": {}
},
@ -34,7 +34,7 @@
"source": [
"## Steg 1: Hämta data\n",
"\n",
"Första steget i varje datavetenskapsprocess är att hämta data. Vi kommer att använda biblioteket `requests` för att göra detta:\n"
"Första steget i varje datavetenskapsprocess är att hämta data. Vi kommer att använda biblioteket `requests` för att göra det:\n"
],
"metadata": {}
},
@ -66,45 +66,43 @@
{
"cell_type": "markdown",
"source": [
"## Steg 2: Omvandla data\n",
"## Steg 2: Transformering av data\n",
"\n",
"Nästa steg är att konvertera data till en form som är lämplig för bearbetning. I vårt fall har vi laddat ner HTML-källkoden från sidan, och vi behöver omvandla den till ren text.\n",
"Nästa steg är att konvertera data till ett format som är lämpligt för bearbetning. I vårt fall har vi laddat ner HTML-källkoden från sidan, och vi behöver konvertera den till vanlig text.\n",
"\n",
"Det finns många sätt att göra detta. Vi kommer att använda det enklaste inbyggda objektet [HTMLParser](https://docs.python.org/3/library/html.parser.html) från Python. Vi behöver skapa en subklass av `HTMLParser`-klassen och definiera koden som samlar in all text inuti HTML-taggar, förutom `<script>`- och `<style>`-taggar.\n"
"Det finns många sätt att göra detta på. Vi kommer att använda [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/), ett populärt Python-bibliotek för att tolka HTML. BeautifulSoup låter oss rikta in oss på specifika HTML-element, så vi kan fokusera på det huvudsakliga artikelinnehållet från Wikipedia och minska vissa navigationsmenyer, sidopaneler, sidfötter och annat irrelevant innehåll (även om viss standardtext fortfarande kan finnas kvar).\n"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Först behöver vi installera BeautifulSoup-biblioteket för HTML-parsning:\n"
"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Data science - Wikipedia Data science From Wikipedia, the free encyclopedia Jump to navigation Jump to search Interdisciplinary field of study focused on deriving knowledge and insights from data Not to be confused with information science . The existence of Comet NEOWISE (here depicted as a series of red dots) was discovered by analyzing astronomical survey data acquired by a space telescope , the Wide-field Infrared Survey Explorer . Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection AutoML Association rules Reinforcement learning Structured prediction Feature engineering Feature learning Online learning Semi-supervised learning Unsupervised learning Learning to rank Grammar induction Supervised learning ( classification • regression ) Decision trees Ensembles Bagging Boosting Random forest k -NN Linear regression Naive Bayes Artificial neural networks Logistic regression Perceptron Relevance vector machine \n"
"Data science From Wikipedia, the free encyclopedia Interdisciplinary field of study focused on deriving knowledge and insights from data Data science is an interdisciplinary academic field that uses statistics, scientific computing, scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from noisy, structured, and unstructured data. Data science also integrates domain knowledge from the underlying application domain. Data science is multifaceted and can be described as a science, a research paradigm, a research method, a discipline, a workflow, and a profession.\n"
]
}
],
@ -115,9 +113,9 @@
"source": [
"## Steg 3: Få insikter\n",
"\n",
"Det viktigaste steget är att omvandla vår data till en form där vi kan dra insikter. I vårt fall vill vi extrahera nyckelord från texten och se vilka nyckelord som är mer betydelsefulla.\n",
"Det viktigaste steget är att omvandla våra data till någon form från vilken vi kan dra insikter. I vårt fall vill vi extrahera nyckelord från texten och se vilka nyckelord som är mer meningsfulla.\n",
"\n",
"Vi kommer att använda Python-biblioteket [RAKE](https://github.com/aneesha/RAKE) för nyckelordsutvinning. Först installerar vi detta bibliotek om det inte redan finns:\n"
"Vi kommer att använda ett Python-bibliotek som heter [RAKE](https://github.com/aneesha/RAKE) för nyckelordsextraktion. Först, låt oss installera detta bibliotek ifall det inte finns: \n"
],
"metadata": {}
},
@ -162,7 +160,7 @@
{
"cell_type": "markdown",
"source": [
"Huvudfunktionen är tillgänglig från `Rake`-objektet, som vi kan anpassa med hjälp av några parametrar. I vårt fall kommer vi att ställa in den minsta längden på ett nyckelord till 5 tecken, den minsta frekvensen av ett nyckelord i dokumentet till 3 och det maximala antalet ord i ett nyckelord till 2. Känn dig fri att experimentera med andra värden och observera resultatet.\n"
"Huvudfunktionen finns tillgänglig från `Rake`-objektet, vilket vi kan anpassa med några parametrar. I vårt fall kommer vi att ställa in minsta längd för ett nyckelord till 5 tecken, minsta förekomst av ett nyckelord i dokumentet till 3 och maximalt antal ord i ett nyckelord till 2. Känn dig fri att experimentera med andra värden och observera resultatet.\n"
],
"metadata": {}
},
@ -211,11 +209,11 @@
{
"cell_type": "markdown",
"source": [
"Vi fick en lista med termer tillsammans med deras tillhörande viktighet. Som du kan se finns de mest relevanta områdena, såsom maskininlärning och big data, med i listan på toppositioner.\n",
"Vi fick en lista över termer tillsammans med tillhörande viktighetsgrad. Som du kan se finns de mest relevanta disciplinerna, såsom maskininlärning och big data, med i listan på toppositionerna.\n",
"\n",
"## Steg 4: Visualisera resultatet\n",
"\n",
"Människor tolkar data bäst i visuell form. Därför är det ofta vettigt att visualisera data för att dra vissa insikter. Vi kan använda biblioteket `matplotlib` i Python för att plotta en enkel fördelning av nyckelorden med deras relevans:\n"
"Människor kan tolka data bäst i visuell form. Därför är det ofta meningsfullt att visualisera data för att dra några insikter. Vi kan använda biblioteket `matplotlib` i Python för att rita en enkel fördelning av nyckelorden med deras relevans:\n"
],
"metadata": {}
},
@ -252,7 +250,7 @@
{
"cell_type": "markdown",
"source": [
"Det finns dock ett ännu bättre sätt att visualisera ordfrekvenser - att använda **Word Cloud**. Vi behöver installera ett annat bibliotek för att skapa ett ordmoln från vår nyckelordslista.\n"
"Det finns dock ett ännu bättre sätt att visualisera ordfrekvenser - med hjälp av **Word Cloud**. Vi kommer att behöva installera ett annat bibliotek för att rita ordmolnet från vår nyckelordslista.\n"
],
"metadata": {}
},
@ -268,7 +266,7 @@
{
"cell_type": "markdown",
"source": [
"`WordCloud`-objektet är ansvarigt för att ta emot antingen originaltext eller en förberäknad lista med ord och deras frekvenser, och returnerar en bild som sedan kan visas med hjälp av `matplotlib`:\n"
"`WordCloud`-objektet ansvarar för att ta emot antingen originaltext eller en förberäknad lista med ord och deras frekvenser, och returnerar en bild som sedan kan visas med hjälp av `matplotlib`:\n"
],
"metadata": {}
},
@ -312,7 +310,7 @@
{
"cell_type": "markdown",
"source": [
"Vi kan också skicka in den ursprungliga texten till `WordCloud` - låt oss se om vi kan få ett liknande resultat:\n"
"Vi kan också skicka in originaltexten till `WordCloud` – låt oss se om vi kan få ett liknande resultat:\n"
],
"metadata": {}
},
@ -372,9 +370,9 @@
{
"cell_type": "markdown",
"source": [
"Du kan se att ordmolnet nu ser mer imponerande ut, men det innehåller också mycket brus (t.ex. orelaterade ord som `Retrieved on`). Dessutom får vi färre nyckelord som består av två ord, såsom *data scientist* eller *computer science*. Detta beror på att RAKE-algoritmen gör ett mycket bättre jobb med att välja ut bra nyckelord från texten. Detta exempel illustrerar vikten av datarensning och förbehandling, eftersom en tydlig bild i slutändan gör det möjligt för oss att fatta bättre beslut.\n",
"Du kan se att ordmolnet nu ser mer imponerande ut, men det innehåller också mycket brus (t.ex. orelaterade ord som `Retrieved on`). Dessutom får vi färre nyckelord som består av två ord, såsom *data scientist* eller *computer science*. Detta beror på att RAKE-algoritmen gör ett mycket bättre jobb med att välja ut bra nyckelord från texten. Detta exempel illustrerar vikten av dataförbehandling och rengöring, eftersom en tydlig bild i slutet gör att vi kan fatta bättre beslut.\n",
"\n",
"I denna övning har vi gått igenom en enkel process för att extrahera viss mening från Wikipedia-text, i form av nyckelord och ordmoln. Detta exempel är ganska enkelt, men det visar tydligt alla typiska steg en data scientist tar när de arbetar med data, från datainsamling till visualisering.\n",
"I denna övning har vi gått igenom en enkel process för att extrahera mening från Wikipedia-text, i form av nyckelord och ordmoln. Detta exempel är ganska enkelt, men det visar tydligt alla typiska steg som en data scientist tar när hen arbetar med data, från dataförvärv till visualisering.\n",
"\n",
"I vår kurs kommer vi att diskutera alla dessa steg i detalj.\n"
],
@ -394,7 +392,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på sitt originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen observera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål ska betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som kan uppstå vid användning av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
"> *I den här notebooken experimenterar vi med att använda olika URL:er - Wikipedia-artikeln om maskininlärning. Du kan se att, till skillnad från datavetenskap, innehåller den här artikeln många termer, vilket gör analysen mer problematisk. Vi behöver komma på ett annat sätt att städa upp data efter att ha gjort nyckelordsutvinning, för att bli av med vissa frekventa, men inte meningsfulla, ordkombinationer.*\n",
"> *I denna anteckningsbok experimenterar vi med att använda olika URL - Wikipedia-artikel om maskininlärning. Du kan se att, till skillnad från datavetenskap, innehåller denna artikel många termer, vilket gör analysen mer problematisk. Vi behöver hitta ett annat sätt att rensa upp data efter att ha gjort nyckelordsextraktion, för att bli av med vissa frekventa, men inte meningsfulla ordkombinationer.*\n",
"\n",
"I det här exemplet ska vi göra en enkel övning som täcker alla steg i en traditionell datavetenskapsprocess. Du behöver inte skriva någon kod, du kan bara klicka på cellerna nedan för att köra dem och observera resultatet. Som en utmaning uppmuntras du att testa den här koden med olika data.\n",
"I detta exempel ska vi göra en enkel övning som täcker alla steg i en traditionell datavetenskapsprocess. Du behöver inte skriva någon kod, du kan bara klicka på cellerna nedan för att köra dem och observera resultatet. Som en utmaning uppmuntras du att prova denna kod med olika data.\n",
"\n",
"## Mål\n",
"\n",
"I den här lektionen har vi diskuterat olika koncept relaterade till datavetenskap. Låt oss försöka upptäcka fler relaterade koncept genom att göra lite **textutvinning**. Vi börjar med en text om datavetenskap, extraherar nyckelord från den och försöker sedan visualisera resultatet.\n",
"I denna lektion har vi diskuterat olika koncept relaterade till datavetenskap. Låt oss försöka upptäcka fler relaterade koncept genom att göra lite **text mining**. Vi börjar med en text om datavetenskap, extraherar nyckelord från den och försöker sedan visualisera resultatet.\n",
"\n",
"Som text kommer jag att använda sidan om datavetenskap från Wikipedia:\n"
],
@ -35,9 +35,9 @@
{
"cell_type": "markdown",
"source": [
"## Steg 1: Hämta data\n",
"## Steg 1: Hämta datan\n",
"\n",
"Första steget i varje datavetenskaplig process är att hämta data. Vi kommer att använda biblioteket `requests` för detta:\n"
"Första steget i varje data science-process är att hämta datan. Vi kommer att använda biblioteket `requests` för att göra det:\n"
],
"metadata": {}
},
@ -69,45 +69,43 @@
{
"cell_type": "markdown",
"source": [
"## Steg 2: Omvandla data\n",
"## Steg 2: Omvandla datan\n",
"\n",
"Nästa steg är att konvertera data till en form som är lämplig för bearbetning. I vårt fall har vi laddat ner HTML-källkoden från sidan, och vi behöver omvandla den till ren text.\n",
"Nästa steg är att konvertera datan till den form som är lämplig för bearbetning. I vårt fall har vi laddat ner HTML-källkoden från sidan, och vi behöver omvandla den till vanlig text.\n",
"\n",
"Det finns många sätt att göra detta. Vi kommer att använda det enklaste inbyggda objektet [HTMLParser](https://docs.python.org/3/library/html.parser.html) från Python. Vi behöver skapa en subklass av `HTMLParser`-klassen och definiera koden som samlar in all text inuti HTML-taggar, förutom `<script>`- och `<style>`-taggar.\n"
"Det finns många sätt att göra detta på. Vi kommer att använda [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/), ett populärt Python-bibliotek för att tolka HTML. BeautifulSoup tillåter oss att rikta in oss på specifika HTML-element, så vi kan fokusera på huvudinnehållet i artikeln från Wikipedia och minska vissa navigationsmenyer, sidopaneler, sidfot och annat irrelevanta innehåll (även om viss malltext fortfarande kan finnas kvar).\n"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Först behöver vi installera biblioteket BeautifulSoup för HTML-parsing:\n"
"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Machine learning - Wikipedia Machine learning From Wikipedia, the free encyclopedia Jump to navigation Jump to search Study of algorithms that improve automatically through experience For the journal, see Machine Learning (journal) . \"Statistical learning\" redirects here. For statistical learning in linguistics, see statistical learning in language acquisition . Part of a series on Artificial intelligence Major goals Artificial general intelligence Planning Computer vision General game playing Knowledge reasoning Machine learning Natural language processing Robotics Approaches Symbolic Deep learning Bayesian networks Evolutionary algorithms Philosophy Ethics Existential risk Turing test Chinese room Control problem Friendly AI History Timeline Progress AI winter Technology Applications Projects Programming languages Glossary Glossary v t e Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection Data Cleaning AutoML Associ\n"
"Machine learning From Wikipedia, the free encyclopedia Study of algorithms that improve automatically through experience Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn from data and generalize to unseen data, and thus perform tasks without explicit instructions. Recently, artificial neural networks have been able to surpass many previous approaches in performance. ML finds application in many fields, including natural language processing, computer vision, speech recognition, email filtering, agriculture, and medicine.\n"
]
}
],
@ -116,11 +114,11 @@
{
"cell_type": "markdown",
"source": [
"## Steg 3: Få insikter\n",
"## Step 3: Få insikter\n",
"\n",
"Det viktigaste steget är att omvandla vår data till en form där vi kan dra insikter. I vårt fall vill vi extrahera nyckelord från texten och se vilka nyckelord som är mest betydelsefulla.\n",
"Det viktigaste steget är att omvandla vår data till en form från vilken vi kan dra insikter. I vårt fall vill vi extrahera nyckelord från texten och se vilka nyckelord som är mer meningsfulla.\n",
"\n",
"Vi kommer att använda ett Python-bibliotek som heter [RAKE](https://github.com/aneesha/RAKE) för att extrahera nyckelord. Först ska vi installera detta bibliotek om det inte redan är installerat:\n"
"Vi kommer att använda Python-biblioteket [RAKE](https://github.com/aneesha/RAKE) för nyckelordsutvinning. Först ska vi installera detta bibliotek om det inte redan finns: \n"
],
"metadata": {}
},
@ -172,7 +170,7 @@
{
"cell_type": "markdown",
"source": [
"Huvudfunktionen är tillgänglig från `Rake`-objektet, som vi kan anpassa med hjälp av några parametrar. I vårt fall kommer vi att ställa in den minsta längden på ett nyckelord till 5 tecken, den minsta frekvensen av ett nyckelord i dokumentet till 3, och det maximala antalet ord i ett nyckelord till 2. Känn dig fri att experimentera med andra värden och observera resultatet.\n"
"Huvudfunktionen är tillgänglig från `Rake`-objektet, som vi kan anpassa med några parametrar. I vårt fall kommer vi att ställa in minimilängden för ett nyckelord till 5 tecken, minsta frekvens för ett nyckelord i dokumentet till 3, och maximalt antal ord i ett nyckelord till 2. Känn dig fri att experimentera med andra värden och observera resultatet.\n"
],
"metadata": {}
},
@ -353,11 +351,11 @@
{
"cell_type": "markdown",
"source": [
"Vi fick en lista med termer tillsammans med deras tillhörande viktighet. Som du kan se finns de mest relevanta områdena, såsom maskininlärning och big data, med i listan på toppositioner.\n",
"Vi fick en lista med termer tillsammans med tillhörande viktighetsgrad. Som du kan se finns de mest relevanta disciplinerna, såsom maskininlärning och big data, med bland de översta positionerna i listan.\n",
"\n",
"## Steg 4: Visualisera resultatet\n",
"\n",
"Människor tolkar data bäst i visuell form. Därför är det ofta vettigt att visualisera data för att dra vissa insikter. Vi kan använda biblioteket `matplotlib` i Python för att plotta en enkel fördelning av nyckelorden med deras relevans:\n"
"Människor kan bäst tolka data i visuell form. Därför är det ofta meningsfullt att visualisera data för att dra några insikter. Vi kan använda biblioteket `matplotlib` i Python för att rita en enkel fördelning av nyckelorden med deras relevans:\n"
],
"metadata": {}
},
@ -392,7 +390,7 @@
{
"cell_type": "markdown",
"source": [
"Det finns dock ett ännu bättre sätt att visualisera ordfrekvenser - att använda **Word Cloud**. Vi behöver installera ett annat bibliotek för att skapa ett ordmoln från vår nyckelordslista.\n"
"Det finns dock ett ännu bättre sätt att visualisera ordfrekvenser – med hjälp av **Word Cloud**. Vi behöver installera ett annat bibliotek för att plotta ordmolnet från vår nyckelordslista.\n"
],
"metadata": {}
},
@ -408,7 +406,7 @@
{
"cell_type": "markdown",
"source": [
"`WordCloud`-objektet är ansvarigt för att ta emot antingen originaltext eller en förberäknad lista med ord och deras frekvenser, och returnerar en bild som sedan kan visas med hjälp av `matplotlib`:\n"
"`WordCloud`-objektet ansvarar för att ta emot antingen originaltext eller en förberäknad lista av ord med deras frekvenser, och returnerar en bild som sedan kan visas med `matplotlib`:\n"
],
"metadata": {}
},
@ -441,7 +439,7 @@
{
"cell_type": "markdown",
"source": [
"Vi kan också skicka in den ursprungliga texten till `WordCloud` - låt oss se om vi kan få ett liknande resultat:\n"
"Vi kan också skicka in originaltexten till `WordCloud` - låt oss se om vi kan få ett liknande resultat:\n"
],
"metadata": {}
},
@ -490,9 +488,9 @@
{
"cell_type": "markdown",
"source": [
"Du kan se att ordmolnet nu ser mer imponerande ut, men det innehåller också mycket brus (t.ex. orelaterade ord som `Retrieved on`). Dessutom får vi färre nyckelord som består av två ord, såsom *data scientist* eller *computer science*. Detta beror på att RAKE-algoritmen gör ett mycket bättre jobb med att välja ut bra nyckelord från texten. Detta exempel illustrerar vikten av datarensning och förbehandling, eftersom en tydlig bild i slutändan gör det möjligt för oss att fatta bättre beslut.\n",
"Du kan se att ordmolnet nu ser mer imponerande ut, men det innehåller också mycket brus (t.ex. orelaterade ord såsom `Retrieved on`). Dessutom får vi färre nyckelord som består av två ord, såsom *data scientist* eller *computer science*. Detta beror på att RAKE-algoritmen gör ett mycket bättre jobb med att välja bra nyckelord från texten. Detta exempel illustrerar vikten av datarensning och förbehandling, eftersom en tydlig bild i slutändan gör att vi kan fatta bättre beslut.\n",
"\n",
"I denna övning har vi gått igenom en enkel process för att extrahera viss mening från Wikipedia-text, i form av nyckelord och ordmoln. Detta exempel är ganska enkelt, men det visar tydligt alla typiska steg en data scientist tar när de arbetar med data, från datainsamling till visualisering.\n",
"I denna övning har vi gått igenom en enkel process för att utvinna viss betydelse från Wikipediatext, i form av nyckelord och ordmoln. Detta exempel är ganska enkelt, men det visar tydligt alla typiska steg som en data scientist tar när hen arbetar med data, från datainsamling till visualisering.\n",
"\n",
"I vår kurs kommer vi att diskutera alla dessa steg i detalj.\n"
],
@ -502,7 +500,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, vänligen notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.\n"
"---\n\n<!-- CO-OP TRANSLATOR DISCLAIMER START -->\n**Ansvarsfriskrivning**:\nDetta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet, var vänlig notera att automatiska översättningar kan innehålla fel eller felaktigheter. Det ursprungliga dokumentet på dess originalspråk ska betraktas som den auktoritativa källan. För viktig information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.\n<!-- CO-OP TRANSLATOR DISCLAIMER END -->\n"
Statistik och sannolikhetsteori är två nära besläktade områden inom matematiken som är mycket relevanta för datavetenskap. Det är möjligt att arbeta med data utan djupa kunskaper i matematik, men det är ändå bättre att känna till åtminstone några grundläggande begrepp. Här presenterar vi en kort introduktion som hjälper dig att komma igång.
## [Quiz före föreläsningen](https://ff-quizzes.netlify.app/en/ds/quiz/6)
@ -30,7 +30,7 @@ Det är svårare att beskriva sannolikhetsfördelningen för en kontinuerlig var
Vi kan bara prata om sannolikheten att en variabel faller inom ett givet intervall av värden, t.ex. P(t<sub>1</sub>≤X<t<sub>2</sub>). I detta fall beskrivs sannolikhetsfördelningen av en **sannolikhetstäthetsfunktion** p(x), sådan att
En kontinuerlig analog till likformig fördelning kallas **kontinuerligt likformig**, som definieras på ett ändligt intervall. Sannolikheten att värdet X faller inom ett intervall av längd l är proportionell mot l och stiger upp till 1.
@ -73,11 +73,11 @@ När vi analyserar data från verkligheten är de ofta inte slumpmässiga variab
Här är låddiagrammet som visar medelvärde, median och kvartiler för våra data:


Eftersom våra data innehåller information om olika spelares **roller**, kan vi också göra ett låddiagram per roll - det låter oss få en uppfattning om hur parametrarnas värden skiljer sig mellan roller. Den här gången tittar vi på längd:


Detta diagram antyder att, i genomsnitt, är längden på första basmän högre än längden på andra basmän. Senare i denna lektion kommer vi att lära oss hur vi kan testa denna hypotes mer formellt och hur vi kan visa att våra data är statistiskt signifikanta för att bevisa detta.
@ -85,7 +85,7 @@ Detta diagram antyder att, i genomsnitt, är längden på första basmän högre
För att se hur fördelningen av våra data ser ut kan vi rita ett diagram som kallas **histogram**. X-axeln innehåller ett antal olika viktintervall (så kallade **bins**), och Y-axeln visar antalet gånger vårt stickprov av slumpmässiga variabler hamnade inom ett givet intervall.


Från detta histogram kan du se att alla värden är centrerade runt ett visst medelvärde, och ju längre vi går från det medelvärdet - desto färre vikter av det värdet förekommer. Det vill säga, det är mycket osannolikt att vikten på en basebollspelare skulle skilja sig mycket från medelvikten. Variansen i vikterna visar i vilken utsträckning vikterna sannolikt skiljer sig från medelvärdet.
Om vi ritar histogrammet för de genererade stickproven kommer vi att se en bild mycket lik den som visas ovan. Och om vi ökar antalet stickprov och antalet bins, kan vi generera en bild av en normalfördelning som är närmare idealet:


*Normalfördelning med medelvärde=0 och std.avvikelse=1*
@ -224,7 +224,7 @@ array([[1. , 0.52959196],
I vårt fall indikerar värdet 0.53 att det finns viss korrelation mellan en persons vikt och längd. Vi kan också göra ett spridningsdiagram av ett värde mot det andra för att se relationen visuellt:


> Fler exempel på korrelation och kovarians finns i [medföljande anteckningsbok](notebook.ipynb).


> Foto av <ahref="https://unsplash.com/@dawson2406?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Stephen Dawson</a> på <ahref="https://unsplash.com/s/photos/data?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
I dessa lektioner kommer du att upptäcka hur Data Science definieras och lära dig om etiska överväganden som en dataanalytiker måste ta hänsyn till. Du kommer också att lära dig hur data definieras och få en introduktion till statistik och sannolikhet, de centrala akademiska områdena inom Data Science.
Även om databaser erbjuder mycket effektiva sätt att lagra och söka data med hjälp av frågespråk, är det mest flexibla sättet att bearbeta data att skriva sitt eget program för att manipulera data. I många fall är en databasfråga ett mer effektivt sätt. Men i vissa fall, när mer komplex databehandling behövs, kan det inte enkelt göras med SQL.
Databehandling kan programmeras i vilket programmeringsspråk som helst, men det finns vissa språk som är mer högspecialiserade för att arbeta med data. Dataforskare föredrar vanligtvis ett av följande språk:
@ -64,7 +64,7 @@ print(f"Length of index is {len(idx)}")
Anta nu att vi varje vecka organiserar en fest för vänner och tar med ytterligare 10 paket glass till festen. Vi kan skapa en annan Series, indexerad per vecka, för att visa detta:
```python
@ -75,7 +75,7 @@ När vi adderar två Series får vi det totala antalet:
> **Notera** att vi inte använder den enkla syntaxen `total_items+additional_items`. Om vi gjorde det skulle vi få många `NaN` (*Not a Number*)-värden i den resulterande serien. Detta beror på att det saknas värden för vissa indexpunkter i serien `additional_items`, och att addera `NaN` till något resulterar i `NaN`. Därför måste vi specificera parametern `fill_value` under additionen.
@ -84,7 +84,7 @@ Med tidsserier kan vi också **resampla** serien med olika tidsintervall. Till e
@ -211,7 +211,7 @@ Det första problemet vi kommer att fokusera på är modellering av epidemisk sp
Eftersom vi vill demonstrera hur man hanterar data, uppmanar vi dig att öppna [`notebook-covidspread.ipynb`](notebook-covidspread.ipynb) och läsa den från början till slut. Du kan också köra cellerna och göra några utmaningar som vi har lämnat åt dig i slutet.
> Om du inte vet hur man kör kod i Jupyter Notebook, ta en titt på [denna artikel](https://soshnikov.com/education/how-to-execute-notebooks-from-github/).
@ -233,7 +233,7 @@ Ett komplett exempel på att analysera detta dataset med hjälp av [Text Analyti
Öppna [`notebook-papers.ipynb`](notebook-papers.ipynb) och läs den från början till slut. Du kan också köra cellerna och göra några utmaningar som vi har lämnat åt dig i slutet.
> Foto av <ahref="https://unsplash.com/@swimstaralex?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Alexander Sinn</a> på <ahref="https://unsplash.com/s/photos/data?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
I dessa lektioner kommer du att lära dig några av de sätt som data kan hanteras, manipuleras och användas i applikationer. Du kommer att lära dig om relations- och icke-relationsdatabaser och hur data kan lagras i dem. Du kommer att lära dig grunderna i att arbeta med Python för att hantera data, och du kommer att upptäcka några av de många sätten du kan använda Python för att hantera och analysera data.
Visa nu samma data med ett honungsfärgschema för att visa hur priset utvecklas över åren. Du kan göra detta genom att lägga till en 'hue'-parameter för att visa förändringen år för år:
@ -51,7 +51,7 @@ Visa nu samma data med ett honungsfärgschema för att visa hur priset utvecklas
Med denna färgschemaförändring kan du tydligt se en stark progression över åren när det gäller priset på honung per pound. Om du tittar på ett urval av data för att verifiera (välj en viss delstat, till exempel Arizona) kan du se ett mönster av prisökningar år för år, med få undantag:
Är detta ett enkelt fall av utbud och efterfrågan? På grund av faktorer som klimatförändringar och kollaps av bisamhällen, finns det mindre honung tillgänglig för köp år för år, och därmed ökar priset?
✅ Eftersom Seaborn aggregerar data runt en linje, visar den "de flera mätningarna vid varje x-värde genom att plotta medelvärdet och 95 % konfidensintervallet runt medelvärdet". [Källa](https://seaborn.pydata.org/tutorial/relational.html). Detta tidskrävande beteende kan inaktiveras genom att lägga till `ci=None`.
@ -105,7 +105,7 @@ Fråga: Kan vi också se en topp i honungstillgången runt 2003? Vad händer om
Svar: Inte riktigt. Om du tittar på den totala produktionen verkar den faktiskt ha ökat det året, även om mängden producerad honung generellt sett minskar under dessa år.
@ -130,7 +130,7 @@ sns.relplot(
```
I denna visualisering kan du jämföra avkastning per samhälle och antal samhällen år för år, sida vid sida med en wrap inställd på 3 för kolumnerna:
För detta dataset framträder inget särskilt med avseende på antalet samhällen och deras avkastning, år för år och delstat för delstat. Finns det ett annat sätt att hitta en korrelation mellan dessa två variabler?
Även om inget särskilt framträder runt år 2003, låter det oss avsluta denna lektion på en lite gladare not: även om antalet samhällen totalt sett minskar, stabiliseras antalet samhällen även om deras avkastning per samhälle minskar.
Här installerar du `ggplot2`-paketet och importerar det sedan till arbetsytan med kommandot `library("ggplot2")`. För att plotta ett diagram i ggplot används funktionen `ggplot()` och du specificerar datasetet, x- och y-variabler som attribut. I detta fall använder vi funktionen `geom_line()` eftersom vi vill plotta ett linjediagram.
Vad märker du direkt? Det verkar finnas åtminstone en avvikelse - det är en ganska imponerande vingbredd! En vingbredd på över 2000 centimeter motsvarar mer än 20 meter - finns det Pterodactyler som strövar omkring i Minnesota? Låt oss undersöka.
Även med rotationen av etiketterna inställd på 45 grader är det för många för att läsa. Låt oss prova en annan strategi: märk endast avvikelserna och placera etiketterna inom diagrammet. Du kan använda ett spridningsdiagram för att skapa mer utrymme för märkningen:
@ -91,7 +91,7 @@ Vad händer här? Du använde funktionen `geom_point()` för att plotta spridnin
Vi skapade en ny dataframe `birds_filtered` och plottade sedan ett spridningsdiagram. Genom att filtrera bort avvikelser är din data nu mer sammanhängande och begriplig.
I följande kodsnutt installerar vi paketen [dplyr](https://www.rdocumentation.org/packages/dplyr/versions/0.7.8) och [lubridate](https://www.rdocumentation.org/packages/lubridate/versions/1.8.0) för att hjälpa till att manipulera och gruppera data för att plotta ett staplat stapeldiagram. Först grupperar du datan efter fåglarnas `Category` och summerar sedan kolumnerna `MinLength`, `MaxLength`, `MinBodyMass`, `MaxBodyMass`, `MinWingspan`, `MaxWingspan`. Sedan plotter du stapeldiagrammet med `ggplot2`-paketet och specificerar färgerna för de olika kategorierna och etiketterna.
Detta stapeldiagram är dock oläsligt eftersom det finns för mycket icke-grupperad data. Du behöver välja endast den data du vill plotta, så låt oss titta på fåglarnas längd baserat på deras kategori.
Du räknar först unika värden i kolumnen `Category` och sorterar dem sedan i en ny dataframe `birds_count`. Denna sorterade data faktoreras sedan på samma nivå så att den plottas på ett sorterat sätt. Med `ggplot2` plotter du sedan datan i ett stapeldiagram. `coord_flip()` plotter horisontella staplar.
Detta stapeldiagram ger en bra översikt över antalet fåglar i varje kategori. Vid en snabb blick ser du att det största antalet fåglar i denna region tillhör kategorin Ankor/Gäss/Vattenfåglar. Minnesota är "landet med 10 000 sjöar", så detta är inte förvånande!


Detta ger en översikt över den generella fördelningen av kroppslängd per fågelordning, men det är inte det optimala sättet att visa verkliga fördelningar. Den uppgiften hanteras vanligtvis genom att skapa ett histogram.
## Arbeta med histogram
@ -47,7 +47,7 @@ Detta ger en översikt över den generella fördelningen av kroppslängd per få


Som du kan se, faller de flesta av de 400+ fåglarna i detta dataset inom intervallet under 2000 för deras Max Kroppsmassa. Få mer insikt i datan genom att ändra `bins`-parametern till ett högre nummer, något som 30:
@ -55,7 +55,7 @@ Som du kan se, faller de flesta av de 400+ fåglarna i detta dataset inom interv
Detta diagram visar fördelningen på ett lite mer detaljerat sätt. Ett diagram som är mindre snedvridet åt vänster kan skapas genom att säkerställa att du endast väljer data inom ett visst intervall:
✅ Prova några andra filter och datapunkter. För att se den fullständiga fördelningen av datan, ta bort `['MaxBodyMass']`-filtret för att visa märkta fördelningar.


Det verkar inte finnas någon bra korrelation mellan minsta vingbredd och bevarandestatus. Testa andra element i datasetet med denna metod. Du kan prova olika filter också. Hittar du någon korrelation?
@ -126,7 +126,7 @@ Låt oss arbeta med täthetsdiagram nu!
Du kan se hur diagrammet speglar det tidigare för Minsta Vingbredd-data; det är bara lite smidigare. Om du ville återbesöka den hackiga MaxKroppsmassa-linjen i det andra diagrammet du byggde, kunde du jämna ut den mycket väl genom att återskapa den med denna metod:
@ -134,7 +134,7 @@ Du kan se hur diagrammet speglar det tidigare för Minsta Vingbredd-data; det ä
✅ Läs om de parametrar som finns tillgängliga för denna typ av diagram och experimentera!
@ -152,7 +152,7 @@ Denna typ av diagram erbjuder vackert förklarande visualiseringar. Med några f
ggplot(data=birds_filtered_1,aes(x = MaxBodyMass, fill = Order)) +
geom_density(alpha=0.5)
```


Voilà, ett pajdiagram som visar proportionerna av denna data enligt dessa två svampklasser. Det är ganska viktigt att få ordningen på etiketterna rätt, särskilt här, så se till att verifiera ordningen när etikettarrayen byggs!
I den här lektionen lärde du dig tre sätt att visualisera proportioner. Först behöver du gruppera din data i kategorier och sedan bestämma vilket som är det bästa sättet att visa datan - paj, donut eller våffla. Alla är läckra och ger användaren en omedelbar överblick av ett dataset.
Visa nu samma data med ett honungsfärgschema för att visa hur priset utvecklas över åren. Du kan göra detta genom att lägga till en 'scale_color_gradientn'-parameter för att visa förändringen år för år:
@ -52,7 +52,7 @@ Visa nu samma data med ett honungsfärgschema för att visa hur priset utvecklas
ggplot(honey, aes(x = priceperlb, y = state, color=year)) +
Med denna färgschemaändring kan du tydligt se en stark utveckling över åren när det gäller honungspriset per pund. Om du tittar på ett urval av data för att verifiera (välj en given delstat, till exempel Arizona) kan du se ett mönster av prisökningar år för år, med få undantag:
Är detta ett enkelt fall av utbud och efterfrågan? På grund av faktorer som klimatförändringar och kolonikollaps, finns det mindre honung tillgänglig för köp år för år, och därmed ökar priset?
Svar: Inte riktigt. Om du tittar på total produktion verkar det faktiskt ha ökat det året, även om mängden honung som produceras generellt sett minskar under dessa år.
För denna dataset sticker inget särskilt ut när det gäller antalet kolonier och deras avkastning, år för år och delstat för delstat. Finns det ett annat sätt att hitta en korrelation mellan dessa två variabler?
Även om inget sticker ut runt år 2003, låter det oss avsluta denna lektion med en lite gladare ton: även om det totalt sett är ett minskande antal kolonier, stabiliseras antalet kolonier även om deras avkastning per koloni minskar.
@ -38,25 +38,25 @@ I tidigare lektioner experimenterade du med att skapa olika typer av intressanta
Även om en dataanalytiker är noggrann med att välja rätt diagram för rätt data, finns det många sätt att visa data på ett sätt som bevisar en poäng, ofta på bekostnad av att undergräva själva datan. Det finns många exempel på vilseledande diagram och infografik!
[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
[](https://www.youtube.com/watch?v=oX74Nge8Wkw "How charts lie")
> 🎥 Klicka på bilden ovan för en konferensföreläsning om vilseledande diagram
Detta diagram vänder X-axeln för att visa motsatsen till sanningen, baserat på datum:
[Detta diagram](https://media.firstcoastnews.com/assets/WTLV/images/170ae16f-4643-438f-b689-50d66ca6a8d8/170ae16f-4643-438f-b689-50d66ca6a8d8_1140x641.jpg) är ännu mer vilseledande, eftersom ögat dras till höger för att dra slutsatsen att COVID-fallen har minskat över tid i olika län. Faktum är att om du tittar noga på datumen, upptäcker du att de har omarrangerats för att ge den vilseledande nedåtgående trenden.
Detta ökända exempel använder färg OCH en vänd Y-axel för att vilseleda: istället för att dra slutsatsen att vapenvåld ökade efter införandet av vapenvänlig lagstiftning, luras ögat att tro att motsatsen är sann:
Att jämföra det ojämförbara är ytterligare ett skumt knep. Det finns en [fantastisk webbplats](https://tylervigen.com/spurious-correlations) som handlar om 'spurious correlations' och visar 'fakta' som korrelerar saker som skilsmässofrekvensen i Maine och konsumtionen av margarin. En Reddit-grupp samlar också [fula användningar](https://www.reddit.com/r/dataisugly/top/?t=all) av data.
@ -91,13 +91,13 @@ Märk dina axlar, tillhandahåll en legend om det behövs, och erbjud verktygsti
Om din data är textbaserad och omfattande på X-axeln, kan du vinkla texten för bättre läsbarhet. [plot3D](https://cran.r-project.org/web/packages/plot3D/index.html) erbjuder 3D-plotting, om din data stödjer det. Sofistikerade datavisualiseringar kan skapas med det.
Några av de bästa datavisualiseringarna idag är animerade. Shirley Wu har fantastiska exempel gjorda med D3, såsom '[film flowers](http://bl.ocks.org/sxywu/raw/d612c6c653fb8b4d7ff3d422be164a5d/)', där varje blomma är en visualisering av en film. Ett annat exempel för Guardian är 'bussed out', en interaktiv upplevelse som kombinerar visualiseringar med Greensock och D3 plus ett scrollytelling-artikelformat för att visa hur NYC hanterar sitt hemlöshetsproblem genom att bussa ut människor från staden.
> "Bussed Out: How America Moves its Homeless" från [the Guardian](https://www.theguardian.com/us-news/ng-interactive/2017/dec/20/bussed-out-america-moves-homeless-people-country-study). Visualiseringar av Nadieh Bremer & Shirley Wu
@ -107,7 +107,7 @@ Några av de bästa datavisualiseringarna idag är animerade. Shirley Wu har fan
Du kommer att slutföra en webbapp som visar en animerad vy av detta sociala nätverk. Den använder ett bibliotek som skapades för att skapa en [visualisering av ett nätverk](https://github.com/emiliorizzo/vue-d3-network) med Vue.js och D3. När appen körs kan du dra runt noderna på skärmen för att omorganisera datan.


> Foto av <ahref="https://unsplash.com/@jenna2980?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Jenna Lee</a> på <ahref="https://unsplash.com/s/photos/bees-in-a-meadow?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Att visualisera data är en av de viktigaste uppgifterna för en dataanalytiker. Bilder säger mer än tusen ord, och en visualisering kan hjälpa dig att identifiera olika intressanta delar av din data, såsom toppar, avvikelser, grupperingar, tendenser och mycket mer, som kan hjälpa dig att förstå berättelsen din data försöker förmedla.
@ -16,7 +16,7 @@ Vid det här laget har du förmodligen insett att dataanalys är en process. Den
Den här lektionen fokuserar på tre delar av livscykeln: insamling, bearbetning och underhåll.


> Foto av [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## Insamling
@ -92,7 +92,7 @@ Utforska [Team Data Science Process livscykel](https://docs.microsoft.com/en-us/
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
| |  |
| |  |
| Bild av [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | Bild av [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
## [Quiz efter föreläsningen](https://ff-quizzes.netlify.app/en/ds/quiz/27)
> Foto av <ahref="https://unsplash.com/@headwayio?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Headway</a> på <ahref="https://unsplash.com/s/photos/communication?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
I dessa lektioner kommer du att utforska några aspekter av livscykeln för Data Science, inklusive analys och kommunikation kring data.
> Foto av [Jelleke Vanooteghem](https://unsplash.com/@ilumire) från [Unsplash](https://unsplash.com/s/photos/cloud?orientation=landscape)
När det gäller att utföra data science med stora datamängder kan molnet vara en riktig game changer. Under de kommande tre lektionerna ska vi titta på vad molnet är och varför det kan vara väldigt användbart. Vi kommer också att utforska en dataset om hjärtsvikt och bygga en modell för att hjälpa till att bedöma sannolikheten för att någon drabbas av hjärtsvikt. Vi kommer att använda molnets kraft för att träna, distribuera och använda en modell på två olika sätt. Ett sätt är att använda endast användargränssnittet på ett Low code/No code-sätt, och det andra sättet är att använda Azure Machine Learning Software Developer Kit (Azure ML SDK).
@ -32,7 +32,7 @@ Tack vare AI:s demokratisering är det nu enklare för utvecklare att designa oc
* [Data Science inom Hälsovård](https://data-flair.training/blogs/data-science-in-healthcare/) - lyfter fram tillämpningar som medicinsk bildbehandling (t.ex. MRI, röntgen, CT-skanning), genomik (DNA-sekvensering), läkemedelsutveckling (riskbedömning, framgångsprognoser), prediktiv analys (patientvård och logistik), sjukdomsspårning och förebyggande åtgärder.
 Bildkälla: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
 Bildkälla: [Data Flair: 6 Amazing Data Science Applications ](https://data-flair.training/blogs/data-science-applications/)
Figuren visar andra områden och exempel på hur data science-tekniker kan tillämpas. Vill du utforska fler tillämpningar? Kolla in [Review & Self Study](../../../../6-Data-Science-In-Wild/20-Real-World-Examples)-avsnittet nedan.
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
Azure Cloud Advocates på Microsoft är glada att erbjuda en 10-veckors, 20-lektioners läroplan helt om Data Science. Varje lektion inkluderar quiz före och efter lektionen, skriftliga instruktioner för att slutföra lektionen, en lösning och en uppgift. Vår projektbaserade pedagogik gör att du kan lära dig medan du bygger, ett beprövat sätt för nya färdigheter att "fastna".
Azure Cloud Advocates på Microsoft är glada att kunna erbjuda en 10-veckors, 20-lektioners läroplan om Data Science. Varje lektion inkluderar för- och efter-lektionsquiz, skriftliga instruktioner för att slutföra lektionen, en lösning och en uppgift. Vår projektbaserade pedagogik låter dig lära dig genom att bygga, ett beprövat sätt för nya färdigheter att "fästa".
> Detta repository innehåller översättningar till över 50 språk vilket avsevärt ökar nedladdningsstorleken. För att klona utan översättningar, använd sparsamt checkout:
> **Föredrar du att klona lokalt?**
>
> Detta repository inkluderar 50+ språköversättningar vilket avsevärt ökar nedladdningsstorleken. För att klona utan översättningar, använd sparsamt utcheckning:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Detta ger dig allt du behöver för att slutföra kursen med en mycket snabbare nedladdning.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Om du önskar stöd för ytterligare översättningsspråk finns de listade [här](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Om du vill ha ytterligare översättningsspråk stöds de som listas [här](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
Vi har en pågående Discord-serie om att lära sig med AI, lär dig mer och gå med oss på [Learn with AI Series](https://aka.ms/learnwithai/discord) från 18 - 30 september 2025. Du får tips och tricks för att använda GitHub Copilot för Data Science.
Vi har en Discord serie ”Learn with AI” på gång, lär dig mer och gå med hos oss på [Learn with AI Series](https://aka.ms/learnwithai/discord) från 18 - 30 september, 2025. Du får tips och tricks för att använda GitHub Copilot för Data Science.

@ -59,8 +69,8 @@ Vi har en pågående Discord-serie om att lära sig med AI, lär dig mer och gå
Kom igång med följande resurser:
- [Student Hub-sida](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) På denna sida hittar du nybörjarresurser, studentpaket och till och med sätt att få ett gratis certifikatvouchert. Detta är en sida du vill bokmärka och kolla regelbundet eftersom vi byter ut innehållet minst en gång i månaden.
- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Gå med i en global community av studentambassadörer, detta kan vara din väg in i Microsoft.
- [Student Hub-sida](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77958-bethanycheum) På denna sida hittar du nybörjarresurser, Studentpaket och till och med sätt att få ett gratis certifikatsvoucher. Detta är en sida du vill bokmärka och kolla då och då eftersom vi byter ut innehåll minst varje månad.
- [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77958-bethanycheum) Gå med i en global gemenskap av studentambassadörer, det kan vara din väg in i Microsoft.
# Komma igång
@ -69,62 +79,62 @@ Kom igång med följande resurser:
- **[Installationsguide](INSTALLATION.md)** - Steg-för-steg installationsinstruktioner för nybörjare
- **[Användarguide](USAGE.md)** - Exempel och vanliga arbetsflöden
- **[Felsökning](TROUBLESHOOTING.md)** - Lösningar på vanliga problem
- **[Bidragsguide](CONTRIBUTING.md)** - Hur du bidrar till detta projekt
- **[För lärare](for-teachers.md)** - Undervisningsvägledning och klassrumsresurser
- **[Bidragsguide](CONTRIBUTING.md)** - Hur man bidrar till detta projekt
- **[För lärare](for-teachers.md)** - Undervisningsvägledning och klassrumresurser
## 👨🎓 För studenter
> **Helt nybörjare**: Ny inom data science? Börja med våra [nybörjarvänliga exempel](examples/README.md)! Dessa enkla, välkommenterade exempel hjälper dig att förstå grunderna innan du dyker in i hela läroplanen.
> **[Studenter](https://aka.ms/student-page)**: för att använda denna läroplan på egen hand, forka hela repot och slutför övningarna själv, börja med ett för-lecture quiz. Läs sedan lektionen och slutför resten av aktiviteterna. Försök att skapa projekten genom att förstå lektionerna snarare än att kopiera lösningskoden; dock är den koden tillgänglig i /solutions-mapparna i varje projektsorienterad lektion. En annan idé är att skapa en studiegrupp med vänner och gå igenom innehållet tillsammans. För vidare studier rekommenderar vi [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
> **Fullständiga nybörjare**: Nybörjare på data science? Börja med våra [nybörjarvänliga exempel](examples/README.md)! Dessa enkla, välkommenterade exempel hjälper dig att förstå grunderna innan du dyker in i hela läroplanen.
> **[Studenter](https://aka.ms/student-page)**: för att använda denna läroplan själv, forka hela repo och slutför övningarna själv, börja med ett för-lecture quiz. Läs sedan föreläsningen och slutför resten av aktiviteterna. Försök att skapa projekten genom att förstå lektionerna snarare än att kopiera lösningskoden; dock finns den koden tillgänglig i /solutions-mapparna i varje projektorienterad lektion. En annan idé är att bilda en studiekrets med vänner och gå igenom innehållet tillsammans. För vidare studier rekommenderar vi [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/qprpajyoy3x0g7?WT.mc_id=academic-77958-bethanycheum).
**Snabbstart:**
1. Kontrollera [Installationsguiden](INSTALLATION.md) för att ställa in din miljö
2. Granska [Användarguiden](USAGE.md) för att lära dig hur man arbetar med läroplanen
3. Börja med Lektion 1 och arbeta sekventiellt igenom materialet
4. Gå med i vår [Discord-community](https://aka.ms/ds4beginners/discord) för support
1. Kolla [Installationsguiden](INSTALLATION.md) för att ställa in din miljö
2. Gå igenom [Användarguiden](USAGE.md) för att lära dig hur du använder läroplanen
3. Börja med Lektion 1 och arbeta dig igenom i ordning
4. Gå med i vårt [Discord-community](https://aka.ms/ds4beginners/discord) för stöd
## 👩🏫 För lärare
> **Lärare**: vi har [inkluderat några förslag](for-teachers.md) på hur man använder detta läroplan. Vi tar gärna emot din feedback [i vårt diskussionsforum](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
> **Lärare**: vi har [inkluderat några förslag](for-teachers.md) på hur du kan använda denna läroplan. Vi uppskattar gärna din feedback [i vårt diskussionsforum](https://github.com/microsoft/Data-Science-For-Beginners/discussions)!
> 🎥 Klicka på bilden ovan för en video om projektet och människorna som skapade det!
> 🎥 Klicka på bilden ovan för en video om projektet och personerna som skapade det!
## Pedagogik
Vi har valt två pedagogiska principer när vi byggde denna läroplan: att säkerställa att den är projektbaserad och att den inkluderar frekventa quiz. I slutet av denna serie kommer studenter ha lärt sig grundläggande principer för data science, inklusive etiska begrepp, datapreparering, olika sätt att arbeta med data, datavisualisering, dataanalys, verkliga användningsfall för data science och mer.
Vi har valt två pedagogiska principer när vi byggde denna läroplan: att säkerställa att den är projektbaserad och att den innehåller frekventa quiz. I slutet av denna serie kommer eleverna ha lärt sig grundläggande principer inom data science, inklusive etiska koncept, datapreparering, olika sätt att arbeta med data, datavisualisering, dataanalys, verkliga användningsfall av data science och mer.
Dessutom sätter ett för-quiz innan en lektion studentens intention i att lära sig ett ämne, medan ett andra quiz efter lektionen säkerställer ytterligare retention. Denna läroplan är designad för att vara flexibel och rolig och kan tas i sin helhet eller delvis. Projekten börjar små och blir successivt mer komplexa under den 10 veckor långa cykeln.
Dessutom sätter ett lågintensivt quiz före en lektion elevens fokus mot att lära sig ett ämne, medan ett andra quiz efter lektionen säkerställer ytterligare retention. Denna läroplan är utformad för att vara flexibel och rolig och kan genomföras helt eller delvis. Projekten börjar små och blir mer komplexa mot slutet av 10-veckorscykeln.
> Hitta våra [uppföranderegler](CODE_OF_CONDUCT.md), [bidragsriktlinjer](CONTRIBUTING.md), [översättningsriktlinjer](TRANSLATIONS.md). Vi välkomnar din konstruktiva feedback!
> Hitta våra [uppförandekoder](CODE_OF_CONDUCT.md), [bidragsriktlinjer](CONTRIBUTING.md), [översättningsriktlinjer](TRANSLATIONS.md). Vi välkomnar din konstruktiva feedback!
## Varje lektion innehåller:
## Varje lektion inkluderar:
- Valfri skissanteckning
- Valfri sketchnote
- Valfri kompletterande video
- Uppvärmningsquiz före lektion
- Uppvärmningsquiz före lektionen
- Skriftlig lektion
- För projektbaserade lektioner, steg-för-steg guider för att bygga projektet
- För projektbaserade lektioner, steg-för-steg-guider om hur du bygger projektet
- Kunskapskontroller
- En utmaning
- Kompletterande läsning
- Uppgift
- [Quiz efter lektionen](https://ff-quizzes.netlify.app/en/)
> **En notis om quiz:** Alla quiz finns i Quiz-App-mappen, totalt 40 quiz med tre frågor vardera. De länkas från lektionerna men quiz-appen kan köras lokalt eller distribueras till Azure; följ instruktionen i `quiz-app`-mappen. De håller på att lokalisera dem successivt.
> **En not om quiz:** Alla quiz finns i Quiz-App-mappen, totalt 40 quiz med tre frågor vardera. De är länkade från lektionerna, men quiz-appen kan köras lokalt eller distribueras till Azure; följ instruktionerna i `quiz-app`-mappen. De är successivt på väg att lokaliseras.
## 🎓 Börjarvänliga exempel
## 🎓 Nybörjarvänliga exempel
**Ny på Data Science?** Vi har skapat en särskild [exempelmapp](examples/README.md) med enkel, välkommenterad kod för att hjälpa dig att komma igång:
**Ny inom Data Science?** Vi har skapat en särskild [exempelkatalog](examples/README.md) med enkel, välkommenterad kod för att hjälpa dig att komma igång:
- 🌟 **Hello World** - Ditt första data science-program
| 01 | Definiera Data Science | [Introduktion](1-Introduction/README.md) | Lär dig grundläggande koncept bakom data science och hur det relaterar till artificiell intelligens, maskininlärning och big data. | [lektion](1-Introduction/01-defining-data-science/README.md) [video](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
| 03 | Definiera Data | [Introduktion](1-Introduction/README.md) | Hur data klassificeras och dess vanliga källor. | [lektion](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 04 | Introduktion till Statistik & Sannolikhet | [Introduktion](1-Introduction/README.md) | De matematiska teknikerna sannolikhet och statistik för att förstå data. | [lektion](1-Introduction/04-stats-and-probability/README.md) [video](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
| 05 | Arbeta med Relationsdata | [Arbeta Med Data](2-Working-With-Data/README.md) | Introduktion till relationsdata och grunderna i att utforska och analysera relationsdata med Structured Query Language, även känt som SQL (uttalas ”se-kwel”). | [lektion](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
| 06 | Arbeta med NoSQL Data | [Arbeta Med Data](2-Working-With-Data/README.md) | Introduktion till icke-relationsdata, dess olika typer och grunderna i att utforska och analysera dokumentdatabaser. | [lektion](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
| 07 | Arbeta med Python | [Arbeta Med Data](2-Working-With-Data/README.md) | Grunderna i att använda Python för datautforskning med bibliotek som Pandas. Grundläggande förståelse för Python-programmering rekommenderas. | [lektion](2-Working-With-Data/07-python/README.md) [video](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
| 08 | Datapreparering | [Arbeta Med Data](2-Working-With-Data/README.md) | Ämnen om datatekniker för rengöring och omvandling av data för att hantera utmaningar med saknad, felaktig eller ofullständig data. | [lektion](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 09 | Visualisera Kvantiteter | [Datavisualisering](3-Data-Visualization/README.md) | Lär dig hur man använder Matplotlib för att visualisera fågeldatan 🦆 | [lektion](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
| 10 | Visualisera Datafördelningar | [Datavisualisering](3-Data-Visualization/README.md) | Visualisering av observationer och trender inom ett intervall. | [lektion](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
| 11 | Visualisera Proportioner | [Datavisualisering](3-Data-Visualization/README.md) | Visualisering av diskreta och grupperade procentandelar. | [lektion](3-Data-Visualization/11-visualization-proportions/README.md) | [Jen](https://twitter.com/jenlooper) |
| 12 | Visualisera Relationer | [Datavisualisering](3-Data-Visualization/README.md) | Visualisering av kopplingar och korrelationer mellan datamängder och deras variabler. | [lektion](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
| 13 | Meningsfulla Visualiseringar | [Datavisualisering](3-Data-Visualization/README.md) | Tekniker och vägledning för att göra dina visualiseringar värdefulla för effektiv problemlösning och insikter. | [lektion](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
| 14 | Introduktion till Data Science:s livscykel | [Livscykel](4-Data-Science-Lifecycle/README.md) | Introduktion till data science-livscykeln och dess första steg att erhålla och extrahera data. | [lektion](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
| 15 | Analysera | [Livscykel](4-Data-Science-Lifecycle/README.md) | Denna fas i data science-livscykeln fokuserar på tekniker för att analysera data. | [lektion](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
| 16 | Kommunikation | [Livscykel](4-Data-Science-Lifecycle/README.md) | Denna fas i data science-livscykeln fokuserar på att presentera insikterna från data på ett sätt som gör det enklare för beslutsfattare att förstå. | [lektion](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
| 17 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Denna serie lektioner introducerar data science i molnet och dess fördelar. | [lektion](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 18 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Tränar modeller med Low Code-verktyg. |[lektion](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 19 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Distribuera modeller med Azure Machine Learning Studio. | [lektion](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 20 | Data Science i verkligheten | [I det vilda](6-Data-Science-In-Wild/README.md) | Data science-drivna projekt i verkliga världen. | [lektion](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
| Data Science för nybörjare: Färdplan - _Sketchnote av [@nitya](https://twitter.com/nitya)_ |
| Lektion Nummer | Ämne | Lektion Gruppering | Lärandemål | Länkad Lektion | Författare |
| 01 | Definiera Data Science | [Introduktion](1-Introduction/README.md) | Lär dig grundläggande koncept inom data science och hur det relaterar till artificiell intelligens, maskininlärning och big data. | [lektionen](1-Introduction/01-defining-data-science/README.md) [video](https://youtu.be/beZ7Mb_oz9I) | [Dmitry](http://soshnikov.com) |
| 02 | Data Science Etik | [Introduktion](1-Introduction/README.md) | Etiska koncept inom data, utmaningar och ramverk. | [lektionen](1-Introduction/02-ethics/README.md) | [Nitya](https://twitter.com/nitya) |
| 03 | Definiera Data | [Introduktion](1-Introduction/README.md) | Hur data klassificeras och dess vanliga källor. | [lektionen](1-Introduction/03-defining-data/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 04 | Introduktion till statistik & sannolikhet | [Introduktion](1-Introduction/README.md) | Matematiska tekniker för sannolikhet och statistik för att förstå data. | [lektionen](1-Introduction/04-stats-and-probability/README.md) [video](https://youtu.be/Z5Zy85g4Yjw) | [Dmitry](http://soshnikov.com) |
| 05 | Arbeta med relationell data | [Arbeta med data](2-Working-With-Data/README.md) | Introduktion till relationell data och grunderna för att utforska och analysera relationell data med Structured Query Language, även känt som SQL (uttalas "see-quell"). | [lektionen](2-Working-With-Data/05-relational-databases/README.md) | [Christopher](https://www.twitter.com/geektrainer) | | |
| 06 | Arbeta med NoSQL-data | [Arbeta med data](2-Working-With-Data/README.md) | Introduktion till icke-relationell data, dess olika typer och grunderna för att utforska och analysera dokumentdatabaser. | [lektionen](2-Working-With-Data/06-non-relational/README.md) | [Jasmine](https://twitter.com/paladique)|
| 07 | Arbeta med Python | [Arbeta med data](2-Working-With-Data/README.md) | Grunderna i att använda Python för datautforskning med bibliotek som Pandas. Grundläggande förståelse för Python-programmering rekommenderas. | [lektionen](2-Working-With-Data/07-python/README.md) [video](https://youtu.be/dZjWOGbsN4Y) | [Dmitry](http://soshnikov.com) |
| 08 | Datapreparering | [Arbeta med data](2-Working-With-Data/README.md) | Ämnen kring datatekniker för att rensa och transformera data för att hantera utmaningar med saknad, felaktig eller ofullständig data. | [lektionen](2-Working-With-Data/08-data-preparation/README.md) | [Jasmine](https://www.twitter.com/paladique) |
| 09 | Visualisera mängder | [Datavisualisering](3-Data-Visualization/README.md) | Lär dig använda Matplotlib för att visualisera fågeldatan 🦆 | [lektionen](3-Data-Visualization/09-visualization-quantities/README.md) | [Jen](https://twitter.com/jenlooper) |
| 10 | Visualisera datadistribution | [Datavisualisering](3-Data-Visualization/README.md) | Visualisera observationer och trender inom ett intervall. | [lektionen](3-Data-Visualization/10-visualization-distributions/README.md) | [Jen](https://twitter.com/jenlooper) |
| 12 | Visualisera relationer | [Datavisualisering](3-Data-Visualization/README.md) | Visualisera kopplingar och korrelationer mellan datasystem och deras variabler. | [lektionen](3-Data-Visualization/12-visualization-relationships/README.md) | [Jen](https://twitter.com/jenlooper) |
| 13 | Meningsfulla visualiseringar | [Datavisualisering](3-Data-Visualization/README.md) | Tekniker och vägledning för att göra dina visualiseringar värdefulla för effektiv problemlösning och insikter. | [lektionen](3-Data-Visualization/13-meaningful-visualizations/README.md) | [Jen](https://twitter.com/jenlooper) |
| 14 | Introduktion till data science-livscykeln | [Livscykel](4-Data-Science-Lifecycle/README.md) | Introduktion till data science-livscykeln och dess första steg att förvärva och extrahera data. | [lektionen](4-Data-Science-Lifecycle/14-Introduction/README.md) | [Jasmine](https://twitter.com/paladique) |
| 15 | Analysera | [Livscykel](4-Data-Science-Lifecycle/README.md) | Denna fas i data science-livscykeln fokuserar på tekniker för att analysera data. | [lektionen](4-Data-Science-Lifecycle/15-analyzing/README.md) | [Jasmine](https://twitter.com/paladique) | | |
| 16 | Kommunikation | [Livscykel](4-Data-Science-Lifecycle/README.md) | Denna fas i data science-livscykeln fokuserar på att presentera insikter från data på ett sätt som gör det enklare för beslutsfattare att förstå. | [lektionen](4-Data-Science-Lifecycle/16-communication/README.md) | [Jalen](https://twitter.com/JalenMcG) | | |
| 17 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Denna serie lektioner introducerar data science i molnet och dess fördelar. | [lektionen](5-Data-Science-In-Cloud/17-Introduction/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 18 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Träna modeller med Low Code-verktyg. |[lektionen](5-Data-Science-In-Cloud/18-Low-Code/README.md) | [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 19 | Data Science i molnet | [Molndata](5-Data-Science-In-Cloud/README.md) | Distribuera modeller med Azure Machine Learning Studio. | [lektionen](5-Data-Science-In-Cloud/19-Azure/README.md)| [Tiffany](https://twitter.com/TiffanySouterre) och [Maud](https://twitter.com/maudstweets) |
| 20 | Data Science "in the Wild" | [I det vilda](6-Data-Science-In-Wild/README.md) | Data science-drivna projekt i verkliga världen. | [lektionen](6-Data-Science-In-Wild/20-Real-World-Examples/README.md) | [Nitya](https://twitter.com/nitya) |
## GitHub Codespaces
Följ dessa steg för att öppna detta exempel i en Codespace:
1. Klicka på rullgardinsmenyn Code och välj alternativet Open with Codespaces.
2. Välj + New codespace längst ned i panelen.
För mer info, kolla in [GitHub-dokumentationen](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
1. Klicka på Code-rullgardinsmenyn och välj alternativet Öppna med Codespaces.
2. Välj + Ny codespace längst ned i panelen.
För mer info, se [GitHub-dokumentationen](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository#creating-a-codespace).
## VSCode Remote - Containers
Följ dessa steg för att öppna detta repo i en container med din lokala maskin och VSCode med hjälp av VS Code Remote - Containers-tillägget:
1. Om detta är första gången du använder en utvecklingscontainer, säkerställ att ditt system uppfyller förutsättningarna (t.ex. ha Docker installerat) enligt [kom igång-dokumentationen](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
1. Om detta är första gången du använder en utvecklingscontainer, se till att ditt system uppfyller förutsättningarna (dvs. ha Docker installerat) i [kom igång-dokumentationen](https://code.visualstudio.com/docs/devcontainers/containers#_getting-started).
För att använda detta repository kan du antingen öppna repositoryt i en isolerad Docker-volym:
För att använda detta repo kan du antingen öppna repot i en isolerad Docker-volym:
**Notera**: Under huven används Remote-Containers: **Clone Repository in Container Volume...**-kommandot för att klona källkoden i en Docker-volym istället för det lokala filsystemet. [Volymer](https://docs.docker.com/storage/volumes/) är den föredragna mekanismen för att bevara container-data.
**Observera**: Under huven kommer detta att använda Remote-Containers: **Clone Repository in Container Volume...**-kommandot för att klona källkoden i en Docker-volym istället för i det lokala filsystemet. [Volymer](https://docs.docker.com/storage/volumes/) är den föredragna metoden för att bevara container-data.
Eller öppna en lokalt klonad eller nedladdad version av repositoryt:
Eller öppna en lokalt klonad eller nedladdad version av repot:
- Klona detta repository till ditt lokala filsystem.
- Klona detta repo till ditt lokala filsystem.
- Tryck F1 och välj kommandot **Remote-Containers: Open Folder in Container...**.
- Välj den klonade kopian av denna mapp, vänta på att containern startar och prova.
- Välj den klonade kopian av denna mapp, vänta på att containern startar, och testa.
## Offlinetillgång
## Offlineåtkomst
Du kan köra denna dokumentation offline med hjälp av [Docsify](https://docsify.js.org/#/). Fork detta repo, [installera Docsify](https://docsify.js.org/#/quickstart) på din lokala maskin, och skriv sedan i rotmappen till detta repo `docsify serve`. Webbplatsen kommer att finnas på port 3000 på din localhost: `localhost:3000`.
Du kan köra denna dokumentation offline genom att använda [Docsify](https://docsify.js.org/#/). Forka detta repo, [installera Docsify](https://docsify.js.org/#/quickstart) på din lokala maskin, och sedan i rotmappen av detta repo, skriv `docsify serve`. Webbplatsen kommer att serveras på port 3000 på din localhost: `localhost:3000`.
> Observera att notebooks inte kommer att visas via Docsify, så när du behöver köra en notebook, gör det separat i VS Code med en Python-kärna.
> Observera, notebooks renderas inte via Docsify, så när du behöver köra en notebook, gör det separat i VS Code med en Python-kärna.
## Andra Läroplaner
## Andra läroplaner
Vårt team producerar andra läroplaner! Kolla in:
@ -207,15 +217,15 @@ Vårt team producerar andra läroplaner! Kolla in:
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Generativ AI-serie
### Series med generativ AI
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Kärninlärning
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
@ -226,22 +236,22 @@ Vårt team producerar andra läroplaner! Kolla in:
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot-serie
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
**Står du inför problem?** Kolla vår [Felsökningsguide](TROUBLESHOOTING.md) för lösningar på vanliga problem.
**Stöter du på problem?** Kolla in vår [Felsökningsguide](TROUBLESHOOTING.md) för lösningar på vanliga problem.
Om du fastnar eller har frågor om att bygga AI-appar. Gå med bland andra lärande och erfarna utvecklare i diskussioner om MCP. Det är en stödjande gemenskap där frågor är välkomna och kunskap delas öppet.
Om du kör fast eller har frågor om att bygga AI-appar. Gå med i samtal med andra lärande och erfarna utvecklare om MCP. Det är en stödjande gemenskap där frågor är välkomna och kunskap delas fritt.
@ -249,5 +259,5 @@ Om du har produktfeedback eller stöter på fel under utveckling, besök:
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Ansvarsfriskrivning**:
Detta dokument har översatts med hjälp av den AI-baserade översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet bör du vara medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på originalspråket ska betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår till följd av användningen av denna översättning.
Detta dokument har översatts med hjälp av AI-översättningstjänsten [Co-op Translator](https://github.com/Azure/co-op-translator). Även om vi strävar efter noggrannhet är det viktigt att vara medveten om att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originalspråk ska betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår vid användning av denna översättning.
ในความท้าทายนี้ เราจะพยายามค้นหาแนวคิดที่เกี่ยวข้องกับสาขาวิทยาศาสตร์ข้อมูลโดยการดูจากข้อความ เราจะนำบทความ Wikipedia เกี่ยวกับวิทยาศาสตร์ข้อมูลมาดาวน์โหลดและประมวลผลข้อความ จากนั้นสร้าง Word Cloud แบบนี้:


"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Data science - Wikipedia Data science From Wikipedia, the free encyclopedia Jump to navigation Jump to search Interdisciplinary field of study focused on deriving knowledge and insights from data Not to be confused with information science . The existence of Comet NEOWISE (here depicted as a series of red dots) was discovered by analyzing astronomical survey data acquired by a space telescope , the Wide-field Infrared Survey Explorer . Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection AutoML Association rules Reinforcement learning Structured prediction Feature engineering Feature learning Online learning Semi-supervised learning Unsupervised learning Learning to rank Grammar induction Supervised learning ( classification • regression ) Decision trees Ensembles Bagging Boosting Random forest k -NN Linear regression Naive Bayes Artificial neural networks Logistic regression Perceptron Relevance vector machine \n"
"Data science From Wikipedia, the free encyclopedia Interdisciplinary field of study focused on deriving knowledge and insights from data Data science is an interdisciplinary academic field that uses statistics, scientific computing, scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from noisy, structured, and unstructured data. Data science also integrates domain knowledge from the underlying application domain. Data science is multifaceted and can be described as a science, a research paradigm, a research method, a discipline, a workflow, and a profession.\n"
"ในแบบฝึกหัดนี้ เราได้ผ่านกระบวนการง่ายๆ ในการดึงความหมายบางอย่างจากข้อความใน Wikipedia ในรูปแบบของคีย์เวิร์ดและ Word Cloud ตัวอย่างนี้ค่อนข้างง่าย แต่ก็แสดงให้เห็นถึงขั้นตอนทั่วไปทั้งหมดที่นักวิทยาศาสตร์ข้อมูลจะทำเมื่อทำงานกับข้อมูล ตั้งแต่การได้มาซึ่งข้อมูลไปจนถึงการสร้างภาพข้อมูล\n",
"ในแบบฝึกหัดนี้ เราได้ผ่านกระบวนการง่ายๆ ในการดึงความหมายจากข้อความวิกิพีเดีย ในรูปแบบของคีย์เวิร์ดและ word cloud ตัวอย่างนี้ง่าย แต่แสดงให้เห็นขั้นตอนทั่วไปทั้งหมดที่นักวิทยาศาสตร์ข้อมูลจะทำเมื่อต้องทำงานกับข้อมูล เริ่มตั้งแต่การรับข้อมูลไปจนถึงการแสดงผล \n",
"from bs4 import BeautifulSoup\r\n\r\n# Parse the HTML content\r\nsoup = BeautifulSoup(text, 'html.parser')\r\n\r\n# Extract only the main article content from Wikipedia\r\n# Wikipedia uses 'mw-parser-output' class for the main article content\r\ncontent = soup.find('div', class_='mw-parser-output')\r\n\r\ndef clean_wikipedia_content(content_node):\r\n \"\"\"Remove common non-article elements from a Wikipedia content node.\"\"\"\r\n # Strip jump links, navboxes, reference lists/superscripts, edit sections, TOC, sidebars, etc.\r\n selectors = [\r\n '.mw-jump-link',\r\n '.navbox',\r\n '.reflist',\r\n 'sup.reference',\r\n '.mw-editsection',\r\n '.hatnote',\r\n '.metadata',\r\n '.infobox',\r\n '#toc',\r\n '.toc',\r\n '.sidebar',\r\n ]\r\n for selector in selectors:\r\n for el in content_node.select(selector):\r\n el.decompose()\r\n\r\nif content:\r\n # Clean the content node to better approximate article text only.\r\n clean_wikipedia_content(content)\r\n text = content.get_text(separator=' ', strip=True)\r\n print(text[:1000])\r\nelse:\r\n print(\"Could not find main content. Using full page text.\")\r\n text = soup.get_text(separator=' ', strip=True)\r\n print(text[:1000])"
],
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
" Machine learning - Wikipedia Machine learning From Wikipedia, the free encyclopedia Jump to navigation Jump to search Study of algorithms that improve automatically through experience For the journal, see Machine Learning (journal) . \"Statistical learning\" redirects here. For statistical learning in linguistics, see statistical learning in language acquisition . Part of a series on Artificial intelligence Major goals Artificial general intelligence Planning Computer vision General game playing Knowledge reasoning Machine learning Natural language processing Robotics Approaches Symbolic Deep learning Bayesian networks Evolutionary algorithms Philosophy Ethics Existential risk Turing test Chinese room Control problem Friendly AI History Timeline Progress AI winter Technology Applications Projects Programming languages Glossary Glossary v t e Part of a series on Machine learning and data mining Problems Classification Clustering Regression Anomaly detection Data Cleaning AutoML Associ\n"
"Machine learning From Wikipedia, the free encyclopedia Study of algorithms that improve automatically through experience Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn from data and generalize to unseen data, and thus perform tasks without explicit instructions. Recently, artificial neural networks have been able to surpass many previous approaches in performance. ML finds application in many fields, including natural language processing, computer vision, speech recognition, email filtering, agriculture, and medicine.\n"
การแจกแจงแบบต่อเนื่องที่เป็นแบบสม่ำเสมอเรียกว่า **การแจกแจงแบบสม่ำเสมอต่อเนื่อง** ซึ่งถูกนิยามในช่วงจำกัด ความน่าจะเป็นที่ค่าของ X อยู่ในช่วงที่มีความยาว l จะเป็นสัดส่วนกับ l และเพิ่มขึ้นจนถึง 1
เพื่อดูว่าการแจกแจงของข้อมูลของเราเป็นอย่างไร เราสามารถสร้างกราฟที่เรียกว่า **ฮิสโตแกรม** แกน X จะมีจำนวนช่วงน้ำหนักที่แตกต่างกัน (เรียกว่า **bins**) และแกนตั้งจะแสดงจำนวนครั้งที่ตัวอย่างตัวแปรสุ่มอยู่ในช่วงที่กำหนด








สมมติว่าในแต่ละสัปดาห์เราจัดงานเลี้ยงสำหรับเพื่อน ๆ และนำไอศกรีมเพิ่มอีก 10 แพ็คสำหรับงานเลี้ยง เราสามารถสร้าง series อีกตัวที่มี index เป็นสัปดาห์เพื่อแสดงสิ่งนี้:
ตัวอย่างที่มีชื่อเสียงนี้ใช้สีและกลับด้านแกน Y เพื่อหลอกลวง: แทนที่จะสรุปว่าการเสียชีวิตจากอาวุธปืนเพิ่มขึ้นหลังจากการผ่านกฎหมายที่สนับสนุนอาวุธปืน สายตากลับถูกหลอกให้คิดว่าตรงกันข้าม:
> ภาพโดย [Berkeley School of Information](https://ischoolonline.berkeley.edu/data-science/what-is-data-science/)
## การเก็บข้อมูล
@ -92,7 +92,7 @@
|Team Data Science Process (TDSP)|Cross-industry standard process for data mining (CRISP-DM)|
|--|--|
| |  |
| |  |
| ภาพโดย [Microsoft](https://docs.microsoft.comazure/architecture/data-science-process/lifecycle) | ภาพโดย [Data Science Process Alliance](https://www.datascience-pm.com/crisp-dm-2/) |
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=344191198)
> หมายเหตุ โน้ตบุ๊กจะไม่ถูกแสดงผลผ่าน Docsify ดังนั้นเมื่อต้องรันโน้ตบุ๊ก ให้ทำแยกต่างหากใน VS Code ที่รันเคอร์เนล Python
> หมายเหตุ โน้ตบุ๊กจะไม่ถูกแสดงผลผ่าน Docsify ดังนั้นเมื่อคุณต้องการรันโน้ตบุ๊ก ให้รันแยกต่างหากใน VS Code ด้วยเคอร์เนล Python
## หลักสูตรอื่น ๆ
ทีมงานของเราผลิตหลักสูตรอื่นด้วย! ลองดู:
ทีมของเราผลิตหลักสูตรอื่น ๆ ด้วย! ลองดู:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
ถ้าคุณติดขัดหรือมีคำถามเกี่ยวกับการสร้างแอป AI เข้าร่วมกับผู้เรียนและนักพัฒนาที่มีประสบการณ์ในการพูดคุยเกี่ยวกับ MCP ชุมชนที่สนับสนุนนี้เปิดรับคำถามและแบ่งปันความรู้กันอย่างอิสระ
หากคุณติดขัดหรือต้องการคำถามใด ๆ เกี่ยวกับการสร้างแอป AI เข้าร่วมกับผู้เรียนและนักพัฒนาที่มีประสบการณ์เพื่อหารือเกี่ยวกับ MCP ชุมชนที่ส่งเสริมการถามคำถามและแบ่งปันความรู้กันอย่างเสรี