Data Science und Machine Learning mit Python – Hands-On Programmieren für Fortgeschrittene | Jesper Dramsch, PhD | Skillshare
Drawer
Suchen

Playback-Geschwindigkeit


  • 0.5x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 2x

Data Science und Machine Learning mit Python – Hands-On Programmieren für Fortgeschrittene

teacher avatar Jesper Dramsch, PhD, Scientist for Machine Learning

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung in Data Science mit Python

      3:22

    • 2.

      Kursprojekt

      1:35

    • 3.

      Was ist Data Science?

      4:44

    • 4.

      Tool-Übersicht

      4:15

    • 5.

      So findest du Hilfe

      14:17

    • 6.

      | zum Laden von | Daten

      0:21

    • 7.

      Excel- und CSV-Dateien laden

      6:20

    • 8.

      Daten aus SQL laden

      5:11

    • 9.

      Jede Datendatei laden

      5:58

    • 10.

      Mit riesigen Daten umgehen

      10:15

    • 11.

      Mehrere Datenquellen kombinieren

      4:14

    • 12.

      | Datenbereinigung |

      0:54

    • 13.

      Mit fehlenden Daten umgehen

      8:05

    • 14.

      Numerische Daten skalieren und binning

      12:26

    • 15.

      Daten mit Schemas validieren

      10:09

    • 16.

      Verschlüsselung kategorischer Daten

      6:39

    • 17.

      | Explorative Datenanalyse |

      7:16

    • 18.

      Visuelle Datenexploration

      10:19

    • 19.

      Deskriptive Statistik

      5:32

    • 20.

      Daten in Untermengen aufteilen

      12:30

    • 21.

      Beziehungen in den Daten finden und verstehen

      5:51

    • 22.

      | Maschinelles Lernen |

      1:08

    • 23.

      Lineare Regression für die Preis-Vorhersage

      14:30

    • 24.

      Entscheidungsbäume und Zufallswälder

      6:59

    • 25.

      Klassifizierung des maschinellen Lernens

      9:45

    • 26.

      Daten-Clustering für tiefere Einblicke

      8:16

    • 27.

      Validierung von Machine-Learning-Modellen

      10:02

    • 28.

      Interpretierbarkeit von Machine Learning

      16:23

    • 29.

      Einführung in die Fairness des maschinellen Lernens

      7:47

    • 30.

      | Visualisierungen und Berichte |

      0:15

    • 31.

      Grundlagen der Visualisierung

      7:23

    • 32.

      52 Geospatial neu

      5:30

    • 33.

      Daten und Visualisierungen exportieren

      6:42

    • 34.

      Präsentationen direkt in Jupyter erstellen

      2:38

    • 35.

      PDF-Berichte aus Jupyter generieren

      3:47

    • 36.

      Fazit und Glückwunsch!

      2:04

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

4.721

Teilnehmer:innen

4

Projekte

Über diesen Kurs

Bist du bereit, die Fähigkeiten zu erlernen, die in allen Branchen sehr gefragt sind?

Maschinelles Lernen und Datenwissenschaften sind für fundierte Entscheidungen in der heutigen Geschäftswelt unerlässlich. Und der beste Weg, um diese Fähigkeiten zu erlernen, ist durch die Macht von Python.

Folge dem kostenlosen Code-Ressourcen-Buch auf: Data-Science-Gui.de (keine E-Mail)

Python ist die wichtigste Sprache für Data Science, und in diesem Kurs tauchen wir tief in seine Fähigkeiten ein. Dieser Kurs richtet sich sowohl an Anfänger als auch an Fortgeschrittene, mach dir also keine Sorgen, wenn du neu in der Programmierung bist. Dieser Kurs setzt einige Python-Kenntnisse voraus, aber wenn du eine allgemeine Einführung ohne Programmieranwendung in Data Science bevorzugst, habe ich einen anderen Kurs: Den No-Code Data Science Master Class.

Wir beginnen mit den Grundlagen der Python-Syntax und kommen dann zum vollständigen Data Science-Workflow, einschließlich:

  • Daten aus Dateien und Datenbanken laden
  • Daten für die Analyse bereinigen und vorbereiten
  • Die Daten erkunden und verstehen
  • Erstellen und bewerten von Machine-Learning-Modellen
  • Kunden-Abwanderung analysieren und Modelle validieren
  • Daten visualisieren und Berichte erstellen

Wir verwenden beliebte und frei verfügbare Python-Bibliotheken wie Jupyter, NumPy, SciPy, Pandas, MatPlotLib, Seaborn und Scikit-Learn.

Am Ende dieses Kurses hast du nicht nur ein solides Verständnis von Data Science und Analytics, sondern kannst auch schnell neue Bibliotheken und Tools erlernen. Warte also nicht länger und melde dich noch heute für diesen Python Data Science Master-Kurs an!

-----------------------------------------

Wer bin ich?

Jesper Dramsch ist ein Forscher für maschinelles Lernen, der zwischen physischen Daten und Deep Learning arbeitet.

Ich bin als Geophysiker ausgebildet und habe mich während der Arbeit an einem Doktortitel in der Python-Programmierung, Datenwissenschaft und der Forschung für maschinelles Lernen verlagert. Während dieser Zeit habe ich auf der Wettbewerbs-Website für maschinelles Lernen Kaggle (Teil von Alphabet/Google) Lernbücher erstellt und habe Rang 81 weltweit erreicht. Mein Top-Notizbuch wurde zu diesem Zeitpunkt über 64.000 Mal aufgerufen. Darüber hinaus habe ich Python, maschinelles Lernen und Datenwissenschaften auf der ganzen Welt in Unternehmen gelehrt, darunter Shell, der britischen Regierung, Universitäten und mehreren mittelständischen Unternehmen. Als kleiner Ansporn im Jahr 2020 habe ich die IBM Data Science-Zertifizierung in unter 48h abgeschlossen.

-----------------------------------------

Andere nützliche Links:

Meine Website und mein Blog -
https://dramsch.netDer wöchentliche Newsletter - https://dramsch.net/newsletter

Twitter - https://twitter.com/jesperdramsch
Linkedin - https://linkedin.com/in/mlds

Youtube - https://www.dramsch.net/youtube
Camera gear - https://www.dramsch.net/r/gear

Triff deine:n Kursleiter:in

Teacher Profile Image

Jesper Dramsch, PhD

Scientist for Machine Learning

Kursleiter:in

a top scientist in machine learning, educator, and content creator.

In my classes, you'll learn state-of-the-art methods to work with AI and gain insights from data, along with over 7,000 other students. This takes the form of exploring data and gaining insights with modelling and visualizations. Whether you're a beginner, intermediate, or expert, these classes will deepen your understanding of data science and AI.

