Lassen Sie uns einen tiefen Einblick in das Verständnis der verschiedenen Schritte eines jeden Information-Science-Projekts werfen.
Hallo, mein Identify ist Ayushman und dies ist mein erster Weblog auf Medium. Ich bin ein Fanatic der Datenwissenschaft und -analyse und werde daher in meinen Artikeln das wenige, was ich auf diesem Gebiet weiß, weitergeben. Bitte teilen Sie uns mit, wenn sie Ihnen gefallen, und geben Sie gerne Ihre Vorschläge und Ihr Suggestions ab.
In diesem Artikel erläutere ich den gesamten Lebenszyklus eines typischen Information-Science-Projekts.
Heutzutage, „Datenwissenschaft“ ist zum Schlagwort geworden. Da die Menge der täglich generierten Daten rasant zunimmt, kann die Nutzung ihrer Leistungsfähigkeit von immensem Wert sein.
„Zwischen dem Beginn der Zivilisation und dem Jahr 2003 wurden 5 Exabyte an Informationen erstellt, aber jetzt werden alle zwei Tage so viele Informationen erstellt.“
~ Eric Schmidt, Govt Chairman bei Google.
Die durch diese enorme Datenmenge gesammelten Informationen haben das Potenzial, eine Revolution herbeizuführen. Da wir nun bereits wissen, wie wertvoll relevante Daten für uns sein können, wollen wir uns nun mit den Schritten/Phasen eines Information-Science-Projekts befassen:
- Das Geschäftsproblem verstehen
- Daten sammeln
- Vorverarbeitung der Daten
- Auswahl der relevanten Funktionen
- Modellbau und -tests
- Modellbereitstellung
Das Geschäftsproblem verstehen
Dies ist der grundlegende Schritt jedes Projekts. Das richtige Verständnis der Problemstellung ist einer der wichtigsten Schritte, der es uns ermöglicht, auf dem Weg zur Lösung des Issues die richtigen Entscheidungen zu treffen. In der Anfangsphase ist es erforderlich, die richtigen Fragen zu stellen, was wir wirklich lösen wollen und wohin wir gelangen wollen. Einige Domänenkenntnisse oder ein gewisser Geschäftskontext können uns helfen, das Drawback besser zu verstehen und zu definieren.
Daten sammeln
Das Sammeln von Daten ist der nächste Schritt, bei dem wir die relevanten Daten sammeln, die zur Lösung des Geschäftsproblems erforderlich sind. Es kann viele Quellen geben, aus denen Daten gesammelt und für unsere Analysen verwendet werden können. Grundsätzlich gibt es zwei Möglichkeiten, Daten zu sammeln: primär und sekundär.
Primärdaten Dabei handelt es sich um die Artwork von Daten, die speziell für das Projekt gesammelt und in der Vergangenheit nicht verwendet wurden. Interviews, Beobachtungen, Umfragen und Fragebögen, Fokusgruppen usw. sind einige primäre Methoden zur Datenerhebung.
Andererseits, Sekundärdaten bezieht sich auf Daten, die bereits von jemand anderem gesammelt wurden und für unser Projekt von Wert sind. Daher ist es einfacher, diese Artwork von Daten zu sammeln. Diese Artwork von Daten kann aus dem Web, Regierungsarchiven usw. gesammelt werden.
Um Daten zu sammeln, müssen wir möglicherweise Datenbanken abfragen. Dies würde gute Kenntnisse erfordern Strukturierte Abfragesprache (SQL). Darüber hinaus können Daten auch als Flatfiles wie csv (durch Kommas getrennte Werte) oder tsv (durch Tabulatoren getrennte Werte) in verschiedenen Repositories im Web wie dem UCI ML-Repository oder auf Web sites wie Kaggle gefunden werden.
Eine andere Möglichkeit, Daten zu sammeln, ist durch Net-Scraping. Es gibt verschiedene Net-Scraping-Instruments, um Daten von Web sites zu extrahieren. Es gibt jedoch einige Web sites, die Benutzern das Scrapen von Daten nicht erlauben. Daten können auch über APIs von Drittanbietern erfasst werden. Viele Web sites wie Fb, Yahoo! Finanzen, Twitter usw. ermöglichen Benutzern den Zugriff auf ihre Daten.
Vorverarbeitung der Daten
Dies ist wohl einer der wichtigsten und zeitaufwändigsten Teile eines jeden Information-Science-Projekts. Die Verarbeitung der Daten vor der Einspeisung in das Modell kann die Genauigkeit erheblich beeinträchtigen. Daher sollte dieser Schritt mit größter Vorsicht und Aufmerksamkeit durchgeführt werden. Nach meinem Verständnis habe ich die Datenvorverarbeitung in zwei Teile unterteilt: Datenreinigung Und Explorative Datenanalyse (EDA). Lassen Sie uns näher auf die einzelnen Punkte eingehen:
Datenreinigung
Die von uns gesammelten Daten können sehr chaotisch sein, daher ist ihre Bereinigung äußerst wichtig. Der Umgang mit fehlenden Werten, der Umgang mit falschen Datentypen (z. B. das Ändern von Datumsangaben vom Typ „String“ in „Datum“), das Teilen oder Zusammenführen von Spalten, das Entfernen von Duplikaten und der Umgang mit Ausreißern sind einige der Vorgänge, die bei der Datenbereinigung erforderlich sind. Es gibt viele Möglichkeiten, diese Operationen über Programmiersprachen wie Python oder R auszuführen.
EDA
Sobald die Datenbereinigung abgeschlossen ist, besteht der nächste wichtige Schritt darin, die Daten zu untersuchen. Hier tauchen wir tatsächlich tief in die Daten ein. Daten zu untersuchen bedeutet im Grunde, die Artwork der Daten zu sehen, über die wir verfügen. Zum Beispiel die Berechnung des Mittelwerts und der Verteilung von Daten (für Spalten mit numerischen Daten), die Überprüfung der Anzahl der Kategorien und ihrer Verteilung im gesamten Datensatz (im Fall von kategorialen Spalten) usw. EDA kann durch die Erstellung verschiedener Visualisierungen wie Balken erfolgen Diagramme, Kreisdiagramme, Streudiagramme, Boxdiagramme, Liniendiagramme und mehr. EDA kann sein univariat, bivariat oder multivariat. Die Untersuchung von Daten kann uns helfen, Ausreißer zu finden, die ebenfalls behandelt werden müssen, bevor die Daten dem Modell zugeführt werden. Abhängig von der Artwork der Daten sowie der Anzahl der Datenpunkte kann mit Ausreißern unterschiedlich umgegangen werden.
Auswahl der relevanten Funktionen
Merkmale sind im Grunde die unabhängigen Variablen, die die Ausgabe vorhersagen. Ein Datensatz kann viele Funktionen enthalten, aber nicht alle davon sind für Vorhersagen nützlich. Für robuste Vorhersagen sind nur bestimmte relevante Merkmale erforderlich. Es sollte immer unser Ziel sein, ein verallgemeinertes Modell zu erstellen, das eine geringe Verzerrung und geringe Varianz aufweist, dh das Modell sollte sowohl für Trainings- als auch für Testdaten einen geringen Fehler aufweisen. Beim Erstellen eines Modells erhöht sich die Genauigkeit des Modells, indem nur bis zu einer bestimmten Anzahl weitere Options hinzugefügt werden. Danach nimmt die Genauigkeit ab. Dies ist als Fluch der Dimensionalität bekannt. Darüber hinaus erhöht sich auch die Schulungszeit, wenn zu viele Funktionen vorhanden sind, die eigentlich keine Informationen liefern. Daher ist eine sorgfältige Auswahl der Funktionen wichtig.
Es gibt im Großen und Ganzen drei Methoden zur Auswahl von Options:
1. Filtermethoden
Diese Methoden sind schnell und weniger rechenintensiv. Diese können auch bei einer Vielzahl an Options genutzt werden. Die Verwendung statistischer Methoden wie ANOVA, Chi-Quadrat, Fisher-Rating, gegenseitiger Informationsgewinn, Varianz, Korrelation usw. zur Auswahl von Merkmalen ist Teil der Filtermethoden.
Viele Merkmale korrelieren häufig miteinander (dies wird auch als bezeichnet). Multikollinearität) und daher kann die Beibehaltung all dieser Elemente die Genauigkeit des Modells beeinträchtigen. Das Merkmal, das die höchste Korrelation mit der Ausgabe aufweist, sollte beibehalten werden und andere korrelierte Merkmale sollten verworfen werden. Manchmal weisen einzelne Merkmale möglicherweise keine hohe Korrelation mit den Zielvariablen auf, aber die Kombination bestimmter Merkmale kann bei der Erstellung von Vorhersagen hilfreich sein.
Alle diese Methoden sind einfach und ermöglichen ein schnelles Screening und werden daher häufig verwendet.
2. Wrapper-Methoden
Diese Methoden sind rechenintensiver als Filtermethoden und werden für eine große Anzahl von Options nicht empfohlen. Eine große Anzahl von Options muss zunächst mithilfe von Filtermethoden herausgefiltert werden, bevor Wrapper-Methoden verwendet werden können. Im Gegensatz zu Filtermethoden verwenden diese Methoden maschinelle Lernalgorithmen, um die beste Teilmenge von Merkmalen für das Modell auszuwählen und somit eine bessere Leistung zu erzielen. Es gibt hauptsächlich drei Arten von Wrapper-Methoden:
- Vorwärtsschrittauswahl — Bei dieser Technik wird die Funktion mit der besten Leistung ermittelt. Im nächsten Schritt wird diese Funktion mit anderen Funktionen verwendet und die Kombination ausgewählt, die die beste Genauigkeit ergibt. Dieser Vorgang wird in den folgenden Schritten wiederholt, um die beste Teilmenge der Funktionen auszuwählen.
- Eliminierung rekursiver Merkmale (Auswahl in Rückwärtsschritten) — Dieser Vorgang ist das Gegenteil des oben Gesagten. Zunächst werden alle Variablen verwendet und in den folgenden Schritten die am wenigsten nützlichen Merkmale eliminiert, um die Teilmenge mit der besten Leistung auszuwählen.
- Umfassende Funktionsauswahl — Dies ist die rechenintensivste Methode von allen und nimmt viel Zeit in der Ausführung in Anspruch. Bei dieser Methode wird versucht, die Genauigkeit für alle möglichen Kombinationen der Merkmale zu berechnen. Das bedeutet, dass bei n Options das Modell 2^n Mal (insgesamt mögliche Kombinationen) trainiert wird, um die beste Teilmenge auszuwählen.
3. Eingebettete Methoden
Diese Methoden werden so genannt, weil sie während der Implementierung des maschinellen Lernalgorithmus eine Merkmalsauswahl durchführen. Sie sind schneller als Wrapper-Methoden. L1-Regularisierung (Lasso-Regression), L2-Regularisierung (Ridge-Regression)Und Zusätzliche Bäume sind einige eingebettete Methoden.
Regularisierungsmethoden bestrafen grundsätzlich die weniger wichtigen Merkmale und helfen so bei der Auswahl relevanter Merkmale.
Modellbau und -tests
Der Modellbau ist der unterhaltsame und spannende Teil, bei dem ein geeignetes Modell ausgewählt und die sauberen Daten zum Trainieren des Modells eingespeist werden. Basierend auf dem ausgewählten Modell müssen wir möglicherweise eine Leistung erbringen Characteristic-Skalierung. Die Skalierung von Options erfolgt, um die Werte aller Options in einem bestimmten Bereich zu erhalten. Gradientenabstieg Algorithmen wie lineare Regression, neuronale Netze, entfernungsbasierte Algorithmen wie KNN, Ok-Means-Clustering usw. erfordern eine Merkmalsskalierung, damit das Modell eine bessere Leistung erbringt. Baumbasierte Algorithmen wie Choice Tree und Random Forest hingegen werden von der Bandbreite der verschiedenen Funktionen nicht beeinflusst. Es gibt verschiedene Methoden zur Characteristic-Skalierung wie Standardisierung, Normalisierung usw.
In einigen Fällen können wir die Daten nun in Trainings- und Testsätze aufteilen oder völlig getrennte Daten als Testdaten verwenden. Jedes Modell, das wir für das Projekt auswählen, verfügt über einige Hyperparameter, die so abgestimmt sind, dass das Modell eine optimale Leistung erbringt. Nachdem das Modell trainiert wurde, wird es anhand des Testdatensatzes getestet. Es gibt eine Reihe von Metriken, um die Leistung des Modells zu überprüfen Mittlerer quadratischer Fehler (RMSE), mittlerer absoluter Fehler (MAE)usw. für Regressionsmodelle und Gezielte Präzision, usw. für Klassifizierungsmodelle.
Nachdem diese Werte berechnet wurden, werden die Hyperparameter entsprechend angepasst, um eine bessere Genauigkeit zu erzielen. Das Erstellen und Testen von Modellen ist im Grunde ein iterativer Prozess, der das Optimieren und Testen des Modells umfasst, bis wir die höchste Leistung erzielen. Das Ziel besteht darin, ein einfaches und verallgemeinertes Modell zu erstellen, das sowohl für Trainings- als auch für Testdaten eine gute Leistung erbringt (in der Fachsprache der Datenwissenschaft ein Modell, das Folgendes aufweist). geringer Bias und geringe Varianz).
Daher ist es äußerst wichtig, die Parameter verschiedener Modelle zu kennen, damit sie optimiert werden können, um die gewünschten Ergebnisse zu erzielen. Bestimmte Bibliotheken in scikit-learn wie RandomizedSearchCV und GridSearchCV erleichtern uns die Auswahl der richtigen Parameter. Sie trainieren das Modell grundsätzlich mit verschiedenen Kombinationen von Werten der vom Benutzer eingegebenen Hyperparameter und geben die Werte zurück, die die besten Ergebnisse erzielen. Dieser Schritt kann abhängig von der Datengröße, der Anzahl der Options und der Anzahl der Parameter, deren Werte fein abgestimmt werden sollen, viel Zeit in Anspruch nehmen.
Modellbereitstellung
Nachdem das Modell trainiert wurde und wir mit seiner Leistung zufrieden sind, kommen wir zur letzten Part des Projekts. Dies ist im Grunde der Schritt, in dem wir unser Projekt vorzeigbar und für die Nutzung durch den Kunden geeignet machen. Bei einem Projekt auf Branchenebene kann es vor dem eigentlichen Beginn der Bereitstellung einige Gespräche mit Kunden darüber geben, wo sie das Modell, die Formatierung, die Funktionalität usw. bereitstellen möchten. Der gesamte Code wird im Backend und bei den Benutzern ausgeführt interagieren über eine Schnittstelle, die so gestaltet ist, dass sie für sie verständlich ist. Information Science-Projekte können auf Cloud-Plattformen wie bereitgestellt werden AWS, Microsoft Azureoder Google Cloud Platform (GCP). Ein Framework, das verwendet Flasche oder Django Es ist auch sehr üblich, Information-Science-Projekte einzusetzen.
Nach ordnungsgemäßer Bereitstellung des Modells ist es einsatzbereit. Aber auch eine ordnungsgemäße und rechtzeitige Wartung des Modells ist notwendig. Es kann verschiedene Faktoren geben, die die Genauigkeit des Modells in Zukunft beeinflussen könnten. Daher ist eine regelmäßige Überprüfung der Leistung des Modells, die Aktualisierung der Datenquelle und die Optimierung der Hyperparameter sehr wichtig.
Dies waren im Großen und Ganzen die Schritte, die ein typisches Information-Science-Projekt umfasst. Je nach Umfang und Komplexität des Projekts können noch einige weitere kleine Schritte erforderlich sein.
Folgen Sie uns für weitere tolle Artikel zum Thema Datenwissenschaft!