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.