I am trained as a geophysicist and shifted into data science and machine learning research, and Python programming during work towards a PhD. During that time, I created educational notebooks on the machine learning contest website Kaggle (part of Alphabet/Google) and reached rank 81 worldwide. My top notebook has been viewed over 70,000 times a... Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Data Science in gewissem Sinne ist für mich wie eine Detektivgeschichte. Sie lösen versteckte Beziehungen in den Daten und erstellen eine Erzählung um diese Beziehungen. Mein Name ist Oscar Thomas und ich bin auf Machine Learning Forscher und Data Scientists. In den letzten drei Jahren habe ich an meiner Promotion in Machine Learning und Geophysik gearbeitet. Ich habe Erfahrung als Berater lehre Python und maschinelles Lernen in Orten wie Shell und der britischen Regierung, aber auch mittelständische Unternehmen und Universitäten. All diese Erfahrungen haben mir die Möglichkeit gegeben, mein IBM Data Science Professional Zertifikat in 48 Stunden für einen Kurs zu beenden mein IBM Data Science Professional Zertifikat in , der ungefähr ein Jahr dauern soll. Ich erstelle auch genau diese Notebooks, die Sie in diesem Kurs für Data Science und maschinelles Lernen Wettbewerb erstellen lernen , eine Art namens Kaggle, die im Besitz von Google ist. Dort gewann ich von mehr als 100.000 Teilnehmern weltweit den Rang 81. Nach diesem Kurs haben Sie jeden Schritt des Data Science Workflows durchlaufen. Das bedeutet, dass Sie die gesamte Visualisierung neu erstellen können und alle Code-Snippets später für die Verwendung mit Ihren eigenen Daten in Ihren eigenen Berichten zur Verfügung stehen . Wir werden einen sehr angewandten Schritt für Schritt machen. Wir beginnen ganz am Anfang, beginnend damit, Ihre Daten in Python zu bekommen. Das bedeutet, Excel -Dateien zu betrachten und SQL-Tabellen zu betrachten, aber auch diese seltsamen kleinen Datenformate zu betrachten, mit denen manchmal etwas schwierig zu arbeiten ist. Dann werden wir unsere Daten vorverarbeiten, unsere Daten bereinigen und explorative Datenanalyse oder kurze EDA durchführen. EDA ist der Teil, in dem Sie Ihre Frage wirklich verfeinern, und wo wir einen Blick auf die Beziehungen in unseren Daten werfen und diese Fragen beantworten. Danach werfen wir einen kleinen Blick auf die Modellierung des maschinellen Lernens und die Validierung dieser maschinellen Lernmodelle, denn in dieser modernen Zeit ist dies wichtiger denn je. Wir werfen einen Blick auf verschiedene Datenvisualisierungen, wie Sie Ihre Geschichte am besten erzählen, wie Sie am besten Präsentationen und Berichte generieren können, um wirklich zu überzeugen, um Ihre Geschichte wirklich zu unterstreichen, dass Sie diese Daten erzählen können. Endlich werden wir einen Blick darauf werfen, Präsentationen und PDF-Berichte automatisch direkt aus Python zu generieren. Ich habe jetzt den unglücklichen Mangel, zweimal in die Rezession einzusteigen. Aber Python hat mir die Möglichkeit gegeben, einen Doktortitel abzuschließen , während ich als Berater arbeite und diese erstaunlichen erstklassigen Data Science Portfolios für mich selbst erstellt habe, die jetzt so viel Aufmerksamkeit erregt haben. Es ist erstaunlich. Eines meiner Notizbücher wurde über 50.000 Mal angesehen. Ich hoffe, das mit Ihnen teilen zu können. Datenzeichen für mich ist das super spannende neue Feld und Python ist sehr zugänglich. Also hoffe ich, Sie im Unterricht zu sehen. 2. 01 Klassenprojekt neu: Willkommen im Unterricht und danke, dass du es dir angesehen hast. Ich freue mich wirklich, dich zu haben. Dieser Kurs wird aus mundgerechten Videos bestehen, die Teil größerer Kapitel sind, denn dann kannst du zurückkommen und dir die kleinen Details ansehen und musst nicht in größeren Nachrichten suchen. Und jedes Kapitel wird einer der Schritte im Data-Science-Workflow sein. Am Ende. Weil sie einfach sinen, wird nicht Sinus eins über Protein angewendet . Und dann werden Sie in diesem Projekt nachstellen, was wir in diesen Videovorträgen machen. Gehen Sie den gesamten Data-Science-Workflow durch und generieren Sie am Ende ein PDF für eine Präsentation mit Ihrem Bußgeld, Es ist gut für Ihre eigenen Daten, einen Datensatz, den ich darüber hinaus bereitstelle, und stellen Sie all diese Notizbücher zur Verfügung, damit Sie während der Videos mitprogrammieren können , da es am besten ist, zu experimentieren. Manchmal sieht man etwas, das man erschaffen möchte, etwas anderes, man möchte es besser verstehen. Und dann ist es wirklich der beste Weg, mit dem Code zu experimentieren , den ich auf dem Bildschirm habe. In den ersten Vorlesungen möchte ich sicherstellen, dass alle gleich stark von der Dürre betroffen sind. Schauen Sie sich die Tools an. Wir werden einige Einführungsvorträge haben , in denen wir wirklich afrikanische Objekte bekommen. Und dann beginnen wir mit dem gesamten Datensatz. Was, wenn auch sehr brutales Laden, Bereinigen, explorative Datenanalyse bis hin zum maschinellen Lernen. Und wir nennen Generation. 3. 02 Was ist Data Science neu: In diesem Kurs werden wir die Datenwissenschaft aus zwei verschiedenen Perspektiven betrachten. Es gibt also eine, in der wir uns ansehen werden, was sie eigentlich ausmacht, um zu handeln. Was sind die wichtigen Grundlagen? Und da ist noch der andere, der Prozessansatz. Wie macht man eigentlich Datenwissenschaftler? Ich definiere Datenwissenschaft als ein kleines Biest, weil es eine so neue Disziplin ist , dass jeder schon einmal an Leukämie erkrankt ist. Und mir hat gefallen, wie Jim Gray, der Turing Award, verliehen wurde, ihn im Grunde als Ford Pinto-Zeichen definiert. Und diese Datenwissenschaft oder Informationstechnologie. Und drittens: Need Changes Alles über die Wissenschaft. Und ich denke, die Auswirkungen datengesteuerter Entscheidungen auf Schilder , Geschäfte, es hat sich als meine bevorzugte Sichtweise auf Datenwissenschaft herausgestellt datenwissenschaftliche Bedarfshierarchie durch unerwünschte Pflege schurkt uns die Zähne. Und sie definiert es wirklich als diese Pyramide. Alle Grundbedürfnisse und Ben Wolf, mehr Nischenbedürfnisse , je höher Sie steigen. Und an der Basis dieser Bedarfshierarchie steht das Sammeln von Daten. Und wir müssen uns darüber im Klaren sein , dass bereits kollektiver Prozess durch diesen veralteten Prozess läuft, viele Menschen gerne glauben, dass Daten unvoreingenommen sind, das stimmt. Aber das sind wirklich nicht die Mädchen. Selbst dann verzerren physische Systeme unsere Daten, werden durch Sammeln gelesen und dann nivelliert, verschoben und gespeichert. stellen also sicher, dass wir über einen zuverlässigen Speicher, zuverlässige Datenlangsamkeit einen ETL-Prozess zum Extrahieren, Transformieren und Laden um der Infrastruktur der Datenwissenschaft wirklich zu helfen. nächste Stufe der Rasse ist das Erkunden und Transformieren von Daten. Also Anomalieerkennung bei der Reinigung, Vorbereitung unserer Daten für das eigentliche MLS. Schritt vier ist das Aggregieren und Kennzeichnen der Daten , die Auswahl der Metriken, die wir verwenden werden , und die Betrachtung der Funktionen und Trainingsdaten Der letzte Schritt des Panels ist die eigentliche Modellierung. Also AB-Tests, Testen zwischen einer Version der Website und einer anderen und Experimentieren einfacher Algorithmen für maschinelles Lernen, und Experimentieren einfacher Algorithmen für maschinelles um Einblicke zu gewinnen die Daten zu modellieren und Vorhersagen basieren auf der Spitze der Pyramidenköpfe, KI und dem Nicken der Menschen. Also das wirklich saftige Zeug, aber auch das Zeug, an das die meisten Unternehmen eigentlich nicht denken. Dies fasst auch grob zusammen, wie viel Zeit Sie für jeden Schritt innerhalb des Perimeters aufwenden sollten . Wenn Sie also keine Zeit damit verbringen, Daten zu sammeln oder über Daten nachzudenken, werden Sie wahrscheinlich später ein Problem haben. Eine andere Art, Datenwissenschaften zu betrachten und Fragen zu stellen. Beim Data-Science-Prozess geht es im Wesentlichen darum, Fragen zu Ihren Daten zu stellen. Und es ist ein sehr iterativer Ansatz. Am Anfang stellen Sie also die Frage, stellen Sie also die Frage, diese Daten erfasst werden, aber wie werden die Daten tatsächlich abgetastet? Dies geht in die Daten des Käufers ein. Welche Daten sind relevant, und dann erkunden Sie die Daten zur explorativen Datenanalyse. Andrey inspiziert. Manchmal muss man zurück. Es ist ein iterativer Prozess. Während der Erkundung werden Sie feststellen , dass eine Datenquelle den Informationen, die Sie in Ihren Daten haben, wirklich helfen würde . Also gehst du zwischen den Schritten hin und her. Dann modellieren Sie die Daten, erstellen ein einfaches Machine-Learning-Modell oder einfach nur die Hierarchie der Bedürfnisse und durch die Modellierung Ihrer Daten mit einfachen Algorithmen wirklich Erkenntnisse gewonnen . Schließlich, und dies ist nicht Teil der Bedarfshierarchie, aber es ist definitiv Teil des datenwissenschaftlichen Prozesses, Ihre Ergebnisse zu kommunizieren. Was haben wir gelernt? Wie können wir die Daten sinnvoll nutzen? Was sind unsere Erkenntnisse? Und wie können wir die Menschen von den Einsichten überzeugen wir alle wissen , dass es manchmal nicht ausreicht, die Wahrheit zu kennen. Sie müssen eine überzeugende Geschichte erzählen, um die Menschen von Jane Science zu überzeugen und mit Ihrem Tag auf beiden Seiten wirklich etwas zu bewirken. Dieser Kurs zeigt Ihnen also den gesamten Prozess und auch, wie Sie diese veralteten Geschichten generieren können. 4. 03 Tool Übersicht neu: Verschaffen wir uns einen Überblick über die Tools, die wir in diesem Kurs verwenden. Natürlich wird alles, was mit Datenwissenschaften zu tun hat, universal sein. Aber auch das Erlernen von Python ist äußerst wertvoll für Ihre Fähigkeiten. Python hat große Popularität erlangt , weil es kostenlos ist, Open Source ist, sehr einfach zu bedienen ist und auf so ziemlich jedem Gerät installiert werden kann. Also Mac, Windows, Unix, dein Handy auch kein Problem. Und sein Dünnheitscode für Menschen. Also viele Orte, Google Ads, YouTube, Instagram, Spotify, sie alle verwenden mindestens und Pub Python, weil es so einfach ist, neue Leute für Python zu gewinnen. Denn wenn man guten Python-Code schreibt, kann er fast wie Text gelesen werden. Wird Python 3.8 mit der Anaconda-Installation installieren. Anaconda ist nett, weil es viele Data-Science-Pakete verteilt , die wir bereits benötigen, und es ist kostenlos. Wenn Sie eine neuere Version von Python verwenden, sollte das völlig in Ordnung sein solange es Python ist. Bitte, Sie fragen sich vielleicht, ob Sie eine Art von IDE oder einen Compiler für Python installieren müssen . Und das ist nicht der Fall. Wir werden Jupiter verwenden , eine webbasierte Schnittstelle zu Python, die das Unterrichten von Python und den Lernpfad extrem einfach macht . Und davon ausgehend können Sie jederzeit zu einem anderen Editor wechseln. Einer meiner Favoriten ist VS Code. Es ist wirklich gut für die Python-Entwicklung geworden. Und VS-Code zählt tatsächlich mit einem Interpreter. Und Views Code enthält tatsächlich auch eine Erweiterung für Jupiter. Aber das ist für einen weiteren Tag die Grundlage für alles, was wir tun, dieses NumPy, es ist eine Scientific Computing Library und Python. Und wir werden nicht direkt darauf eingehen , aber ich möchte, dass du weißt, dass es da ist. Wenn Sie also eine Berechnung durchführen müssen, können Sie dies immer in Python tun. Es wurde verwendet, um Schwarze Löcher zu finden. Es wird für Sportanalysen und für Finanzberechnungen verwendet . Und es wird von jedem Paket verwendet , das wir in diesem Kurs verwenden werden. In diesem Kurs wirst du schnell feststellen , dass alles, was wir tun, von Pandas abhängt. Pandas ist dieses leistungsstarke Tool, das für mich eine Art Mischung aus Excel und SQL ist . Und es ist wirklich ein Tool zur Datenanalyse und -manipulation. Also speichern wir unsere Informationen mit gemischten Spalten in einem DataFrame. Und dieser DataFrame kann dann direkt in diesem Tool für den Teil des maschinellen Lernens und die Modellvalidierung manipuliert, geändert und hinzugefügt und werden, wenn Scikit-Learn und Bibliotheken verwendet werden, die auf Scikit- lernen, Scikit-Learn hat die Art und Weise, wie wir maschinelles Lernen machen, stark verändert und einen Teil des großen Booms ermöglicht , den wir derzeit auf der Welt im Bereich des maschinellen Lernens erleben. Matplotlib ist ein Datenvisualisierungstool und wir werden hauptsächlich Bibliotheken verwenden, die auf Matplotlib aufbauen. Aber es ist sehr wichtig zu wissen, dass es da ist und es eine umfangreiche Bibliothek mit Beispielen gibt, in der Sie sich ansehen können, was Sie bauen möchten. Seaborn als Einzelstück dieser Bibliotheken , die auf Matplotlib aufbauen. Und es ist äußerst leistungsfähig, da oft eine einzelne Zeile oder mehrere Zeilen erforderlich sind, um sehr schöne Datenvisualisierungen Ihrer statistischen Daten zu erstellen. Dies sind die Eckpfeiler , die wir Data Science verwenden werden. Es gibt Open Source, sie sind kostenlos und sie sind die großen. Aber wir werden ein paar andere kleinere Tools verwenden , die mir mittlerweile auch wirklich gefallen, aber ich werde sie im Laufe des Kurses vorstellen. Die Dokumentation dieser Open-Source-Tools ist erstaunlich weil sie auch von Freiwilligen wie mir erstellt wurde. Ich habe einen Teil der Pandas - und Scikit-Learn-Dokumentation geschrieben , und du wirst feststellen, dass es wirklich hilfreich ist, mit ein paar praktischen Beispielen , die dir helfen, den Code besser zu verstehen. Wenn Sie diese in einer Unternehmensumgebung verwenden , sind sie immer noch kostenlos. Aber erwägen Sie, ein Befürworter von Sponsoring zu werden , da diese Pakete wirklich bezahlten Entwicklern und Core-Betreuern abhängen. 5. 04 So finden Sie Hilfe neu: Es kann sich wirklich entmutigend anfühlen, diesen Kurs zu absolvieren. Ich verstehe das vollkommen. Ich lerne ständig. Ich mache diese Kurse und es ist schrecklich, in diesen Kursen allein zu sein . Skillshare hat jedoch die Projektseite , auf der Sie um Hilfe bitten können. Und in diesem Kurs werden wir uns auch mit all den verschiedenen Möglichkeiten auseinandersetzen, wie du Hilfe findest und wie du lernen kannst, selbst zu helfen. Denn jeder Programmierer wird dir sagen , dass er im Programmieren immer besser geworden ist. Erstens haben sie gelernt, wie man die RIF-Zahlungen googelt. Zunächst schauen wir uns das Jupiter-Notizbuch an denn das Jupiter-Notizbuch möchte uns direkt helfen. Wenn wir also irgendeine Funktion haben, auch die Druckfunktion, können wir Shift Tab verwenden. Und wenn wir einmal darauf klicken, öffnet es sich, im Grunde die grundlegende Beschreibung, sodass wir die Signatur unserer Funktion erhalten. Das heißt, drucken Sie den Namen aus. Dies ist das erste Argument, und dann ist der Punkt-Punkt einfach klein. Und das sind die Schlüsselwortargumente. Und es gibt den ersten, ich bin der erste Satz aus der Dokumentation im Docstring zurück. Wir können zwar mehrmals, zweimal Shift Tab drücken, aber es wird nur der gesamte Docstring geöffnet. Dreimal macht That's the Docstring länger geöffnet und du kannst auch hier klicken. Und all das. Und viermal wirf ich es hier auf den Boden. Sie haben es also verfügbar während Sie arbeiten, und Sie können es hier einfach auf seine eigene Seite legen, aber auch einfach schließen. Und eine Ergänzung. Nun, also werden wir mit Pandas arbeiten. Wenn wir also mit der Eingabe beginnen, können wir zur automatischen Vervollständigung oft die Tabulatortaste drücken. Und das ist wirklich meine persönliche Art , beim Tippen ein bisschen faul zu sein. Wenn ich also Pandas importieren möchte, kann ich auf Tab klicken und sehen, welche Dinge installiert sind. Pandas, wenn PD genau hier ausgeführt wird, kümmere ich mich um Control Enter , um am selben Ort zu bleiben. Und Shift Enter. Es wird hingerichtet und ich werde in die nächste Zelle gebracht. Und hier kann ich das auch, also ist P D jetzt unser Pandas. Wenn ich auf Punkt und Tab klicke, werden alle verfügbaren Methoden auf PD geöffnet. Also hier kann ich wirklich alles auschecken, Beispiel wenn ich etwas zusammenführen möchte, kann ich dann die Klammer drücken, Tabulatortaste hineinschieben und lesen, wie man es zusammenführt. Nun, das kann etwas schwierig zu lesen sein, obwohl wir es hier ganz unten platzieren können. Und aus diesem Grund gibt es die Pandas-Dokumentation, die im Wesentlichen aus dem Docstring mit ein paar Formatierungstricks erstellt wurde . Sie können also genau hier sehen , dass Sie sehen, was das ist, die Signatur davon. Und Sie können hineinlesen und sich sogar die Beispiele ansehen und die Beispiele kopieren. Eine Sache, die man bei Software wissen sollte, ist, dass diese Art von Codes, die hier sind, ich meine, dann nichts Tolles. Du musst sie nicht gut, du musst sie nicht wirklich abtippen. Du kannst sie einfach rüberschreiben und sagen, okay, ich habe das gebraucht. Jetzt habe ich einen schönen DataFrame mit einem Alter von ungefähr. So etwas zu kopieren ist also sehr verbreitet. Es ist genau das, was wir mit Software machen. Der nächste Weg, um Hilfe zu bekommen, ist Wohlwollen. Und ich mache manchmal den Witz, dass man in Interviews einfach Leute bei Google Python haben sollte und schauen sollte, ob es Schlangen zeigt oder ob es das Python-Logo zeigt. Denn irgendwann fängt Google an, dich kennenzulernen und zeigt dir immer mehr Python. Und es ist eine gute Möglichkeit, zu sehen, dass Sie in fünf Jahren viel Erfahrung haben. Also, wenn du irgendwelche Fragen stellen willst, wenn du bei irgendwas nicht weiterkommst. Als ob Sie ein sehr undurchsichtiges Datenformat haben , das Sie laden möchten. Oder Sie haben einfach einen Fehler, bei dem Sie nicht wirklich wissen, was Sie mit Ihrer Kopie machen sollen. Und nehmen wir an, Sie haben einen Tippfehler, z.B. schauen Sie einfach hier nach und dann ist dort normalerweise ein hervorgehobener. Aber natürlich ändert sich Google immer wieder und man wird oft zu den Dokumenten geführt. In diesem Fall sind es also die Python-Dokumente. Und dann wird einer der Links auch StackOverflow sein. Und StackOverflow ist diese Website so, sie ist äußerst hilfreich, aber sie ist auch nicht der beste Ort für Neulinge weil einige der besten Experten der Welt auf dieser Website Ihre frage. Aber wenn Ihre Frage nicht gut formuliert ist, können einige Leute auf dieser Website manchmal etwas unfreundlich sein. Aber zum Stöbern und Finden von Lösungen, als ob Ihre Frage wahrscheinlich schon einmal gestellt wurde. Wenn Sie es auf StackOverflow nicht finden können, versuchen Sie, Ihre Google-Abfrage ein wenig zu ändern. Sie finden also verschiedene Arten von Ergebnissen, z. B. welche Art von Typfehler oder hatten Sie eine Kopie des gesamten Namens des Typfehlers und all das. Also wirklich, dann willst du zu den Antworten runterscrollen. Und dieser ist nicht wirklich positiv bewertet. Aber oft haben Sie positiv gestimmt. Das ist also sehr, sehr beliebt. Und manchmal kann man sogar akzeptierte Antworten erhalten. Schau dir das mal an. Hier haben Sie ein grünes Häkchen, was bedeutet, dass der Fragesteller dies als ausgenommene Antwort markiert hat. Und Sie können genau hier sehen, dass die Leute viel Arbeit in die Beantwortung dieser Fragen gesteckt haben. Sie haben verschiedene Möglichkeiten, dies anhand von Codebeispielen zu sehen , und Sie können wirklich herausfinden, was als Nächstes mit Ihrer Art von Fehler zu tun ist. Gehen wir zurück zu Jupiter und schließen diesen ab. Denn das ist auch etwas, das ich dir zeigen möchte. In Python. Pfeile sind billig, weil wir sie einfach ohne Weiteres machen können. Wenn wir so etwas haben, wird es uns sofort sagen, was vor sich geht. Am Anfang ist also etwas Seltsames. Aber was ich wirklich zuerst bei jedem Fehler mache, lang dieser auch sein mag, das ist ein sehr kurzer Pfeil. Scrollen Sie bis zur allerletzten Zeile und schauen Sie sich das an. Oh, okay, das ist ein Syntaxfehler und es heißt unerwartetes EOF, während Policy EOF, EOF bedeutet und eine Datei. Wenn Sie also nicht wirklich wissen, was das ist, kopieren Sie das, schauen Sie bei Google vorbei und schauen Sie es sich an. Wenn Google dir sagt, was das ist. Oft ist die Google-Suche besser als die Suche auf ihren Websites selbst. Und hier bedeutet das, dass das Ende Ihres Quellcodes erreicht wurde bevor alle Codes fertiggestellt waren. Schauen wir uns also noch einmal unseren Code an. Hier. Wenn wir die Klammern schließen, ist unser Code jetzt abgeschlossen und er funktioniert ganz gut. Lass uns, lass uns einen weiteren Fehler generieren. Ja, etwas, was wir definitiv nicht tun können, ist, diese Zeichenfolge durch eine Zahl teilen zu lassen. Wenn wir das also ausführen, erhalten wir einen Typfehler. Also scrollen wir ganz nach unten und sagen: Nun, sieh dir an, was genau hier passiert. Und es sagt Ihnen, dass die Division für Zeichenketten und Ganzzahlen nicht möglich ist . Und wenn Sie wirklich durch die Pfeile gehen , können Sie erkennen warum Python das, was Sie hier geschrieben haben, nicht mag. Da wir schon beim Thema Hilfe sind und ich ihm nicht über die Schulter schauen kann. Und die Klassen, denen ich einen sehr häufigen Fehler gegeben habe , den Sie sich selbst einfangen können , sind, dass diese Python-Notizbücher nicht der Reihe nach ausgeführt werden müssen. Sie sehen also die kleine Zahl genau hier neben dem, was ausgeführt wurde und was nicht. Lass uns ein kleines Beispiel machen und hier ein paar neue, neue Dinge hinzufügen. Sagen wir, genau hier definiere ich a, N, hier. Ich möchte b definieren. Und b wird a mal fünf sein. Und ich mache es hier durch, ich experimentiere damit. Ich schaue mir PD Merge an, habe hier einen Fehler, was in Ordnung ist. können wir vorerst belassen. Führe diesen Code aus, drucke vielleicht etwas aus. Und Sie können sehen, dass diese Zahlen nicht in der richtigen Reihenfolge sind. Das ist später wichtig. Dann führe ich diese Zelle aus und sie gibt mir einen Fehlernamen, Fehlername a ist nicht definiert. Und das liegt daran, dass diese Zelle keine Nummer hat. Es wurde nie hingerichtet. Also nur etwas, um zu bemerken, dass Sie alle Zellen ausführen müssen , die Sie wollen. Weil. Wenn wir diesen ausführen und dann diesen ausführen, ist das völlig in Ordnung. Schau dir also wirklich die Zahlen und den nächsten Pfeil an. Und das hängt sehr damit zusammen, dass wir manchmal irgendwo wie hier etwas ändern. Und wir ändern von a zu B zu sechs. Und dann führen wir diesen Code erneut aus. Und plötzlich schauen wir nach und b ist 30, obwohl a hier fünf ist. Und das ist eines der großen Probleme , die Menschen mit der Ausführung außerhalb der Bestellung haben. Und du musst vorsichtig damit sein. Also entweder musst du nur verfolgen, welche Zellen du gemacht hast. Und vor allem damit, wie es 107849 gibt, wird es wirklich schwer, das im Hinterkopf zu behalten. Insbesondere können Sie diese Zellen löschen. Und a wird immer noch in Erinnerung bleiben. Wir können dies also immer noch ausführen obwohl die Zellen nicht mehr existieren. Manchmal muss man einfach zum Karamell gehen und neu starten und Ausgabe löschen sagen, wodurch alle Variablen und alle Ausgaben gelöscht werden, die wir hier haben. Also können wir hierher gehen, diesen großen roten Knopf drücken und jetzt haben wir ein neues Notizbuch mit dem ganzen Code hier drin. Jetzt können wir dies ausführen um all unsere Fehler zu erhalten, die wir haben, und genau hier sehen , dass a nicht definiert ist. Also müssen wir hier im Grunde eine neue Zeile hinzufügen und eine erneut definieren. Und auf diese Weise können Sie viele Fehler in Jupiter erkennen, indem Sie sich die Zahlen hier ansehen. Haben Sie vergessen, etwas auszuführen , oder haben Sie es falsch gemacht? Ja. Insgesamt. Was Sie tun möchten, um Hilfe in Python zu finden , ist, sich an die Umschalttaste zu erinnern. Merken Sie sich diesen Tab, vervollständigen Sie Ihre Abfragen automatisch und können Ihnen Informationen darüber geben, was, welche Methoden für praktisch alles verfügbar sind. Dann willst du richtig gut darin werden, Dinge zu googeln. In einigen meiner Klassen haben mich einige der Leute, mit denen ich mich ein bisschen angefreundet habe, irgendwann ausgelacht und gesagt, deine Klasse hätte im Grunde einfach googeln denn irgendwann muss jeder Sachen googeln und es gibt auch einige lustige Beiträge auf Twitter von Bibliotheksbetreuern, die ganz grundlegende Dinge über ihre eigenen Bibliotheken googeln müssen ganz grundlegende Dinge über ihre eigenen Bibliotheken googeln weil unser Gehirn nur so zuverlässig ist und sich die Dinge ändern. Und wenn Sie die neuesten Informationen haben möchten, ist es keine Schande, nach oben zu schauen, wenn Sie mit dem Googeln fertig sind, auf StackOverflow nachzuschauen irgendeine Art von Code zu kopieren. Du wirst dafür besser dran sein. Nun all diese Tools , um Hilfe und Python zu finden und dir selbst zu helfen. Und das gibt Ihnen die notwendigen Werkzeuge. Tauchen Sie mit dem Radfahren in die Datenwissenschaft ein. 6. 10 Intro neu laden: Die ersten paar Klassen werden Daten in Python übertragen. Ob Sie also Daten in den Tabellen haben , die sich in Ihrer SQL-Datenbank befinden, sie stimmen nicht überein. Wir werden es in Python in einem Tool namens Pandas einsetzen, das im Wesentlichen hervorragende Steroide in Python ist. Und lass uns deine Daten haben. 7. 11 Excel und CSV-Dateien neu laden: Dies ist die erste Klasse, in der wir Code angefasst haben. Öffnen Sie also Ihr Jupyter-Notizbuch wenn Sie mitprogrammieren möchten. Wir beginnen mit dem Laden von Daten. Deshalb habe ich einige zusätzliche Dateien und CSV-Schriftarten mit kommagetrennten Werten bereitgestellt CSV-Schriftarten mit kommagetrennten Werten und wir werden uns damit befassen, sie zu laden. Wir könnten das von Hand schreiben und ich zeige dir auch an einem viel einfacheren Beispiel wie man so etwas von Hand schreibt. Aber glücklicherweise, da Python jetzt über 20 Jahre alt ist, haben viele Leute bereits viel darüber nachgedacht, die Python-Funktionalität zu erweitern. Also können wir diese Pandas hier verwenden und Python erweitern, um Daten in Python zu laden. Also, was wir hier tun, ist, dass wir einfach Pandas importieren. Und das wäre genug für, weil wir Pandas häufig verwenden werden. Normalerweise geben wir ihm eine Abkürzung bis hin zu einer Art Alias. Pd ist ein sehr verbreitetes , das viele Leute verwenden. Und dann führen wir die Zelle und wir haben jetzt Pandas und Python. Und um Daten zu importieren oder zu lesen, können wir PD machen, nicht lesen, Tab drücken und all die verschiedenen Möglichkeiten sehen , wie Sie Daten in Pandas laden können. In diesem Kurs werden wir uns die häufigsten ansehen , die ich in meiner Arbeit als Datenwissenschaftler gefunden habe. Aber ich zeige dir auch, wie du die anderen findest. Denn wenn wir nicht wirklich wissen, was wir tun, können wir uns jederzeit die Dokumentation von Pandas ansehen . Wir können uns zwar alles ansehen, was wir mit Pandas machen können, da wir hier X0 bereits gelesen haben, können wir aber auch die Shift-Tab drücken und uns diese Signatur ansehen. Und Sie werden sehen, dass dies der Dokumentation unheimlich ähnlich sieht , da Pandas und ganz Python tatsächlich mit der erstellten Dokumentation geliefert werden. Und so ist es sehr eigenständig und sehr benutzerfreundlich. Am Anfang müssen wir also nur den Dateinamen angeben, wo wir die Datei tatsächlich haben. Und das wird ein Datenschlitz sein, der den Punkt XLSX enthält, die neue Art von zusätzlicher Datei. Und das Laden wird ausgeführt. Und wir sehen, dass wir all diese Daten jetzt in Pandas haben. Wir haben es gerade nicht in einer Variablen gespeichert. Aber was wir normalerweise tun, wenn wir nur einen temporären Datensatz haben, nennen wir ihn df. Denn in Python wird das ein DataFrame genannt. Es ist also im Grunde eine XO-Darstellung eines einzelnen Blattes in Ihrem Python. Weil wir es uns ansehen wollen. Danach. Wir rufen einfach Head auf unserem DataFrame an und schauen uns die ersten fünf Zeilen an. Wir können hier die Header und unsere Daten sehen. CSV-Dateien sind ein bisschen anders, da CSV-Dateien Rohdaten sind. Schauen wir uns das mal an. Ich habe die Daten. Wir können uns tatsächlich CSV-Werte mit kommagetrennten Werten im Notepad ansehen CSV-Werte mit kommagetrennten Werten im , da es nur Text ist und es hervorragend für den Datenaustausch zwischen Systemen eignet, insbesondere wenn Sie Programmierer haben, die möglicherweise nicht Microsoft Office verfügbar haben. Dies ist der beste Weg, Daten auszutauschen. Wir haben CSV gelesen und können ihm einfach den Dateinamen erneut geben. Also Gehäuse Punkt CSV. Und das sollte, nennen wir es direkt hier. Dies sollte uns dieselben Daten geben und wir können sehen, dass sie identisch sind. Ich möchte dir aber einen wirklich coolen Trick zeigen. Wenn, Sie wissen, dass einige Daten online sind, wie dieser Datensatz mit Medienartikeln auf Free Code Camp. Er kann PD tatsächlich kolorieren , CSV lesen und ihm einfach die URL geben. Aber das wird scheitern. Ich zeige es dir, wir müssen lernen dass Pfeile und Python, das ist in Ordnung. Es ist völlig in Ordnung , Fehler zu machen. Lesen Sie die letzte Zeile und übergeben Sie einen Fehler beim Tokenisieren von Daten. Also so etwas wie etwas anderes zu erwarten. Und vielleicht sehen Sie hier schon , dass es sich nicht um eine CSV handelt, sondern um eine TSV-Datei. Also hat jemand das tatsächlich durch Tabs getrennt. Und um Tabulatoren einzufügen, verwenden Sie diesen umgekehrten Schrägstrich als Trennzeichen. Und wir können diese Daten direkt aus dem Internet importieren , indem wir einfach das richtige Schlüsselwort angeben. Und das ist wirklich wichtig zu sehen, wirklich wichtig zu lernen. Wenn wir uns das ansehen, gibt es eine Menge Keywords , die wir verwenden können. Diese Keywords sind äußerst nützlich und bereinigen Ihre Daten bereits. Sie können genau hier sehen, dass es etwas gibt, das NaN genannt wird. Das ist keine Zahl , die wir später beim Laden bereinigen müssen , wir können uns schon Dinge ansehen wie, wollen wir Leerzeilen überspringen? Es ist also wirklich so, Pandas hat eine sehr benutzerfreundliche, wenn Sie mit dieser experimentieren möchten. Ich werde das im Übungsbereich belassen. Und du kannst überprüfen, ob du es schon reinigen kannst. Einige Nans werden später auch einen eigenen Bereich mit Reinigungsdaten haben . Das Laden von Daten in Python mit Pandas ist so extrem einfach. Probiere es mit deinen eigenen Daten aus. Wenn Sie eine XL-Datei auf Ihrem Computer herumliegen haben, denken Sie daran, dass sich all dies auf Ihrem Computer befindet. Nichts kommt raus. Sie können also einfach PD Punkt drucken und Ihre Daten abrufen und damit herumspielen. In diesem Kurs haben wir das Laden von Excel-Tabellen und kommagetrennten Werten von Dateien durchgearbeitet Laden von Excel-Tabellen und kommagetrennten und sogar gesehen, wie man Daten aus dem Internet lädt. Im nächsten Kurs schauen wir uns SQL-Tabellen an. Ein paar Nano arbeiten mit ihnen. es gerne überspringen. Die nächste Klasse wird diese Fahrt für dich sein. 8. 12 Daten aus SQL neu laden: SQL-Datenbanken sind eine fantastische Möglichkeit , Daten zu speichern und Datenwissenschaftlern, die mit SQL arbeiten, zu viel zur Verfügung zu stellen . Es gibt ganze Kurse hier auf Skillshare, auf die ich verlinken werde. Sie finden sie auch direkt hier im Notizbuch. Es ist jedoch gut, einen Überblick zu haben, da es wirklich einfach ist , die Daten zu laden, sobald Sie wissen, wie es geht. Und wenn Sie mit SQL arbeiten, wird das für Sie wirklich wertvoll sein. Die meisten Unternehmen speichern diese Daten nicht in Excel-Dateien, weil Mexiko kopiert, sondern kopiert wird. Und plötzlich hast du die endgültige, endgültige, endgültige Version. Und es ist wahrscheinlich irgendwo auf jemandes PC, vielleicht auf einem Laptop. Stattdessen. Viele Orte haben Datenbanken. Auf einem Server diese Datenbank, die all diese Informationen enthält, die Sie benötigen. Normalerweise wird diese Art des Zugriffs auf Informationen als SQL bezeichnet, was die Abkürzung für Structured Query Language ist. Das ist eine Sprache für sich. Es wäre zu viel, dies in diesem Kurs zu erklären. Wenn du mehr erfahren möchtest, gibt es Kurse auf Skillshare und es gibt auch Ressourcen wie diese, die verlinkt sind, wo du es ausprobieren, die Übungen Schritt für Schritt machen und lernen kannst, wie man abfragen, Daten auf fortgeschrittene Weise in Python abrufen. Es reicht absolut aus, wieder Pandas zu importieren. Dann können wir es uns ansehen und da ist SQL hier unten. Was Sie hier tun können, sind eigentlich drei verschiedene. Es gibt eine allgemeine, SQL, es gibt eine SQL-Abfrage. Dokumentation gibt es eine Tabelle mit dem Lesen von SQL. Das ist normalerweise ein sehr guter Anfang. Achten Sie darauf, dass es zwei Arten von Abfall gibt. Wenn wir nach unten scrollen, können wir sehen, dass es bei der SQL-Tabelle und der SQL-Abfrage etwas anderes gibt. Schauen wir uns die Abfrage an und dafür müssen Sie eine SQL-Abfrage schreiben. Einige von ihnen können sehr einfach sein und Ihnen viel Platz sparen. Wenn Sie also eine große Datenbank-SQL-Tabelle haben wird einfach die gesamte Tabelle von Ihrem Server geladen. Zusätzlich zu Pandas wollen wir eigentlich SQL-Alchemie importieren. Und dann wird darunter die Verbindung hergestellt. Also nennt man es einen Motor. Und schauen wir uns an, was wir hier brauchen. Wenn Sie also eine Postgres-SQL-Datenbank haben, können wir diese einfach kopieren. Dies sollte der Speicherort Ihrer Datenbank sein. Hier. Wir lesen die Fortsetzungstabelle, nur um es einfacher zu machen. Und jetzt, wenn Sie Ihre SQL-Datenbank hatten, können Sie hier Ihren Namen eintragen, wie z. B. Vertrieb als Verbindung hier. Wenn wir die SQL-Sprache tatsächlich verwenden wollten, müssten wir die Read-SQL-Abfrage verwenden. Und das bedeutet in diesem Fall , dass wir eine Abfrage definieren müssen , die in unsere Verbindung aufgenommen wird. Diese Abfrage kann also sehr, sehr einfach sein. Natürlich kann diese Abfrage so kompliziert sein, wie Sie möchten. Also nehmen wir hier tatsächlich die mehrzeilige Zeichenfolge von Python. Wir können also sagen, dass Kunden und Gesamtausgaben aus Verkäufen ausgewählt werden. Und weil es eine so große Tabelle ist, wollen wir sie auf 1.000 Einträge beschränken , weil wir nur einen ersten Blick darauf werfen wollen und unseren Computer nicht überlasten wollen. Ergänzung dazu. Wir möchten sagen, dass das Jahr 2019 ist. Jetzt können wir das Ganze hier drüben kopieren und unsere Daten hier aus unserer imaginären Datenbank auswählen . Bei der Verwendung von SQL-Abfragen geht es in dieser Klasse hoffentlich nur darum. SQL kann ziemlich einfach sein. Sie können die Tabelle einfach aus der Datenbank abrufen und in Pandas damit arbeiten. Die nächste Klasse wird nun sein, wie man beliebige Daten lädt. Und wir werden zeigen, dass Pandas alles ein bisschen einfacher machen. 9. 13 Beliebige Datei neu laden: Manchmal hat man komische Daten und ich bin Geophysiker, ich arbeite mit seismischen Daten. Und es gibt Pakete , die seismische Daten genau wie unsere CSV-Dateien in Python laden können . Und in diesem Kurs schauen wir uns an, wie man Daten lädt und wie man sie verfügbar macht. In Python eignet sich Pandas hervorragend für solche Tabellen und strukturierte Daten. Aber manchmal haben wir unterschiedliche Datenformate, wie nur eine Textdatei oder Bilder oder proprietäre Formate. Als ich auf der US-Python-Konferenz als Mentor tätig war , fragte mich jemand nach diesem superspezifischen Format , mit dem sie arbeiten. Das erste, was ich getan habe, ist, es gegoogelt zu haben. Dafür gab es eine Python-Bibliothek, und ich zeige Ihnen, wie man sie benutzt. Die meisten gängigen Python-Bibliotheken verwenden die Textdatei. Im Gegensatz zu der Textdatei, die wir hier haben, handelt es sich um eine CSV-Datei, aber es ist immer noch eine Textdatei. Wie Sie sehen, ist das, was wir sagen, offen und dann müssen wir ihm den Ort geben , an dem es ist, und den Namen. Lassen Sie uns nun näher darauf eingehen. Es gibt verschiedene Modi, um aufzustehen. Modus ist R. Schauen wir uns an, was diese Modi eigentlich bedeuten denn Sie können Dateien auf jedem Computer öffnen, nur die meisten Programme erledigen das für Sie. Und Lesemodus, Rechtsmodus und im Anfügemodus. Sie möchten also sicherstellen, dass, wenn Sie Daten lesen, die Sie nicht ändern möchten, dies auf r gesetzt ist. Lassen Sie uns das explizit machen. Dann geben wir dieser Datei, die wir geöffnet haben, einen Namen, damit wir sie einfach Wohnen nennen können. Und Python, Leerzeichen sind sehr wichtig. Jetzt haben wir also einen Block , den ich ablegen werde, geöffnet ist. Und innerhalb dieses Blocks können wir z. B. sagen, dass Daten dem gelesenen Housing Point entsprechen, und das liest unsere Daten. Wenn wir diesen Block dort verlassen, können wir tatsächlich mit unserer Variablen arbeiten , ohne dass die Datei geöffnet ist. Und das ist unglaublich wichtig. Viele Programmierer wissen das nicht, aber die meisten Dateien können nur von einer Person und einem Programm gleichzeitig geöffnet werden . Wenn Sie versuchen, auf dieselben Daten zuzugreifen , werden die Daten beschädigt. Es ist also wirklich wichtig , dass Sie Ihre Daten öffnen, sie in Variablen speichern, die in Python geladen wurden, und dann alles schließen. Wenn wir also den Status der Variablen beibehalten haben und diesen Block verlassen haben, Paul das einfach aus und geht zur nächsten Zelle. Wir können Sachen mit Data Bike machen, schauen, was in den Daten ist. Und wir können hier sehen, dass es sich um eine Textdatei handelt, ohne dass die Datei geöffnet ist. Dies eine Textdatei handelt, ohne dass die Datei geöffnet ist nur eine sehr einfache und zugängliche Methode, dies zu tun. Wir können uns hier auch Housing als unseren Dateihandler ansehen. Und wir können sehen, dass uns dies sagt, ob Wohnungen geschlossen sind oder nicht. Hier können wir also sehen , dass dieser Block nach der Ausführung geschlossen wird. Schauen wir uns an, wie das hier drinnen aussieht. Also hier drinnen ist es nicht geschlossen. Das heißt, wir können verschiedene Zeilen lesen und all das. Anstatt jedoch nur das Standard-Python Open zu verwenden, können wir viele verschiedene Bibliotheken verwenden , die uns auch endlich Handler geben. Also kann ich etwas gebrauchen wie, ich bin krank. Warum IO, von dem Sie wahrscheinlich noch nie gehört haben. Und genau deswegen möchte ich es dir zeigen. Ich möchte es dir ganz schnell zeigen, was nur eine Möglichkeit ist, es zu importieren. Nach dem Import können wir mit Schritt I 0 Punkt öffnen sagen, ihr die Datei geben, sie S nennen und dann alle physikalischen Daten in Python laden. Und nach ihrem System wurde die Datei wieder einmal geschlossen und war sicher. Das ist also wirklich, das ist eine sehr allgemeine Methode, um Ihre Daten in Python zu laden. Und wie Sie hier sehen können, sieht unser CSV nicht so gut wie in Pandas. Aber mit ein bisschen Verarbeitung können wir tatsächlich so schön aussehen lassen wie Pandas, können wir tatsächlich so schön aussehen lassen wie Pandas sodass wir es z. B. auf diese neuen Zeilenzeichen aufteilen können , was ein umgekehrter Schrägstrich n ist. Und wir können sehen, dass das schon ergibt benutze all diese Zeilen hier. Und wir können weitermachen und jede dieser Zeilen auf dem Komma aufteilen dieser Zeilen auf dem Komma weil dieses Komma getrennt ist und so weiter und so weiter. Aber deswegen habe ich dir zuerst Pandas gezeigt. Weil es so viel einfacher ist. Und ich finde es sehr nett zuerst zu diesen hochrangigen Abstraktionen zu gehen, aber auch zu sehen, wie man die Arbeit macht und umgekehrt. Und in dieser Klasse hatten wir einen Überblick darüber, was die Width L Can-Anweisung macht und wie man jede Art von Datensuche nach Datenloadern für die seltsamen Formate lädt Datenloadern für die seltsamen Formate , die wir manchmal haben. Und ich denke, wir haben definitiv gesehen, wie einfach Pandas es für uns macht weil das Teilen einer CSV-Datei wie Vout wirklich umständlich ist. Und dann ist es noch schlimmer, die Daten wie fehlende Werte zu bereinigen . Und in der nächsten Klasse schauen Sie sich riesige Datensätze an. Was passiert also, wenn unsere Dateien so groß werden, dass sie nicht mehr in den Speicher passen Wie können wir diese Daten laden und wie können wir damit umgehen? 10. 14 Riesige Daten neu: Gerade in größeren Unternehmen ist es durchaus üblich, dass Sie Datensätze haben, die nicht mehr in den Arbeitsspeicher Ihres Computers passen . Oder dass, wenn Sie Berechnungen mit ihnen durchführen und die Berechnung so lange dauert, dass Sie im Wesentlichen Kredite aufnehmen und in einigen Fällen, Sie würden länger brauchen dann existiert das Universum bereits. Das bedeutet, dass wir Wege finden müssen, mit den Daten zu arbeiten , um sie entweder klein zu machen und Speicherplatz zu haben. Darüber werden wir sprechen. Aber auch, wie man die Daten abtastet. Sie haben also eine Teilmenge, weil es oft gültig ist, einfach eine Stichprobe zu nehmen, eine repräsentative Stichprobe von Big Data, und dann Berechnungen durchzuführen die Datenwissenschaft dazu durchzuführen. Und darauf werden wir uns einlassen. Wir importieren Pandas als PD und laden dann unsere Daten mit lesenem CSV in den DF-DataFrame. Wir werden dies jetzt explizit tun, da wir es später ändern können, um die Unterschiede zwischen den verschiedenen Ladeverfahren zu sehen die Unterschiede zwischen den verschiedenen Ladeverfahren und zu erfahren, wie wir unser Laden optimieren können. Dies gibt uns den folgenden Speicherbedarf unseres geladenen DataFrame, der sagen muss tief ist gleich wahr, weil wir einige Objekte darin haben , die gemessen werden müssen. Sie sehen genau hier, dass die Nähe zum Meer um einiges größer ist als alles andere. Und das liegt daran, dass die Nähe des Ozeans Zeichenkettendaten enthält. Wir wissen also, dass es kategorisch ist. Wir werden uns den Kopf ganz schnell ansehen. Genau hier. Es ist kategorisch und alles andere sind Zahlen. Die Zahlen sind sehr effizient, aber Zeichenketten und da zu haben , kann sehr speicherintensiv sein. Wenn wir uns die tiefen Typen ansehen. Also die Datentypen, wir sehen, dass die Nähe des Ozeans derzeit nur ein Objekt ist. Alles andere ist Float, also eine Zahl. Aber das Objekt genau hier macht es so groß im Speicher, denn ein Objekt, wir können die Datentypen unseres DataFrame ändern , wenn wir es geladen haben, wird dies tun, indem df für Meeresnähe sagen weil wir die Nähe zum Meer ändern wollen. Wenn Sie all das kopieren, überschreiben wir unsere Nähe zum Meer mit diesem Punkt als Typ. Und wir können einen speziellen Datentyp verwenden , den Pandas zur Verfügung hat , der als kategorisch oder kategorisch bezeichnet wird. Was? Dies verbessert unseren Speicherverbrauch. Tief ist gleich wahr. Wir sehen also nur den Speicherbedarf der Spalten. Und wir können sehen, dass dies unseren Speicherverbrauch der Ozeannähe sogar unter der Verwendung der Zahlen deutlich verbessert Ozeannähe sogar unter der Verwendung der Zahlen deutlich . Und so können Sie Ihren Datenrahmen auf einfache Weise optimaler gestalten. Ein offensichtliches Problem dabei ist, dass wir diese Daten bereits im Speicher haben und sie dann ändern. Der Speicherbedarf ist also immer noch groß. Wir reduzieren es einfach danach. Was wir tun können, ist die Datentypen in kurzer Zeit zu ändern. Schauen wir uns also kurz den Docstring an. Und los geht's. Es ist Typ D. Und wir weisen ein Wörterbuch , dessen Schlüssel unsere Spalte ist. Wir werden wieder die Nähe zum Ozean nutzen. Und der Wert wird der Datentyp sein. Das bedeutet, dass Sie so viele verwenden können, wie Sie möchten. Ich habe dort einen Tippfehler gemacht und einen Tippfehler und eine Unterbringung werden verschwinden. Und damit kannst du dem Integer-Typ auch zwei Zahlen zuweisen und deine Ladezeit beim Laden wirklich ändern . Also d of small, schauen wir uns den Speicherbedarf an. Also USD bei geringem Speicherverbrauch, tief gleich wahr. Und wir können genau hier sehen , dass dies automatisch beim Laden unseren Speicherbedarf des DataFrame verändert hat. Was wäre, wenn wir, anstatt den gesamten DataFrame mit allen Spalten und allen verfügbaren Funktionen zu laden den gesamten DataFrame mit allen Spalten , uns dafür entscheiden , nur eine Teilmenge der Spalten zu verwenden. Vielleicht brauchen wir nicht alles. Vielleicht brauchen wir in diesem Fall nicht den mittleren Hauspreis. Also definieren wir einen neuen DataFrame und laden die Daten wie immer. Aber in diesem Fall definieren wir die Spalten. Das sind also Kolumnen. Und in diesem Fall benötigen wir eine Liste. Schauen wir uns das an, verwenden wir Längen- und Breitengrad. Und wir könnten, wir könnten auch insgesamt Schlafzimmer oder ähnliches nutzen, aber wir werden einfach die Nähe zum Meer wie zuvor nutzen. Fügen Sie das einfach in bearbeitet ein. Es sind also eigentlich die Spaltennamen pro Listeneintrag und fügen Meeresnähe hinzu. Nun, das wird schief gehen und ich möchte, dass du lernst, dass es absolut okay ist, hier Fehler zu machen. Denn in Python sind Fehler billig. Wir können diesen Typfehler sehen. Es heißt, dass es eines der Keywords nicht erkennt. Und das liegt daran, dass ich Spalten anstelle von Coles verwende. Ich kann mich ehrlich gesagt nicht an alle Keywords erinnern, weil es so viele gibt, aber deshalb haben wir den Docstring und ihn korrigiert. Wenn wir uns den DataFrame ansehen, haben wir nur Längengrad, Breitengrad und OSHA-Nähe geladen . Eine weitere sehr nette Möglichkeit, beim Laden etwas Platz zu sparen. Und auf diese Weise können wir viele Zeilen mit nur wenigen Spalten laden . Manchmal besteht das Problem jedoch nicht wirklich darin, die Daten zu laden. Alle Daten passen in unseren DataFrame. Aber das Problem ist die Berechnung. Vielleicht haben wir ein sehr kostenintensives, sehr teures Grundstück , das wir machen wollen. Also müssen wir unsere Daten abfragen. Und Pandas macht uns das extrem einfach. Für jeden DataFrame ist das Methodenbeispiel verfügbar. Sie haben gerade eine Zahl angegeben und sie gibt Ihnen so viele Zeilen aus Ihrem DataFrame, wie Sie sagen. Schauen wir uns dazu kurz den Docstring an. Wir können eine Zahl oder einen Bruchteil des DataFrame definieren. Und da es sich um ein stochastisches Stichprobenverfahren handelt, können Sie diesen Zufallsstatus angeben, was sehr wichtig ist, wenn Sie Ihre Analyse neu erstellen und sie einem anderen Kollegen oder anderen Daten zur Verfügung stellen möchten Ihre Analyse neu erstellen und sie einem anderen Kollegen oder anderen Daten zur Verfügung stellen Wissenschaftler. Und dann müssen Sie den Zufallsstatus genau dort eingeben. Wir können also genau hier sehen, dass es sich jedes Mal ändert, wenn ich die Zelle ausführe. Wenn wir den Zufallsstatus jedoch auf eine bestimmte Zahl setzen, kann es sich um eine beliebige Ganzzahl handeln. Ich mag 42. Und sieh einfach hier , dass diese Zahl 2048 ist. Und wenn ich das noch einmal ausführe, ändert sich diese Zahl nicht. Es ist also eine wirklich gute Sache, sich daran zu gewöhnen. Wenn Sie einen zufälligen Prozess haben. Dieser zufällige Prozess ist großartig, wenn Sie ihn in der Produktion verwenden. Wenn Sie jedoch etwas neu erstellen möchten, sollten Sie diesen zufälligen Vorgang korrigieren, sodass es wiederverwendbar ist. Was ich oft mache, ist in die allererste Zelle zu gehen , in die ich alle meine Bibliotheken importiere , und ich habe den Zufallsstatus festgelegt und dort als Variable. Und ich gebe diese Variable nur in stochastischen Prozessen an. Das macht es für die nächsten Datenwissenschaftler, die das bekommen, ein bisschen einfacher und sehr einfach zu lesen. Manchmal muss man aber die großen Tools herausholen. Also verwenden wir die Aufgabe von x und wir werden sie nicht gleich hier verwenden, aber du kannst es auf der Website ausprobieren, wenn du es jetzt versuchst. Und Dämmerung im Grunde genommen als Lazy DataFrames, sodass nicht der gesamte DataFrame in den Speicher geladen wenn Sie auf den Datenrahmen oder auf die Daten zeigen. Aber es weiß, wo es ist und wann Sie die Ausführung durchführen möchten Es führt die Ausführung durch und zwar auf sehr intelligente Weise, verteilt auf sogar große Cluster. In diesem Kurs haben wir uns angesehen, wie der Speicherbedarf von Daten minimiert werden kann. Also, wie können wir weniger Daten laden oder wie wir Daten effizienter laden können. Ich habe Ihnen auch einen kurzen Überblick über einige Tools gezeigt, die Sie verwenden können wenn Sie Lazy DataFrames verwenden möchten, z. B. DataFrames, die im Ruhezustand sind, wenn Sie sie laden und dann, wenn Sie die Berechnung durchführen und das ist klitzeweise. Es ist also eine intelligente Methode, um mit großen Datenmengen umzugehen, die sich im Speicher befinden. Im nächsten Teil werden wir uns ansehen, wie verschiedene Datenquellen kombiniert werden können. Wie können wir also wirklich erfolgreich sein und verschiedene Informationsquellen nutzen , um wirklich Datenwissenschaft zu betreiben. 11. 15 Datenquellen neu kombinieren: Die größte Wirkung ergibt sich wirklich aus der Kombination von Datenquellen. Vielleicht haben Sie also Daten aus Vertrieb und Werbung und kombinieren diese Daten um neue Erkenntnisse zu generieren. Und in diesem Kurs werden wir uns ansehen wie wir Daten zusammenführen, Daten zusammenfügen und neue Daten an unseren DataFrame anhängen können Daten zusammenfügen und . Wie immer importieren wir Pandas als PD und speichern unseren DataFrame in df. Jetzt teilen wir die Geodaten mit Breitengrad, Längengrad und Meeresnähe in den df-Unterstrich auf. Geh, lass uns einen Blick auf den Kopf werfen. Und wir können sehen, dass das drei Spalten sind, genau so, wie wir es definiert haben. Und jetzt können wir mitmachen. Zusammenfügen von Datenquellen bedeutet, dass wir unserem DataFrame eine Spalte hinzufügen möchten . Also nehmen wir unseren DF-Unterstrich GO und fügen eine Spalte aus dem ursprünglichen Datensatz hinzu. Nun, das ist technisch gesehen ein bisschen schummeln, aber es macht es nur einfacher zu zeigen, wie wir das machen. Nun, wählen Sie den mittleren Hauspreis für diesen. Schauen wir uns den gesamten Datenrahmen an. Und das können wir in unser G schreiben. Wir können sehen, wie es jetzt den ursprünglichen GeoDataFrame enthält verbunden mit der Spalte Medianhauswert. Das ist ein bisschen einfacher als normal. Normalerweise sind nicht alle Spalten verfügbar, aber es wird sich ansehen, wie DataFrames zusammengeführt werden. Nun, obwohl Sie etwas genauer sein können, lassen Sie uns zunächst einen Preisdatenrahmen mit Längengrad, Breitengrad und dem mittleren Hauspreis erstellen . Und was wir jetzt tun werden, eins, beide zu einem Datenrahmen zusammenführen. Also nehmen wir den Geo DataFrame namens Geo Dot Merge. Werfen wir einen kurzen Blick auf den Docstring, wie man das eigentlich macht. Wir wollen also einen linken DataFrame und den rechten DataFrame. Und wir schaffen alles, was wir definieren, eine Methode. Wie kann man sich diesen anschließen? Die innere Methode bedeutet , dass wir nur die Daten behalten , die links und rechts verfügbar sind . Werfen wir einen kurzen Blick auf den linken und rechten DataFrame. Die natürliche Verbindung ist die innere Verbindung. also nur die Zeilen und Spalten aus sind also nur die Zeilen und Spalten aus beiden DataFrames da, die da sind. Die linke ist alles von links und nur die rechts passenden. Und der rechte Join ist alles, was rechts und links zusammenpasst. Die äußere Verbindung ist alles. Also füllen wir es mit vielen Substantiven. Und wir müssen die Spalte definieren, der der linke und der rechte DataFrame zusammengeführt werden. In diesem Fall nehmen wir also Spielraum. Wir haben also etwas, auf dem wir unsere Datensätze tatsächlich kombinieren können . Wenn Sie Ihre Datenquellen haben, sollten links und rechts dieselben Daten sein, aber sie können völlig unterschiedliche Namen haben oder die funktionieren ganz gut. Sie können sehen, dass jetzt alles zusammengeführt ist. Wir können unsere Daten auch verketten. Das bedeutet, dass wir pd dot concat für concatenate verwenden und die DataFrames bereitstellen, die wir zu einem größeren DataFrame kombinieren möchten. In diesem Fall haben wir nun zwei. Wir können so viele kombinieren, wie wir wollen. Und gerade jetzt sehen Sie eine gute Möglichkeit, neue Daten oder neue Datenpunkte zu den Zeilen des DataFrame hinzuzufügen . Wo immer Sie keine Daten haben, werden NANs bereitgestellt. Da wir die Daten jedoch verbinden möchten, geben wir eine Verknüpfung und die Achse an. Und Sie können sehen, dass jetzt alles zu einem großen Datenrahmen zusammengefügt ist. In diesem Kurs hatten wir einen Überblick darüber, wie man verschiedene Datenquellen kombiniert und einen großen Datenrahmen generiert, damit wir eine kombinierte Analyse durchführen können. ist unser Tutorial zum Laden von Daten abgeschlossen. Und im nächsten Kapitel werden wir uns mit der Datenbereinigung befassen. Wahrscheinlich der wichtigste Teil der Datenwissenschaft. 12. 20 Data Reinigung Intro neu: Nach dem Laden der Daten müssen wir uns mit den Daten selbst befassen. Und jedes Datum und jeder Datenwissenschaftler wird Ihnen sagen, dass 90% ihrer Arbeit im Reinigungsschritt erledigt werden. Wenn Sie Ihre Daten nicht gründlich bereinigen, werden Sie schlechte Ergebnisse erzielen. Und das ist der Grund, warum wir viel Zeit damit verbringen , uns verschiedene fehlende Werte und Ausreißer anzusehen und zu erfahren, wie wir sie loswerden können. Und wie wir unseren Datensatz nach dem Laden wirklich verbessern können. Denn manchmal sind die Messungen fehlerhaft, manchmal gehen Daten verloren oder werden beschädigt, und manchmal haben wir einfach jemanden bei der Dateneingabe, der nicht wirklich aufpasst. Es spielt keine Rolle. Wir haben die Daten , die wir haben, und wir müssen die Daten so verbessern dass wir auf der Grundlage von Daten gute Entscheidungen treffen können. 13. 21 Fehlende Daten: Der erste Schritt bei der Datenbereinigung besteht für mich normalerweise darin, fehlende Daten zu überprüfen. Fehlende Daten können unterschiedliche Quellen haben. Vielleicht sind diese Daten verfügbar, vielleicht sind sie verloren gegangen, vielleicht wurden sie beschädigt. Und normalerweise ist es kein Problem. Wir können diese Daten ausfüllen. Aber hör mir zu. Ich denke, dass fehlende Daten oft sich schon sehr informativ sind. Wir können zwar Daten mit Durchschnittswerten oder ähnlichem eingeben , und ich zeige Ihnen, wie das geht. Oft ist es viel informativer , die Information zu bewahren , dass Daten fehlen , als diese Daten auszufüllen. Wenn Sie beispielsweise einen Online-Shop für Kleidung haben jemand nie auf die Kategorie Baby geklickt hat, er wahrscheinlich kein Kind. Und das sind viele Informationen, die Sie einfach daraus ziehen können , dass diese Informationen nicht da sind. Wie üblich importieren wir Pandas als PD. Und dieses Mal werden wir die fehlende Nummer importieren, die Bibliothek als MS, NEIN. Und wir werden die Daten in unserem TF DataFrame lesen. Missing Number ist diese fantastische Bibliothek, mit fehlende Werte auf sehr nette Weise visualisiert werden können. Wenn wir uns also das F ansehen, können wir feststellen, dass die Gesamtzahl der Schlafzimmer einige fehlende Werte enthält. Alles andere scheint ganz in Ordnung zu sein. Und wenn wir uns das Balkendiagramm ansehen, können wir sehen, dass wir uns einen anderen Datensatz ansehen müssen, um wirklich zu sehen, wie gut diese Bibliothek funktioniert, zu sehen und es gibt einen Beispieldatensatz in fehlende Zahlen , die jetzt geladen werden. Zu sehen. Wir werden diese Daten von Quilt laden. Sie haben das auch installiert. Aber unten in der Übung können Sie sehen, wie Sie an diese Daten kommen. Wir werden diese Kollisionsdaten aus New York City laden. Es sind Fahrzeugkollisionen , die wir in unsere Variable einbeziehen werden. Und diese Daten haben deutlich mehr fehlende Werte. Wir schauen uns das kurz an. Es gibt viele sehr unterschiedliche Spalten und wir können bereits sehen, dass es viele Substantive gibt, die wir mit fehlenden Zahlen untersuchen müssen. Wir ersetzen alle Nan-Zeichenketten durch den NumPy-Wert np dot nan. Numpy ist diese numerische Python-Bibliothek , die viel Nützlichkeit bietet. Und np dot nan ist nur ein nativer Datentyp, bei dem wir keine Zahl in unseren Daten darstellen können. Das ist dasselbe , was NumPy tut, wenn Sie, das ist dasselbe, was Pandas tun, wenn Sie ihm sagen, dass er, ähm, Nan-Werte angeben soll . In meinen Daten. Oft kann dies ein Wert von -9,9 bis fünf sein. Aber es kann wirklich alles sein. Und Sie können es nach Belieben angeben, was dann als NAM ersetzt wird. Sie wissen also, dass es ein fehlender Wert ist. Schauen wir uns das an, ja, das belasse ich für später. Schauen wir uns die Matrix an. Wir sehen, dass es hier mehr Spalten gibt und die Spalten viel heterogener sind. Wir haben also einige Spalten, in denen fast alle Werte fehlen. Und nebenbei können wir auch sehen , in welcher Zeile die meisten Werte ausgefüllt sind und in welcher Zeile der geringste Wert ausgefüllt ist. Es tut mir leid, dass das so niedrig ist. Schauen wir uns das Balkendiagramm an. Und wir können sehen , in welchen Spalten die meisten Daten ausgefüllt sind und in welchen die meisten Daten fehlen. Jetzt ist das Dendrogramm ein fantastisches Tool, um Zusammenhänge in fehlenden Daten zu erkennen. Je näher die Verzweigung an Null liegt, desto höher ist die Korrelation fehlender Zahlen. Das bedeutet, dass Sie oben rechts viele Werte sehen können , die zusammen fehlen. Dies ist eine einfache Möglichkeit, alle Werte zu zählen , die in diesem DataFrame fehlen. Wechseln wir zurück zu unserem ursprünglichen DataFrame, den Hauspreisen, wo wir auch einfach die Nullzahlen zählen können . Und wir können sehen, dass die Gesamtzahl der Schlafzimmer mit 207 das einzige ist, bei dem Werte fehlen. also nicht nur fehlende Informationen betrachten, Wir können also nicht nur fehlende Informationen betrachten, sondern auch numerische Werte daraus ziehen. Schauen wir uns hier die Gesamtzahl der Schlafzimmer an und fügen unserem DataFrame eine neue Spalte hinzu, die die Gesamtzahl der Schlafzimmer korrigiert hat. Weil ich die Originaldaten nicht gerne überschreibe. Ich füge lieber eine neue Spalte zu meinem Datensatz hinzu. Und hier sagen wir, füllen Sie unsere fehlenden Werte mit dem Durchschnittswert unseres gesamten Schlafzimmers. Da die Gesamtzahl der Schlafzimmer berücksichtigt wird der Mittelwert, der Durchschnittswert, keinen Sinn, sondern wird eher mit dem gebräuchlichsten Wert in Schlafzimmern gefüllt . Da haben wir's. Das wäre der Mittelwert und das ist der Median. Zum Glück stellt Pandas all diese als Methode zur Verfügung, sodass es sehr einfach ist, sie zu ersetzen Dieses Mal wird es an Ort und Stelle ersetzt, aber damit muss man vorsichtig sein. Es ist manchmal nicht die beste Methode, dies zu tun. Und jetzt können wir sehen, dass die Gesamtzahl der korrigierten Schlafzimmer keine fehlenden Werte hat. Wenn wir uns die Gesamtzahl der Schlafzimmer ansehen und Gesamtzahl der Schlafzimmer hier korrigiert haben. Wir können sehen, dass dies dieselben Werte sind. Die Werte, die waren, hatten keine Nullen, hatten keine Nans, nicht geändert. Nur die Werte mit nan wurden ersetzt. In diesem Kurs haben wir uns fehlende Zahlen angesehen. Was passiert also, wenn uns Daten fehlen? Können wir Beziehungen zwischen fehlenden Werten finden? Also einfach einige Daten und gehen verloren, wenn auch andere Daten verloren gehen Gibt es einen Zusammenhang zwischen fehlenden Zahlen selbst? In der nächsten Klasse werden wir uns mit der Formatierung unserer Daten befassen. Außerdem werden Duplikate entfernt , da es manchmal sehr wichtig ist, keine doppelten Einträge in unseren Daten zu haben. So können wir tatsächlich jeden Datenpunkt für sich selbst sehen. 14. 22 Skalieren und Binning neu: In diesem Kurs werden wir uns zunächst mit der Skalierung der Daten befassen. Das ist wirklich wichtig, da einige unserer Funktionen manchmal Hunderte sind und andere Funktionen wie Zehner oder Sie können Dezimalstellen hinzufügen. Und der Vergleich dieser Funktionen kann sehr schwierig sein, insbesondere wenn wir Modelle für maschinelles Lernen erstellen. Bestimmte Modelle für maschinelles Lernen sind sehr anfällig für die Skalierungsfaktoren. Daher kann es für die Erstellung eines besseren Modells für maschinelles Lernen von Vorteil sein, sie auf dieselbe numerische Skala zu bringen kann es für die Erstellung eines besseren Modells für maschinelles Lernen von Vorteil sein, sie auf . Ich werde jeden Skalierungsfaktor oder jede Skalierungsmethode in der Methode selbst vorstellen jede Skalierungsmethode in , damit wir sie auf angewandte Weise lernen können. Der zweite Teil und diese Klasse werden Daten klassifizieren. Das bedeutet also, Daten Klassen zuzuweisen , die auf numerischen Werten basieren. In diesem Beispiel verwenden wir den Hauswert und weisen ihm Luxus im mittleren, oberen und unteren Preissegment zu. Nur um ein Beispiel geben zu können, wie wir Klassen anhand von Zahlen zuweisen können. Und Sie werden sehen, dass dies mit verschiedenen Methoden geschehen kann , die zu unterschiedlichen Ergebnissen führen. Wie üblich importieren wir Pandas als PD und übertragen unsere Wohndaten in den df DataFrame. Machen Sie ein wenig Platz, damit wir unsere Daten tatsächlich skalieren können. Schau mal. Wir beginnen mit einer sehr einfachen Methode. Nun, wir skalieren unsere Daten zwischen dem Minimum und dem Maximum des gesamten Datenbereichs. Also ändere ich, dass x x minus das Minimum von x geteilt durch den Bereich ist. Also maximal x minus ein Minimum von x. Und das ergibt einen Wert 0-1. Für die gesamte Spalte. Wir wählen den mittleren Hauswert für diesen. Der mittlere Hauswert von df Punkt ist also unser x. Und das müssen wir ein paar Mal kopieren . Also werde ich einfach faul sein. X minus das Minimum von x geteilt durch das Maximum von x minus das Minimum von x. Und wir müssen hier Klammern verwenden, damit das funktioniert. Denn sonst würde es einfach den Mittelteil teilen. Du kannst es dir hier ansehen. Unsere skalierte Version in der neuen Spalte, die mittleren Hauswert minmax benennt. Genau hier. Wir können deutlich erkennen , dass ich einen Fehler gemacht habe, und nicht den oberen Teil in Klammern setzen. Wenn ich hier also Klammern hinzufüge, können wir sehen, dass die Daten tatsächlich 0-1 skalieren. Jetzt können wir die Daten tatsächlich klassifizieren. Es stehen auch mehrere Optionen zur Verfügung, um eine Klasseneinteilung durchzuführen. Wir verwenden die erste Methode, die PD Dot Cut Methode, bei der Sie die Bin-Werte selbst angeben. Das sind also diskrete Intervalle, in denen wir unsere Daten auf Schwellenwerten basieren , die wir gesetzt haben. Wir verwenden den Minmax-Wert, den wir gerade erstellt haben, weil das unser Leben ein bisschen einfacher macht. Denn dann können wir einfach die Behälter definieren. 0-1 ergibt drei Viertel, also Quartile. Und das bedeutet, dass wir fünf Werte in Schritten von 0-1 und 0,25 angeben müssen. Wenn wir dies ausführen, können wir sehen, dass die Intervalle bereitgestellt werden. Wenn wir nicht unbedingt möchten, dass diese Intervalle angegeben werden, sondern Namen für sie angeben. Bei diesen Werten können wir also sagen, dass der erste ziemlich billig ist. Dann haben wir einen mittleren Wert für die Häuser, einen hohen Wert für die Häuser, und dann sind wir im Luxussegment. Natürlich können Sie diese Klassen definieren, wie Sie möchten. Dies ist nur ein Beispiel, das Sie nehmen sollten. Machen Sie das an den allgemeinen Daten etwas lesbarer. Andernfalls erhalten wir eine Fehlermeldung. Und jetzt mit den Bezeichnungen können wir sehen, dass jeder Datenpunkt jetzt einer Kategorie zugewiesen ist , die diese in diesem Fall tatsächlich einem Preis oder einer Preisspanne zuordnet und korrekt eingerückt ist. Und wir können sehen, dass wir jetzt eine neue Spalte mit neuen Klassen haben , die wir später mit einem Modell für maschinelles Lernen vorhersagen könnten. Die zweite Methode, die wir uns ansehen werden, ist die Q-Cap-Methode. Dies ist eine Quanten, die geschnitten werden. So können wir definieren, wie viele Behälter wir wollen. Und die Daten werden zu gleichen Teilen jedem Behälter zugewiesen, es werden die Daten von zuvor verwendet. Das Haus schätzt also Minmax. Bei der Cue-Card spielt es nun keine Rolle, welche wir nehmen da die Skalierung in diesem Fall linear ist. Also das ist in Ordnung. Zum Vergleich können wir jedoch sehen, dass die obere Ablage jetzt zwischen 0,5, 15,1 statt 0,7, 5,1 liegt 15,1 statt 0,7, 5,1 . Wir können die Labels zuweisen, um sie absolut vergleichbar zu machen. Und wir können genau hier sehen, dass dies jetzt viel mehr Luxus ist und 01234 statt hoch wie zuvor. Das macht also einen großen Unterschied und Sie müssen wissen, wie das Kind arbeitet. Sie sind wirklich, wirklich nützlich. Aber ja, es ist etwas, dessen man sich bewusst sein sollte. Lassen Sie uns das der Preisklasse Quantil zuordnen und richtig eingerückt haben. Und wir haben eine neue Kolumne , mit der wir arbeiten können. Anstatt dies von Hand zu tun, können wir eine Bibliothek für maschinelles Lernen verwenden, Scikit-Learn, um die Vorverarbeitung zu verwenden. Denn wie Sie gesehen haben, machen Sie manchmal Fehler, vergessen Sie einfach die Klammern. Und wenn es bereits in einer Bibliothek , wird es diese Art von dummen Fehlern vermeiden , die sehr schwerwiegende Folgen haben , wenn Sie sie nicht erkennen. Von SkLearn, die Abkürzung für Scikit-Learn. Wir importieren die Vorverarbeitung und verwenden die Minmax-Skalare , damit wir sie mit unserer Min-Max-Skalierung vergleichen können , die wir von Hand durchgeführt haben. Wir verwenden die Fit-Transformation für unsere Daten. Und die Fit-Transformation schätzt zuerst die Werte und transformiert dann die Werte , die sie hat, in den Minmax-Skalar. Jetzt sind sie genau hier. Wir können sehen, ich meine, ich bin es gewohnt, diese Fehler zu lesen, aber wie Fehler, schlimm, man findet schnell heraus, was passiert ist. Du kannst nach den Fehlern googeln. Und in diesem Fall habe ich ein seriöses bereitgestellt und Scikit-Learn erwartete stattdessen einen DataFrame. Schauen wir uns das an, vergleichen wir unsere Daten. Und manche Werte sind gleich, andere nicht. Und das scheint ein Fließkommafehler zu sein. Schauen wir es uns einmal genauer an. Der erste Wert ist falsch. Also können wir einfach in unser Array schneiden und uns das ansehen. Die ersten Werte sind. Und genau hier können wir sehen, dass die Scikit-Learn-Methode immer weniger Ziffern nach dem Komma vorsieht . Nun, das ist nicht schlecht weil unsere numerische Genauigkeit ehrlich zu sein, nicht so präzise ist. Wir können also die NumPy-Methode verwenden, numPy dot all close, um unsere Daten mit den anderen Daten zu vergleichen. Das bedeutet also, dass unsere Fehler numerischer Genauigkeit bewertet werden. Ob sie übereinstimmen oder nicht. Kopiere das einfach. Und wir können sehen, ja, tatsächlich passen sie zusammen. Innerhalb der numerischen Genauigkeit sind sie also tatsächlich gleich. Anstelle des Minmax-Skalars können wir einen Blick darauf werfen und es stehen eine Menge Vorverarbeitungsmethoden zur Verfügung, wie Max-App-Skalar und Normalisierungstransformatoren von Quantil. Aber einer, der sehr gut ist und ich ziemlich oft verwende, ist der Standard-Scaler. Und wenn Sie das wählen, wird Ihnen zeigen, dass es so ist. Verwenden Sie tatsächlich genau die gleichen, nur passenden Transformationsenden. Sie erhalten Ihre Daten anstelle des Standard-Scalers. Wenn Sie viele Ausreißer in Ihren Daten haben, können Sie den robusten Skalar in dieser Klasse gut verwenden und sich verschiedene Möglichkeiten ansehen, unsere Daten zu skalieren und unseren Daten basierend auf den Daten Klassen zuzuweisen . Also haben wir uns wirklich eingehend damit befasst wie man Daten für maschinelles Lernen und das Ende aufbereitet. Und du wirst in einem späteren Kurs sehen , wie wir das machen. In der nächsten Lektion werden wir uns mit einigen fortgeschrittenen Themen befassen. Wir werden uns ansehen, wie man Schemas für unsere Daten erstellt. So können wir tatsächlich überprüfen, ob unsere Daten in bestimmten Bereichen liegen oder bestimmte Kriterien erfüllen , von denen wir gesagt haben, dass die Daten haben müssen, wenn wir unseren Data-Science-Workflow , von denen wir gesagt haben, dass die Daten haben müssen, wenn am Ende automatisieren, das ist wirklich wichtig, denn gleich zu Beginn können wir sagen, dass unsere Daten in Ordnung sind oder dass sich unsere Daten auf das vorherige geändert haben und dass es Probleme mit der Datenkontrolle und der Qualitätskontrolle gibt . 15. 23 Schemas neu: In dieser Klasse werde ich mir keine Schemata ansehen. Das heißt, wenn wir unsere Daten laden, können wir sehen, ob jede Spalte, die wir definieren, einer bestimmten vordefinierten Klasse oder einigen vordefinierten Kriterien entspricht einer bestimmten vordefinierten Klasse oder , von denen wir glauben, dass diese Art von Funktion haben muss. Und wir werden verschiedene Möglichkeiten erkunden, dies zu tun. Und woran denken Sie, wenn Sie das tun. So können wir unseren Data-Science-Workflow von Anfang bis Ende automatisieren . Zusätzlich zum üblichen Import von Panels werden wir Pandas Era importieren. Dies ist offensichtlich ein Spiel mit Pandas, und es ist die Bibliothek, die wir in diesem Beispiel verwenden werden , um Schemas zu erstellen und unseren DataFrame zu validieren. Es gibt noch andere Bibliotheken wie Rate Expectations, die du dir ansehen kannst , aber in diesem Fall sind es zwei. Zuerst müssen wir das Schema erstellen. Das Schema ist im Grunde unser Regelsatz, wie unser DataFrame aussehen soll. In diesem Fall verwenden wir also ein einfaches Beispiel mit Meeresnähe und lassen es zuerst fehlschlagen. Wir sagen, dass die Spalte Ganzzahlen sein soll. Wir bekommen also einen Schemafehler. Und wir können genau hier sehen, dass es uns am Ende ganz mitteilt , dass es einen Int 64 erwartet hat. Das stört mich nicht, Gott. Wenn wir dies durch eine Zeichenfolge ersetzen, können wir sehen, dass es jetzt validiert wird und alles in Ordnung ist. Jetzt können wir zusätzlich zum Typ auch Kriterien angeben , die wir überprüfen möchten. Also geben wir PA Dot Check ein. Und da wir überprüfen wollen , ob die Meeresnähe nur ein paar Werte hat, kopieren wir diese Werte und sagen, dass sie in dieser Liste stehen sollen. Wenn wir dieses Schema validieren, sehen wir, dass alles in Ordnung ist. Lass es uns scheitern lassen. Wenn Sie die nahe Bucht löschen, sehen wir, dass ein Schemafehler vorliegt , da dieser nicht validiert werden konnte. Lass uns das überprüfen, dafür sorgen, dass es wieder funktioniert. Text ist nicht das einzige , was validiert werden muss. Wir können uns auch andere numerische Werte ansehen. Also, wenn wir überprüfen wollten der Breitengrad in einem bestimmten Gebiet liegt oder ob der Längengrad in einem bestimmten Gebiet liegt. Das macht absolut Sinn, Sie können überprüfen, ob es innerhalb bestimmter Grenzen liegt. Schauen wir uns die Gesamtzahl der Räume an und überprüfen, ob es sich um eine Ganzzahl handelt. Jetzt, im Moment ist es das nicht. Aber wir können die Daten natürlich als Ganzzahl laden und dann die Daten validieren. Also unser Laden wie immer als Ganzzahl. Was wir also tun werden, ist, die Spalte zu definieren und zu sagen, dass es sich um eine Ganzzahl handeln muss. In diesem Fall erhalten wir natürlich einen Schemafehler, weil es gerade ein Float ist. Also müssen wir eine Typkonvertierung durchführen oder wir müssen die Daten mit einer Ganzzahl neu laden. Wir bekommen den Wohnpunkt CSV. Und wir definieren den Datentyp für die Gesamtzahl der Räume als int. Das Problem hier ist, dass es in 32 und in 64 gibt. Also, wie viele Bits hat eine Ganzzahl? Und diese müssen die gleichen sein. Wenn wir uns also den Fehler unseres Schemas ansehen, können wir sehen, dass es eine Unsicherheit für erwartet. Also werden wir Numpy importieren und unser Laden hier wie in 64 definieren . Und unser Schema wird erneut validiert, weil wir jetzt den Typ gefunden haben. Wenn wir also in 64 laden und am Anfang machen, können wir dies mit dem erwarteten 64 und unserem Schema abgleichen . Es sind nur Dinge, auf die Sie achten sollten, wenn Sie laden. Eine weitere Möglichkeit, unsere Daten dabei mit einer Lambda-Funktion zu validieren . Also eine anonyme Funktion, die beliebige Prüfungen durchführen und wahre oder falsche Werte zurückgeben kann. In diesem Fall beginnen wir mit dem Durchschnittsalter der Wohnungen. Machen Sie es wie eine Spalte und fügen Sie den Scheck hinzu. Jetzt mache ich hier leider einen Fehler, aber du wirst es gleich sehen. P dot check fügt also hinzu, dass Lambda n unsere Variable ist. Und wir prüfen, ob n nichts ist, All ist nicht keiner. Und wir bekommen genau hier einen Tippfehler. Dies ist wichtig zu beachten. Es handelt sich nicht um einen Schemafehler. Und das liegt daran, dass ich vergessen habe , hier eine Typprüfung hinzuzufügen. Also schauen wir nach Float. Und jetzt ist alles wieder gültig weil keiner der Werte im Durchschnittsalter der Wohnungen taub ist, dazu führen kann, dass es scheitern kann, indem die keinen entfernt werden . Und das wird unser Schema brechen. Wir können hier viele andere Tests durchführen, beliebige Funktionstests, zum Beispiel, wenn unser quadriertes n über Null ist, was es tun hier viele andere Tests durchführen, beliebige Funktionstests, zum Beispiel, wenn unser quadriertes n über Null ist, sollte, wenn Mathematik noch funktioniert. Es gibt mehrere Gründe, warum Sie eine Schemavalidierung für DataFrames in Tabellen durchführen möchten. Und es ist durchaus üblich, diese bereits in Datenbanken zu tun. Und es ist eine gute Praxis , dies in DataFrames zu tun. Es kann sein, dass Sie nur fehlerhafte Daten erhalten oder dass sich die Daten auf irgendeine Weise ändern. Und ein sehr einfaches Beispiel hier sind Prozentsätze. In der Geophysik. Manchmal muss man die Porosität berechnen, z. B. von Gesteinen, die als Prozentsatz 0-1, also als Dezimalzahl angegeben werden kann , oder sie kann als Prozentsatz angegeben werden, 0-100. Beides ist völlig in Ordnung, aber du musst eines machen, um danach deine korrekten Berechnungen zu haben . Lassen Sie uns hier also einen DataFrame mit gemischten Prozentsätzen erstellen, bei dem Sie sehen, dass ein Fehler ausgelöst wird. Wenn Sie diese Daten validieren. Speichern Sie diesen DataFrame und D von simple. Und dafür erstellen wir ein Schema. Alle Daten werden mit 0-1 verschoben. Erstellen Sie also das DataFrame-Schema und fügen Sie Prozentsätze für die Spalte hinzu. Und der Grund, warum wir dieses Beispiel machen, ist, dass Sie andere Daten als nur die Wohnungsdaten sehen, dass wir dies auch für andere Daten als nur die Wohnungsdaten sehen , dass wir physische Daten tun können. Und damit Sie über Ihre Daten nachdenken, wie Sie überprüfen können, ob Ihre Daten tatsächlich korrekt sind. Also werden wir gleich hier einen Scheck haben. Und wir können überprüfen, ob dies kleiner oder gleich eins ist. Wir müssen unseren DataFrame erneut auf dem Schema validieren und sicherstellen, dass er fehlschlägt. Und das Schöne ist , dass unsere Fehlerfälle hier klar umrissen sind. Also könnten wir manuell reingehen und diese Daten korrigieren. Wir können lediglich alle Daten korrigieren, von denen wir wissen, dass sie falsch sind, in unseren Prozentsätzen oder fallen und unser Schema mit den richtigen Eingabedaten validieren lassen. Wir erhalten also alle Daten, die mehr als eins sind , und teilen einfach alles durch 100. Wir haben also nur Dezimalprozentsätze. Und jetzt lässt sich alles leicht validieren. In diesem Kurs haben wir uns bereits von Anfang an verschiedene Schemata angesehen und erfahren, wie wir verschiedene Schemata angesehen und erfahren, wie wir unsere Daten validieren können. Und wir haben anhand eines einfachen Beispiels für Prozentsätze nachgesehen, warum das so wichtig ist. Im nächsten Kurs werden wir uns mit einer weiteren fortgeschrittenen Strategie befassen, die darin besteht, das Thema zu kodieren für maschinelles Lernen sehr wichtig ist, aber auch auf verschiedene Arten angewendet werden kann. 16. 24 Neu codieren: In diesem Kurs werden wir uns mit der Kodierung unserer Daten befassen. Wenn wir also eine kategoriale Variable wie unsere Ozeannähe haben , können maschinelle Lernprozesse oft nicht wirklich damit umgehen , weil sie die Zahlen benötigen. Und wir werden uns ansehen, wie wir diese Zahlen auf verschiedene Weise bereitstellen können . Darüber hinaus können wir diese Zahlen, sobald wir das getan haben, sobald wir das getan haben, auf verschiedene Weise verwenden , um unsere Daten zu segmentieren. Wir beginnen mit den üblichen Pandas. Und dann schauen wir uns die Nähe zum Meer an , denn das sind Zeichenketten und unsere Zeichenketten sind kategoriale Daten. Und Systeme für maschinelles Lernen haben manchmal Probleme mit der Analyse von Zeichenketten Sie möchten sie daher in eine Art Zahlendarstellung konvertieren . Pandas selbst hat eine sogenannte One-Hot-Encoding. Und das ist eine Dummy-Kodierung. Im Wesentlichen erhält also jeder Wert in den Kategorien eine eigene Spalte, in der er wahr oder falsch ist. Jeder Wert, der in der Nähe von Bay war, hat jetzt eine Eins in der Spalte „Near Bay“ und Null und alles andere. Lassen Sie uns diese Daten mit dem ursprünglichen DataFrame zusammenführen. Wir können dies also mit anderen Arten von Kodierungen vergleichen anderen Arten von Kodierungen und sehen, wie wir damit umgehen können . Wir werden uns dem und ihrem DataFrame anschließen. Und wir können genau hier in der Nähe der Bucht sehen. Eins für Near Bay, Inland ist eins für Inland und Null überall sonst. Alternativ können wir das Vorverarbeitungspaket von scikit-learn verwenden . Scikit-Learn gibt uns Encoder-Objekte, die wir verwenden können. Also weisen wir dieses One-Hot-Encoder-Objekt der Tinte zu und passen es an unsere Daten an. Das Schöne an diesen Objekten ist , dass sie über einige wirklich nützliche Methoden verfügen wirklich nützliche Methoden , die nun erforscht werden können. Lassen Sie uns dies an die einzigartigen Daten anpassen, die wir in unserer Nähe zum Meer haben. Und dann sehen Sie, wie dieser Encoder tatsächlich mit unseren Daten umgeht. Nachdem wir unseren Encoder an unsere einzigartigen Werte angepasst haben, können wir unsere Daten transformieren. Wenn wir es richtig buchstabieren. Ja, wenn wir das in ein Array konvertieren, erhalten wir die einmalige Kodierung für unsere eindeutigen Werte. Also nur eine in jeder Spalte und jeder Zeile. Jetzt werden die tatsächlichen Daten transformiert. Also sollten uns nicht nur die eindeutigen Werte etwas geben, das dem, was wir im DataFrame gespeichert haben, sehr ähnlich ist. Weiter oben. Konvertiere dies in ein Array. Wir haben also Werte und die vierte Spalte. Genau hier kann man in der Nähe der Bucht sehen. Gleiche. Jetzt wundern Sie sich vielleicht, warum wir diese redundante Arbeit machen. Aber mit diesem Encoder-Objekt haben wir, wie ich bereits erwähnt habe , einige wirklich nette Dinge, die wir in ein paar Zeilen tun können , und wir können das Array verwenden, das wir von zuvor haben. Ich werde NumPy verwenden, weil ich einfach eher an den Umgang mit NumPy-Objekten gewöhnt bin. Und wir können dieses Array jetzt zurückkonvertieren, was mit anderen Methoden nicht so einfach ist, aber weil wir dieses nette Objekt haben , das all diese Methoden zur Verfügung hat, können wir die inverse Transformation verwenden, stellen Sie dieses Array für diese inverse Transformation bereit und rufen Sie die tatsächlichen Klassen zurück, da das Objekt an die Klasse erinnert, anstatt dass sie angepasst wurde. Und wir können auch alle Daten abrufen, die im Objekt gespeichert sind , ohne ihm tatsächlich Werte zur Verfügung zu stellen. Also wirklich nur eine nette Art , mit der Vorverarbeitung umzugehen. Natürlich wollen wir manchmal etwas anderes als One-Hot-Codierung. Arbeit mit der One-Hot-Codierung kann etwas umständlich sein. Also schauen wir uns das Vorverarbeitungspaket an und wir können sehen, dass es mit einem Risers-Label-Encoder beschriftet ist. Aber jetzt schauen wir uns nur den Ordinalencoder an. Der Ordinalencoder weist statt der Kategorie eine Zahl zu. Und das bedeutet im Grunde nur, dass es 0-1234 ist, abhängig von der Anzahl der Klassen. Und dabei muss man vorsichtig sein, wie in einem linearen Modell, z. B. die Zahlen sind wichtig. Vier wären also höher als 04, wäre höher als drei. Es als Ordinalzahl zu kodieren wäre also eine schlechte Idee und ein lineares Modell. Aber im Moment ist es dafür gut genug, Beispiel wenn wir später ein anderes Modell verwenden, als wir völlig berechtigt sind, einen Ordinalencoder zu verwenden. Dies war unser letzter Kurs und der Abschnitt zur Datenbereinigung. Also haben wir uns angesehen, wie wir Informationen auf verschiedene Arten codieren können . Wir können es also in Modellen für maschinelles Lernen verwenden, es aber auch als zusätzliche Information in unserem DataFrame speichern . In der nächsten Klasse werden wir uns mit der explorativen Datenanalyse befassen. Also, wir tauchen tief in unsere Daten ein. 17. 30 Explorative Datenanalyse neu: In diesem Kurs werden wir uns automatisch generierte Berichte ansehen . Und oft kann das genug sein. Sie möchten einen Überblick über Ihre Daten und die gängigsten Einblicke in Ihre Daten und werden diese Berichte erstellen, sodass sie für Sie auf jeder Art von Datensatz, den Sie haben , reproduzierbar sind. Dieses Tool ist sehr leistungsfähig. Im Anschluss schauen wir uns an, wie diese Erkenntnisse auch selbst generieren können. Denn manchmal möchte man mehr wissen, als dieser Bericht einem nur bietet. Und auch, wenn es nur darum ginge, dieses Dienstprogramm, Data Science, zu betreiben , würde das nicht bezahlt werden. Nun, um ehrlich zu sein, das ist ein guter erster Schritt. ist wirklich wichtig, diesen Überblick über Ihre Daten zu bekommen. Aber dann müssen wir tiefer in unsere Daten eintauchen und die kleinen Funktionen , die wir finden müssen, wirklich heraussuchen. Wir importieren Pandas und bekommen dann unseren DataFrame und die DF-Variable S, das machen wir immer. Dann importieren wir den Profilbericht aus der Pandas Profiling Library. Und ich bin mir ziemlich sicher, dass Sie erstaunt sein werden , wie praktisch dieser Prozess der Erstellung dieses Berichts tatsächlich ist. Und wenn du etwas wegnimmst, denke ich, das ist es. Dieses Tool nimmt wirklich viele Dinge weg , die wir normalerweise manuell in Pandas gemacht haben. Und ich zeige dir trotzdem, wie das geht, denn es ist wirklich gut zu verstehen, was du eigentlich im Hintergrund machst. Aber dieses Tool ist unglaublich. So generieren Sie automatisch alle Statistiken zu Ihren Daten. Sie sehen, dass es Ihre Variablen zählt und Ihnen einen Überblick darüber gibt , wie viele numerisch und wie viele kategorisch sind. Beachten Sie, dass wir keine Kategorienmerkmale oder Datentypänderungen bereitgestellt haben. Und wir bekommen sogar Entzündungen. Wie unsere Daten verteilt werden. unserem Notizbuch ist es jedoch etwas schwer zu erkennen. Aus diesem Grund werden wir eine Notebook-spezifische Version verwenden, nämlich Profile da2-Widgets. Und hier haben wir ein sehr schönes Übersichts-Widget mit den gleichen Informationen wie der Profilbericht von zuvor. Wir können hier sehen, dass es uns sogar die Größe und den Speicher anzeigt und uns mitteilt, wann die Analyse gestartet und abgeschlossen wurde. Wie Sie diese Analyse neu erstellen können. Es informiert Sie über alle Warnungen wie hohe, hohe Korrelationen. Nun zwischen Breitengrad und Längengrad, das ist in Ordnung. Fehlende Werte. Und dann können Sie sich anhand von Variablen die Verteilung Ihrer Daten ansehen. Sie können also mit den Ergebnissen sprechen und sich das Histogramm ansehen. Das Histogramm ist dort oben auch klein, aber es ist wirklich schön, es sich auch einmal genauer anzusehen. Und Sie können alle Ihre Variablen durchblättern und sehen, dass links Werte fehlen Sie haben Warnungen davor. Und erhalten Sie wirklich alle Informationen , die Sie benötigen, um einen Einblick in Ihre Daten zu erhalten. Prüfen Sie, ob es gemeinsame Werte gibt , die ständig angezeigt werden. Also, das waren 55 Werte, wirklich, nicht wahr, Coleman? Sehen Sie sich die Mindest- und Höchstwerte an, die Sie haben. Also hol dir ein Gefühl für die Reichweite. Und wenn wir uns unser Einkommen ansehen, das eher eine Verteilung ist, können wir die Verteilung auch dort sehen. Und zu unserem kategorialen Merkmal, der Nähe zum Meer, können wir Ihnen etwas sehr Wichtiges sagen. Island hat nur fünf Einträge. Wir haben hier also einen ziemlich unausgewogenen Datensatz , dass es auf der Insel nicht viele Häuser gibt. Dann klicken wir drüber und schauen uns die Interaktionen an. Sehen Sie also, wie sich eine Variable mit der anderen ändert. Wenn wir uns Längengrad gegen Breitengrad ansehen, das ist negativ korreliert, Längengrad, Längengrad, derselbe Wert ist immer positiv korreliert. Wenn wir uns nun den Medianwert von Wohnungen im Vergleich zu allem anderen ansehen , können wir wirklich sehen, wie diese interagieren, wie sie sich gegeneinander verändert haben. Die Gesamtzahl der Schlafzimmer gegenüber den Haushalten ist z. B. positiv korreliert. Es gibt etwas Gutes zu wissen. Und dies ist nur ein mächtiges Tool, um wirklich jede Variable gegen eine andere zu sehen. Dann klicken wir zu den Korrelationen. Und das lineare Standardkorrelationsmaß zwischen eins und minus eins ist die Pearson-Korrelation. Und hier können wir sehen, was wir zuvor gesehen haben , eine Variable mit sich selbst, also Längengrad gegen Längengrad wird immer eins sein und alle anderen Werte sollten irgendwo zwischen eins und minus eins liegen. Auf diese Weise können Sie die Beziehungen zwischen Daten wirklich sehen . Spearman ist etwas nichtlinearer, aber normalerweise bevorzugen die Leute Kerzen, zwei Exemplare, und dann ist da noch Pi k. Phi ist also ein Maß zwischen zwei binären Variablen, die normalerweise oben rechts umgeschaltet um mehr über diese zu lesen. Schau dir die fehlenden Werte an. Und das erinnert Sie vielleicht an etwas, das wir zuvor gemacht haben. Und ich bin natürlich nicht der einzige, der die Bibliothek mit fehlenden Zahlen für großartig hält der die Bibliothek mit fehlenden Zahlen für großartig , weil sie auf diesem Tab sehr ähnliche Einblicke bietet . Und dann können wir uns auch ein Beispiel unserer Daten ansehen. Führe schließlich dazu. Wir können unseren Profilbericht verwenden und einen explorativen Profilbericht erstellen. Dieser ist interessanter, wenn Sie verschiedene Datentypen haben. Also, wenn Sie auch Text oder Dateien oder Bilder in Ihrem Datenrahmen haben , in Ihrer Datenanalyse. Also wirklich nicht so zutreffend hier. Im Allgemeinen können Sie jedoch feststellen, dass diesem Bericht bereits viele Dinge behandelt werden, die Sie in Ihrer explorativen Datenanalyse wissen möchten . Im Allgemeinen möchten Sie die Statistiken Ihrer Daten, die Korrelationen Ihrer Daten und fehlende Werte in Ihren Daten kennen die Korrelationen Ihrer Daten und wirklich sehen, wie sich die Daten gegenseitig beeinflussen und welche Daten sich jeweils vorhersagen lassen andere. Es ist in Ordnung, wenn dies das einzige ist , was Sie aus diesem Kurs mitnehmen. Aber lassen Sie uns wirklich untersuchen, wie wir diese Art von Erkenntnissen selbst generieren können. In den nächsten Klassen. Ich zeige Ihnen schnell , wie Sie das in eine Datei bekommen. Sie haben also Profil Punkt zu Datei und geben ihm dann einen Namen. Und dann erhalten Sie diese wunderschöne Website Sie sich umklicken und sie mit Kollegen teilen können, wo sie sich Ihre Analyse ansehen können. Es wird stehen, dass es sich Lehrlingsprofil oder den Bericht handelt, und das ist gut so. Verwenden Sie dies nicht nur, verwenden Sie es als Ausgangspunkt, um eine tiefere Analyse durchzuführen und Ihre Daten wirklich zu überprüfen. Dies nimmt unserer täglichen datenwissenschaftlichen Arbeit jedoch viel Arbeit ab . 18. 31 Visual Exploration neu: Für EDA möchte ich mir zunächst die Plots ansehen. Wir werden uns also Visualisierungen ansehen, die uns ein intuitives Verständnis der Zusammenhänge in den Daten vermitteln . Beziehungen zwischen Merkmalen, Korrelationen und auch die Verteilungen der einzelnen Merkmale. Und wir werden Seaborn verwenden, was das alles extrem einfach macht, normalerweise nur mit einer oder zwei Codezeilen. Zuerst importieren wir wie gewohnt Pandas und laden unsere Daten. Zusätzlich laden wir die Plotbibliothek von Seaborn. Seaborn wird üblicherweise als SNS abgekürzt. Und das erste Diagramm für unsere Datenvisualisierung wird ein Paardiagramm sein. einem Paardiagramm wird nun jede Spalte gegen jede Spalte geplottet, sogar gegen sich selbst. Wenn Sie also die Gesamtzahl der Räume mit sich selbst vergleichen, erhalten Sie die Verteilung der gesamten Räume. Und wenn Sie gegen eine andere Spalte plotten, erhalten Sie ein Streudiagramm. Dieses Streudiagramm sowie die Verteilung können sehr informativ sein. Eines meiner Lieblingsdiagramme für eine Visualisierung. Genau hier können wir sehen, dass z. B. unsere Breiten- und Längengraddaten offenbar zwei Spitzen haben. Es scheint also unsere Geolokalisierungsdaten auf zwei Punkte konzentrieren. Wir können sehen, dass es einige sehr starke Korrelationen gibt. Und in der Mitte unseres Diagramms, das liegt daran, dass wir genau hier eine gewisse lineare Streuung haben . Und jedes andere Merkmal , das wir hier sehen , ist auf bestimmte Weise verteilt , wie dieses, ist überall verstreut und wir können einige Ausschnitte an den Rändern sehen . Also wahrscheinlich hat jemand ein Maximum an Daten genommen. Zusätzlich zum Paardiagramm können wir ein Paardiagramm erstellen , das nach einer Klasse gefärbt ist. Moment ist es der einzige Kurs, den wir als Meeresnähe bei Ihrer Erkundung für das Projekt zur Verfügung haben . Es wäre wirklich toll, wenn Sie damit experimentieren, dies vielleicht mit der Klasseneinteilung kombinieren würden, die wir gemacht haben. Es dauert ein bisschen, bis das geladen ist. Deshalb habe ich momentan nur 1.000 Proben gesampelt, weil wir die Handlung relativ schnell haben wollen. Dies gibt jedoch einen wirklich guten Überblick wie verschiedene Klassen gegeneinander verteilt sind. Die Legende auf der rechten Seite gibt uns an, welche Farben welche. Und ich möchte jetzt ihren Breiten - und Längengrad verringern, da diese Merkmale stark miteinander korrelieren und derzeit nur Platz in unseren Grundstücken beanspruchen. Wir können unsere Handlung also wirklich besser nutzen , indem wir sie loswerden. Jetzt muss ich im Drop die Xs hinzufügen, muss ich im Drop die Xs hinzufügen weil wir das aus der Spalte streichen wollen . Und dann sollte unser Grundstück in der Lage sein, mit ein paar Parzellen weniger am, am Netz zu plotten . Jedes Grundstück ist also ein bisschen größer. Und das gibt uns bereits viele Informationen. Wir können also sehen, dass unsere Daten relativ gleichmäßig verstreut sind, mit Ausnahme der Inseldaten. Diese Inseldaten scheinen einen sehr starken Höhepunkt zu haben. jedoch daran, dass unsere Inseldaten nur sehr wenige Stichproben enthalten. Es verzerrt die Ergebnisse wirklich sehr. Vielleicht möchten wir jedoch nur die Verteilung unserer Daten grafisch darstellen. Dazu können wir das KDE-Plot verwenden, das die Abkürzung für die Schätzung der Kerneldichte ist. Wir werden uns also ansehen, wie unsere mittleren Hauswerte verteilt sind. Zusätzlich zu dieser Handlung können wir diese auch noch einmal nach Farbtönen aufteilen. Leider gibt es keine nette eingebaute Methode, dies zu tun, wie für das Pärchendiagramm. Deshalb werden wir die einzigartigen Werte in unserer Nähe zum Meer wiederholen . Und das ist eine kleine Problemumgehung, aber mir hat diese Handlung sehr gut gefallen, also werde ich dir trotzdem zeigen, wie das geht. Und in meinem Unterricht taucht diese Frage normalerweise sowieso auf. Also ich hoffe, diese Handlung wird es tun, ich hoffe, dass diese Handlung auch für Sie funktioniert. Also werden wir unsere Daten unterteilen. Verwenden Sie die Ozeannähe , die der Klasse entspricht, die unser Iterator für die eindeutigen Werte ist. Das bedeutet, dass wir unsere Handlung nach unserer Klasse aufteilen. Im Moment sieht die Legende jedoch nicht besonders nett aus. Jede Legende sagt nur den mittleren Hauswert. Und im Idealfall wollen wir die Legende, natürlich die Klasse. Also können wir hier ein Label bereitstellen , das unseren Klassennamen enthält. Und so haben wir eine nette kleine Handlung, alle unsere Distributionen hat. Nun, wir können sehen, dass das Inland eine ganz andere Verteilung hat als die meisten anderen. Und natürlich ist die Insel nach rechts geneigt, was auf einen höheren Preis hindeutet. Aber auch hier gibt es nicht viele Daten, also ist es ein etwas verzerrtes Ergebnis. Nun, vielleicht wollen wir uns mehr Streudiagramme ansehen. Erstellen eines Streudiagramms ist sehr einfach. Nun, wir können sogar noch einen Schritt weiter gehen. Es gibt ein sogenanntes Joint Plot, bei dem wir die Streudiagramme und die Unterseiten haben. Wir können die Verteilung der Daten grafisch darstellen. Normalerweise ein Histogramm, Sie können auch ein anderes erstellen. Diese sind sehr nett, um darauf hinzuweisen, wie die Daten kovariieren. Bei der Gesamtzahl der Schlafzimmer und der Gesamtbevölkerung sehen wir eine sehr klare Verteilung, sehen wir eine sehr klare Verteilung die auf einen grundsätzlich linearen Trend hindeutet. Also eine Art lineare Korrelation zwischen den beiden. Und diese Handlung ist sehr einfach. Sie geben einfach das Feature, den Spaltennamen und den DataFrame und Seeort an, ganz gut mit Pandas. Genau hier können Sie auch sehen, wie die Verteilungen und die Labels automatisch angewendet werden. Dieses Grundstück hat ein paar verschiedene Optionen. Sie haben bereits gesehen, dass es eine Hex-Option gibt. Wir können auch eine lineare Regression durchführen, also passen Sie eine Trendlinie mit Unsicherheit an unsere Daten an. Wir können also wirklich sehen, ob ein lineares Modell wirklich zu unseren Daten passt oder ob etwas anderes sein sollte. Hier können wir nun sehen, dass Ausreißer die Ergebnisse zumindest ein wenig verzerren. Außerdem können wir uns ein anderes Feature ansehen, um zu sehen wie sich beispielsweise unsere lineare Regression ändert. Dieses Merkmal scheint sehr stark mit der Gesamtzahl der Schlafzimmer zu korrelieren. Ersetzen Sie also die Bevölkerung durch Haushalte. Und wir können sehen, dass dies so linear ist, wie echte Daten tatsächlich sind. Ich denke, wenn wir jetzt diese überersetzte Bevölkerung durch Haushalte kopieren, dann passen Sie eine Linie an. Wir können sehen, dass der Schatten hinter der Linie im Grunde nicht sichtbar ist, sodass die Unsicherheit bei diesen Daten im Grunde nicht vorhanden ist. Eine wirklich nette Möglichkeit zu sehen, wie unsere lineare Regression zu den Daten passt. Anstelle des Paardiagramms können wir auch eine Heatmap der Korrelation erstellen. Das gibt uns also nur die Zahlendarstellung unseres Pearson-Korrelationskoeffizienten. Und wir können sehen, dass die Diagonale eins ist, wie sie sein sollte. Unser Breitengrad und Längengrad sind negativ korreliert, weil der Längengrad negativ ist. Und in der Mitte haben wir ein Quadrat mit starker Korrelation, das wir auf jeden Fall untersuchen sollten. Das ist sehr interessant. Und im Allgemeinen auch eine gute Möglichkeit, Ihre Daten zu überprüfen. Wir können das kopieren und einfach ein bisschen damit herumspielen nur um dir zu zeigen, dass hier nichts gebacken ist, du wirklich damit herumspielen kannst. Es ist ein offenes Spielfeld, um Ihre Visualisierungen wirklich zu erkunden. Diese Magnitude von 0-1 zeigt uns nun, dass das Durchschnittseinkommen im Vergleich zum mittleren Hauswert ziemlich stark korreliert . Und das habe ich vorher nicht wirklich gesehen. Wenn Sie sich das einfach ansehen und ein wenig umstellen können Sie mehr Einblicke erhalten. also äußerst wertvoll sein, dies vom Standard, von den Standardvisualisierungen aus auszuprobieren vom Standard, von den Standardvisualisierungen kann also äußerst wertvoll sein, dies vom Standard, von den Standardvisualisierungen aus auszuprobieren. Wir können Anmerkungen dazu hinzufügen. Das ist jetzt ein bisschen chaotisch. Also runden wir unsere Zahlen auf die erste Dezimalstelle auf und sehen, dass das viel netter aussieht. Sie können dies auch mit den Originaldaten tun. Diese Klasse gab einen Überblick über verschiedene Diagramme , die Sie verwenden können, um Ihre Daten besser zu verstehen. In der nächsten Klasse werden wir uns die Zahlen ansehen, die diesen Diagrammen zugrunde liegen und wie Sie bestimmte Zahlen extrahieren , die Ihnen mehr über Ihre Daten verraten. 19. 32 beschreibende Statistiken neu: In diesem Kurs werden wir die Visualisierung weiterverfolgen , bei der wir gerade geblieben sind. Also schauen wir uns die Zahlen hinter den Grafiken an. Statistik kann ein bisschen beängstigend sein, aber in Wirklichkeit sind es nur signifikante Zahlen oder Leistungsindikatoren Ihrer Daten, die Ihnen über die Daten Auskunft geben. Der Mittelwert ist also z. B. nur der Durchschnitt all Ihrer Daten, wohingegen der Median z. B. der gebräuchlichste Wert ist. Und diese Standardabweichung, also STD, beschreibt nur, wie stark Ihre Daten variieren. Wie wahrscheinlich ist es also , dass Sie Daten außerhalb des Mittelwerts finden? Und all das werden wir in diesem Kurs untersuchen und uns eingehend befassen deskriptiven Statistiken befassen und erfahren, wie Sie sie aus Ihren Daten abrufen können. Am Anfang importieren wir unsere Daten und dann können wir tatsächlich einfach Statistiken für Zeilen berechnen, indem wir die Zeile angeben. Also df Dot House, Durchschnittsalter. Und dann stehen uns der Mittelwert, der Median und Standardabweichung als Methoden zur direkten Berechnung der Daten zur Verfügung . Der Mittelwert ist in diesem Fall der Durchschnitt, und der Median ist der gebräuchlichste Wert. Wenn wir aggregierte Statistiken für den gesamten DataFrame erhalten möchten , nennen wir es einfach Punktbeschreibung auf dem DataFrame oder einer Teilmenge des Datenrahmens. Dies gibt uns die Anzahl, den Mittelwert, den Standard und die Quartile unserer Daten. Wenn Sie damit herumspielen, schauen Sie sich unbedingt den Docstring an, um eine Beschreibung zu finden. Du kannst viel mehr damit machen. Dann können wir nach unseren Daten gruppieren. Und Gruppe für Aktion muss durch etwas geschehen, das von uns gruppiert werden kann. In diesem Fall verwenden wir also die Nähe zum Ozean. Und wir können den Mittelwert für diese Gruppen für jede Spalte berechnen . Das macht also nicht wirklich Sinn, wenn der Längengrad zu hoch ist, aber für all die anderen Werte können wir also Gruppen zu Statistiken bekommen. Zusätzlich können wir die AC-Methode für die Aggregierung verwenden. Und dort können wir im Grunde ein Wörterbuch mit allen Statistiken definieren , die wir eine bestimmte Spalte berechnen möchten. Längengrad, z. B. schauen wir uns den Min-Max-Mittelwert an. Und wir können dies kopieren , um es auch für andere Funktionen zu verwenden. Und wirklich, Sie sind also nicht auf diese beschränkt und können diesem Aggregator sogar Funktionen zur Verfügung stellen. Und sie müssen sich auch nicht überschneiden. Für die Gesamtzahl der Räume können Sie dies also so ändern, dass es sich um den Medianwert anstelle des Mittelwerts handelt. Weil, nun , es ist ein bisschen sinnvoller, den Median zu ermitteln. Und für unser Durchschnittseinkommen. Nun, versuchen Sie einfach, die Verzerrung unserer Verteilung zu ermitteln. Und hier können wir sehen, dass unser neuer DataFrame, der daraus hervorgeht, mit Nan gefüllt ist, wo keine Werte verfügbar sind, wo sie nicht wirklich Sinn machen. Aber wir können uns hier wirklich mit Statistiken befassen. Ein weiteres nettes kleines Tool, nur um einen Überblick über Spalten zu geben , sind die Methoden zur Wertzählung. In Meeresnähe können wir dann z. B. die Value Counts-Methode aufrufen um einen Überblick darüber zu bekommen , wie viele Proben sich in jeder dieser Proben befinden. Also sehr gut, um ein Gefühl dafür zu bekommen , wie unsere Daten auf die Klassen verteilt sind. Für die Heatmaps, die wir zuvor generiert haben, mussten wir die Korrelation zwischen jeder Spalte und jeder anderen Spalte berechnen . Und wir können hier sehen, dass wir diese Daten sofort verfügbar haben. Und die Call-Methode gibt uns auch die Möglichkeit, die von uns verwendete Korrelation zu ändern. Sie können es also in Spam ändern und z. B. wirklich sehr ähnlich dem, was wir in dem automatisch generierten Bericht hatten. Hier können Sie in die Daten eintauchen und wirklich sehen, wie unsere Daten nach Zahlen korrelieren. In diesem Kurs haben wir uns mit deskriptiven Statistiken befasst, also mit tatsächlichen Zahlen, Durchschnittswerten und wie wir diese spezifischen Zahlen extrahieren und darauf basierend Entscheidungen treffen können . In der nächsten Klasse werden wir uns Teilmengen dieser Daten ansehen . Wie wählen wir also Teile der Daten aus und wie können wir diese Zahlen für diese Teile berechnen? Denn manchmal, wie wir hier gesehen haben, hat Island in unserem gesamten Datensatz nur fünf Stichproben. Wie können wir also sicherstellen, dass wir diese Daten aus unserem DataFrame extrahieren und weiter untersuchen. 20. 33 Subsets neu: In diesem Kurs lernen wir, wie man Teilmengen aus unserem Datensatz extrahiert , weil wir uns manchmal z. B. nur auf einen bestimmten Standort oder auf eine Teilmenge von Kunden konzentrieren möchten. Und diese Segmente lassen sich mit Pandas wirklich einfach extrahieren. Und ich werde dir zeigen, wie das geht. Also laden wir zuerst unsere Daten und dann nehmen wir unseren DF-Datenrahmen und schauen uns den Längengrad an. Weil wir unseren DF-Datenrahmen nehmen und einfach normale Logik darauf ausführen können. In diesem Fall wollen wir also, dass es niedriger als minus eins bis zwei ist, und wir bekommen ein ernstes Ergebnis mit wahren und falschen Werten. Also eine boolesche Serie. Wir können dies verwenden, um Zeilen in unserem ursprünglichen DataFrame auszuwählen. Und wir können genau hier sehen , dass dies nur eine Ansicht ist. Also müssen wir es einer neuen Variablen zuweisen. Schauen wir uns noch einmal eine andere Möglichkeit an, Teilmengen auszuwählen. In diesem Fall wollen wir einen Blick auf die Nähe zum Meer werfen, denn die Auswahl von Teilmengen unserer Kategorien ist wirklich wichtig für etwas, das wir später tun werden , was die Fairness der KI und die ethische KI betrifft. Wir können hier also wählen, dass nur in der Nähe der Bucht und im Landesinneren sein sollten. Daraus erhalten wir wieder eine boolesche Reihe, die wir verwenden können, um in unseren DataFrame zu schneiden oder eine Teilmenge unseres DataFrame zu erhalten. Ich kann das hier sehen, und wir können sehen, dass es weniger robust ist als zuvor. Wir können auch verschiedene Arten von Lotterien x2 kombinieren. Nun, willkürlich komplex zu sein. Und warum wir genau hier tun müssen, ist den AND-Operator zu verwenden. Aber in diesem Fall muss es das Ampersand sein. Das Ampersand ist ein spezieller Operator in Python, um bitweise Vergleiche durchzuführen. Und Sie können das hier sehen und werden scheitern weil die bitweisen Operatoren nur eine wirklich kurze Hand haben, um die Booleschen Werte zu vergleichen. Und Sie müssen darauf achten, dass Sie Klammern in Verbindung mit einem bitweisen Operator verwenden . Hier werden wir einfach ein bisschen mit wahr und falsch herumspielen . Sie können also sehen, wie diese kombiniert werden, wenn wir sie verwenden und welche sie mit einem OR-Operator verwenden werden. Aber natürlich müssen wir den bitweisen Operator nehmen, dieses naja, Pfeifensymbol ist. Ich weiß nicht, ob du vielleicht einen anderen Namen dafür hast, aber es ist auf dem Bildschirm, du hast es in deinem Notizbuch. Und hier haben wir die Auswahl der Dinge, die drin sind. Die Wahl zwischen Meeresnähe in der Nähe der Bucht im Landesinneren oder D des Längengrads ist -120 zu eins Wir schauen uns die einzigartigen Werte in unserer Teilmenge der Meeresnähe an. Wir können sehen, dass es Werte gibt , die nicht in der Nähe der Bucht und im Landesinneren liegen weil sie im Längengrad unter minus hundert22 lagen . Wir können auch die Dot Loc-Methode verwenden. diese Weise können Teilmengen unseres Datenrahmens anhand der Namen der Indizes ausgewählt werden. Index für die Spalten und Index für die Zeilen. Wir können das direkt kopieren. Und ich zeige Ihnen gleich hier, wo der Unterschied zur vorherigen Methode liegt, denn das wird scheitern, weil es erwartet, dass wir Slices für alle Indizes angeben. Ein DataFrame hat also zwei Dimensionen, die Spalten und die Zeilen. Moment haben wir ihm nur die Spalten gegeben, den Doppelpunkt genau hier. Es wird verwendet, um einfach alles und den Zeilenabschnitt auszuwählen. Und wir können das natürlich auch verwenden, um die Zeilen zu zerteilen , indem wir die Zahlen des Index verwenden. Genau hier können wir sehen, dass dies aus dem Indexnamen fünf bis 500 ausgewählt wurde . Und denken Sie daran, dass unser Index alles sein kann. Wir werden uns das in einer Sekunde ansehen. Hier können wir sehen, dass dies unseren DataFrame überhaupt nicht verändert hat. Dies ist nur eine Methode , um eine Ansicht zurückzugeben. Und natürlich können wir das wie immer auch in einer Variablen speichern . Die Dot Loc-Methode funktioniert also einfach anders als unsere zuvor. Schauen wir uns nun die Indexierung an, denn dort oben können wir sehen, dass unser Index nur eine laufende Ganzzahl von Null bis zu der maximalen Zahl ist, in diesem Fall 20.640. Wir können jedoch die Dot-Set-Indexmethode verwenden die Dot-Set-Indexmethode , um unseren Index auf eine andere Zeile zu ändern. Und das ist wirklich mächtig und wir können jede Art von Indizierung zuweisen, sogar Text und Auswahl für diesen Text oder in diesem Fall den Breitengrad. Anstatt nur einer Zahl. Du kannst immer noch Zahlen verwenden und ich zeige dir danach, wie das geht. Dies ist jedoch eine Art, das Denken über Ihren DataFrame zu ändern , da unsere Zeilen derzeit nach dem Breitengrad indexiert werden. Also können wir, wir können nicht das tun, was wir zuvor mit der Zahl gemacht haben , weil unser Index derzeit nicht mehr die Ganzzahl ist. Unser Index ist jetzt der Breitengrad. Wenn wir also die Zahl im Krieg wählen, eine beliebige Zahl aus unserem Breitengrad, wird das wieder funktionieren. Hier schaue ich mir den Index an, kopiere einfach eine Zahl von hier raus, wie EF 37.85. Und wir können dies dann verwenden , um eine Teilmenge mithilfe von Punkt Loc auszuwählen. Benutze einfach alle Spalten. Und wir können genau hier sehen, dass dies nur alles aus unserem Index zeigt. Sie können sehen, dass Indizes in Pandas auch nicht einzigartig sein müssen. Etwas wirklich Wichtiges, worüber Sie nachdenken sollten, wenn Sie mit ihnen arbeiten. Wenn wir so in unseren DataFrame aufteilen, ist es extrem leistungsfähig, weil unser Index, wir die Daten einfach an diesem Index zurückgeben und welche Sortierung auch immer wir haben. Wir müssen uns also nicht wirklich bewusst sein , wie unsere Daten strukturiert sind. Nichtsdestotrotz können wir die iloc-Methode verwenden, bei der es sich im Grunde um eine Indexposition handelt, bei der wir immer noch in unseren DataFrame gehen und Zeile fünf bis 500, 499 auswählen können unseren DataFrame gehen und Zeile fünf bis 500, 499 auswählen , weil sie exklusiv ist. Wir können das auch für die Spalte verwenden. Wenn wir also glauben, dass wir genau wissen, wo alles ist, können wir diese Art von Slicing auch verwenden und um einfach das Nummern-Slicing zu verwenden , um unsere Teilmengen zu erhalten, empfehle ich normalerweise, Punkt Loc zu verwenden, denn welcher Punkt loc, Sie können unabhängig von der Sortierung immer sicher sein, dass Sie die Dinge, die Sie wollen, mit dem exakten Index zurückbekommen , der es ist. Und Sie müssen nicht sicherstellen, dass Sie Ihren DataFrame richtig sortieren. Genau hier können wir sehen, dass der Breitengrad jetzt nicht mehr Teil unserer Spalten ist weil wir ihn als unseren Index zugewiesen haben. Wenn wir nun den Breitengrad wieder in unsere Spalten bringen wollen, können wir das auch tun, indem wir den Index zurücksetzen und dann wird unser Index wieder auf laufende Ganzzahlen zurückgesetzt. Dies funktioniert auch, wenn Sie es neu sortiert haben. Sie können den Index also wieder auf 0-500 oder die BO-Maximalzahl zurücksetzen , wenn Sie Ihre Spaltenreihenfolge geändert haben. Und es ist wirklich wichtig, darüber nachzudenken , wenn Sie Index Slicing durchführen , dass Sie die Sortierung Ihrer Daten jederzeit ändern können . Aber wenn Sie Punkt Loc ausführen, können Sie genau abrufen, was auf dem Index steht. Zum Thema Spaltenauswahl. Natürlich können wir die Standardmethode verwenden, wir nur die gewünschten Spalten bereitstellen. Aber manchmal wird dein DataFrame sehr lang, dein Blick zurück zu den fehlenden Zahlen. Beispiel hatten wir, ich glaube, über 20 Spalten. , kann es also sehr umständlich sein , all das auszuwählen ehrlich zu sein, kann es also sehr umständlich sein , all das auszuwählen. Wir können also auch in die andere Richtung gehen und auswählen, welche Spalten wir nicht möchten. Und das ist mit einer Drop-Methode. Also geben wir die Namen der Spalten , die aus dem DataFrame gelöscht werden sollen. Genau hier. Wir nehmen einfach die Umkehrung von Längengrad und Bevölkerung und geben die Achse an, von der wir es entfernen möchten , da wir auch Spalten löschen können. Genau hier. Sie können sehen, wie Sie auch viele Dinge ändern können, die Sie auch an Ort und Stelle tun können, wenn Sie den DataFrame direkt im Speicher ändern möchten. Genau hier können Sie sehen, dass wir das genaue Gegenteil von dem tun können , was wir zuvor getan haben, indem wir Zeilen löschen. Insgesamt tun wir das, denn wenn Sie Teilmengen Ihrer Daten auswählen, können Sie die Teilmengen analysieren . Wenn wir also nur die Methode describe aus unserer deskriptiven Statistik verwenden , können wir genau hier sehen, z. B. die Standardabweichung und den Mittelwert aller Spalten. Und wir können natürlich auch die Describe-Methode für eine Teilmenge unserer Daten nennen . Und sehen Sie, wie sich unsere, naja, wie sich unsere deskriptiven Statistiken ändern. Sie können dann mit dem Plotten für diese Teilmengen beginnen und Ihre gesamte Datensatzanalyse für diese Teilmengen durchführen . In diesem Kurs ging es wirklich eingehend wie wir Teilmengen unserer Daten auswählen und anhand von Funktionen, aber auch anhand von Indizes wirklich entscheiden können unserer Daten auswählen und anhand von Funktionen, aber auch anhand von Indizes wirklich , was wir nehmen sollen. Und wir haben uns angeschaut, wie man einschaltet , sagen sie, und wie man es wieder zurücksetzt, denn das ist wirklich wichtig, wenn man seine explorativen Datenanalysen durchführen und sich einige genauer ansehen möchte explorativen Datenanalysen durchführen und sich Teilmengen Ihrer Daten. In der nächsten Klasse werden wir uns ansehen, wie wir diese Beziehungen in unseren Daten generieren können . Und konzentrieren Sie sich wirklich darauf, was extrahiert werden soll. 21. 34 Korrelationen neu: In diesem Kurs werden wir uns die Beziehungen innerhalb unserer Daten ansehen . Wir werden also wirklich herausfinden, wie Korrelation in unseren Daten funktioniert. Aber gehen Sie auch darüber hinaus. Gehen Sie also über lineare Korrelationen hinaus und tauchen Sie tief in die Analyse unserer Daten ein. Wir beginnen erneut damit, Pandas zu importieren und den DataFrame zu laden. Wir können sehen, dass der Punktkern für die Korrelationsanalyse von zentraler Bedeutung ist . Bei Pandas. Wir können Corr verwenden und den Korrelationskoeffizienten ändern , den wir tatsächlich verwenden möchten. Die Standardkorrelation nach Pearson ist nun eine lineare Korrelation. Spearman und Kendall verwenden eine Rangkorrelation, die nichtlinear sein kann. Zusätzlich zur Berechnung dieser aggregierten Korrelationen möchten Sie vielleicht manchmal nur herausfinden, wie eine Zelle, eine Spalte mit einer anderen korreliert ist. Und hier können wir einfach die Spalte bereitstellen und die Korrelation für eine andere Spalte berechnen . Genau hier. Wir können das sogar noch weiter vorantreiben. Daher waren Tools für maschinelles Lernen in den letzten zehn Jahren sehr einfach zu bedienen. Und wir können dieses Tool für maschinelles Lernen verwenden, um grundsätzlich ein Merkmal anhand der anderen Funktionen vorherzusagen . Und wenn wir das mit jedem Feature machen, können wir tatsächlich sehen, wie informativ ein Feature auf dem anderen basiert. Und dies wurde in ein nettes kleines Tool eingebaut , das wir hier verwenden können : Discover future relations or beyond correlations or beyond correlations. Der Name wurde kürzlich geändert, sodass du ihn auch auf GitHub finden kannst. Und das bedeutet, dass wir die Discover-Methode dieser Bibliothek verwenden können , um ihre Beziehungen in unseren Daten wirklich zu untersuchen. Also verwenden wir die Discover-Methode auf, auf unserem DataFrame. Und wir können eine Methode oder einen Klassifikator bereitstellen, aber in diesem Fall belassen wir es einfach auf dem Standard. Sie können später damit herumspielen , wenn Sie daran interessiert sind, es dauert ein paar Sekunden, um dies auszuführen, aber dann verwenden wir einfach das Beispiel aus unserem DataFrame, um es ein bisschen zu machen schneller. Sie können es auf größeren Proben laufen lassen. Und wir erfahren hier, wie ein Feature ein anderes Feature vorhersagt. Und wir wissen, dass wir für jedes Feature die Pivot-Tabellen verwenden können , die Sie vielleicht von X0 kennen um eine vollständig erweiterte Bibliothek herauszuholen, vollständig vergrößerte Tabelle, die Ihnen alle Informationen liefert, die Sie benötigen. Genau hier. Sehr ähnlich der Korrelation. Das zentrale Feld ist jedoch nicht ausgefüllt, also füllen wir es einfach mit Einsen aus, da Sie das Feature einfach selbst vorhersagen können . Natürlich. Dann werden wir das plotten, weil es immer ganz nett ist, es als Handlung zu betrachten, genauso wie wir uns die Heatmap anhand der Korrelationen ansehen können . Dies ist den Korrelationen sehr ähnlich, außer dass wir diesmal maschinelles Lernen verwenden, um Kreuzvorhersagen zu treffen. Also speichern wir das in der Variablen und erstellen dann ein schönes Diagramm. All die. Wir können sehen, dass dies im Gegensatz zum Korrelationsdiagramm nicht zwischen -1,1 festgelegt ist. Also werden wir das sehr schnell beheben. Und dann können Sie wirklich sehen, wie jedes Feature aus dem anderen Feature extrahiert werden kann. Wir machen das, diese Fixierung von minus eins zu eins, indem wir V min und V max verwenden. Und da sehen wir es. Also zum Beispiel Analyse, wie unsere Population ist die Analyse, wie unsere Population durch etwas anderes vorhergesagt werden kann, wirklich eine gute Möglichkeit, Zusammenhänge innerhalb der Daten zu erkennen Sie genauer untersuchen können, warum etwas prädiktiv ist oder nicht. Wirklich ein nettes Tool für die Datenwissenschaft. Dies war der letzte Kurs und jetzt ein Kapitel zur explorativen Datenanalyse. Wenn ich mir ansehe, wie wir Informationen über Korrelationen und Beziehungen aus unseren Daten extrahieren können Informationen über Korrelationen und . Und in der nächsten Klasse werden wir uns tatsächlich ansehen, wie wir Modelle für maschinelles Lernen erstellen. Etwas, das wir hier bereits implizit verwendet haben, wird nun lernen, wie man es tatsächlich anwendet. 22. 40 Intro zu maschinelles Lernen: Dieses Kapitel des Data-Science-Prozesses oder wir schauen uns maschinelles Lernen an. Insbesondere wollen wir unsere Daten modellieren und Zusammenhänge und die Daten automatisch finden. Machine-Learning-Modelle sind sogenannte Blackbox-Modelle. Das bedeutet, dass sie keine Kenntnis von Ihren Daten haben. Aber wenn Sie ihnen die Daten zeigen und wissen, was Sie aus den Daten herausholen möchten, lernen sie, wie sie Beziehungen zueinander haben und wie man kategorisiert oder wie man die richtigen Zahlen findet. Führen Sie also eine Regression mit Ihren Daten durch. Und maschinelles Lernen ist heutzutage wirklich leistungsfähig und sehr einfach anzuwenden. Aus diesem Grund werden wir auch viel Zeit darauf verwenden, unsere Modelle zu validieren. Weil diese Modelle dazu neigen, genau das zu lernen , was Sie ihnen sagen, was möglicherweise nicht das ist, was Sie möchten, dass sie lernen. Und Validierung ist die Sorgfaltspflicht, die Sie tun müssen, um sicherzustellen, dass sie tatsächlich gelernt haben, was Sie von ihnen erwarten. Lassen Sie uns also unsere Notizbücher starten und uns maschinelles Lernen ansehen. 23. 41 Linearregression neu: Willkommen zum First-Class-Capitel und zum Kapitel über maschinelles Lernen. Wir werden uns ansehen, wie man einfache Modelle baut. Denn beim maschinellen Lernen gilt oft, je einfacher das Modell, desto besser die Herrscher. Weil einfache Modelle einfacher zu interpretieren sind und oft sehr robust gegenüber Rauschen sind. Lassen Sie uns also näher darauf eingehen. Nachdem wir unsere Daten geladen haben, können wir das lineare Regressionsmodell importieren, da wir in dieser Übung Hauswerte vorhersagen möchten . Bevor wir unsere Daten jedoch auf eine bestimmte Weise aufbereiten müssen , müssen wir unsere Daten in zwei Teile aufteilen. Wir wollen einen Trainingsteil und wir wollen einen. Nun, ein Datensatz den das Modell während der Trainingszeit noch nie gesehen hat. So können wir überprüfen, ob unser Modell etwas Sinnvolles lernt. Dies dient dazu, einen Effekt zu vermeiden , der als Überanpassung bezeichnet wird. Wenn sich unser Modell also im Grunde die Trainingsdaten erinnert und keine sinnvollen Zusammenhänge zwischen den Daten lernt , die es dann auf neue Daten anwenden kann, die es noch nie gesehen hat. Auf diese Weise nehmen wir unseren DataFrame und teilen ihn nach dem Zufallsprinzip in zwei Teile auf. Wir könnten dies natürlich mit einer Untersetzung tun , die wir im vorherigen Abschnitt gemacht haben. ist jedoch viel besser, eine Zufallsstichprobe zu nehmen, bei der absolut sicher ist, dass zu nehmen, bei der absolut sicher sie sich in keiner Weise überlappt. Und die Train Test Split-Funktion , die Scikit-Learn bereitstellt , ist dafür wirklich gut und sie benötigt einige wirklich andere Funktionen, die wir verwenden können. Dies ist auch eine wirklich nette Möglichkeit, unsere Funktionen auszuwählen. Für das einfache Modell verwenden wir nur die Merkmale Unterkunft, Durchschnittsalter und dann die Gesamtzahl der Räume als Trainingsmerkmale. Und der Hauswert wird unser Ziel sein. Diese werden normalerweise als X und dann als Y gespeichert. Wir wissen also, dass wir x Train und X Test haben, und dann haben wir Y Train und Y Test. Das ist ziemlich üblich. Und wir werden uns die Formen ansehen. Wir haben hier also etwas über 20.000 Zeilen. Unsere Zugdaten werden bei 15.000 Werten etwa 75% davon ausmachen. Und unser Y-Zug sollte die gleiche Anzahl an Zielen haben , da diese zufällig ausgewählt werden , aber in derselben Reihe. Also die Daten offensichtlich Matratze. Unsere X-Tests sollten jetzt die verbleibenden Zeilen enthalten, die nicht im Zugset enthalten sind. Nun, das ist extrem wichtig und es führt kein Weg daran vorbei Ihre Daten zur Validierung aufzuteilen. Jetzt ist es an der Zeit, unser Modell zu bauen. Unser Modell wird das lineare Regressionsmodell sein , das wir zuvor importiert haben. Und Scikit-Learn macht es uns extrem einfach , Modelle zu erstellen und Modelle zuzuweisen. Wir müssen das Objekt nur einer Variablen zuweisen. In diesem Fall nennen wir es einfach Modell. Und Sie können sehen, dass Sie einige der Hyperparameter im Modell ändern können , aber wir werden es jetzt standardmäßig beibehalten. Jetzt passen wir unser Modell an die Daten an. Dies ist der Trainingsschritt, bei dem unser Modell automatisch angepasst und die Parameter in unserem Modell geändert werden, sodass unser Modell den Y-Zug aus dem X-Zug vorhersagen kann. Und um unser Modell zu bewerten. Um zu testen, wie gut es abschneidet, können wir die Bewertungsmethode für unser angepasstes Modell verwenden und ihm gut Daten zur Verfügung stellen, bei denen wir auch die Antworten kennen. Wir können also X-Test und Y-Test verwenden , um zu sehen, wie gut unser Modell bei unsichtbaren Daten abschneidet. In diesem Fall wird die Regression das R-Quadrat sein. R-Quadrat ist, nun ja , in der Statistik ein Maß für Determinismus. Also, wie gut prognostiziert es unsere Daten wirklich? Und der beste Wert, den es gibt, gibt es. Und dann sinkt es und kann sogar negativ sein. 0,03 ist nicht wirklich, naja. Es ist nicht beeindruckend. Wenn wir unsere Trainingsdaten ändern , um das Durchschnittseinkommen einzubeziehen, erhöhen wir die Punktzahl erheblich. Offensichtlich ist dies der wichtigste Teil. Wir müssen Daten finden, die uns Informationen über andere Daten geben können , die wir wollen. Sobald wir dies jedoch feststellen, können wir unser Modell weiter verbessern, können wir unser Modell weiter verbessern, indem wir unsere Daten vorab verarbeiten. Wir müssen hier allerdings vorsichtig sein, denn erstens mache ich die Vorverarbeitung und wir testen verschiedene Dinge, ob sie funktionieren oder nicht. Was passieren kann, ist, dass wir manuell überfit sind. Modell. Das bedeutet, genau hier richtige Datenwissenschaft zu betreiben. Wir wollen unsere Testdaten in zwei Teile aufteilen. Eins, Validierungs-Holdout-Set und Testset. Das Testset und der gesamte Trainingsprozess werden nicht berührt der gesamte Trainingsprozess und nicht in unseren Experimenten, sondern nur im allerletzten Teil unserer Reise zum maschinellen Lernen. Hier definieren wir x Val und y Val. Und ich habe hier einen kleinen Fehler gemacht und das meinem Zug überlassen, der natürlich x-Test im Zugtest-Split sein sollte . Das zu ändern bedeutet , dass es funktioniert. Und das ist auch ein netter Teil der Train Test Split-Funktion. Es stellt wirklich sicher, dass alles konsistent ist oder dass alle unsere Variablen übereinstimmen. Und wir können genau hier sehen, dass unser Testdatensatz mit 1.000 Werten jetzt ziemlich klein ist. Wir können also zu dem hier aufgeteilten Zugtest zurückkehren und tatsächlich ein Datenverhältnis bereitstellen, und tatsächlich ein Datenverhältnis bereitstellen das wir für Ihre Bemühungen um Datenwissenschaft und maschinelles Lernen verwenden können . Sie sollten immer darauf achten, dass Sie die größte Testgröße verwenden können, die Sie sich wirklich leisten können, denn das bedeutet, dass Sie mehr Sicherheit und Ihre Ergebnisse haben. Hier können wir sehen, dass es jetzt 5050 aufgeteilt und unser Testset jetzt weiter unten in den Validierungssatz aufgeteilt wird. Und das Testset zeigt, dass unser letztes Testset ungefähr 2.500 Proben enthält , also Es ist gut genug für diesen Fall. Wir definieren hier unseren Standard-Scaler und unser Modell als lineare Regression. Und wir passen unseren Skalar an die Trainingsdaten an. Das bedeutet, dass wir jetzt auch unsere gesamten Daten neu skalieren können, sodass keine der Spalten signifikant größer ist als die anderen. Das ist nur ein Brunnen, in einem linearen Modell setzen wir die Steigung und den Achsenabschnitt ein. Und wenn wir, wenn wir unsere Daten skalieren, bedeutet das, dass unser lineares Modell jetzt innerhalb derselben Datenbereiche arbeiten kann und nicht verzerrt sein kann, weil ein Merkmal deutlich größer ist als die anderen, erstellt x-Scaled aus unseren X-Zugdaten. Wir müssen die skalare Transformation also nicht in der Zugtrainingschleife aufrufen . Wir können sie hier vergleichen. Wir können sehen, dass unsere Skalendaten jetzt innerhalb, naja , zentriert um Null liegen und alle auf derselben Skala sind. Während es vorher überall war. Wir können unsere Daten jetzt an unser Modell anpassen, an die Skalendaten. Und nun, den normalen beschrifteten Stil, den wir haben, natürlich muss das Etikett in diesem Fall y train sein. Und dann können wir die übliche Validierung unserer Holdout-Daten durchführen. Und in diesem Fall wird es x Vokal und y val sein. Wir berühren also nicht die Testdaten, während wir sehen welche Art von Skalierung und welche Art von Vorverarbeitung funktioniert. Wir müssen unsere Daten transformieren, weil unser Modell jetzt skalierbare Daten erwartet. Wenn wir das vergessen, erzielen wir schreckliche Ergebnisse, und wir können sehen, dass wir unser Modell um ein kleines Stück verbessert haben, um ein kleines Stück verbessert haben, aber es wird immer noch verbessert diese Skalierung einfach auf die Daten anwenden. Wenn wir stattdessen versuchen würden, den robusten Skalar zu verwenden, können wir dies tun, indem wir einfach, naja, einfach experimentieren und einen anderen Skalar verwenden. Und das ist der Teil , den ich meine, wo wir ein zusätzliches Holdout-Set brauchen , weil wir einfach verschiedene Dinge ausprobieren, das ist eine wirklich gute Möglichkeit zu sehen, was funktioniert. Und so macht man Datenwissenschaft. Nur zu sehen, was haften bleibt, ist wirklich gleichbedeutend mit dem Aufbau eines guten Modells für maschinelles Lernen. Denn manchmal erwarten Sie vielleicht nicht , dass Ihre Daten Ausreißer enthalten. Und Sie probieren den robusten Skalar aus und Sie werden feststellen , dass er tatsächlich besser abschneidet. Oder Sie stellen fest, dass es funktioniert , die schlechter ausgeführt werden. Hier können wir erneut mit unserem Y-Zug an unseren transformierten Daten trainieren und unsere Ergebnisse bewerten. Um zu überprüfen, ob das funktioniert. Probieren Sie den Minmax-Skalar aus , den wir auch in unserer vorherigen Klasse verwendet haben . Nachdem wir die Experimente durchgeführt und für das endgültige Modell trainiert haben , können wir dieses Modell verwenden, um es für jede Art von Daten vorherzusagen , die dieselben Spalten haben, hoffentlich dieselbe Verteilung wie unsere Trainingsdaten und das Validierungsset. Dazu verwenden wir model.predict und werden mit Daten versorgt. In diesem Fall verwenden wir die Trainingsdaten. Schauen Sie sich einfach an, wie das Modell im Vergleich zu den tatsächlichen Ground-Truth-Daten, den beschrifteten Daten, abschneidet . Aber natürlich ist es nicht besonders interessant, dies mit den Zugdaten zu tun nicht besonders interessant, dies mit den Zugdaten , da das Modell eine solche Betaversion erlebt hat. Irgendwann werden wir das am Testset machen. Aber schließlich wollte er dies mit völlig unsichtbaren Daten tun, um tatsächlich Vorhersagen aus Ihrem Machine-Learning-Modell zu erhalten . Ein weiterer sehr netter Weg und warum ich das Train Test Split Utility wirklich mag , ist, dass Sie es mit einer Keyword-Stratify versehen können. Stratifizierung ist ein Mittel, um sicherzustellen, dass irgendein Merkmal in jedem Teil der Zug- und Testaufteilung gleichmäßig dargestellt wird in jedem Teil der Zug- und Testaufteilung gleichmäßig dargestellt . Wenn wir also sicherstellen wollen , dass unsere Meeresnähe auf der Insel teilweise im Zug und teilweise in Tests liegt. Wir können dies tun, indem wir diese Art von Funktion bereitstellen . Und ein Grund dafür, und die Leute mögen lineare Modelle so sehr, ist lineare Modelle im Wesentlichen eine Linie zu Ihren Daten passen. Wenn Sie also an die fünfte Klasse zurückdenken, erinnern Sie sich vielleicht daran, dass eine Linie im Grunde nur der Schnittpunkt auf dem Y und ein Koeffizient für die Steigung ist. Was wir also tun können, ist unser lineares Modell zu interpretieren und uns diese Koeffizienten angesehen zu haben. Jede Spalte hat also genau hier einen Steigungsparameter , den wir, im Grunde genommen, dieser Parameter sagt Ihnen, wie stark die Steigung dieser Daten das Vorhersageergebnis beeinflusst. Und natürlich können wir uns den Intercept mit einem Y ansehen , was uns einen vollständigen Überblick über unser Modell gibt. Also das, im Grunde könntest du es auf Papier aufschreiben. In diesem Kurs lernen wir nun, Scikit-Learn auf einem einfachen Modell für maschinelles Lernen, einer linearen Regression, zu verwenden Scikit-Learn auf einem einfachen Modell für maschinelles Lernen, einer linearen Regression, . Im Grunde genommen, indem wir unseren Daten eine Linie angepasst haben, haben wir uns angesehen, wie die Skalierung unser Modell verbessern kann, und sogar anhand einiger Daten vorhergesagt , dass das Modell die noch nie gesehen hat. Es bestätigt also, ob wir tatsächlich etwas Sinnvolles lernen oder ob es sich nur an die Daten erinnert. In der nächsten Klasse werden wir uns einige anspruchsvollere Modelle ansehen , nämlich Entscheidungsbäume und Random Forests. 24. 42 Bäume neu: In diesem Kurs werden wir uns Entscheidungsbäume und zufällige Wälder ansehen, bei Entscheidungsbäume und zufällige Wälder ansehen, denen es sich lediglich um eine Reihe von Entscheidungsbäumen handelt, die auf eine bestimmte Weise trainiert wurden, um noch leistungsfähiger zu werden. Und Entscheidungsbäume eignen sich sehr gut zum Lernen, da Sie die grundlegenden Parameter normalerweise nicht zu sehr ändern müssen . In dieser Klasse. Sie werden sehen, wie einfach es wirklich ist, Scikit-Learn zu verwenden , um alle möglichen Modelle zu erstellen und diese bei der Erkundung der Daten zu nutzen . Für dieses Video habe ich bereits alle Eingaben und das Laden der Daten vorbereitet . Und ich habe die Daten in den Zugsatz aufgeteilt , der 50 Prozent ausmacht, und dann in einen Validierungs - und einen Testsatz, die jeweils 25 Prozent der Gesamtdaten ausmachen. Und jetzt werden wir für den Anfang einen Entscheidungsbaum erstellen . Also importieren wir die Bäume von scikit-learn aus der Baumbibliothek. Wie immer werden wir unser Modell definieren. In diesem Fall wird es ein Decision Tree-Regressor sein , da in diesem Fall, um ihn vergleichbar zu machen , erneut eine Regression des Hauswerts durchgeführt wird. Modell, Zug. Was das Training sein wird wie immer sein, model.fit, x train und y train. Und ich denke, an dieser Stelle verstehst du wirklich warum Scikit-Learn so beliebt ist. Es hat die Schnittstelle für alle Machine-Learning-Modelle standardisiert . Daher ist es genauso einfacher, Ihren Entscheidungsbaum zu bewerten, anzupassen und vorherzusagen wie ein lineares Modell. Entscheidungsbäume lernen relativ mittelmäßig, und wir schauen uns wirklich nur sie an. So können wir uns später den zufälligen Wald ansehen, der mehrere Entscheidungsbäume bildet, und sie zu einem Ensemble-Lernen kombinieren . Und das Schöne an Entscheidungsbäumen ist, dass sie normalerweise ziemlich skalenunabhängig und mit kategorischen Merkmalen arbeiten. Wir könnten also tatsächlich die Nähe zum Meer in unser Training hier einfließen lassen. Aber dann konnten wir die Methode natürlich auch nicht mit dem linearen Modell vergleichen. Wir werden das jetzt also nicht tun, aber das ist definitiv etwas, das du später ausprobieren kannst. Skalierung dieser Daten kostet uns also nichts. Also könnten wir es genauso gut versuchen. Hier. Sie können tatsächlich sehen, was passiert, wenn Sie Ihre Validierungsdaten nicht transformieren. Also im Grunde erwartet a jetzt sogar den Entscheidungsbaum, ich erwarte Skalendaten. Es schneidet also wirklich schlecht ab. Wenn wir unsere Zugdaten transformieren und wir unsere Validierungsdaten transformieren. Unser Ergebnis ist etwas schlechter als zuvor. Als Nächstes können wir einen zufälligen Wald bauen. Ein zufälliger Wald ist ein Ensemble von Bäumen, bei dem wir eine statistische Methode namens Bagging verwenden , die im Grunde versucht, unkorrelierte Entscheidungsbäume zu erstellen , die stärker lernen als jeder Baum. individuell. Also importieren wir den Random Forest Regressor aus der Ensemble-Unterbibliothek von scikit-learn. Und genau wie zuvor weisen wir unser Modell einer Variablen zu, was ihr Modellobjekt einer Variablen ist. Und dann können wir unser Modell an die Daten anpassen. Wie Sie sehen, ist die Anpassung ziemlich schnell und eine Bewertung sollte uns ein wirklich gutes Ergebnis bringen. Hier können wir sehen, dass dies sogar etwas besser ist als das Ergebnis, das wir auf unserem linearen Modell nach der Skalierung erhalten haben . Und wenn wir uns jetzt den Score der Trainingsdaten ansehen, können Sie sehen, warum wir Validierungsdaten benötigen. Dieser zufällige Waldbaum ist also extrem stark in Bezug auf die Trainingsdaten selbst, aber okay, auf VAP-Validierungsdaten. Stattdessen können wir uns auch die Skalierung ansehen, um zu sehen, wie sie funktioniert. Es kostet uns nichts, es ist wirklich billig. Also könntest du genauso gut. Wenn dies Ihr Modell für maschinelles Lernen verbessert oder Überfit reduziert, lohnt es sich immer, dies zu tun, denn es ist, ja, es ist billig. Also werden wir unsere Trainingsdaten skalieren und unsere Daten, unser Modell, daran anpassen. Wir können dieselbe Skalierung wie zuvor verwenden, da der Skalar und unabhängig vom zuvor verwenden, da der Skalar und Modell des maschinellen Lernens nur der Skalar ist. Und wir sehen genau hier, dass unser Trainingsergebnis im Grunde nicht geändert hat, wie es im vierten Komma steht. Zu diesem Zeitpunkt ist es also im Grunde ein zufälliges Geräusch. Auf dem Validierungssatz. Wir sollten auch nicht zu viel erwarten. Es hat das Ergebnis also leicht verschlechtert. Es lohnt sich also, die Originaldaten zu erhalten. In diesem Fall. Das Fantastische an zufälligen Wäldern ist , dass zufällige Wälder eine sogenannte Selbstbeobachtung haben. Du kannst also tatsächlich mal schauen, wie wichtig ein zufälliger Wald ist, ich finde jedes Feature. Das sind relative Zahlen. Sie können ein wenig schwanken, aber wir können sehen, dass diese Merkmale innerhalb des Random Forest unterschiedlich gewichtet sind , um einen korrekten Preis vorherzusagen. Das war wirklich schnell. Ich finde Scikit-Learn unglaublich , weil es alles so einfach macht. Du dachtest einfach für richtig, hast Punkte vorhergesagt und hast kein Tor erzielt. Und diese sind sehr nützlich für all unsere Anforderungen an maschinelles Lernen. In der nächsten Klasse werden wir uns ansehen, wie wir nicht nur den Preis vorhersagen, sondern auch, wie wir Kategorien vorhersagen können. In einem mehr Geschäft kann das also bedeuten, dass jemand kreditwürdig ist oder nicht. 25. 43 Klassifizierung neu: In diesem Kurs werden wir uns mit der Klassifizierung befassen. Das bedeutet also, dass wir unsere Daten verschiedenen Bins zuweisen , je nachdem was in den Daten enthalten ist. In unserem Beispiel schauen wir uns die Nähe zum Meer an. Also versuchen wir vorherzusagen, ob eines unserer Häuser näher oder weiter vom Meer entfernt ist. Und das bedeutet im Grunde, dass wir die Möglichkeit haben, verschiedene Algorithmen zu testen und zu testen, wie sie auch durch die Vorverarbeitung unserer Daten beeinflusst werden . Wir importieren alles und laden unsere Daten. In dieser Aufteilung wollen wir nun den Hauswert durch Ozeannähe ersetzen , weil wir die Klassifizierung nach I'm vornehmen wollen, also müssen wir Klassen vorhersagen. In diesem Fall sagen wir voraus, ein Haus in der Nähe des Ozeans befindet. Aber generell kann man fast jede Klasse vorhersagen. Dieses Mal drehen wir es um und nutzen alle Trainingsfunktionen. Aber natürlich müssen wir die Nähe zum Meer aus unserem DataFrame entfernen. Wenn wir das belassen würden, gäbe es keine sehr einfache Klassifikationsaufgabe, würde ich sagen. Also das einfachste Modell oder eines der einfachsten Modelle, das ist das Modell des nächsten Nachbarn, unser K-Modell für den nächsten Nachbarn. Die nächsten Nachbarn nehmen im Wesentlichen nur die Datenpunkte, die dem Punkt am nächsten sind , den Sie klassifizieren möchten , und nehmen dann, naja, normalerweise stimmen Sie einfach mit Mehrheit ab. Das bedeutet also, dass die Klasse , die in Ihrem Punkt am prominentesten ist, wahrscheinlich die Klasse Ihres Punktes ist. Und was die Klassifizierung angeht, unterscheidet sich Scikit-Learn nicht von der Regression. Wir weisen das Modell, was das Objekt einer Variablen zu. Und dann werden wir versuchen, unsere Daten anzupassen. Aber irgendwas ging von In Finance oder Infinity oder so. Und k-next Neighbor kommt damit nicht gut zurecht. Wie gesagt, ich überlasse alle Schritte der Vorverarbeitung im Kapitel Vorverarbeitung, um diese Kapitel kurz und bündig zu halten . Aber in diesem Fall löschen wir die Nans ohne andere Vorverarbeitung, nur damit diese Zeilen gelöscht werden. meisten Fällen vielleicht keine gute Idee, aber in diesem Fall geht es nur darum, unsere Daten aus der Tür zu bekommen . Hier können wir unser Modell mit den üblichen Trainingsdaten ausstatten. Diesmal funktioniert es einfach. Und dann können wir unser Modell bewerten. Nun, die Bewertung der Klassifikation unterscheidet sich etwas von der Regression. Wir haben kein R-Quadrat, weil das R-Quadrat ein Maß für den Determinismus bei der Regression ist . In diesem Fall haben wir die Genauigkeit. Und die Genauigkeit liegt bei 59 Prozent, was in Ordnung ist 60% der Fälle In 60% der Fälle korrigiert das Modell mit dem nächsten Nachbarn die richtige Klasse. Wir können es wahrscheinlich besser machen, aber das ist ein Anfang. Eine Sache, die Sie in Ihrer Übung versuchen können, ist, die Nummer des nächsten Nachbarn zu ändern und sehen, welche Art von Brunnen am nächsten ist, wie viele nächstgelegene Nachbarn zu dem Punkt den besten Wert ergeben. Wir können uns viele verschiedene Klassifikationsalgorithmen ansehen . Auf der linken Seite sehen Sie die Eingabedaten, bei denen es sich um drei verschiedene Eingabeformen handelt. Und dann sehen Sie rechts die Entscheidungsflächen einer binären Klassifikation. Sie können also sehen, dass der zufällige Wald z. B. sehr überzogen ist und ein Gaußscher Prozess sehr reibungslos verläuft. Damit Sie verstehen, wie diese Daten verstehen, probieren wir den Random Forest aus, weil er ganz anders aussieht als auf der Entscheidungsoberfläche. Und zufällige Wälder sind wieder einmal sehr mächtige Modelle. Dies wird das gleiche Schema wie bei den nächsten Nachbarn sein. Wir werden uns also kurz über die Bewertungsfunktionen unterhalten. Weil der Genauigkeitswert ist, okay, es ist ein guter Standard, aber im Grunde zählt nur, wie viele Sie bekommen, oder? Und nehmen wir an, Sie arbeiten in einer Umgebung, in Fehler besonders schlimm, besonders teuer, sind. Sie möchten nachschauen, ob eine andere Bewertungsfunktion besser geeignet wäre. Und Sie können sich das Scikit-Learn-Dokument Mentation ansehen. Es gibt verschiedene Bewertungsfunktionen, die Sie überprüfen können. Hier schauen wir uns an und der Random Forest hat bei den Standardwerten einfach eine Outperformance erzielt. Alles , was die nächsten Nachbarn mit 96 Prozent erreichen. Das ist auf unsichtbaren Daten. Es ist also ein sehr gutes Ergebnis. Wir können uns noch einmal die Bedeutung der Merkmale ansehen , um zu sehen, was unser Modell für den wichtigsten Indikator dafür hält , dass sich etwas in Küstennähe befindet. Und natürlich wird ein Teil davon der Längen- und Breitengrad sein. Lassen Sie uns diese also einfach auch aus unserem DataFrame streichen, aus unseren Trainingsdaten. Weil wir es ein bisschen interessanter machen wollen , vielleicht etwas anderes. Ist ein besserer Indikator wenn Sie zu Ihrem Chef kommen und sagen: Hey, ich habe herausgefunden, dass der Standort uns wirklich gut sagt , dass mein Haus in der Nähe des Ozeans liegt. Sie werden dich wahrscheinlich ein bisschen erbärmlicher ansehen. Also schau mal. Und natürlich ist unser Random Forest Score etwas schlechter, aber ziemlich in Ordnung. Schauen wir uns also ein anderes lineares Modell an. Das logistische Regressionsmodell ist ein binäres Modell. Sie können es mit ein paar Tricks auch für mehrere Klassen verwenden. Das geht im Grunde 0-1 und findet diesen Übergang. Sie können es genau hier in den roten Zahlen sehen. Logistische Regressionsmodelle sind wirklich interessant, weil sie wieder einmal ein gutes Basismodell bieten weil sie lineare Klassifikatoren sind. Aber noch interessanter ist, dass Sie gesehen haben, dass es in diesem Bild diese Übergangslinie 0-1 gibt. Und Sie können in ihrem Standard einen Schwellenwert definieren. Es liegt bei 0,5, aber Sie können einen Test durchführen, wie Sie den Schwellenwert für Ihre logistische Regression festlegen möchten. Und das ist eine wirklich gute Sache, über die Sie in Ihrem Modell für maschinelles Lernen nachdenken sollten. Und wir werden uns ansehen, wie man diesen Schwellenwert nach diesem Abschnitt der Programmierung, der logistischen Regression, bestimmt . Also fügen wir das hinzu und schauen es uns kurz an, weil wir hier ein Mehrklassenproblem haben . Und wir wollen, dass dieses Mehrklassenproblem gelöst wird. Offensichtlich. Zum Glück ist Multi-Class automatisch auf Auto eingestellt, da sich die meisten Menschen nicht mit binären Problemen und dem wirklichen Leben befassen . Also ja, scikit-learn versucht wirklich gute Standardwerte festzulegen, passt unser Modell mit X - und Y-Zugdaten an. Und leider konvergierte es nicht. In diesem Fall hat es also nicht funktioniert. Also gehe ich in den Docstring und schaue es mir an. Da haben wir's. Max iter wird das Schlüsselwort sein, das wir erhöhen müssen. Es werden also mehr Iterationen benötigt , um das Optimum zu finden. Die, um das Wetter zu finden , soll logistische Regression sein. Tausend waren auch nicht genug. Füge einfach eine Null hinzu. Das wird eine Weile dauern. Also werden wir, wir werden über unseren, unseren optimalen Schwellenwert nachdenken. Denn wenn Sie maschinelles Lernen nutzen, möchten Sie gewissermaßen wenn Sie maschinelles Lernen nutzen, , dass all Ihre positiven Ergebnisse positiv und all Ihre Negative negativ klassifiziert werden. Und dann muss man darüber nachdenken, was schlimmer ist, etwas richtig zu machen, etwas falsch zu machen. Und in diesem Fall können wir die ROC-Kurve für die logistische Regression verwenden , wo wir die wirklich positiven Raten darstellen können. Also die positiven Ergebnisse, die positiv sind, gegenüber der Falsch-Positiv-Rate. Also alles, was als positiv eingestuft wurde, falsch eingeschätzt und dann unser Optimum wählen. In dieser Klasse schauen wir uns verschiedene Klassifizierungsalgorithmen an. Es gibt noch viele weitere, wie ich Ihnen auf dieser Folie gezeigt habe. Und Sie können wirklich einfach in die verschiedenen Arten der Klassifizierung eintauchen , wie Sie sehen, es ist immer eine für Sie passende Lehre. Und dann punktest du und prognostizierst anhand unsichtbarer Daten. Und am Ende ist es wirklich immer dasselbe. Und dann kommt es darauf an, wie Sie Ihre Daten skalieren, was Teil der Übung ist. Und auch, wie Sie Hyperparameter wie k für den k-Nearest Neighbors-Algorithmus auswählen . In der nächsten Klasse werden wir uns mit dem Clustering unserer Daten befassen. Also die interne Struktur unserer Daten wirklich zu sehen und zu sehen, wie jeder Datenpunkt zu den anderen gehört. 26. 44 Clustering neu: In diesem Kurs werden wir uns ansehen, wie wir die einzelnen Daten clustern können. Manchmal gruppieren sich Datenpunkte. Nun, manchmal war es schwieriger zu unterscheiden. Und wir werden uns ansehen, wie verschiedene Algorithmen die Daten unterschiedlich behandeln und sie verschiedenen Bins zuweisen. Nach dem Import unserer Daten. Dieses Mal überspringen wir den Teil in dem wir die Daten aufteilen, da der Clustering-Algorithmus eher als Datenerkennungstool betrachtet wird der Clustering-Algorithmus eher . Wenn Sie Clustering-Algorithmen für unsere aktuelle Vorhersage oder für die Zuweisung neuer neuer Klassen erstellen möchten. Du musst das Teilen auch machen. Du weißt, dass es tatsächlich tut, was es tun soll. In unserem Fall schauen wir uns einfach k-Means an. K-Means war irgendwie der unbeaufsichtigte kleine Bruder von k nearest Neighbor, wo es im Wesentlichen das gibt, was es misst, die Nähe zu anderen Punkten und weist sie einfach einem Cluster zu, wenn sie sind nah genug, passen zu unseren Daten auf den DataFrame. Und wir werden fit predict verwenden , weil wir alles in einem Schritt erledigen wollen. Das Problem hier ist, dass wir da drin Ozeannähe mit Schnüren haben. Also werden wir es nicht mehr wissen. Wir schauen uns eigentlich nur die Geodaten an. Also Längengrad und Breitengrad, weil diese sehr einfach in 2D zu visualisieren sind. Das macht unser Leben also ein bisschen einfacher. Wir werden ein paar Etiketten dafür rausbringen. Und was wir dann tun können, ist diese mit Matplotlib plotten zu können. Sie werden Matplotlib auch in einer späteren Klasse kennenlernen. Aber nur für eine einfache Darstellung gibt es die PLT-Streuung, die eine X - und eine Y-Koordinate annimmt. Und dann können Sie auch eine Farbe auftragen, die in unserem Fall beschriftet ist. K bedeutet. Sie können definieren wie viele Cluster Sie herausnehmen möchten. Die Standardeinstellung ist jetzt acht. Wir werden ein bisschen damit herumspielen und Sie können sehen, wie es sich ändert, wie sich die Cluster ändern. Je höher man kommt, desto fragmentierter wird es. Und man kann sich darüber streiten, wie sinnvoll es ist , Daten irgendwann immer noch mit Licht zu clustern. Hunderte von Clustern. Ich gehe zu dritt. Es ist einfach genug zu zeigen, was passiert, wenn wir tatsächlich richtige Cluster haben. Wir teilen unsere Daten ein wenig auf. Verwenden Sie also im Wesentlichen die Untereinstellung, die wir zuvor besprochen haben , um einen Teil des Mittelteils im Längengrad zu löschen . Dafür können wir die Methode between verwenden , die im Grunde einen Start- und einen Endpunkt definiert. Wenn wir dies zwischen negieren, bleibt ein Cluster links von unserem geographischen Streudiagramm und rechts von unserem geographischen Streudiagramm übrig. Dafür wählen wir einfach -121 und -100 18. als linken und rechten Rand. Wir können hier sehen, dass uns dies einen geteilten Datensatz gibt. Weisen Sie das einer Variablen zu , damit wir es verwenden können. Schauen wir uns das mal an und nicht das. Wir sehen also, was mit unseren Daten passiert. Löschen Sie einfach vorerst, dass wir Farben beschriftet haben , da diese hier nicht zutreffen. Und wir können die klare Trennung zwischen zwei Clustern sehen. Dann können wir unsere K-Mittel verwenden , um diese beiden zu klassifizieren oder diese beiden abzugleichen. Und ich kopiere das einfach und verwende die Anpassungsvorhersage, um unsere Daten zu den geteilten Daten zu erhalten . Außerdem kopiere ich über unser Streudiagramm und füge die Beschriftungen wieder hinzu. Wir können bei zwei Clustern sehen, es für k-Means ziemlich einfach einen Cluster links und einen Cluster rechts zu bekommen . Wenn wir mit den Zahlen herumspielen, können wir das Verhalten von Howard wirklich testen, darin Untercluster finden und herausfinden, wie es die Daten interpretiert. Aber weil es mit einem Scikit-Learn so einfach ist, schauen wir uns andere Methoden an. Dies ist eine Grafik von der Scikit-Learn-Website, auf der Sie verschiedene Arten von Clustering-Algorithmen haben und wie sie mit verschiedenen Arten von Daten funktionieren . Die spektrale Clusterbildung kommt mir in den Sinn. Aber ich persönlich mag DB-Scan auch sehr gerne und habe Gaußsche Mischmodelle bekommen. Sie funktionieren recht gut mit echten Daten und insbesondere die Weiterentwicklung des TB-Betrugs namens HDB-Scan ist eine sehr leistungsstarke Methode. Hdb scan ist eine separate Bibliothek , die Sie sich ansehen und dann selbst installieren müssen . Aber ja, auf jeden Fall einen Blick wert. Wir können also dasselbe tun wie zuvor. Wir importieren den DB-Scan aus unserer Clusterbibliothek in Scikit-Learn und weisen ihn der dB-Wertvariablen zu. Und es gibt nicht viele verschiedene Hyperparameter , die wir einstellen können. Vielleicht ändern Sie dort die Metrik , die Sie im Docstring gesehen haben. Aber im Moment ist Euclidian völlig in Ordnung. Wir können genau hier sehen, ohne irgendwelche Cluster zu setzen, es gibt die Ausreißer und die richtigen. Und im Grunde findet es drei Cluster, ohne dass wir viel über unsere Daten verraten. Schauen wir uns hier auch die spektrale Clusterbildung an . Es funktioniert genauso. Wir weisen es einem Objekt zu und instanziieren es. Dafür müssen wir Cluster bereitstellen. Wir wollen das alles einfach in die Vorhersage auf unserem SP kopieren die Vorhersage und das Ganze ausführen. Das dauert etwas länger. Spektrale Clusterbildung kann, ähm, ja, kann bei großen Datensätzen etwas langsamer sein. Schauen Sie sich die Dokumentation an. Sie haben einen wirklich guten Überblick, welche Clustering-Methode für die Datengröße am besten geeignet ist. Und außerdem, ja, im Grunde, woran Sie denken müssen, wenn verschiedene Clustering-Methoden anwenden. Da sich die Methoden ständig weiterentwickeln und ständig wachsen, ist es eine wirklich gute Idee, nur die Dokumentation zu überprüfen , da diese immer auf dem neuesten Stand ist. Hier können wir sehen, dass das Clustering ziemlich gut, ziemlich gut ist . Clustern von Daten kann sehr schwierig sein. Wie Sie gesehen haben, kann dies je nach Art der autorhythmischen Sichtweise zu sehr unterschiedlichen Ergebnissen führen je nach Art der autorhythmischen Sichtweise zu sehr unterschiedlichen Ergebnissen . Also, welche zugrunde liegenden Annahmen sind in diesem Algorithmus enthalten, aber auch, wie Ihre Daten aufgebaut sind. Ist es einfach, die Daten zu trennen , oder ist es wirklich schwierig, die Daten zu trennen? Letztlich denke ich, dass es ein Tool ist neue Einblicke in Ihre Daten gewinnen können , die Sie zuvor nicht hatten , basierend auf den Daten, die Sie in sie eingeben. der nächsten Klasse werden wir uns ansehen, wie wir Modelle für maschinelles Lernen validieren. Weil es nicht reicht, nur das Modell zu bauen. Wir müssen wissen, ob es tatsächlich darum geht , etwas Sinnvolles zu lernen. 27. 45 Validierung von Machine Learning Modelle: In diesem Kurs werden wir uns mit der Validierung Ihrer Modelle für maschinelles Lernen befassen. Und du musst es jedes Mal tun. Da das Erstellen von Modellen für maschinelles Lernen so einfach ist, der schwierige Teil nun darin, zu überprüfen, ob Ihr Machine-Learning-Modell tatsächlich etwas Sinnvolles gelernt hat. Und dann werden wir in einer der weiteren Klassen auch sehen, ob unsere Machine-Learning-Modelle fair sind. Und in diesem Kurs werden wir uns mit der Kreuzvalidierung befassen. also wirklich aussagekräftige Ergebnisse vorhersagen, wenn wir sehen, was passiert, wenn wir unsere Daten verschieben ? Und dann schauen wir uns Baseline-Dummy-Modelle an , die im Grunde genommen ein Münzwurf sind. Hat unser Modell also besser abgeschnitten als der Zufall? Nachdem wir alles importiert und die Daten geladen haben, löschen wir die Substantive und teilen unsere Daten auf. Moment machen wir die Regression. Also bauen wir einen zufälligen Waldregressor. Und das ist nur, um ein Modell zu haben , das wir mit dem Dummy-Modell vergleichen können , um die Validierung durchzuführen. Also passen wir es sofort an unsere Zugdaten an und fügen die Labels hier hinzu. Mit einem angepassten Modell können wir dieses nun bewerten und dann mit der Kreuzvalidierung fortfahren. Kreuzvalidierung ist ein sehr interessanter Weg. Wenn Sie gerade etwas über Testzug-Splits gelernt haben, wird dies Testzug-Splits auf die nächste Stufe heben. Kreuzvalidierung ist also die Idee, dass Sie Ihre Trainingsdaten haben und Ihre Testdaten die Testdaten, die Testdaten, behalten. Und wie Sie wissen, haben wir unsere Zugdaten in einen Trainingssatz und einen Validierungssatz aufgeteilt . Bei der Kreuzvalidierung teilen wir unsere Trainingsdaten jetzt in Falten auf. Also im Grunde nur in Unterteilen. Und jedes Teil wird einmal als Testset gegen alles andere als Zugset verwendet . Wir bauen also fünf Modelle, wenn wir fünffach haben. Sie können dies auch auf geschichtete Weise tun, z. B. mit dem Testtrain-Split , den wir zuvor verwendet haben. Jetzt ist es ziemlich einfach, das zu tun. Auch hier ist die API, also die Schnittstelle, mit der Sie arbeiten, sehr einfach gehalten. Also importieren wir das Ergebnis der Kreuzvalidierung. Und genau hier nimmt der Cross-Val-Score Ihr Modell, die Validierungsdaten, und das sind Ihre x. Also die Merkmale und natürlich die Ziele, weil wir es anhand einer beliebigen Zahl validieren müssen. Das dauert fünfmal so lange, weil wir fünf Modelle bauen, oder ja, wir bewerten fünf Modelle und wir erhalten für jedes Modell fünf Punkte. Möglicherweise stellen Sie fest, dass all diese Werte etwas niedriger sind als unser Durchschnittswert für die gesamten Daten Dies ist normalerweise der Fall und näher an der Realität. Wir können auch Cross-Fold Prediction verwenden , um Vorhersagen für diese fünf Modelle zu erhalten. Das ist also auch ganz nett, um Modelle zu mischen. Wenn Sie also beispielsweise fünf trainierte Modelle haben, können Sie auch Vorhersagen erstellen. Es ist kein gutes Maß für Ihren Generalisierungsfehler. Sie sollten also nicht anhand von Cross-Fold Prediction feststellen, wie gut Ihr Modell abschneidet. Vielmehr soll visualisiert werden, wie diese fünf Modelle auf der K-Faltung auf der Kreuzvalidierung vorhersagen. Eine weitere Validierungsstrategie ist die Erstellung von Dummy-Modellen. Ob Sie dies vor oder nach der Kreuzvalidierung tun , liegt bei Ihnen. Dies ist eine Möglichkeit, unser Modell zu validieren. Ein Dummy-Modell ist also im Wesentlichen die Idee, dass dieses Gewicht, das wir wollen, unser Modell für maschinelles Lernen besser als der Zufall sein wird? Manchmal ist es jedoch etwas schwierig zu wissen , wie der Zufall aussieht. Also schauen wir uns das mal an. Sie können verschiedene Strategien anwenden , um sie in Ihrem Klassifikator zu verwenden. Du kannst es einfach mit roher Gewalt machen und sie alle ausprobieren. Aber ein guter verwendet normalerweise Prior. Ich denke, dies wird die Standard- und zukünftige Methode für den Dummy-Klassifikator sein. Aber da wir zuerst die Regression durchführen, schauen wir uns den Regressor an. Genau hier können Sie also auch eine Strategie definieren. Die Standardstrategie besteht darin, nur den Mittelwert zu haben. Also eine Weile das schlechteste Modell nur den Mittelwert zurück. Also werden wir das als unser Dummy-Modell verwenden. Wie bei jedem Modell für maschinelles Lernen passen Sie es mit X- und Y-Zug an die Daten an. Dann können wir diese Funktion bewerten. Wir können dazu sogar eine Kreuzvalidierung durchführen. Und sehen Sie, wie gut dieses Zufallsmodell abschneidet. Und anhand dieser Ergebnisse ist es ein gutes Maß dafür, wie gut und wie gut Ihr aktuelles Modell abschneidet. Wenn die Wahrscheinlichkeit, dass ein Modell besser abschneidet als Ihr, besser oder gleich als Ihr Modell, bauen Sie wahrscheinlich ein schlechtes Modell und müssen zurückgehen und überdenken, was Sie tun. Wir können eine Kreuzvalidierung durchführen, aber natürlich wäre hier eine Bewertung angemessener, was Sie in den Notizbüchern ausprobieren können. Wir werden das noch einmal machen und erneut ein wirklich schnelles Klassifikationsmodell erstellen ein wirklich schnelles Klassifikationsmodell das die Ozeannäherungsdaten verwendet. Hier erstellen wir den Klassifikator, ob wir die normale Strategie sind. Ich persönlich finde die Dummy-Modelle sehr nützlich, denn manchmal liegt die Chance zwar nicht nur bei 50-50, wenn Sie Klassenungleichgewichte haben wie wir es mit den Inseldaten tun, z. B. Ihr, Ihr Münzwurf im Wesentlichen schief. Es ist voreingenommen. Und der Dummy-Klassifikator ist nur eine sehr einfache Möglichkeit, dies zu validieren. Selbst bei Klassenungleichgewichten haben Sie kein nutzloses Modell gebaut. Also genau hier können wir das bewerten und wir erhalten hier eine Genauigkeit von, naja, ziemlich niedriger Genauigkeit. Und wir können herausfinden, wie sich die verschiedenen Strategien auf unser Ergebnis auswirken. 32% sind also schon ziemlich schlecht. Aber auch wenn Sie wahrscheinlich den Dummy-Klassifikator mit einem besten Modell nehmen sollten wahrscheinlich den Dummy-Klassifikator mit einem besten Modell nehmen , denn das ist immer noch ein zufälliges, zufälliges Ergebnis. Diese Vorhersage von 40% der Wahrscheinlichkeit ist also kein gutes, kein gutes Zeichen. Sagen wir das. Also genau hier werden wir wieder ein neues Modell mit den Random Forests erstellen . Da haben wir einen Klassifikator und passen die Daten direkt an ihn an, damit wir nicht mehr Zellen ausführen müssen. Auswertung der Daten zeigt nun, dass unser zufälliger Wald zumindest ein bisschen besser ist als der Dummy. Also 20 Prozent bessere Genauigkeit. Ich würde sagen, wir lernen hier tatsächlich etwas Bedeutendes, um vorherzusagen, ob wir näher oder weiter von der Nähe des Ozeans entfernt sind. Nun, wie gesagt, die Bewertung ist angemessener, also verwenden wir die Bewertung genau hier mit unserem Dummy-Modell für die Testdaten. Und die Warnung hier ist interessant, weil unser Kreuzvalidierungsergebnis uns sagt, dass die Meeresnähe, die Inselklasse, nicht über genügend Daten verfügt, um eine korrekte Aufteilung vorzunehmen. Es ist also wirklich wichtig, das zu beachten. Abgesehen davon sehen wir, also ist das etwas, das berücksichtigt werden muss. Abgesehen davon stellen wir jedoch fest, dass unser Modell selbst bei der Kreuzvalidierung das Dummy-Modell übertrifft. Validierung von Modellen für maschinelles Lernen liegt mir sehr am Herzen. Es ist so wichtig, weil es so einfach geworden ist, Modelle für maschinelles Lernen zu erstellen , dass Sie die Arbeit machen und sehen, dass diese Modelle, ich tatsächlich etwas Sinnvolles gelernt habe und ich lese gerade etwas in Lärm verwandelt. Und diese Strategien sind wirklich die Basisebene, die Sie mit jedem Machine-Learning-Modell tun müssen. Und in der nächsten Klasse werden wir uns ansehen, wie man tatsächlich faire Modelle baut und wie man sicherstellt , dass unser Modell niemanden aufgrund einer geschützten Klasse benachteiligt , z. und das wird extrem wichtig sein, wenn Sie mit Ihrem Machine-Learning-Modell Menschen berühren würden. 28. 46 ML Interpretability neu: In diesem Kurs werden wir uns mit der Interpretierbarkeit von Machine Learning befassen. Also schauen wir uns dieses Blackbox-Modell an, das wir gebaut haben, und wir werden überprüfen, was es tatsächlich gelernt hat. Und wenn Sie wie ich sind und schon einmal ein Modell gebaut und es Ihrem Chef gezeigt haben und gesagt haben: Ja, es hat gelernt und es hat diesem Anruf so und so gut abgeschnitten, als ob es eine Genauigkeit von 60% hatte. Sie werden nicht beeindruckt sein. Sie wollen wissen, was dieses Machine-Learning-Modell tatsächlich macht. Und in diesem Kurs werden wir uns jedes einzelne Merkmal in unseren Daten ansehen, das die Entscheidung in unserem Modell für maschinelles Lernen beeinflusst . Und wir werden wirklich tief in die wirklich coolen Handlungen eintauchen , die Sie machen können und die die Entscheidung in einem Modell für maschinelles Lernen beeinflussen . Also tun wir hier so, als hätten wir bereits die gesamte Modellvalidierung und Modellerstellung sowie die Datenwissenschaft zuvor durchgeführt. So können wir überprüfen, ob unser Modell fair ist. Der Begriff Fairness ist also wirklich die Idee , dass unser Modell zwar die Ozeannäherungsklasse nicht berücksichtigt hat, diese Klasse jedoch implizit benachteiligen könnte. Also kannst du gleich hier nachschauen. unsere Trennung verlieren wir direkt die Nähe zum Meer. Wir trainieren nicht darauf. Aber vielleicht benachteiligen unsere Daten implizit eine Klasse, die sich in Meeresnähe befindet. Also überprüfe das. Ich mache ein paar, einige, naja, ein paar Pandas-Tricks verwenden seit einiger Zeit Diskussionsteilnehmer. Hier sehen Sie also, was Sie mit Partnern machen können. Denn genau hier haben Sie die Validierungsdaten und das ist nur ein Teil unseres DataFrame. Ich möchte alle Indizes aus unserem DataFrame finden, die in dieser Klasse sind, und den Schnittpunkt dieses Index mit den Validierungsdaten finden . Auf diese Weise kann ich die Teilmenge der Klasse in unserem Validierungssatz auswählen der Klasse in unserem Validierungssatz , ohne dass die Daten tatsächlich im DataFrame aus unserem Testtrain-Split vorhanden sind. Und dabei spiele ich ein bisschen damit herum und versuche, es zum Laufen zu bringen, drucke einfach über eine Übergröße, schau, was passiert. Und so kann ich tatsächlich mit den Daten validieren , dass dies die Daten sind, die ich möchte. Genau hier. Sie sehen, dass ich jetzt die Teilmenge davon nehme, den Index davon. Und dann drucke ich den Schnittpunkt von x val und klassenbasiertem Index , den ich zuvor erstellt habe. Also speichere das in idx. Also kann ich einfach in den DataFrame gehen und den Datenrahmen mit dem Index unterteilen. In diesem Fall verwenden wir die Funktion zur Modellbewertung, um eine erste Vorstellung davon zu bekommen , wie gut unsere Stunde, naja, wie gut unser Modell bei der Klassenuntermenge unserer, unserer Validierungsdaten, wirklich abschneidet . Genau hier. Drucken Sie das aus, weil wir jetzt in einer Schleife sind. Also muss ich hier dot loc verwenden. Und es ist wirklich wichtig du auch siehst, dass ich immer noch sehr häufig Fehler mache und du keine Angst vor Fehlern in Python haben kannst, weil es nicht weh tut. Fehler sind billig. Also probiere es einfach aus. In diesem Fall habe ich es vermasselt, ich habe manchmal Probleme, die Spalten und Zeilen voneinander getrennt zu halten . Und genau hier sehen wir interessanterweise sehr unterschiedliche Werte. Wir haben also drei , das sind rund 60 Prozent, was nett ist. Aber der dritte Wert liegt bei etwa 23%, der letzte ist Null. Also schaue ich mir die Indizes an. Und wir können genau hier sehen, dass das Island sein muss , weil Irland insgesamt nur fünf Werte hat. Wir haben hier also definitiv ein Vorhersageproblem, obwohl unser Modell insgesamt gut abschneidet. Auf den Inseldaten schneidet es schrecklich ab, weil dort nicht genügend Daten vorhanden sind. Hier können Sie sehen, dass ich versuchen werde das Modell zu verbessern, indem ich es auf die Meeresnähe schichte, nur um zu sehen, ob sich dadurch alles ändert. Und das tut es nicht. Denn jetzt habe ich dafür gesorgt, dass die, sie gleichmäßig auf die Klassen verteilt sind und wir noch weniger Daten haben. Vorher hatte ich also Glück, dass ich zwei der Proben hatte und im Validierungsset war. Und jetzt habe ich weniger. Jetzt kann ich das nicht tun, weil das Nun, das ist schon eine Teilmenge der Daten, also überspringen wir das einfach, weil fünf Proben versuchen, sie auf alle Datensätze zu verteilen, es irgendwie umstritten ist. Und in diesem Fall müssen Sie wirklich darüber nachdenken, ob Sie entweder mehr Proben bekommen, irgendwie mehr Proben erstellen, mehr Proben sammeln können , oder ob es eine Möglichkeit gibt , die Proben herauszuholen das System. Aber in dem Sinne, dass es sich um Daten handelt, sollten sie normalerweise in Ihrem Modell dargestellt werden. sich in diesem Fall also wirklich Holen Sie sich in diesem Fall also wirklich mehr Daten. In diesem Fall. Was genau hier zu sehen ist, dass die Schichtung das Modell insgesamt verbessert hat, was schön zu sehen ist und das auf diese Weise. Der Backslash n ist also ein neues Leerzeichen , nur damit es ein bisschen schöner aussieht. Hier können wir sehen , dass uns dies gute Vorhersagen für alles gibt, was sich in der Nähe des Ozeans, in der Nähe der Bucht und in der Nähe des Ozeans und weniger als 1 h des Ozeans befindet. Das Inland schneidet jedoch deutlich schlechter ab als unsere anderen Daten. Lassen Sie uns die Insel vorerst ignorieren, weil wir die Probleme mit der Insel besprochen haben. Schauen wir uns die Testdaten an. Denn im Moment machen wir kein Model-Tuning mehr. Das ist also wirklich die N-Validierung und wir können anhand der Testdaten sehen, dass Inland wirklich ein Problem hat. Unser Modell schneidet also insgesamt gut ab. Aber einige Dinge passieren hier mit unseren Inlanddaten. Und hier wäre es auch gut, eine Kreuzvalidierung durchzuführen. So können wir tatsächlich Unsicherheiten in Bezug auf unseren Punktestand und prüfen, ob es irgendwelche Schwankungen gibt. Aber lassen Sie uns zu L5 übergehen. L5 oder IL-5 ist ein Erklärungspaket für maschinelles Lernen. Das ist die Dokumentation. Und für Entscheidungsbäume heißt es genau hier, dass wir die Erklärungsgewichte verwenden können. Das ist es also, was wir hier machen. Ich nenne das hier nach unserem Modell. Wir müssen ihre Schätzer liefern. Also, was wir trainiert haben unser Modell und wir können die Gewichte für jedes Feature sehen und wie dieses Feature heißt. Und dies ist eine äußerst gute Möglichkeit, Ihr Modell zu untersuchen , um erklären zu können , was unser Modell am meisten beeinflusst. Wir können Eli Five auch verwenden , um einzelne Vorhersagen zu erklären. Also genau hier können wir natürlich unser Schätzobjekt anwenden, aber dann auch einzelne Proben liefern und eine Erklärung erhalten , wie die verschiedenen Merkmale diese Vorhersage beeinflusst haben. Hier verwenden wir jetzt nur ein einziges Beispiel aus unseren Daten. Wir können hier sehen, wie jedes einzelne Feature zum Ergebnis von 89.000 beiträgt . Und das können Sie natürlich auch für Klassifikatoren tun. Oder wir können über mehrere verschiedene Zahlen iterieren und sehen, wie diese von Eli Five erklärt werden . Ich verwende hier einfach das Display. Wie gesagt, das Format ist auch sehr nett, aber ich möchte in diesem Kurs nicht wirklich darauf eingehen. Und hier können Sie interpretieren, wie jeder von ihnen durch andere Modellparameter beeinflusst wird. Nachdem wir uns diese angesehen haben, können wir uns die Bedeutung der Funktionen ansehen. Sie erinnern sich vielleicht aus dem, von früher, aus dem zufälligen Wald , dass Sie die Wichtigkeit des Features selbst beobachten können . Und Scikit-Learn bietet auch eine Permutationsbedeutung für alles. Für alle können Sie dies also auf jedes einzelne Modell für maschinelles Lernen anwenden jedes einzelne Modell für maschinelles Lernen in Scikit-Learn verfügbar ist. Und das funktioniert so, dass die Permutationsbedeutung im Wesentlichen Ihr Modell betrachtet und jedes Merkmal in den Daten verwendet und diese Merkmale nacheinander verschlüsselt. Also zuerst geht es zu den Haushalten und verworrenen Geschäften, also sind sie im Wesentlichen Lärm. Und dann sieht man, wie sehr das deine Vorhersage beeinflusst. Und Sie können hier sehen, dass es Ihnen die mittlere Wichtigkeit, die Standardabweichung und auch die Gesamtbedeutung gibt. So können Sie wirklich tief eintauchen, wie Ihr Modell von diesen, von jedem Merkmal beeinflusst wird . Sie können sich also auch dafür entscheiden, bestimmte Funktionen hier einzustellen. Als Nächstes schauen wir uns die Diagramme der partiellen Abhängigkeit an. Diese Diagramme sind wirklich nett, weil sie Ihnen einen einseitigen Einblick geben , wie sich ein Feature auf Ihr, Ihr Modell auswirkt. Und Introspektion ist im Bereich Scikit-Learn relativ neu. Deshalb gibt es Scikit, Yellow Brick, Scikit minus YB, was diese fantastischen Grundstücke ausmacht. Oben in der Mitte sehen Sie z. B. die Präzisions-Abrufkurve und generell eine wirklich gute Möglichkeit, verschiedene Dinge zu visualisieren , die Ihr maschinelles Lernen erklären. Hier sehen wir all die verschiedenen Merkmale unseres Trainings und wie sie das Vorhersageergebnis beeinflussen. Unten rechts, das Durchschnittseinkommen, das Sie sehen können, hat also einen starken positiven Einfluss. Und genau hier können Sie interpretieren wie sich die Änderung eines Merkmals auf die Preisergebnisse auswirken würde. Also Haushalte, z. B. es einen leichten Anstieg gibt, wenn es mehr Haushalte gibt, ist so weiter. Es ist eine wirklich nette kleine Handlung. Aber die letzte Bibliothek und meine Lieblingsbibliothek zur Erklärung des maschinellen Lernens, sie haben ein Naturpapier daraus bekommen, ist sogar scharf. Shap hat verschiedene Erklärmodule für verschiedene Modelle, daher sind sie im Grunde sehr fein auf jedes Modell abgestimmt. Mit shap können Sie sogar Deep-Learning-Erklärungen durchführen. Wir werden den Tree Explainer für unser zufälliges Waldmodell verwenden. Und wir wollen, dass wir viele Hintergrundbeispiele haben. Wir könnten dies also möglicherweise unterteilen, um es zu beschleunigen. Aber jetzt geben wir unsere Validierungsdaten an dieses weiter, erklären unser Objekt, das wir erstellt haben, und berechnen es. Das dauert also eine Sekunde und ich werde es tatsächlich hier stornieren, weil ich diese in einer Variablen speichern möchte, damit ich sie später wiederverwenden kann und sie nicht neu berechnen muss. Aber im Allgemeinen ist die Handlung , die ich Ihnen zeigen möchte, eine Machtverschwörung. Dieses Diagramm kann verwendet werden, um im Grunde zu erklären , wie groß und in welche Richtung jedes Merkmal Ihres Machine-Learning-Modells Ihre Daten nimmt wie es die Vorhersage verändert. Und ich liebe es wirklich, diese Plots und Berichte zu verwenden , weil sie sehr intuitiv sind. Das wirst du in einer Sekunde sehen. Hier müssen wir also den erwarteten Wert in unserem Erklärungsobjekt und die zuvor berechneten Shapwerte übergeben unserem Erklärungsobjekt und . Und einer unserer Datenpunkte in den Validierungsdaten. Sie können dies also erneut für mehrere Ihrer Validierungsdatenpunkte tun. Ich habe hier einen Fehler gemacht und keinen Unterstrich angegeben. Außerdem hätte ich JavaScript für Shapley aktivieren sollen , weil sie ein paar nette Plots machen. Sie sind, sie greifen dafür auf JavaScript zurück. Und es muss genau hier initialisiert werden. Aber danach haben wir diese Handlung und ich hoffe, du kannst sie selbst ausprobieren. Denn hier können Sie sehen, dass diese spezielle Prognose am stärksten vom Durchschnittseinkommen negativ beeinflusst wurde . Und dann ziehen Sie die Bevölkerung in Bezug auf die Anzahl der Haushalte etwas weniger positiv an. Und insgesamt ein wirklich nettes Paket. Deshalb haben wir uns verschiedene Möglichkeiten angesehen, Daten zu visualisieren und in Ihre Berichte aufzunehmen , und wie Sie sie generieren und auf jeden Fall die Dokumentation lesen können und auf jeden Fall die Dokumentation lesen , damit sie noch viel mehr für Sie haben. In diesem Kurs haben wir das Modell für maschinelles Lernen untersucht, also haben wir uns angesehen wie verschiedene Funktionen unsere Entscheidung über maschinelles Lernen beeinflussen . Aber auch wie stark ist dieser Einfluss auf die Entscheidung und wie beeinflussen verschiedene Merkmale andere Merkmale? Vielleicht können wir sogar einige von unserer ursprünglichen Datenerfassung löschen . Und in der nächsten Klasse werden wir uns mit Fairness befassen. Dieser wichtige Teil, in dem Modelle des maschinellen Lernens möglicherweise einige geschützte Klassen benachteiligen könnten, weil sie etwas lernen, das sie nicht lernen sollten. Und wir werden uns ansehen, wie man das erkennt und einige Strategien, wie man das abschwächen kann. 29. 47 Fairness neu: In diesem Kurs wird ein einführender Blick auf maschinelles Lernen und Fairness geworfen. Maschinelles Lernen hat in letzter Zeit einen schlechten Ruf bekommen , weil es einige geschützte Klassen benachteiligt hat , die durch das Modell nicht hätten benachteiligt werden sollen. Und das ist nur dadurch herausgekommen, dass die Leute es bemerkt haben, nicht dadurch, dass Data Science die Arbeit vorher erledigt hat. In diesem Kurs sehen wir uns an, wie Sie die Arbeit erledigen können. So können Sie feststellen, ob Ihr Modell bei bestimmten geschützten Eigenschaften schlechter abschneidet . Und schauen Sie auch, ob Ihr Machine-Learning-Modell in bestimmten Bereichen weniger sicher ist . Manchmal erhält man also ein Modell, das vorhersagt, dass es jemandem schlechter geht , weil er in einer vorhergesagten Klasse ist. Und das ist ein großes No-Go. Sollte das jemals passieren, wird Ihr Modell für maschinelles Lernen möglicherweise nie in Produktion gehen. Aber manchmal ist Ihr Machine-Learning-Modell für manche Menschen einfach weniger sicher, wenn Ihnen ein bestimmter Kurs angeboten wird. Und dann sollten Sie versuchen, die Sicherheit des Modells zu erhöhen , indem Sie die Arbeit mit maschinellem Lernen und Datenwissenschaft im Voraus erledigen. Dies wird auf dem aufbauen, was wir getan haben und auf dem Teil der Interpretierbarkeit. Nun, wir haben bereits einen Teil der Fairnessbewertung durchgeführt. Wir beginnen mit einem zufälligen Wald und wir bewerten. Wir haben also eine Grundlage dafür, zu wissen, wie gut unser Gesamtmodell abschneidet. Dann fangen wir an, es nach Klassen zu sezieren. Wir haben diese Schichtung in der Klasse also bereits , weil wir sie von früher beibehalten werden, weil sie das Modell erheblich verbessert hat. Aber dann wiederholen wir die Klassen und schauen uns an, wie gut sie abschneiden. Am Anfang. Wir wollen die Partitur wissen und im Grunde die gleiche Arbeit machen im Interpretierbarkeitsteil. Also werden wir unseren Unterricht gleich hier bekommen. Und dann können wir es uns tatsächlich ansehen und interpretieren. Unsere Daten. Genau hier wird die Arbeit erledigt, um unsere Indizes zu erhalten. Also machen wir das Ganze mit der Kreuzung und dem Abrufen unserer, unserer Klassenindizes und dem Anfang. Das wird also in idx für den Index gespeichert. Und dann nehmen wir die Vereinigung und den Schnittpunkt, nicht die Vereinigung dieser Werte zur Validierung und für unseren Test. Denn im Moment haben wir nur einen, um unsere Algorithmen wirklich zu testen. Also beide Holdout-Datensätze zu haben, das ist für diesen Teil eigentlich in Ordnung. Normalerweise machst du es am Ende, nachdem du dein Modell repariert hast. Und nach dem Hyperparameter-Tuning, um zu sehen, ob Ihr Modell benachteiligt ist. Also nehmen wir den Schnittpunkt mit einem Klassenindex genau hier, kopieren ihn und stellen sicher, dass Daten darin enthalten sind. Und dann können wir das Modell anhand der Validierungsdaten und der Testdaten bewerten. Diese Ergebnisse sollten idealerweise alle diese Ergebnisse gleich gut abschneiden. Und im Idealfall schneiden sie alle genauso gut ab wie die Gesamtnote des Modells. Aber wir erinnern uns, dass es im Landesinneren deutlich schlimmer war als alles andere. Und natürlich haben wir das Problem, dass Irland nicht genügend Proben hat, um die Validierung tatsächlich durchzuführen. Deshalb habe ich nur eine Skriptdatei beigefügt. Und für den Moment, später, werde ich Ihnen auch zeigen , wie Sie Fehler in Ihrer Verarbeitung erkennen können, damit wir damit umgehen können. Und dann werden wir dies um die Kreuzvalidierung erweitern. Denn mit der Kreuzvalidierung können wir wirklich sicherstellen, dass es keine seltsamen Schwankungen in unseren Daten gibt. Vielleicht hat Inland einfach ein paar lustige Daten drin, die es wirklich sehr wild und seine Vorhersage machen. Das herauszuholen ist hier also wirklich wichtig. Und das ist erst der Anfang für dich. Wenn du damit herumspielen willst, kannst du auch Bill Dummy Models sein und einfach wirklich warum es Inland so viel schlechter geht. Nutzung der Interpretabilität , um wirklich zu untersuchen, warum in diesem Modell genau hier etwas passiert. Damit wir die Ergebnisse haben. Und wenn ich mir diese Ergebnisse ansehe, ist es nett. Es wird ein bisschen viel mit den Zahlen. Was können wir also tun? Zuallererst ist es beim Versuch - außer dass Python es getan hat. Wenn es also einen Fehler gibt, weil Irland nicht über genügend Daten verfügt, können wir diesen Fehler erkennen. Und mit der Ausnahme legen wir einfach einen Pfad fest, damit alles andere immer noch läuft. Nachdem wir auch Inseln bearbeitet haben. Da haben wir's. Also speichern wir diese jetzt als Variablen, als Val und testen. Denn dann können wir eigentlich einfach Statistiken dazu berechnen. Ermitteln Sie also den Mittelwert und die Standardabweichung. Ein Indikator für Unsicherheit wäre also, oder etwas Lustiges, das hier passiert, wäre, wenn die Standardabweichung unserer Kreuzvalidierung sehr hoch wäre. Was interessanterweise nicht der Fall ist. In diesem Kurs haben wir uns angesehen, wie unser Modell für maschinelles Lernen analysieren und an verschiedenen geschützten Klassen evaluieren ohne sie zu trainieren. Und wir haben gesehen, dass ein Modell , das insgesamt recht gut abschneidet, in einigen Klassen sehr schlecht abschneiden kann. Und dass wir manchmal sogar nicht genug Daten haben, um unser Modell wirklich zu bewerten. Wir müssen also wieder ganz zur Datenerfassung zurückkehren und mehr Daten sammeln, um wirklich in der Lage zu sein, ein gutes Modell zu erstellen und gute Datenwissenschaft in Bezug auf diese Klasse zu betreiben. Und der Geschäftsfall hier ist wirklich klar. Du willst nie einen Nachteil haben, jemanden, der ein guter Kunde wäre, weil du einen guten Kunden verlierst. Damit ist das Kapitel über maschinelles Lernen und Validierung des maschinellen Lernens abgeschlossen. Im nächsten Kurs werden wir uns mit Visualisierung und der Erstellung ansprechender Diagramme befassen , die Sie in Ihren Data-Science-Berichten und Präsentationen verwenden können . 30. 50 Viz Intro neu: In diesem letzten Kapitel werfen wir einen Blick auf die Datenvisualisierung und auch wie man Präsentationen und PDF-Berichte direkt aus Jupiter generiert . Und damit ist dieser Kurs abgeschlossen. 31. 51 Grundlegende Visualisierung neu: In diesem Kurs lernen Sie die zugrunde liegenden Mechanismen für die Datenvisualisierung in Python kennen. Wir importieren unsere Daten wie immer und verwenden dann die Standard-Plotbibliothek in Python. Matplotlib at liegt den meisten anderen Plotbibliotheken zugrunde , die auf höherem Niveau sind , wie auch auf See. Es ist also wirklich gut, es zu wissen, denn Sie können es auch für die Schnittstelle zu Seaborn verwenden. Also erstellen wir hier ein einfaches Liniendiagramm mit dem mittleren Hauswert. Nun benötigen Sie in der Regel ein Liniendiagramm für Daten, die tatsächlich miteinander verwandt sind. Also werden wir anfangen, diesen zu ändern. Zuerst. Wir öffnen eine Figur. Und wir nennen die Handlung auch weil Jupyter Notebook, es macht es uns ein bisschen einfach, uns das Plot-Objekt direkt nach der Ausführung durch den Verkäufer zu zeigen . Aber das ist wirklich der richtige Weg. Wir können also die Figurgröße ändern, indem wir unser Figurenobjekt mit einer anderen Figurengröße initiieren . Diese werden normalerweise in Zoll gemessen. Einfach ja. Nur eine Nebensache. Und dann können wir das von einem Liniendiagramm aus ändern. Wir werden das weiter modifizieren. Da Liniendiagramme also nichts miteinander zu tun haben, vermehren Sie sich hier, denn wenn wir das gegeneinander plotten Sie sich hier, denn wenn , sieht es ein bisschen funky aus. Wir können die Markierung in ein X ändern. Und wir erhalten genau hier ein schönes Streudiagramm. Und Sie können sehen , dass es uns zum Beispiel auf See viel einfacher macht, ein gut aussehendes Streudiagramm zu erstellen. Diese Handlung braucht noch viel Arbeit. Aber du weißt, dass wir auf diese Weise die Farben und die verschiedenen Markierungen ändern. Sie können die Markierungen auf der Matplotlib-Website nachschlagen. Es gibt eine Vielzahl verschiedener Märkte. Aber dann können wir auch damit beginnen, Labels hinzuzufügen. Das Plotobjekt, das wir haben, ist also ein einfaches Plotobjekt. Also können wir einfach ein Etikett hinzufügen. Also x Label ist unsere Bevölkerung und y-Label wird hier unser Hauswert sein. Und wir können einen Titel hinzufügen , weil wir möchten, dass unsere Grundstücke schön aussehen und informativ sind. Darüber hinaus können wir zusätzliche Plotebenen hinzufügen . Anstelle der Bevölkerung gegenüber dem mittleren Hauswert können wir also die Bevölkerung anhand unserer gesamten Schlafzimmer darstellen und die Markierungsgröße, die Markierungsfarbe und den Markierungsstil ändern . Aber offensichtlich ist unsere Gesamtzahl der Schlafzimmer ganz anders skaliert als unser durchschnittlicher Hauswert. Also können wir jetzt einfach einen Hotfix machen. Natürlich macht man das nie in einer echten Handlung. Aber nur um zu zeigen, wie verschiedene Datentypen in derselben Zeichnung überlagert werden, können Sie dies ändern. Auf diese Weise. Sie können Ihre Daten speichern und sie als normale Datei verfügbar haben. Eine Änderung der DPI bedeutet, dass wir die Punkte pro Zoll haben. Das ist gewissermaßen die Auflösung unserer von unserem Plan, der gerettet wurde. Dann können wir auch ImageData plotten. Wir haben derzeit kein Bild dafür, aber es ist plt.show wert. Und im Grunde gibst du ihm einfach die Bilddaten und es wird das 2D-Bild für dich plotten. Schauen wir uns an, wie man dieses Diagramm ändert , wenn es eher darum auch hier verschiedene Daten zu überlagern. Wenn wir zum Beispiel nur einen Scatter haben, ist das völlig in Ordnung und wir können eine Legende hinzufügen. Aber es gibt uns eine nette Warnung, dass dieses Plotobjekt keine Beschriftungen enthält. Das heißt, wir können unserem, unserem Datenplot hier ein Label hinzufügen . Und wir nennen es einfach House. Jetzt haben wir hier also eine Legende. Es ist sinnvoller, wenn wir mehr Daten überlagern. Wenn wir also einige Daten darüber plotten möchten, können wir hier einfach eine weitere Plotfunktion aufrufen. Ändere die Markierung so, dass sie ein bisschen anders aussieht und du siehst , dass auch unsere Legende aktualisiert wurde. So können Sie also singuläre Plots erstellen. Und wie ich bereits erwähnt habe, ist C1 eine High-Level-Abstraktion für Matplotlib. Das heißt, wir können Matplotlib tatsächlich verwenden , um ein bisschen mit einem C1 zu arbeiten. Und dies gibt Ihnen nur ein Beispiel dafür, wie Sie ein Seaborn-Grundstück retten können. Sie können aber auch leicht nach anderen Wegen suchen . Fügen Sie Informationen zu Ihren Seegrundstücken oder ändern Sie Ihre Seaborn-Grundstücke über die Matplotlib-Schnittstelle. Also genau hier machen wir das Paar mit nur 100 Samples, weil wir wollen, dass es schnell geht. Und wir können erneut eine Matplotlib-Figur öffnen und die Figurengröße nach Belieben ändern. Und dann speichere die Figur. Hier können wir sehen, dass dies jetzt als PNG verfügbar ist. Öffnen Sie das PNG und verwenden Sie es, wo immer wir es brauchen. Genau hier. Und das sieht beim Öffnen einfach aus wie die Handlung, aber als Bild. Wenn Sie schnelle Diagramme direkt aus DataFrames erstellen möchten , ohne Seaborn oder Matplotlib aufzurufen. Sie können tatsächlich die Plotfunktion Pandas aufrufen, die an Seaborne angeschlossen ist. d of plot gibt Ihnen also die Möglichkeit, verschiedene Arten von Plots zu erstellen. Sie können wirklich Balkendiagramme und Histogramme und auch Streudiagramme erstellen, was wir dieses Mal tun werden. Das heißt, wir geben einfach die Bezeichnung unserer X- und Y-Daten an und weisen sie an, ein Streudiagramm zu erstellen. Wir werden die Bevölkerung wieder gegen unseren Hauswert verwenden. Sorry, schon wieder insgesamt Zimmer. Und geben Sie uns einfach das Wort Streudiagramme, ein Streudiagramm, ein Streudiagramm. In diesem Kurs haben wir die verschiedenen Methoden zum Plotten von Daten gelernt . In Python. Wir verwenden Matplotlib, wir verwenden Pandas direkt und wir haben sogar gesehen, dass diese miteinander interagieren, weil seaborne und pandas beide von Matplotlib abhängen. Sie können also die von diesen Plots zurückgegebenen Objekte nehmen und sie speichern und sogar weiter bearbeiten . In der nächsten Klasse werden wir uns mit der Darstellung räumlicher Informationen befassen. 32. 52 Geospatial neu: In diesem Kurs werden wir uns mit der Kartierung georäumlicher Daten befassen. Also Daten, wenn Sie Geo-Standorte verfügbar haben. So können Sie schöne Karten erstellen und wirklich zeigen, wo sich Ihre Daten befinden, was durch Ihre Daten eine weitere Dimension des Verständnisses bietet. Wir beginnen mit dem Laden unserer Daten. Unsere Daten enthalten bereits Längen- und Breitengrad. Sie sind jedoch in der falschen Reihenfolge, also müssen wir das berücksichtigen. Wir importieren Folium. Folium ist eine Möglichkeit, unsere Daten tatsächlich interaktiv auf Karten darzustellen. Wir beginnen also mit einer Folium-Basiskarte und geben den Standort unserer ersten Daten an. Und ich gehe gerne zu Fuß und einfache Weg für mich, einfach die Basiskarte für meine Daten zu erstellen , gibt den Mittelwert von Breiten- und Längengrad als Mittelpunkt unserer Karte an. Und dann können wir uns ja, die Wirkung von Displays ansehen . Sie können sehen, dass dies OpenStreetMap als Hintergrund hat . Und du kannst darin herumlaufen. Und dann können wir anfangen, Dinge hinzuzufügen. Ein Beispiel ist das Hinzufügen von Markern. Markierungen sind eine gute Möglichkeit, einfach Standorte aus Ihren Datenpunkten hinzuzufügen und einfach einige Beispielpositionen in den Tooltips dazu zu geben . Und das werden wir genau hier tun. Volumen hat also die Markerklasse und sieh dir all die verschiedenen Klassen an , die du verwenden kannst. Die Bibliothek wächst immer noch, aber sie enthält bereits einige wirklich nette Funktionen , um einige wirklich coole Karten zu erstellen. Und wir werden den Markt nutzen, um spazieren zu gehen. Wir werden ihnen die ersten Datenpunkte aus unserem Markt hinzufügen . Deshalb muss es zwei Methoden haben. Und wir werden die Basiskarte in die Zelle kopieren, weil alles in einer Zelle enthalten sein muss, um es ändern zu können. Und wir können es genau hier sehen. Also ändern wir das, fügen Breitengrad und Längengrad hinzu und verwenden einfach I locked, um die allererste Zeile aus unserem DataFrame zu bekommen, die wir gehen, fügen sie zu unserer Basiskarte hinzu. Und wenn wir den Zoom verkleinern, können wir unsere erste Markierung auf der Karte sehen. Das ist also ganz nett. Wir können uns auf der Karte ändern. Wir können auch die Markierungen ändern. Nun, verschiedene Arten von Markern. So können Sie Ihrer Karte auch Kreise für Marketingzwecke hinzufügen. Experimentiere auf jeden Fall damit. Es macht ziemlich viel Spaß. Ich denke, eine weitere ziemlich nette Möglichkeit, Daten zu visualisieren. Während unsere Karte beim Standardwert viel zu stark vergrößert wurde, war bei 12 also irgendwo nirgends zu finden. Zoomen Sie also am Anfang etwas heraus , damit wir in den Marcos tatsächlich sehen können, wir auch mehrere Markierungen hinzufügen können indem wir über unseren DataFrame iterieren. Dafür verwenden wir einfach die Methode it arose die wir im Datenrahmen haben, und diese gibt die Nummer unserer Zeile sowie die Zeile und den Zeileninhalt selbst zurück . Damit das funktioniert, werde ich wahrscheinlich ein Beispiel zur DF hinzufügen, denn wenn wir, wenn wir unserer Map 20.000 Markierungen hinzufügen würden, wäre diese Map ziemlich unlesbar. Da haben wir's. Also vielleicht fünf für den Anfang. Und gebraten. Hier füge ich die ISO hinzu, die in ihnen entpackt wurde, in der Schleife selbst. Und ich kann entfernen, ich sperre genau hier, weil wir auf keinen Ort unseres Dings zugreifen müssen. Die Iteration erledigt das bereits für uns. Und wir haben hier eine nette Gruppe von ein paar Mockus, von ein paar Mockus. Dann kannst du diese Markierungen auch ändern, z. B. einen Tooltip hinzufügen, wenn du den Mauszeiger darüber bewegst. Und dieser Tooltip kann alle Informationen enthalten , die uns zur Verfügung stehen. Also können wir z.B. die Nähe zum Meer genau hier nutzen. Wenn du nun den Mauszeiger darüber bewegst, kannst du sehen, welche Blumen dieser Marker hat Entsprechend unserem Datum in dieser Klasse haben wir uns angesehen, wie man Karten erstellt und diesen Karten Markierungen hinzufügt und sie wirklich macht nett und interaktiv. In der nächsten Klasse werden wir uns weitere interaktive Diagramme, Balkendiagramme und all das ansehen weitere interaktive Diagramme, , um direkt mit den Daten interagieren und diese schönen interaktiven Grafiken erstellen zu können . 33. 53 Daten neu exportieren: Oft müssen wir diese Daten speichern, weil wir die Analyse nicht die ganze Zeit wiederholen möchten. Alles, was wir wollen, ist, die Daten mit einem Kollegen zu teilen. Das bedeutet, dass wir die Daten oder die Visualisierungen, die wir machen, exportieren müssen. Und das werden wir in diesem Kurs machen. Wenn unsere Daten leicht geändert wurden, können wir z. B. die One-Hot-Codierung verwenden , die wir zuvor verwendet haben. Nur damit wir wissen, dass wir da verschiedene Daten haben. Und wir können zu, zu CSV oder was für eine dieser Methoden Sie ausfahren können, auch ausatmen und das in eine Datei schreiben. Auf diese Weise haben wir die Daten nach der Verarbeitung verfügbar und müssen die Berechnung nicht jedes Mal erneut ausführen. Und für CSV gibt es viele verschiedene Argumente, genau wie zum Lesen von CSV, es ist sehr praktisch und auf diese Weise können Sie die Nans hier wirklich durch zB nur das Wort nan ersetzen . Die Leute wissen also, dass dies eine Zahl und nicht nur ein fehlender Wert bei dem Sie vergessen haben , etwas hinzuzufügen. Und dann können wir uns diese Datei ansehen. Und auch der Jupiter-Browser, suche nach Nana. Und wir können hier sehen, dass es Nan direkt zur Datei hinzugefügt hat . Also wirklich ein praktischer Wrapper, um unseren DataFrame in ein gemeinsam nutzbares Format zu bringen. Auch hier können wir stattdessen auch die Schreibfunktion verwenden. So können Sie im Grunde jede Art von Datei ausschreiben, die Sie wollen. Wir verwenden den Text im Freien und diesen Punkt TXT und schalten den Modus in den Schreibmodus um. Also w, und wir verwenden jetzt einfach F S, ein Datei-Handle. Und F-Punkt, richtig? Es sollte uns die Möglichkeit oder die Möglichkeit geben , eine Zeichenfolge in diese Datei zu schreiben. Und wir können unseren DataFrame in eine Zeichenfolge mit Wandwerten konvertieren . Ich denke, es sollte eine Methode mit zwei Zeichenketten geben, um wirklich, ja, eine ToString-Methode genau hier zu geben, was Innocence und eine andere Exportmethode ist. Aber das ist wirklich nur, um zu zeigen, dass Sie alles ausschreiben können , was Sie als Zeichenfolge zu einer Datei formen können. Also wir werden gleich hier sehen, dass diese Wand nicht mehr so schön formatiert ist wie zuvor. Wir haben die Tabs dazwischen statt den Kommentator. Es braucht also wirklich ein bisschen String-Magie , damit das so gut funktioniert wie die Pandas zu CSV. Aber ja, so exportiert man Dateien in Python. Etwas, das Sie hier beachten sollten, ist, dass das Recht Ihre Datei immer überschreibt. Also, wenn du es auf etwas anderes änderst, schauen wir uns die Datei noch einmal an. Wir können sehen, dass uns das Auffrischen nur das gibt. Die Datei wird also durch den Schreibvorgang ersetzt. Es gibt noch einen, einen anderen Modus, den wir uns ansehen sollten, nämlich den Anfügemodus. Und der Anfügemodus hat nur den Signifikator a, dem wir einer Datei etwas hinzufügen können. Das ist also ziemlich nett, wenn Sie die Originaldaten beibehalten möchten oder Prozess , der andauert, Daten auszuschreiben und zu Ihrer Datei hinzuzufügen, zu einer vorhandenen Datei ohne diese Datei im Wesentlichen löschen. Wir können also gleich hier sehen, dass wir unseren DataFrame geschrieben haben. Und dann können wir das kopieren und so ändern, dass anhängen ausgeführt wird, es erneut ausführen, aktualisieren und uns das Ende ansehen. Es sollte irgendwas sagen oder sein. Und das tut es. Also ja, das sind Akten. Wir haben das schon in den Grundlagen der Visualisierung gemacht, aber falls Sie das überspringen, können Sie, wenn Sie Zahlen haben, diese Zahlen normalerweise mit dem Sicherheitsbefehl exportieren . Dieser braucht also einen Dateinamen, Dateihandler, irgendeine Art von Signifier, und natürlich brauchst du eine Art Plot. Ich möchte Sie hier wirklich auf die straffe Layoutmethode hinweisen , denn diese ist wirklich gut, zu jung, um das Layout Ihrer sicheren Grundstücke zu straffen. Wenn Sie also Ihre Daten speichern wird es funktionieren und es sieht ein bisschen wackelig aus. straffes Layout von plt.Show räumt die Ränder deiner Figur auf und macht sie in der Regel ansehnlicher. Ich führe sie im Grunde auf fast jeder exportierten Figur aus. Und hier können Sie sehen, dass unsere Figur einwandfrei exportiert wurde. Sie können all diese, all diese Parameter ändern. Natürlich, um die Figur genau so zu speichern , wie Sie es benötigen. Vielleicht haben Sie eine Unternehmensfarbe , die Ihre Figur haben soll. In. In diesem Fall habe ich mich für Schwarz entschieden, was natürlich eine schlechte Wahl ist , wenn du Legends bist oder unlock. Aber ja, nur um dir zu zeigen, wie man es macht, wie man damit herumspielt. Wir schauen uns an, wie einfach es ist, Daten in verschiedenen Formaten von Python zu speichern . Und dann schauen wir uns im nächsten Kurs an, wie wir Präsentationen direkt aus Jupiter Notebooks generieren können . 34. 54 Präsentationen neu: Es kann kompliziert sein, ganze Präsentationen zu erstellen, aber es ist möglich, Präsentationen von Ride Out of Jupiter zu bekommen . Und in diesem Kurs zeige ich dir, wie du jedes Notizbuch verwenden kannst. Wir verwenden die erstellte und die visuelle Erkundung. Sie möchten also zur Zellen-Symbolleiste und dann zur Diashow gehen . Und Sie können den Folientyp für jede Zelle ändern. Wenn Sie also möchten, dass eine Folie angezeigt oder übersprungen wird, wird eine der Hauptfolien sein. Dann. Also alles, was Sie wollen, auf einer eigenen Folie, können Sie als Slot, Folie oder Sub-Folie platzieren . Und die Unterfolie wird eine andere Navigation sein. Beachten Sie also diese Handlungen, während ich mir die Präsentation ansehe und in einer Sekunde. Und Fragment, wird der Folie der Eltern im Wesentlichen ein weiteres Element hinzufügen . Also werden wir das auch überprüfen. Nachdem wir diese markiert haben, können wir zu File Download S gehen und die Reveal JS-Folien aufrufen. Wenn wir das öffnen, erhalten wir eine Präsentation direkt im Browser. Lass uns das loswerden. Dies ist also eine Hauptfolie die im Wesentlichen nach rechts scrollt, und wir können uns die Daten immer noch ansehen und sie zeigt uns den Code und alles. Manchmal muss man ein bisschen mit, äh, mit, äh, Plots herumspielen , die funktionieren. Dies sind die Folien, über die wir zuvor gesprochen haben. Und jetzt wird das Fragment Ihrer Folie im Wesentlichen ein weiteres Element hinzufügen . Das ist also auch das Fragment und ein anderes Fragment. In diesem Kurs hatten wir einen Überblick darüber, wie man Präsentationen in JavaScript und HTML von Jupiter generiert . Wir haben gesehen, dass wir die Daten und den Code in unseren Präsentationen wirklich beibehalten können , sogar diese Diagramme automatisch einbeziehen können. Wir haben gesehen, dass wir Unterfolien und Fragmente machen können und diese wirklich interessanten Präsentationen machen , die sich von dem unterscheiden, was Sie normalerweise sehen. In der nächsten Klasse. Wir werden sehen, wie man PDF-Berichte aus Jupiter herausbekommt. 35. 55 PDF neu: In diesem letzten Kurs lernen Sie, wie Sie PDFs direkt aus dem Jupiter-Notizbuch generieren . Und wie Sie diese schönen Visualisierungen ohne Zwischenschritte in Ihre PDFs integrieren können. Wir beginnen mit einem Jupiter-Notizbuch und gehen zur Druckvorschau. Hier können wir es bereits als PDF speichern. Wenn wir das drucken. Alternativ können wir es als PDF herunterladen, aber hier müssen Sie sicherstellen, dass Sie es installiert haben. Und ich weiß, dass viele Leute nicht tun, ich habe es nicht auf diesem Computer, also bekommst du z. B. einen Serverfehler. Sie können den zusätzlichen Schritt machen, indem Sie es als HTML herunterladen. Öffnen Sie den HTML-Code und dieser entspricht der Druckvorschau und speichern Sie ihn als PDF. Und im PDF können Sie sehen , dass es jetzt Ihren Code und alle Informationen enthält , die Sie zuvor verfügbar hatten. Zusätzlich haben wir NB Convert, also die Notizbuchkonvertierungsfunktion , die mit Jupiter Notebook geliefert wird, und ich denke, das ist eine wirklich nette Art, damit zu arbeiten. Es hat mich gelesen, wenn du einfach Jupiter Space genannt wirst und bekehrt wirst. Und es wird dir sagen, wie man es im Wesentlichen benutzt. Was Sie also tun sollten , ist Ihre Daten direkt hier in meinem Code-Repository für diesen Skillshare-Kurs aufzurufen. Und dort können Sie einfach Jupiter und sich konvertieren lassen und dann eine der Methoden wählen, auf die Sie den Bericht aus diesem HTML generieren möchten. Html ist normalerweise die Standardeinstellung. Wenn Sie also gerade Jupiter aufgerufen und auf Ihrem Notizbuch konvertiert wurden, wird es in HTML konvertiert. Sie können auch das Minus minus zwei angeben. Wenn Sie jedoch PDF sagen, wird der gleiche Fehler wie zuvor angezeigt, dass Sie Latex nicht installiert haben. Wenn Sie das also installieren, können Sie diese PDF-Berichte problemlos direkt von uns abrufen und einrichten. Ein weiterer sehr netter Weg ist, dass , nun ja, wenn Sie in einem Jupiter-Notizbuch sind, er oft ein bisschen herumspielt und Ihre oder die, die Zellen können sein, ziemlich hohe Zahlen enthalten können. Also sei wie 60, 70. Und das zeigt im Grunde, wie viel Sie experimentiert haben. Wenn Sie ein sauberes Notizbuch wünschen , das von oben nach unten läuft, können Sie ihnen eine Minus-Minus-Ausführungsoption anbieten, die Ihr Notizbuch vor dem Export Zelle für Zelle ausführt . Und so generiert man PDFs in Jupiter. Also vielleicht musst du die neueste Version installieren , um das tun zu können. Alles. Sie verwenden die Druckfunktion aus den HTML-Berichten. Damit ist der Kurs über Datenwissenschaft und Python hier auf Skillshare abgeschlossen. Danke, dass du es bis hierher geschafft hast. Ich hoffe, es hat dir gefallen und ich hoffe das bringt es in deiner Karriere voran. 36. 60 Fazit neu: Herzlichen Glückwunsch, Sie haben den gesamten Kurs über Data Science mit Python hier auf Skillshare erfolgreich abgeschlossen. Und ich verstehe , dass das viel ist. Wir haben den gesamten Data-Science-Workflow durchlaufen, einschließlich des Ladens von Daten, Bereinigung von Daten, dann der explorativen Datenanalyse und Erstellung von Modellen für maschinelles Lernen. Anschließend validieren wir sie, prüfen die Interpretierbarkeit und erstellen Berichte und Präsentationen auf der Grundlage unserer Analysen. Das ist riesig und ich verstehe, dass das überwältigend sein kann. Sie können aber jederzeit zu den mundgerechten Videos zurückkehren und sich diese noch einmal ansehen , um sie zu verstehen und zu vertiefen und Ihr Wissen zu vertiefen. Gerade jetzt. Meiner Meinung nach bauen die besten Datenwissenschaftler einfach Projekte. Sie werden mehr über Datenwissenschaft lernen , indem Sie Ihr Wissen jetzt tatsächlich anwenden Deshalb haben wir ein Projekt. Am Ende dieses Kurses werden Sie ein nettes Data-Science-Projekt erstellen, Ihre eigenen Daten oder die Daten, die ich hier zur Verfügung stelle, analysieren und ein PDF mit mindestens einer Visualisierung erstellen , die Ihnen gefällt. Ehrlich gesagt, je mehr du tust, desto besser. Tauchen Sie tief in die Daten ein, finden Sie interessante Zusammenhänge in Ihrem Datensatz und finden Sie heraus, wie Sie diese am besten visualisieren können. Und so werden Sie ein besserer Datenwissenschaftler Ihr Wissen wirklich anwenden. Nochmals vielen Dank, dass Sie an diesem Kurs teilgenommen haben. Ich hoffe es hat dir gefallen. Und schau dir meine anderen Kurse hier auf Skillshare Wenn du Zeit hast, stelle sicher, dass du jetzt rausgehen und etwas Interessantes baust, etwas, das dir wirklich gefällt. Nochmals vielen Dank, dass Sie an diesem Kurs teilgenommen haben. Ich habe viel Arbeit investiert und freue mich, dass du es bis zum Ende geschafft hast. Ich hoffe, wir sehen uns wieder und bauen etwas anderes.