-
BEZUGNAHME AUF EINE ZUGEHÖRIGE ANMELDUNG
-
Diese Anmeldung beansprucht gemäß § 35 U.S.C. 119(e) die Priorität der Provisorischen US-Patentanmeldung Nr. 62/002,469, mit dem Titel ”Systems and Methods for Predictive Data Analytics”, eingereicht am 23. Mai 2014 mit dem Anwalts-Aktenzeichen Nr. DRB-001PR, die durch diesen Hinweis im gemäß dem zutreffenden Recht maximalen Umfang in die vorliegende Beschreibung aufgenommen wird.
-
GEBIET DER ERFINDUNG
-
Die vorliegende Offenbarung betrifft im Allgemeinen Systeme und Techniken zur Datenanalyse. Einige Ausführungsformen betreffen insbesondere Systeme und Techniken zur Verwendung statistischer Lern-Verfahren zur Entwicklung und/oder Auswahl prädiktiver Modelle für Vorhersageprobleme.
-
HINTERGRUND
-
Viele Organisationen und Personen verwenden elektronische Daten zum Verbessern ihrer Arbeitsabläufe oder Unterstützung ihrer Entscheidungsfindung. Zum Beispiel verwenden viele gewerbliche Unternehmen Datenmanagement-Technologien zum Erhöhen der Effizienz von verschiedenen Geschäftsvorgängen, wie Ausführen von Transaktionen, Nachvollziehen von Vorgaben und Ausgaben, oder Produktvermarktung. Als weiteres Beispiel verwenden viele Gesellschaften betriebsbedingte Daten zum Bewerten der Performanz von Geschäftsvorgängen, zum Messen der Effektivität von Bestrebungen zum Verbessern von Verfahren oder zum Entscheiden, wie Verfahren abgestimmt werden.
-
In einigen Fällen können elektronische Daten zum Vorwegnehmen von Problemen oder Gelegenheiten verwendet werden. Einige Organisationen bzw.
-
Unternehmen kombinieren Arbeitsablauf-Daten, die beschreiben, was in der Vergangenheit vorfiel, mit Bewertungs-Daten, die darauf folgende Werte von Performanz-Metriken beschreiben, zum Aufbau prädiktiver Modelle. Basierend auf den durch die prädiktiven Modelle vorhergesagten Resultaten, können Organisationen Entscheidungen vornehmen, Verfahren abstimmen oder andere Handlungen unternehmen. Zum Beispiel könnte eine Versicherungsgesellschaft versuchen, ein prädiktives Modell aufzubauen, das genauer zukünftige Ansprüche prognostiziert, oder ein prädiktives Modell, das voraussagt, wann sich Versicherungsnehmer überlegen, zu konkurrierenden Versicherern zu wechseln. Ein Kraftfahrzeughersteller könnte versuchen, ein prädiktives Modell aufzubauen, das den Bedarf für neue Auto-Modelle genauer prognostiziert. Eine Feuerwehr könnte versuchen, ein prädiktives Modell aufzubauen, das Tage mit hoher Brandgefahr prognostiziert, oder voraussagt, welche Bauten von einem Brand bedroht sind.
-
Maschinelle Lern-Techniken (z. B. kontrollierte statistische Lern-Techniken) können zum Erzeugen eines prädiktiven Modells aus einem Datensatz, der vorher aufgezeichnete Beobachtungen von zumindest zwei Variablen enthält, verwendet werden. Die vorherzusagenden Variable(n) können als ”Ziel(e)” bzw. „Targets”, ”Rückmeldung(en)” bzw. „Antworten” oder ”abhängige Variable(n)” bezeichnet werden. Die übrigen Variable(n), die zum Treffen der Vorhersagungen verwendet werden können, können als ”Merkmal(e)”, ”Prädiktor(en)”, oder ”unabhängige Variable(n)” bezeichnet werden. Die Beobachtungen werden im Allgemeinen in zumindest einen ”Trainings”-Datensatz und zumindest einen ”Test”-Datensatz eingeteilt. Ein Datenanalyst wählt dann eine statistische Lern-Prozedur aus und führt die Prozedur am Trainings-Datensatz zum Erzeugen eines prädiktiven Modells aus. Der Analyst testet dann das erzeugte Modell an dem Test-Datensatz zum Bestimmen, wie gut das Modell den/die Wert(e) des/der Ziel(s/e), bezüglich aktueller Beobachtungen des/der Ziel(s/e) voraussagt.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Motivation für einige Ausführungsformen der Erfindung
-
Datenanalysten können analytische Techniken und rechnerintensive Infrastrukturen zum Aufbau prädiktiver Modelle aus elektronischen Daten, einschließlich Arbeitsabläufe und Bewertungs-Daten, verwenden. Datenanalysten verwenden im Allgemeinen einen von zwei Ansätzen zum Aufbau prädiktiver Modelle. Bei dem ersten Ansatz verwendet eine Organisation, die sich mit einem Vorhersageproblem beschäftigt, einfach eine gebündelte prädiktive Modellier-Lösung, die bereits für dasselbe Vorhersageproblem oder ein ähnliches Vorhersageproblem entwickelt wurde. Dieser ”Ausstechform”-Ansatz, obgleich kostengünstig, ist im Allgemeinen nur für eine kleine Zahl von Vorhersageproblemen (z. B. Betrugsnachweis, Chum-Management, Kaufreaktion usw.) brauchbar, die einer relativ großen Zahl von Organisationen gemeinsam sind. Bei dem zweiten Ansatz, schafft ein Team von Datenanalysten eine kundenspezifische prädiktive Modellier-Lösung für ein Vorhersageproblem. Dieser ”fachmännische” Ansatz ist im Allgemeinen aufwändig und zeitraubend und wird daher in der Regel für eine klein Zahl von hochwertigen Vorhersageproblemen eingesetzt.
-
Der Raum für potenzielle prädiktive Modellier-Lösungen für ein Vorhersageproblem ist im Allgemeinen groß und komplex. Statistische Lern-Techniken werden von vielen akademischen Traditionen (z. B. Mathematik, Statistik, Physik, Ingenieurwesen, Ökonomie, Soziologie, Biologie, Medizin, künstliche Intelligenz, Datamining usw.) und von Anwendungen auf vielen Gebieten des Handels (z. B. Finanzen, Versicherung, Einzelhandel, Fertigung, Gesundheitspflege usw.) beeinflusst. Folglich gibt es viele verschiedene prädiktive Modellier-Algorithmen, die viele Varianten und/oder Abstimm-Parameter aufweisen können, wie auch weitere Preprocessing- und Postprocessing-Schritte mit ihren eigenen Varianten und/oder Parametern. Das Volumen von potenziellen prädiktiven Modellier-Lösungen (z. B. Kombinationen von Preprocessing-Schritten, Modellier-Algorithmen und Postprocessing-Schritten) ist bereits recht groß und wird zunehmend rascher, da Forscher neue Techniken entwickeln.
-
Angesichts dieses enormen Raums an prädiktiven Modellier-Techniken neigt der fachmännische Ansatz zum Erzeugen prädiktiver Modelle dazu, zeitraubend zu sein und zum Hinterlassen großer unangetasteter Abschnitte des Modellier-Such-Raums. Analysten neigen zum Untersuchen des Modellier-Raums in einer ad hoc-Weise, basierend auf ihrer Intuition oder früheren Erfahrung und auf ausgiebigen Versuch- und Fehler-Tests. Sie können nicht gewissen potenziell nützlichen Möglichkeiten einer Exploration nachgehen oder ihre Recherchen genau in Antwort auf die Ergebnisse ihrer anfänglichen Bestrebungen abstimmen. Außerdem neigt der Umfang der Versuch- und Fehler-Tests dazu, durch Einschränkungen der Zeit des Analysten begrenzt zu sein, sodass der fachmännische Ansatz im Allgemeinen nur einen kleinen Abschnitt des Modellier-Such-Raums untersucht.
-
Der fachmännische Ansatz kann auch sehr aufwändig sein. Eine Entwicklung eines prädiktiven Modells über den fachmännischen Ansatz zieht häufig eine wesentliche Investition in Rechen-Ressourcen und in gutbezahlte Datenanalysten nach sich. In Hinblick auf diese wesentlichen Kosten verzichten Organisationen häufig auf den fachmännischen Ansatz zugunsten des Ausstechform-Ansatzes, der zwar weniger aufwändig sein kann, aber zum Untersuchen nur eine kleinen Abschnitts dieses enormen prädiktiven Modellier-Raums in der Lage ist (z. B. ein Abschnitt des Modellier-Raums, von dem erwartet wird, dass er a priori annehmbare Lösungen zu einem ausgewiesenen Vorhersageproblem enthält). Der Ausstechform-Ansatz kann prädiktive Modelle erzeugen, die bezüglich unerforschter Optionen schlecht funktionieren.
-
Es gibt einen Bedarf für ein Tool, das systematisch und kostenwirksam den Raum von potenziellen prädiktiven Modellier-Techniken für Vorhersageprobleme bewertet. In vielerlei Hinsicht sind die üblichen Ansätze zum Erzeugen prädiktiver Modelle analog dem Erschließen wertvoller Ressourcen (z. B. Öl, Gold, Mineralien, Edelsteine usw.). Obwohl das Erschließen zu gewissen wertvollen Entdeckungen führen kann, ist es viel weniger effizient als eine geologische Messung kombiniert mit sorgfältig geplanter Erkundungs-Schürfung oder -Bohrung, basierend auf einer umfangreichen Bibliothek früherer Ergebnisse. Die Erfinder haben erkannt und schätzen gelernt, dass statistische Lern-Techniken zum systematischen und kostenwirksamen Bewerten des Raums von potenziellen prädiktiven Modellier-Lösungen für Vorhersageprobleme verwendet werden können.
-
Kurzdarstellung
-
Gemäß einem Aspekt der vorliegenden Offenbarung wird ein Verfahren zur Auswahl eines prädiktiven Modells für eine Vorhersageproblem bereitgestellt, wobei das Verfahren umfasst: Bestimmen von Eignungen einer Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf Eigenschaften des Vorhersageproblems und/oder auf Attributen der jeweiligen Modellier-Prozeduren; Auswahl zumindest einer Teilmenge von den prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem; Übertragen von Anweisungen zu einer Mehrzahl von Verarbeitungs-Knoten, wobei die Anweisungen einen Ressourcenzuteilungsplan umfassen, der Ressourcen von den Verarbeitungs-Knoten zur Ausführung der ausgewählten Modellier-Prozeduren zuteilt, wobei der Ressourcenzuteilungsplan, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem basiert; Empfangen von Ergebnissen der Ausführung der ausgewählten Modellier-Prozeduren durch die Mehrzahl von Verarbeitungs-Knoten gemäß dem Ressourcenzuteilungsplan, wobei die Ergebnisse prädiktive Modelle, erzeugt von den ausgewählten Modellier-Prozeduren, und/oder Scores der Modelle für Daten, zugehörig zu dem Vorhersageproblem, enthalten; und Auswahl aus den erzeugten prädiktiven Modellen eines prädiktiven Modells für das Vorhersageproblem, basierend, zumindest zum Teil, auf dem Score des prädiktiven Modells.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf den Eigenschaften des Vorhersageproblems, das Bestimmen der Eignung von zumindest einer der Mehrzahl von prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf einer oder mehreren Eigenschaften der Daten, zugehörig zu dem Vorhersageproblem, auf einer oder mehreren Beziehungen zwischen einer oder mehreren Variablen in den Daten, zugehörig zu dem Vorhersageproblem, und/oder auf dem Gegenstand des Vorhersageproblems.
-
In gewissen Ausführungsformen umfassen die eine oder mehreren Eigenschaften der Daten, zugehörig zu dem Vorhersageproblem, eine Breite der Daten, eine Höhe der Daten, eine Seltenheit der Daten, eine Dichte der Daten, eine Quelle der Daten, eine Zahl von Zielen in den Daten, und/oder eine Zahl von Merkmalen in den Daten.
-
In gewissen Ausführungsformen umfassen die eine oder mehreren Eigenschaften der Daten, zugehörig zu dem Vorhersageproblem, eine oder mehrere Verteilungen, Daten-Arten und/oder Bereichen von einer oder mehreren Variablen in den Daten.
-
In gewissen Ausführungsformen umfassen die eine oder mehreren Beziehungen zwischen der einen oder mehreren Variablen in den Daten eine variable Bedeutung von einem oder mehreren Merkmalen zu einem oder mehreren Zielen in den Daten und/oder eine statistische Beziehung zwischen zwei oder mehr Merkmalen in den Daten.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf den Attributen der jeweiligen Modellier-Prozeduren, das Bestimmen der Eignung von zumindest einer der Mehrzahl von prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf einer oder mehreren Daten-Verarbeitungs-Techniken, ausgeführt von den prädiktiven Modellier-Prozeduren, und/oder einer oder mehreren Daten-Verarbeitungs-Einschränkungen, die durch die prädiktive Modellier-Prozedur auferlegt werden.
-
In gewissen Ausführungsformen enthalten die einen oder mehreren Daten-Verarbeitungs-Techniken, ausgeführt durch die prädiktive Modellier-Prozedur Textmining, Merkmals-Normalisierung und/oder Dimensions-Reduktion.
-
In gewissen Ausführungsformen enthalten die eine oder mehreren Daten-Verarbeitungs-Einschränkungen, auferlegt durch die prädiktive Modellier-Prozedur, Einschränkungen hinsichtlich Dimensionalität, Eigenschaften von Zielen und/oder Eigenschaften von Merkmalen der Daten, zugehörig zu dem Vorhersageproblem.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem Beseitigung zumindest einer prädiktiven Modellier-Prozedur aus der Betrachtung, basierend auf einer oder mehreren Beziehungen zwischen den Eigenschaften von dem Vorhersageproblem und den Attributen der beseitigten Prozedur.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem Zuweisen eines Eignungs-Werts zu zumindest einer prädiktiven Modellier-Prozedur, basierend auf einer oder mehreren Beziehungen zwischen den Eigenschaften von dem Vorhersageproblem und den Attributen von der zumindest einen prädiktiven Modellier-Prozedur.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem Bestimmen der Eignung von einer ersten der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem, einschließlich: Auswahl von einem oder mehreren Vorhersageproblemen, basierend, zumindest zum Teil auf der Ähnlichkeit zwischen den Eigenschaften des Vorhersageproblems und den Eigenschaften von einem oder mehreren Vorhersageproblemen; Auswahl von einem oder mehreren prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf der Ähnlichkeit zwischen der ersten prädiktiven Modellier-Prozedur und der einen oder mehreren prädiktiven Modellier-Prozeduren; und Verarbeitung von Daten, die indikativ für Ergebnisse einer Anwendung der einen oder mehreren prädiktiven Modellier-Prozeduren auf das eine oder mehrere Vorhersageprobleme sind.
-
In gewissen Ausführungsformen umfasst die Auswahl von dem einen oder mehreren Vorhersageproblemen, basierend, zumindest zum Teil, auf der Ähnlichkeit zwischen Eigenschaften des Vorhersageproblems und Eigenschaften von einem oder mehreren Vorhersageproblemen, eine Auswahl von einem oder mehreren Vorhersageproblemen, basierend, zumindest zum Teil, auf der Ähnlichkeit zwischen Eigenschaften der Daten, zugehörig zu dem Vorhersageproblem, und Eigenschaften von Daten, zugehörig zu dem einen oder mehreren Vorhersageproblemen.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignung der ersten prädiktiven Modellier-Prozedur für das Vorhersageproblem weiterhin das Bestimmen der Ähnlichkeit zwischen der ersten Modellier-Prozedur und der einen oder mehreren Modellier-Prozeduren, basierend, zumindest zum Teil, auf Verarbeitungs-Schritten, ausgeführt von der ersten Modellier-Prozedur und der einen oder mehreren Modellier-Prozeduren.
-
In gewissen Ausführungsformen ist die erste Modellier-Prozedur ein Mitglied einer Familie von Modellier-Prozeduren und wobei die Auswahl der einen oder mehreren prädiktiven Modellier-Prozeduren, basierend hinsichtlich der Ähnlichkeit zwischen der ersten Modellier-Prozedur und der einen oder mehreren Modellier-Prozeduren, die Auswahl der einen oder mehreren Modellier-Prozeduren, basierend, zumindest zum Teil, auf der einen oder mehreren Modellier-Prozeduren, die Mitglieder der derselben Familie von Modellier-Prozeduren sind, umfasst.
-
In gewissen Ausführungsformen umfassen die Daten, indikativ für die Ergebnisse einer Anwendung der einen oder mehreren prädiktiven Modellier-Prozeduren auf das eine oder mehrere Vorhersageprobleme, Eignungs-Werte der einen oder mehreren prädiktiven Modellier-Prozeduren für das eine oder mehrere Vorhersageprobleme.
-
In gewissen Ausführungsformen besteht die eine oder mehrere prädiktive Modellier-Prozeduren aus der ersten prädiktiven Modellier-Prozedur.
-
In gewissen Ausführungsformen umfasst die Verarbeitung der Daten, indikativ für die Ergebnisse einer Anwendung der einen oder mehreren Modellier-Prozeduren auf das eine oder mehrere Vorhersageprobleme, Vorhersagen der Eignung der ersten prädiktiven Modellier-Prozedur für das Vorhersageproblem durch Anwendung einer zweiten prädiktiven Modellier-Prozedur auf die Daten, indikativ für die Ergebnisse einer Anwendung der einen oder mehreren Modellier-Prozeduren auf eines oder mehrere Vorhersageprobleme.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin: Verwendung des ausgewählten prädiktiven Modells zum Vorhersagen von Resultaten von Instanzen des Vorhersageproblems, wobei das ausgewählte prädiktive Modell von einer ersten von den prädiktiven Modellier-Prozeduren erzeugt wird; Aktualisieren von Daten, indikativ für Ergebnisse einer Anwendung der ersten prädiktiven Modellier-Prozedur auf das Vorhersageproblem, basierend, zumindest zum Teil, auf einer Beziehung zwischen den vorhergesagten Resultaten und aktuellen Resultaten der Instanzen des Vorhersageproblems.
-
In gewissen Ausführungsformen basiert das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren für das Vorhersageproblem weiterhin, zumindest zum Teil, auf einer Benutzer-Eingabe.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren Zuweisen von Eignungs-Scores den jeweiligen Modellier-Prozeduren und wobei die Auswahl zumindest einer Teilmenge der prädiktiven Modellier-Prozeduren die Auswahl einer oder mehrerer prädiktiver Modellier-Prozeduren mit Eignungs-Scores, die einen Schwellenwert-Eignungs-Score überschreiten.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin das Bestimmen des Schwellenwert-Eignungs-Scores, basierend, zumindest zum Teil, auf einer Menge von Verarbeitungs-Ressourcen, verfügbar zur Ausführung der ausgewählten Modellier-Prozeduren.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der Mehrzahl von prädiktiven Modellier-Prozeduren Zuweisen von Eignungs-Scores den jeweiligen Modellier-Prozeduren und wobei die Auswahl zumindest eine Teilmenge der prädiktiven Modellier-Prozeduren die Auswahl einer oder mehrerer prädiktiver Modellier-Prozeduren mit Eignungs-Scores innerhalb eines ausgewiesenen Bereichs von einem höchsten Eignungs-Score, zugewiesen einem beliebigen der prädiktiven Modellier-Prozeduren für das Vorhersageproblem, umfasst.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin Bestimmen des ausgewiesenen Bereichs, basierend, zumindest zum Teil, auf einer Menge an Verarbeitungs-Ressourcen, verfügbar zur Ausführung der ausgewählten Modellier-Prozeduren.
-
In gewissen Ausführungsformen umfasst die Auswahl zumindest einer Teilmenge von den prädiktiven Modellier-Prozeduren die Auswahl etwa eines ausgewiesenen Bruchteils der prädiktiven Modellier-Prozeduren mit höchsten Eignungs-Scores.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin das Bestimmen des ausgewiesenen Bruchteils, basierend, zumindest zum Teil, auf einer Menge von Verarbeitungs-Ressourcen, verfügbar zur Ausführung der ausgewählten Modellier-Prozeduren.
-
In gewissen Ausführungsformen umfasst die Auswahl zumindest einer Teilmenge von den prädiktiven Modellier-Prozeduren die Auswahl zumindest eines prädiktiven Modells, basierend, zumindest zum Teil, auf einer Benutzer-Eingabe.
-
In gewissen Ausführungsformen umfassen die zugeteilten Ressourcen der Verarbeitungs-Knoten Ausführungs-Zyklen der Verarbeitungs-Knoten, Ausführungs-Zeit an den Verarbeitungs-Knoten und/oder Computer-lesbare Speicherung der Verarbeitungs-Knoten.
-
In gewissen Ausführungsformen umfassen die Verarbeitungs-Knoten einen oder mehrere Cloud-basierte Verarbeitungs-Knoten.
-
In gewissen Ausführungsformen umfassen die ausgewählten Modellier-Prozeduren erste und zweite Modellier-Prozeduren, bestimmt, erste bzw. zweite Eignungen für das vorhergesagte Problem aufzuweisen, wobei die erste Eignung der ersten Modellier-Prozedur größer als die zweite Eignung der zweiten Modellier-Prozedur ist, und wobei der Ressourcenzuteilungsplan Ressourcen von den Verarbeitungs-Knoten zu den ersten und zweiten Modellier-Prozeduren, basierend, zumindest zum Teil, auf den ersten und zweiten Eignungen, zuteilt.
-
In gewissen Ausführungsformen teilt der Ressourcenzuteilungsplan einen Abschnitt der Verarbeitungs-Knoten-Ressourcen der ersten Modellier-Prozedur und einen kleineren Abschnitt der Verarbeitungs-Knoten-Ressourcen der zweiten Modellier-Prozedur zu, basierend, zumindest zum Teil, auf der ersten Eignung des ersten Modells, die größer als die zweite Eignung des zweiten Modells ist.
-
In gewissen Ausführungsformen terminiert der Ressourcenzuteilungsplan eine Ausführung der ersten und zweiten Modellier-Prozeduren auf den Verarbeitungs-Knoten bei einer ersten bzw. zweiten Zeit, wobei die zweite Zeit anschließend an die erste Zeit ist, basierend, zumindest zum Teil, auf der ersten Eignung der ersten Modellier-Prozedur, die größer als die zweite Eignung der zweiten Modellier-Prozedur ist.
-
In gewissen Ausführungsformen teilt der Ressourcenzuteilungsplan der ersten Modellier-Prozedur einen ersten Abschnitt von den Verarbeitungs-Knoten-Ressourcen zu, ausreichend zum Ausführen der ersten Modellier-Prozedur an einem ersten Daten-Satz, und teilt der zweiten Modellier-Prozedur einen zweiten Abschnitt der Verarbeitungs-Knoten-Ressourcen zu, ausreichend zum Ausführen der zweiten Modellier-Prozedur an einem zweiten Daten-Satz, wobei der zweite Daten-Satz kleiner als der erste Daten-Satz ist.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin das Bestimmen einer Menge der Verarbeitungs-Ressourcen, ausreichend zum Ausführen der ersten Modellier-Prozedur an dem ersten Daten-Satz, basierend, zumindest zum Teil, auf Metadaten, zugehörig zu der ersten Modellier-Prozedur, wobei die Metadaten-Verarbeitungs-Ressourcen-Nutzungs-Eigenschaften und/oder Parallelismus-Eigenschaften der ersten Modellier-Prozedur anzeigen.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin Empfangen von Budget-Daten, die ein temporäres und/oder Ressourcen-Budget zum Ausführen der ausgewählten Modellier-Prozeduren anzeigen, wobei der Ressourcenzuteilungsplan Ressourcen der Verarbeitungs-Knoten gemäß dem temporären und/oder Ressource-Budget zuteilt.
-
In gewissen Ausführungsformen enthalten die Ergebnisse der Ausführung der ausgewählten prädiktiven Modellier-Prozeduren Ergebnisse von: Anpassen der erzeugten Modelle an einen ersten Abschnitt der Daten, zugehörig zu dem Vorhersageproblem, und Testen der angepassten Modelle an einem zweiten Abschnitt der Daten, zugehörig zu dem Vorhersageproblem.
-
In gewissen Ausführungsformen umfasst das Anpassen der Modelle, erzeugt durch die ausgewählten prädiktiven Modellier-Prozeduren an dem ersten Abschnitt der Daten, Abstimmen von einem oder mehreren Parametern der ausgewählten Modellier-Prozedur und/oder einem oder mehreren Parametern der erzeugten Modelle.
-
In gewissen Ausführungsformen enthalten die Ergebnisse der Ausführung der ausgewählten prädiktiven Modellier-Techniken weiterhin Ergebnisse einer Vergleichsprüfung der erzeugten Modelle unter Verwendung verschiedener Folds der Daten, zugehörig zu dem Vorhersageproblem.
-
In gewissen Ausführungsformen umfasst die Auswahl eines prädiktiven Modells, erzeugt durch die ausgewählten prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf dem Score des ausgewählten Modells, die Auswahl eines Modells mit einem Score, der einen Schwellenwert-Score überschreitet.
-
In gewissen Ausführungsformen umfasst die Auswahl eines prädiktiven Modells, erzeugt durch die ausgewählten prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf dem Score des ausgewählten Modells, die Auswahl eines Modells mit einem Score innerhalb eines ausgewiesenen Bereichs von einem höchsten Score von beliebigen der erzeugten Modelle.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin: Erzeugen eines vermischten prädiktiven Modells durch Kombinieren von zwei oder mehreren der Modelle, erzeugt durch die ausgewählten prädiktiven Modellier-Prozeduren; und Bewerten des vermischten prädiktiven Modells.
-
In gewissen Ausführungsformen umfasst das Verfahren weiterhin: iteratives Empfangen der Scores der Modelle, erzeugt durch die ausgewählten prädiktiven Modellier-Prozeduren und erneutes Bestimmen der Eignungen der ausgewählten prädiktiven Modellier-Prozeduren für das Vorhersageproblem, basierend, zumindest zum Teil, auf den Scores, bis ein temporäres und/oder Ressourcen-Budget verwendet wurde oder ein Score von einem erzeugten Modell einen Schwellenwert-Score überschreitet.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung wird eine prädiktive Modellier-Einrichtung bereitgestellt, umfassend: einen Speicher, konfiguriert zum Speichern von Prozessor-ausführbaren Anweisungen; und einen Prozessor, konfiguriert zur Ausführung der Prozessor-ausführbaren Anweisungen, wobei das Ausführen der Prozessor-ausführbaren Anweisungen die Einrichtung zum Ausführen eines Verfahrens veranlasst, umfassend: Bestimmen von Eignungen einer Mehrzahl von prädiktiven Modellier-Prozeduren für ein Vorhersageproblem, basierend, zumindest zum Teil, auf Eigenschaften des Vorhersageproblems und/oder auf Attributen der jeweiligen Modellier-Prozeduren, Auswahl zumindest einer Teilmenge der prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem, Übertragen von Anweisungen auf eine Mehrzahl von Verarbeitungs-Knoten, wobei die Anweisungen einen Ressourcenzuteilungsplan, der Ressourcen der Verarbeitungs-Knoten zur Ausführung der ausgewählten Modellier-Prozeduren zuteilt, umfassen, wobei der Ressourcenzuteilungsplan, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem basiert, Empfangen von Ergebnissen der Ausführung der ausgewählten Modellier-Prozeduren durch die Mehrzahl von Verarbeitungs-Knoten gemäß dem Ressourcenzuteilungsplan, wobei die Ergebnisse prädiktive Modelle, erzeugt durch die ausgewählten Modellier-Prozeduren, und/oder Scores der Modelle für Daten, zugehörig zu dem Vorhersageproblem enthalten, und Auswahl aus den erzeugten prädiktiven Modellen eines prädiktiven Modells für das Vorhersageproblem, basierend, zumindest zum Teil, auf dem Score des prädiktiven Modells.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung wird ein Herstellungs-Gegenstand bereitgestellt, wobei der Herstellungs-Gegenstand Computer-lesbare Anweisungen darauf gespeichert aufweist, zum: Bestimmen der Eignungen einer Mehrzahl von prädiktiven Modellier-Prozeduren für ein Vorhersageproblem, basierend, zumindest zum Teil, auf Eigenschaften des Vorhersageproblems und/oder auf Attributen der jeweiligen Modellier-Prozeduren; Auswahl zumindest einer Teilmenge der prädiktiven Modellier-Prozeduren, basierend, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem; Übertragen von Anweisungen auf eine Mehrzahl von Verarbeitungs-Knoten, wobei die Anweisungen einen Ressourcenzuteilungsplan umfassen, der Ressourcen der Verarbeitungs-Knoten zur Ausführung der ausgewählten Modellier-Prozeduren zuteilt, wobei der Ressourcenzuteilungsplan, zumindest zum Teil, auf den bestimmten Eignungen der ausgewählten Modellier-Prozeduren für das Vorhersageproblem basiert; Empfangen von Ergebnissen der Ausführung der ausgewählten Modellier-Prozeduren von der Mehrzahl von Verarbeitungs-Knoten gemäß dem Ressourcenzuteilungsplan, wobei die Ergebnisse prädiktive Modelle, erzeugt durch die ausgewählten Modellier-Prozeduren, und/oder Scores der Modelle für Daten, zugehörig zu dem Vorhersageproblem, enthalten; und Auswahl aus den erzeugten prädiktiven Modellen eines prädiktiven Modells für das Vorhersageproblem, basierend, zumindest zum Teil, auf dem Score des prädiktiven Modells.
-
Weitere Aspekte und Vorteile der Erfindung werden aus den nachstehenden Zeichnungen, der Beschreibung im Einzelnen, und den Ansprüchen ersichtlich, die insgesamt die Grundsätze der Erfindung, allerdings nur beispielhaft erläutern.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Vorteile der Ausführungsformen können durch Bezugnahme auf die nachstehende Beschreibung gemeinsam mit den beigefügten Zeichnungen verstanden werden. In den Zeichnungen beziehen sich gleiche Bezugsziffern im Allgemeinen auf dieselben Teile über die gesamten verschiedenen Ansichten. Die Zeichnungen sind auch nicht notwendigerweise maßstabsgerecht, wodurch stattdessen im Allgemeinen auf die Veranschaulichung von Grundsätzen der Ausführungsformen der Erfindung Wert gelegt wird.
-
1 ist ein Blockschema eines prädiktiven Modellier-Systems, gemäß einigen Ausführungsformen;
-
2 ist ein Blockschema eines Modellier-Tools zum Aufbau maschinenausführbarer Template, die prädiktive Modellier-Tasks, -Techniken und -Verfahrensweisen kodieren, gemäß einigen Ausführungsformen;
-
3 ist ein Fließschema eines Verfahrens zur Auswahl eines prädiktiven Modells für ein Vorhersageproblem, gemäß einigen Ausführungsformen;
-
4 zeigt ein weiteres Fließschema eines Verfahrens zur Auswahl eines prädiktiven Modells für ein Vorhersageproblem, gemäß einigen Ausführungsformen;
-
5 ist ein Schema eines prädiktiven Modellier-System, gemäß einigen Ausführungsformen;
-
6 ist ein weiteres Blockschema eines prädiktiven Modellier-Systems, gemäß einigen Ausführungsformen;
-
7 veranschaulicht eine Kommunikation unter Komponenten eines prädiktiven Modellier-Systems, gemäß einigen Ausführungsformen; und
-
8 ist weiteres Schema eines prädiktiven Modellier-Systems, gemäß einigen Ausführungsformen.
-
BESCHREIBUNG IM EINZELNEN
-
Überblick über das prädiktive Modellier-System
-
Bezugnehmend auf 1 enthält in einigen Ausführungsformen ein prädiktives Modellier-System 100 eine prädiktive Modellier-Explorationsmaschine 110, eine Benutzer-Schnittstelle 120, eine Bibliothek 130 von prädiktiven Modellier-Techniken und eine prädiktive Modell-Deployment-Maschine 140. Die Explorationsmaschine 110 kann eine Such-Technik (oder ”Modellier-Verfahrensweise”) für effiziente Exploration des prädiktiven Modellier-Such-Raums (z. B. potenzielle Kombinationen von Preprocessing-Schritten, Modellier-Algorithmen und Postprocessing-Schritten) zum Erzeugen einer prädiktiven Modellier-Lösung, die für ein ausgewiesenes Vorhersageproblem geeignet ist, implementieren. Die Such-Technik kann eine anfängliche Bewertung enthalten, deren prädiktive Modellier-Techniken wahrscheinlich geeignete Lösungen für das Vorhersageproblem bereitstellen würden. In gewissen Ausführungsformen enthält die Such-Technik eine inkrementelle Bewertung des Such-Raums (z. B. unter Verwendung zunehmender Bruchteile eines Datensatzes) und einen konsistenten Vergleich der Eignung von verschiedenen Modellier-Lösungen für das Vorhersageproblem (z. B. unter Verwendung konsistenter Metriken). In gewissen Ausführungsformen passt sich die Such-Technik an, basierend auf Ergebnissen vorangehender Recherchen, was die Effektivität der Such-Technik mit der Zeit verbessern kann.
-
Die Explorationsmaschine 110 kann die Bibliothek 130 von Modellier-Techniken zum Bewerten potenzieller Modellier-Lösungen im Such-Raum verwenden. In gewissen Ausführungsformen enthält die Modellier-Technik-Bibliothek 130 maschinenausführbare Template, die vollständige Modellier-Techniken kodieren. Ein maschinenausführbareres Templat kann ein oder mehrere prädiktive Modellier-Algorithmen enthalten. In gewissen Ausführungsformen können die Modellier-Algorithmen, die in einem Templat enthalten sind, in gewisser Weise in Bezug stehen. Zum Beispiel können die Modellier-Algorithmen Varianten desselben Modellier-Algorithmus oder der Mitglieder einer Familie von Modellier-Algorithmen sein. In gewissen Ausführungsformen enthält ein maschinenausführbares Templat weiterhin ein oder mehrere Preprocessing- und/oder Postprocessing-Schritte, die zur Verwendung mit dem/den Algorithm(us/en) des/der Templat(s/e) geeignet sind. Der/die Algorithm(us/en), Preprocessing-Schritte und/oder Postprocessing-Schritte können parameterisiert sein. Ein maschinenausführbareres Templat kann auf einen Benutzer-Datensatz zum Erzeugen potenzieller prädiktiver Modellier-Lösungen für das durch den Datensatz dargestellte Vorhersageproblem angewendet werden.
-
Die Explorationsmaschine 110 kann die Rechen-Ressourcen eines verteilten (distributierten) Rechensystems zum Untersuchen des Such-Raums oder Abschnitten davon verwenden. In gewissen Ausführungsformen erzeugt die Explorationsmaschine 110 einen Suchplan zum effizienten Ausführen der Suche unter Verwendung der Ressourcen des verteilten Rechensystems und das verteilte Rechensystem führt die Suche gemäß dem Suchplan aus. Das verteilte Rechensystem kann Schnittstellen vorsehen, die die Bewertung von prädiktiven Modellier-Lösungen gemäß dem Suchplan erleichtern, einschließlich, ohne Begrenzung darauf, Schnittstellen zum Queuing und Monitoring von prädiktiven Modellier-Techniken, zur Virtualisierung der Ressourcen des Rechensystems, zum Zugriff auf Datenbanken, zum Partitionieren des Suchplans und Zuteilen der Ressourcen des Rechensystems zur Bewertung von Modellier-Techniken, zum Sammeln und Organisieren von Ausführungs-Ergebnissen, zum Akzeptieren einer Benutzer-Eingabe usw.
-
Die Benutzer-Schnittstelle 120 stellt Tools zum Monitoring und/oder Führen der Suche des prädiktiven Modellier-Raums bereit. Diese Tools können einen Einblick in einen Datensatz des Vorhersageproblems (z. B. durch Hervorheben problematischer Variablen in dem Datensatz, Identifizieren von Beziehungen zwischen Variablen in dem Datensatz usw.) und/oder Einblick in die Ergebnisse der Suche vorsehen. In gewissen Ausführungsformen können Datenanalysten die Schnittstelle zum Führen der Suche verwenden, z. B. durch Spezifizieren der Metriken, die zum Bewerten und Vergleichen von Modellier-Lösungen einzusetzen sind, durch Spezifizieren der Kriterien zum Erkennen einer geeigneten Modellier-Lösung, usw. Somit kann die Benutzer-Schnittstelle von Analysten zum Verbessern ihr eigenen Produktivität und/oder zum Verbessern der Performanz der Explorationsmaschine 110 verwendet werden. In gewissen Ausführungsformen präsentiert die Benutzer-Schnittstelle 120 die Ergebnisse der Suche in Echtzeit und erlaubt Benutzern das Führen der Suche (z. B. zum Abstimmen des Umfangs der Suche oder der Zuteilung von Ressourcen unter den Bewertungen von verschiedenen Modellier-Lösungen) in Echtzeit. In gewissen Ausführungsformen stellt die Benutzer-Schnittstelle 120 Tools zum Koordinieren der Bestrebungen von mehreren Datenanalysten, die an demselben Vorhersageproblem und/oder damit in Bezug stehenden Vorhersageproblemen arbeiten, bereit.
-
In gewissen Ausführungsformen stellt die Benutzer-Schnittstelle 120 Tools zum Entwickeln maschinenausführbarer Template für die Bibliothek 130 von Modellier-Techniken bereit. System-Benutzer können diese Tools zum Modifizieren vorhandener Template, zum Schaffen neuer Template oder zum Entfernen von Templaten aus der Bibliothek 130 verwenden. In dieser Weise können System-Benutzer die Bibliothek 130 zum Reflektieren von Fortschritten bei der prädiktiven Modellier-Recherche und/oder um proprietäre prädiktive Modellier-Techniken einzuschließen, aktualisieren.
-
Die Modell-Deployment-Maschine 140 stellt Tools zum Einsatz prädiktiver Modelle in Einsatz-Umgebungen bereit (z. B. prädiktive Modelle, erzeugt von Explorationsmaschine 110). In gewissen Ausführungsformen stellt die Modell-Deployment-Maschine auch Tools zum Monitoring und/oder Aktualisieren prädiktiver Modelle bereit. System-Benutzer können die Deployment-Maschine 140 zum Einsatz prädiktiver Modelle, erzeugt von Explorationsmaschine 110, zur Überwachung der Performanz solcher prädiktiver Modelle und zum Aktualisieren solcher Modelle (z. B. basierend auf neuen Daten oder Fortschritten bei prädiktiven Modellier-Techniken) verwenden. In gewissen Ausführungsformen kann Explorationsmaschine 110 von Deployment-Maschine 140 gesammelte und/oder erzeugte Daten verwenden (z. B. basierend auf Ergebnissen des Monitorings der Performanz der eingesetzten prädiktiven Modelle) zum Führen der Exploration eines Such-Raums für ein Vorhersageproblem (z. B. zum Nachrüsten oder Abstimmen eines prädiktiven Modells in Antwort auf Änderungen im eigentlichen Datensatz für das Vorhersageproblem).
-
Diese und andere Aspekte des prädiktiven Modellier-Systems 100 werden nachstehend in weiteren Einzelheiten beschrieben.
-
Bibliothek von Modellier-Techniken
-
Bibliothek 130 von prädiktiven Modellier-Techniken enthält maschinenausführbare Template, die prädiktive Modellier-Techniken vollständig kodieren. In gewissen Ausführungsformen enthält ein maschinenausführbares Templat ein oder mehrere prädiktive Modellier-Algorithmen, null oder mehr Preprocessing-Schritte, geeignet zur Verwendung mit dem/den Algorithm(us/en), und null oder mehr Postprocessing-Schritte, geeignet zur Verwendung mit dem/den Algorithm(us/en). Der/die Algorithm(us/en), Preprocessing-Schritte und/oder Postprocessing-Schritte können parameterisiert sein. Ein maschinenausführbareres Templat kann auf einen Datensatz zum Erzeugen potenzieller prädiktiver Modellier-Lösungen für das durch den Datensatz dargestellte Vorhersageproblem angewendet werden.
-
Ein Templat kann für Maschinen-Ausführung, Preprocessing-Schritte, Modell-Einpass-Schritte und/oder Postprocessing-Schritte, die zur Verwendung mit den prädiktiven Modellier-Algorithm(us/en) des Templats geeignet sind, kodieren. Beispiele der Preprocessings-Schritte schließen ohne Begrenzung darauf Eingabe fehlender Werte, Feature-Engineering (z. B. 1-aus-n-Code, Splines, Textmining, usw.), Merkmals-Selektion (z. B. Fallenlassen uninformativer Merkmale, Fallenlassen stark korrelierender Merkmale, Ersetzen ursprünglicher Merkmale durch Top-Principal-Komponenten usw.) ein. Beispiele der Modell-Einpass-Schritte schließen ohne Begrenzung darauf Algorithmus-Selektion, Parameter-Schätzung, Hyper-Parameter-Abstimmung, Scoring, Diagnostik usw. ein. Beispiele der Postprocessing-Schritte schließen ohne Begrenzung darauf Kalibrierung von Vorhersagungen, Censoring, Blending usw. ein.
-
In gewissen Ausführungsformen enthält ein maschinenausführbares Templat Metadaten, die Merkmale der durch das Templat kodierten prädiktiven Modellier-Technik beschreiben. Die Metadaten können einer oder mehreren Daten-Verarbeitungs-Techniken anzeigen, dass das Templat als Teil einer prädiktiven Modellier-Lösung (z. B. in einem Preprocessing-Schritt, in einem Postprocessing-Schritt oder in einem Schritt eines prädiktiven Modellier-Algorithmus) wirken kann. Diese Daten-Verarbeitungs-Techniken können ohne Begrenzung darauf Textmining, Merkmal-Normalisierung, Dimensions-Reduktion oder andere geeignete Daten-Verarbeitungs-Techniken einschließen. Alternativ oder zusätzlich können die Metadaten eine oder mehrere Daten-Verarbeitungs-Einschränkungen anzeigen, auferlegt durch die prädiktive durch das Templat kodierte Modellier-Technik, einschließlich ohne Begrenzung darauf von Einschränkungen hinsichtlich der Dimensionalität des Datensatzes, Eigenschaften der Ziel(e) des Vorhersageproblems und/oder Eigenschaften der Merkmal(e) des Vorhersageproblems.
-
In gewissen Ausführungsformen enthalten Metadaten eines Templats Informationen, die zum Schätzen relevant sind, wie gut die entsprechende Modellier-Technik für einen gegebenen Datensatz funktionieren wird. Zum Beispiel können Metadaten eines Templats anzeigen, wie gut die Ausführung der entsprechenden Modellier-Technik an den Datensätzen mit den besonderen Eigenschaften erwartet wird, einschließlich, ohne Begrenzung, breiter Datensätze, hoher Datensätze, lockerer Datensätze, dichter Datensätze, Datensätze, die Text enthalten oder nicht, Datensätze, die Variablen von verschiedenen Daten-Arten enthalten (z. B. numerisch, ordinal, kategorisch, interpretiert (z. B. Datum, Zeit, Text), usw.), Datensätze, die Variablen mit verschiedenen statistischen Eigenschaften enthalten (z. B. statistische Eigenschaften in Bezug auf fehlende Werte, Kardinalität, Verteilung, usw. der Variable), usw. Als weitere Beispiele können Metadaten eines Templats anzeigen, wie gut die Ausführung der entsprechenden Modellier-Technik für ein Vorhersageproblem, das Target-Variablen eines bestimmten Typs involviert, erwartet wird. In gewissen Ausführungsformen zeigen Metadaten eines Templats die entsprechende erwartete Performanz der Modellier-Technik bezüglich einer oder mehreren Performanz-Metriken (z. B. objektive Funktionen).
-
In gewissen Ausführungsformen enthalten Metadaten eines Templats Eigenschaften der Verarbeitungs-Schritte, die durch die entsprechende Modellier-Technik implementiert werden, einschließlich ohne Begrenzung darauf, der zugelassenen Daten-Type(n), Struktur und/oder Dimensionalität der Verarbeitungs-Schritte.
-
In gewissen Ausführungsformen enthalten Metadaten eines Templats Daten, indikativ für die Ergebnisse (aktuell oder erwartet) einer Anwendung der durch das Templat dargestellten prädiktiven Modellier-Technik auf eines oder mehrere Vorhersageprobleme und/oder Datensätze. Die Ergebnisse einer Anwendung einer prädiktiven Modellier-Technik auf ein Vorhersageproblem oder einen Datensatz können, ohne Begrenzung darauf, die Genauigkeit, mit der prädiktive Modelle, erzeugt durch die prädiktive Modellier-Technik, die Ziel(e) des Vorhersageproblems oder Datensatzes vorhersagen, den Rang an Genauigkeit der prädiktiven Modelle, erzeugt durch die prädiktive Modellier-Technik (bezüglich anderer prädiktiver Modellier-Techniken) für das Vorhersageproblem oder den Datensatz, einen Score, der den Nutzen der Verwendung der prädiktiven Modellier-Technik zum Erzeugen eines prädiktiven Modells für das Vorhersageproblem oder den Datensatz repräsentiert (z. B. der Wert, erzeugt durch das prädiktive Modell für eine Zielfunktion), usw. einschließen.
-
Die Daten, indikativ für die Ergebnisse einer Anwendung einer prädiktiven Modellier-Technik auf ein Vorhersageproblem oder einen Datensatz, können durch Explorationsmaschine 110 (z. B. basierend auf den Ergebnissen von früheren Versuchen zur Verwendung der prädiktiven Modellier-Technik für das Vorhersageproblem oder den Datensatz) bereitgestellt werden, durch einen Benutzer (z. B. basierend auf der Kompetenz des Benutzers) bereitgestellt werden, und/oder von einer beliebigen anderen geeigneten Quelle erhalten werden. Bei gewissen Ausführungsformen aktualisiert Explorationsmaschine 110 solche Daten, basierend, zumindest zum Teil, auf der Beziehung zwischen aktuellen Resultaten von Fällen eines Vorhersageproblems und den Resultaten, vorhergesagt durch ein prädiktives Modell, das über die prädiktive Modellier-Technik erzeugt wurde.
-
In gewissen Ausführungsformen beschreiben Metadaten eines Templats Eigenschaften der entsprechenden Modellier-Technik, die relevant zum Schätzen sind, wie effizient die Modellier-Technik einer verteilten Rechen-Infrastruktur ausgeführt wird. Zum Beispiel können Metadaten eines Templats die Verarbeitungs-Ressourcen, die zum Trainieren und/oder Testen der Modellier-Technik an einem Datensatz einer gegebenen Größe erforderlich sind, die Wirkung auf den Ressourcen-Verbrauch der Zahl von Vergleichsprüfungs-Folds und der Zahl von Punkten, gesucht im Hyper-Parameter-Raum, die intrinsische Parallelisierung der Verarbeitungs-Schritte, ausgeführt durch die Modellier-Technik, usw. anzeigen.
-
In gewissen Ausführungsformen enthält die Bibliothek 130 von Modellier-Techniken Tools zum Bewerten der Ähnlichkeiten (oder Unterschiede) zwischen prädiktiven Modellier-Techniken. Solche Tools können die Ähnlichkeit zwischen zwei prädiktiven Modellier-Techniken als einen Score (z. B. auf einer vorbestimmten Skale), eine Klassifizierung (z. B. ”sehr ähnlich”, ”etwas ähnlich”, ”etwas unähnlich”, ”sehr unähnlich”), eine binäre Bestimmung (z. B. ”ähnlich” oder ”nicht ähnlich”), usw. ausdrücken. Solche Tools können die Ähnlichkeit zwischen zwei prädiktiven Modellier-Techniken bestimmen, basierend auf den Verarbeitungs-Schritten, die mit den Modellier-Techniken gemeinsam sind, basierend auf den Daten, indikativ für die Ergebnisse einer Anwendung der zwei prädiktiven Modellier-Techniken auf dasselbe oder ähnliche Vorhersageprobleme, usw. Zum Beispiel angesichts zweier prädiktiver Modellier-Techniken, die eine große Zahl (oder hohen Prozentsatz) von ihren Verarbeitungs-Schritten gemeinsam haben und/oder ähnliche Ergebnisse ergeben, wenn sie auf ähnliche Vorhersageprobleme angewendet werden, können die Tools den Modellier-Techniken einen hohen Ähnlichkeits-Score zuweisen oder die Modellier-Techniken als ”sehr ähnlich” klassifizieren.
-
In gewissen Ausführungsformen können den Modellier-Techniken Familien von Modellier-Techniken zugewiesen werden. Die familiären Klassifizierungen der Modellier-Techniken können von einem Benutzer (z. B. basierend auf Intuition und Erfahrung) zugewiesen worden sein, von einem Maschinen-Lern-Klassifikator zugewiesen worden sein (z. B. basierend auf Verarbeitungs-Schritten, die den Modellier-Techniken gemeinsam sind, Daten, indikativ für die Ergebnisse einer Anwendung verschiedener Modellier-Techniken auf dasselbe oder ähnliche Probleme, usw.), oder von einer beliebigen weiteren geeigneten Quelle erhalten worden sein. Die Tools zum Bewerten der Ähnlichkeiten zwischen prädiktiven Modellier-Techniken können auf familiäre Klassifizierungen zum Bewerten der Ähnlichkeit zwischen zwei Modellier-Techniken beruhen. In gewissen Ausführungsformen kann das Tool alle Modellier-Techniken in derselbe Familie als ”ähnlich” behandeln und beliebige Modellier-Techniken in verschiedenen Familien als ”nicht ähnlich” behandeln. In gewissen Ausführungsformen können die familiären Klassifizierungen der Modellier-Techniken nur ein Faktor bei der Tool-Bewertung der Ähnlichkeit zwischen Modellier-Techniken sein.
-
In gewissen Ausführungsformen enthält das prädiktive Modellier-System 100 eine Bibliothek von Vorhersageproblemen (nicht dargestellt in 1). Die Bibliothek von Vorhersageproblemen kann Daten enthalten, indikativ für die Eigenschaften von Vorhersageproblemen. In gewissen Ausführungsformen enthalten die Daten, indikativ für die Eigenschaften von Vorhersageproblemen, Daten, indikativ für Eigenschaften von Datensätzen, die das Vorhersageproblem repräsentieren. Eigenschaften von einem Datensatz können ohne Begrenzung darauf, die Breite, Höhe, Seltenheit oder Dichte der Datensätze; die Zahl von Zielen und/oder Merkmalen in dem Datensatz, die Daten-Arten der Variable der Datensätze (z. B. numerisch, ordinal, kategorisch, oder interpretiert (z. B. Datum, Zeit, Text usw.); die Bereiche der numerischen Variablen der Datensätze; die Zahl von Klassen für die ordinalen und kategorischen Variablen der Datensätze; usw. einschließen.
-
In gewissen Ausführungsformen enthalten Eigenschaften von einem Datensatz statistische Eigenschaften der Variablen der Datensätze, einschließlich ohne Begrenzung darauf, der Zahl von Beobachtungen insgesamt; der Zahl von einzigartigen Werten für jede Variable über Beobachtungen; der Zahl fehlender Werte von jeder Variable über Beobachtungen; der Gegenwart und des Ausmaßes von Ausreißern und Einliegern; der Eigenschaften der Verteilung von jeweiligen Werten der Variablen oder Klassen-Mitgliedschaft; Kardinalität der Variablen usw. In gewissen Ausführungsformen enthalten Eigenschaften eines Datensatzes Beziehungen (z. B. statistische Beziehungen) zwischen den Variablen der Datensätze, einschließlich ohne Begrenzung darauf, der gemeinsamen Verteilungen von Gruppen von Variablen; der Variablen-Bedeutung von einem oder mehreren Merkmalen für ein oder mehrere Ziele (z. B. das Ausmaß an Korrelation zwischen Merkmal und Target-Variable); der statistischen Beziehungen zwischen zwei oder mehreren Merkmalen (z. B. das Ausmaß an Multikollinearität zwischen zwei Merkmalen); usw.
-
In gewissen Ausführungsformen enthalten die Daten, indikativ für die Eigenschaften der Vorhersageprobleme, Daten, indikativ für den Gegenstand des Vorhersageproblems (z. B. Finanzen, Versicherung, Verteidigung, elektronischer Handel, Einzelhandel, Internet-basierte Werbung, Internet-basierte Empfehlungs-Maschinen usw.); die Provenienz der Variable (z. B. ob jede Variable direkt von einer automatisierten Anlage, von menschlichen Aufzeichnungen einer automatisierten Anlage, von menschlicher Messung, von geschriebener menschlicher Antwort, von verbaler menschlicher Antwort, usw. angenommen wurde); das Vorliegen und die Performanz von bekannten prädiktiven Modellier-Lösungen für das Vorhersageproblem; usw.
-
In gewissen Ausführungsformen kann das prädiktive Modellier-System 100 Zeit-Reihen-Vorhersageprobleme (z. B. eindimensionale oder mehrdimensionale Zeit-Reihen-Vorhersageprobleme) stützen. Für Zeit-Reihen-Vorhersageprobleme ist das Ziel im Allgemeinen Vorhersagen zukünftiger Werte von den Zielen als eine Funktion von vorherigen Beobachtungen von allen Merkmalen, einschließlich der Ziele selbst. Die Daten, indikativ für die Eigenschaften eines Vorhersageproblems können Zeit-Reihen-Vorhersageprobleme unterbringen durch Anzeigen, ob das Vorhersageproblem ein Zeit-Reihen-Vorhersageproblem ist, und durch Identifizieren der Zeit-Messungs-Variablen in Datensätzen, entsprechend den Zeit-Reihen-Vorhersageproblemen.
-
In gewissen Ausführungsformen enthält die Bibliothek von Vorhersageproblemen Tools zum Bewerten der Ähnlichkeiten (oder Unterschiede) zwischen Vorhersageproblemen. Solche Tools können die Ähnlichkeit zwischen zwei Vorhersageproblemen als ein Score (z. B. auf einer vorbestimmten Skale), eine Klassifizierung (z. B. ”sehr ähnlich”, ”etwas ähnlich”, ”etwas unähnlich”, ”sehr unähnlich”), eine binäre Bestimmung (z. B. ”ähnlich” oder ”nicht ähnlich”), usw. ausdrücken. Solche Tools können die Ähnlichkeit zwischen zwei Vorhersageproblemen, basierend auf den Daten, indikativ für die Eigenschaften der Vorhersageprobleme, basierend auf Daten, indikativ für die Ergebnisse einer Anwendung derselben oder ähnlicher prädiktiver Modellier-Techniken auf die Vorhersageprobleme, usw. bestimmen. Zum Beispiel angesichts zweier Vorhersageprobleme, dargestellt durch Datensätze, die eine große Zahl (oder hohen Prozentsatz) von Eigenschaften gemeinsam haben und/oder empfänglich für dieselbe oder ähnliche prädiktive Modellier-Techniken sind, können die Tools den Vorhersageproblemen einen hohen Ähnlichkeits-Score zuweisen oder die Vorhersageprobleme als ”sehr ähnlich” klassifizieren.
-
2 veranschaulicht ein Blockschema eines Modellier-Tools 200, geeignet zum Aufbau von maschinenausführbaren Templaten, die für prädiktive Modellier-Techniken kodieren und zum Integrieren solcher Template in prädiktive Modellier-Verfahrensweisen gemäß einigen Ausführungsformen.
-
Benutzer-Schnittstelle 120 kann eine Schnittstelle zu Modellier-Tools 200 vorsehen.
-
In dem Beispiel von 2 schafft ein Modellier-Verfahrensweise-Builder 210 eine Bibliothek 212 von Modellier-Verfahrensweisen am Top einer Bibliothek 130 von Modellier-Techniken. Ein Modellier-Technik-Builder 220 schafft die Bibliothek 130 von Modellier-Techniken am Top einer Bibliothek 232 von Modellier-Tasks. Eine Modellier-Verfahrensweise kann der Intuition von einem oder mehreren Analysten darüber und Erfahrung darüber entsprechen, welche Modellier-Techniken unter welchen Umständen gut arbeiten, und/oder wirksame Ergebnisse der Anwendung von Modellier-Techniken zu früheren Vorhersageproblemen zum Führen der Exploration des Modellier-Such-Raums für ein Vorhersageproblem einsetzen können. Eine Modellier-Technik kann einer Schritt-für-Schritt-Anweisung zum Anwenden eines speziellen Modellier-Algorithmus entsprechen. Ein Modellier-Task kann einem Verarbeitungs-Schritt innerhalb einer Modellier-Technik entsprechen.
-
In gewissen Ausführungsformen kann eine Modellier-Technik eine Hierarchie von Tasks enthalten. Zum Beispiel kann ein ”Textmining”-Task auf höchster Ebene Subtasks enthalten für (a) Schaffen einer Dokument-Begriffs-Matrix und (b) Rangfolge von Begriffen und Fallenlassen unwichtiger Begriffe. Wiederum kann der ”Begriff Rangfolge und Fallenlassen” von Subtasks Subtasks für (b.1) den Aufbau eines Rangfolge-Modells und (b.2) zur Verwendung von Begriff-Rangordnungen zum Fallenlassen von Spalten aus einer Dokument-Begriff-Matrix enthalten. Solche Hierarchien können beliebige Tiefe aufweisen.
-
In dem Beispiel von 2 enthält Modellier-Tools 200 einen Modellier-Task-Builder 230, einen Modellier-Technik-Builder 220 und einen Modellier-Verfahrensweise-Builder 210. Jeder Builder kann ein Tool oder Set von Tools zum Kodieren von einem der Modellier-Elemente in einem maschinenausführbaren Format enthalten. Jeder Builder kann Benutzer zum Modifizieren eines vorhandenen Modellier-Elements oder Schaffen eines neuen Modellier-Elements zulassen. Zum Aufbau einer vollständigen Bibliothek von Modellier-Elementen über die Modellier-Schichten, veranschaulicht in 2, können Entwickler eine Strategie von oben nach unten, von unten-nach oben, von innen nach außen, von außen nach innen oder eine Kombination benutzen. Allerdings sind aus der Perspektive von logischer Abhängigkeit Blattebenen-Tasks die kleinsten Modellier-Elemente, so zeigt 2 eine Task-Erstellung als den ersten Schritt in dem Verfahren zum Einrichten von maschinenausführbaren Templaten.
-
Jeder Benutzer-Schnittstelle des Builders kann unter Verwendung, ohne Begrenzung darauf, einer Sammlung von spezialisierten Routinen in einer Standard-Programmier-Sprache, einer formalen Grammatik, insbesondere ausgelegt für den Zweck zum Kodieren jener Elemente des Builders, einer reichen Benutzer-Schnittstelle für abstraktes Spezifizieren des gewünschten Ausführungs-Flusses, usw. implementiert werden. Allerdings ist die logische Struktur der Arbeitsabläufe, zugelassen bei jeder Schicht, unabhängig von irgendeiner besonderen Schnittstelle.
-
Beim Schaffen von Modellier-Tasks auf der Blattebene in der Hierarchie kann Modellier-Tool 200 Entwickler zum Einbau von Software-Komponenten aus anderen Quellen zulassen. Diese Fähigkeit nutzt vorteilhaft die installierte Basis von Software, bezogen auf statistisches Lernen und das akkumulierte Wissen, wie solche Software zu entwickeln ist. Diese installierte Basis erfasst wissenschaftliche Programmier-Sprachen (z. B. Fortran), wissenschaftliche Routinen, geschrieben in Allzweck-Programmier-Sprachen (z. B. C), wissenschaftliche Rechenerweiterungen zu Allzweck-Programmier-Sprachen (z. B. Scikit-learn für Python), kommerzielle statistische Umgebungen (z. B. SAS/STAT), und offene Quellen statistischer Umgebungen (z. B. R). Wenn zum Einbau der Fähigkeiten eine solche Software-Komponente verwendet wird, können die Modellier-Task-Builder 230 eine Spezifizierung von Vorgaben und Output der Komponenten der Software und/oder eine Kennzeichnung, welche Arten von Arbeitsabläufen die Software-Komponente bewirken kann, erfordern. In gewissen Ausführungsformen erzeugt der Modellier-Task-Builder 230 diese Metadaten durch Prüfen der Quellcodesignatur der Komponenten einer Software, Abrufen der Schnittstellen-Definition der Komponenten einer Software aus einem Repositorium, Sondieren der Software-Komponenten mit einer Folge von Anfragen oder Ausführen anderer Arten der automatisierten Bewertung. In gewissen Ausführungsformen führt der Entwickler manuell einige oder alle dieser Metadaten hinzu.
-
In gewissen Ausführungsformen verwendet der Modellier-Task-Builder 230 diese Metadaten zum Schaffen eines ”Wrapper”, der ihm die Ausführung der eingebauten Software erlaubt. Der Modellier-Task-Builder 230 kann solche Wrappers, die einen Mechanismus zum Integrieren von Software-Komponenten nutzen, implementieren, einschließlich ohne Begrenzung darauf, Kompilieren eines Quellcodes von Komponenten zu einem intern ausführbaren, Verknüpfen eines Ziel-Codes von Komponenten zu einem intern ausführbaren, Zugriff auf eine Komponenten über einen Emulator der Rechen-Umgebung, erwartet von den Komponenten als Standalone-ausführbar, Zugriff auf Funktionen von Komponenten, die als Teil eines Software-Service auf einer lokalen Maschine laufen, Zugriff auf Funktionen von Komponenten, die als Teil eines Software-Service auf einer Remote-Maschine laufen, Zugriff auf eine Funktion von Komponenten, die über einen intermediären Software-Service auf einer lokalen oder Remote-Maschine laufen, usw. Egal, welcher Einbau-Mechanismus der Modellier-Task-Builder 230 verwendet, nachdem der Wrapper erzeugt worden ist, kann Modellier-Tool 200 Software-Calls zu der Komponente vornehmen, als wenn es irgendeine andere Routine wäre.
-
In gewissen Ausführungsformen können Entwickler den Modellier-Task-Builder 230 verwenden, um Blattebene-Modellier-Tasks rekursiv in Tasks höherer Ebene zusammenzutragen. Wie vorher ausgewiesen, gibt es viele verschiedene Wege zum Implementieren der Benutzer-Schnittstelle zum Spezifizieren der Anordnung der Task-Hierarchie. Aus einer logischen Perspektive aber kann ein Task, der nicht auf der Blattebene ist, einen gebündelten Graph von Subtasks enthalten. Auf jeder der oberen und intermediären Ebenen dieser Hierarchie kann es einen beginnenden Subtask geben, dessen Input von dem Stamm-Task in der Hierarchie (oder der Stamm-Modellier-Technik an der oberen Ebene der Hierarchie) stammt. Es kann auch ein endender Subtask sein, dessen Output zu dem Stamm-Task in der Hierarchie ist (oder die Stamm-Modellier-Technik an der oberen Ebene der Hierarchie). Jeder andere Subtask auf einer gegebenen Ebene kann Vorgaben von einem oder mehreren früheren Subtasks empfangen und Output zu einem oder mehreren anschließenden Subtasks senden.
-
Kombiniert mit der Fähigkeit zum Einbau beliebiger Codes in die Blattebenen-Tasks, propagieren Daten gemäß dem gebündelten Graph erleichterte Implementierung von beliebigem Kontrollfluss innerhalb eines intermediär-Ebenen-Tasks. In gewissen Ausführungsformen kann Modellier-Tool 200 zusätzliche Einbau-Arbeitsabläufe vorsehen. Während es zum Beispiel unkompliziert wäre, irgendeine besondere bedingte Logik als einen Blattebenen-Task, kodiert in einer externen Programmier-Sprache, zu implementieren, kann der Modellier-Task-Builder 230 einen Einbau-Knoten oder -Bogen vorsehen, der bedingte Bewertungen in einer allgemeinen Weise, Richten einiger oder aller Daten aus einem Knoten zu verschiedenen anschließenden Knoten, basierend auf den Ergebnissen dieser Bewertungen, ausführt. Ähnliche Alternativen gibt es zum Filtern des Outputs aus einem Knoten gemäß einer Regel oder einem Ausdruck vor Propagieren derselben als Input zu anschließenden Knoten, Überführen des Outputs von einem Knoten vor Propagieren desselben als Input zu anschließenden Knoten, Partitionieren des Outputs von einem Knoten gemäß einer Regel oder einem Ausdruck vor Propagieren jeder Partition zu einem jeweiligen anschließenden Knoten, Kombinieren des Outputs von mehreren früheren Knoten gemäß einer Regel oder Formel vor Akzeptieren desselben als Input, iteratives Anwenden eines Sub-Graphs von Arbeitsabläufen von Knoten unter Verwendung einer oder mehrerer Schleifen-Variablen usw.
-
In gewissen Ausführungsformen können Entwickler den Modellier-Technik-Builder 220 zum Zusammentragen von Tasks aus der Modellier-Task-Bibliothek 232 zu Modellier-Techniken verwenden. Zumindest einige der Modellier-Tasks in Modellier-Task-Bibliothek 232 können den Preprocessing-Schritten, Modell-Einpass-Schritten und/oder Postprocessing-Schritten von einer oder mehreren Modellier-Techniken entsprechen. Die Entwicklung von Tasks und Techniken kann einem linearen Muster folgen, wobei Techniken zusammengetragen werden nachdem die Task-Bibliothek 232 bestückt worden ist, oder einem mehr dynamischen, kreisförmigen Muster, wobei Tasks und Techniken gleichzeitig zusammentragen werden. Ein Entwickler kann zum Kombinieren vorhandener Tasks zu einer neuen Technik angeregt werden, mit der Erkenntnis, dass diese Technik neue Tasks erfordert, und iterativ verfeinern bis die neue Technik vollständig ist. Alternativ kann ein Entwickler mit der Konzeption einer neuen Technik, vielleicht aus einer akademischen Veröffentlichung, beginnen diese neuen Tasks aufzubauen, aber vorhandene Tasks aus der Modellier-Task-Bibliothek 232 ziehen, wenn sie geeignete Funktionalität bereitstellen. In allen Fällen werden die Ergebnisse vom Anwenden einer Modellier-Technik zum Referenzieren von Datensätzen oder bei Feld-Tests es dem Entwickler oder Analysten erlauben, die Performanz der Technik zu bewerten. Diese Bewertung kann wiederum zu Änderungen irgendwo in der Hierarchie vom Blatt-Ebenen-Modellier-Task zur Modellier-Technik führen. Durch Bereitstellen gemeinsamer Modellier-Tasks und Modellier-Technik-Bibliotheken (232, 130) sowie Hoch-Produktivitäts-Builder-Schnittstellen (210, 220 und 230) können Modellier-Tools 200 es Entwicklern ermöglichen, Änderungen rasch und genau vorzunehmen, sowie Propagieren solcher Verbesserungen zu anderen Entwicklern und Benutzern mit Zugriff zu den Bibliotheken (232, 130).
-
Eine Modellier-Technik kann einen Schwerpunkt für Entwickler und Analysten zum Entwerfen einer vollständigen prädiktiven Modellier-Prozedur vorsehen, wobei alle Schritte, basierend auf der besten Ausführung auf dem Gebiet erwartet werden. In gewissen Ausführungsformen umkapseln Modellier-Techniken die besten Ausführungen aus statistischen Lern-Disziplinen. Darüber hinaus kann das Modellier-Tool 200 Leitlinie bei der Entwicklung von hoch-qualitativen Techniken durch zum Beispiel Bereitstellen einer Checkliste von Schritten für die Entwickler zum Berücksichtigen und Vergleichen der Task-Graphen für neue Techniken mit jenen von vorhandenen Techniken zum Beispiel zum Nachweis fehlender Tasks, Nachweis zusätzlicher Schritte und/oder Nachweis anormaler Flüsse unter den Schritten, bereitstellen.
-
In gewissen Ausführungsformen wird Explorationsmaschine 110 zum Aufbau eines prädiktiven Modells für einen Datensatz 240 unter Verwendung der Techniken in der Modellier-Technik-Bibliothek 130 verwendet. Die Explorationsmaschine 110 kann die Bewertung der Modellier-Techniken in Modellier-Technik-Bibliothek 130, basierend auf einem Priorisierungs-Schema, kodiert durch eine Modellier-Verfahrensweise, ausgewählt aus der Modellier-Verfahrensweisen-Bibliothek 212, priorisieren. Beispiele für geeignete Priorisierungs-Schemata zur Exploration des Modellier-Raums werden in dem nächsten Abschnitt beschrieben. In dem Beispiel von 2 können Ergebnisse der Exploration des Modellier-Raums zum Aktualisieren der Metadaten, verbunden mit Modellier-Tasks und -Techniken, verwendet werden.
-
In gewissen Ausführungsformen können einzigartige Identifizierer (IDs) den Modellier-Elementen (z. B. Techniken, Tasks und Subtasks) zugewiesen werden. Die ID eines Modellier-Elements kann als Metadaten, zugehörig zu dem Templat der Modellier-Elemente, gespeichert werden. In gewissen Ausführungsformen können diese Modellier-Element-IDs zum effizienten Ausführen von Modellier-Techniken, die einen oder mehrere Modellier-Tasks oder Subtasks teilen, verwendet werden. Verfahren zum effizienten Ausführen von Modellier-Techniken werden nachstehend in weiteren Einzelheiten beschrieben.
-
In dem Beispiel von 2 werden die Modellier-Ergebnisse, erzeugt durch Explorationsmaschine 110 zu dem Modellier-Task-Builder 230, dem Modellier-Technik-Builder 220 und dem Modellier-Verfahrensweise-Builder 210 zurückgespeist. Die Modellier-Builder können automatisch (z. B. unter Verwendung eines statistischen Lern-Algorithmus) oder manuell (z. B. von einem Benutzer), basierend auf den Modellier-Ergebnissen, angepasst werden. Zum Beispiel kann Modellier-Verfahrensweise-Builder 210, basierend auf Mustern, beobachtet in den Modellier-Ergebnissen und/oder basierend auf der Erfahrung eines Datenanalysten, angepasst werden. In ähnlicher Weise können Ergebnisse vom Ausführen spezieller Modellier-Techniken automatische oder manuelle Einstellung von Default-Abstimm-Parameter-Werten für jene Techniken oder Tasks innerhalb von ihnen informieren. In gewissen Ausführungsformen kann die Anpassung der Modellier-Builder halb-automatisiert sein. Zum Beispiel kann prädiktives Modellier-System 100 potenzielle Verbesserungen für Verfahrensweisen, Techniken und/oder Tasks anzeigen und ein Benutzer kann entscheiden, ob jene potenziellen Verbesserungen zu implementieren sind.
-
Modellier-Raum-Explorations-Maschine
-
3 ist ein Fließschema von einem Verfahren 300 zur Auswahl eines prädiktiven Modells für ein Vorhersageproblem gemäß einigen Ausführungsformen. In gewissen Ausführungsformen kann Verfahren 300 einer Modellier-Verfahrensweise in der Modellier-Verfahrensweise-Bibliothek 212 entsprechen.
-
Bei Schritt 310 von Verfahren 300 werden die Eignungen einer Mehrzahl von prädiktiven Modellier-Prozeduren (z. B. prädiktive Modellier-Techniken) für ein Vorhersageproblem bestimmt. Eine Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem kann, basierend auf Eigenschaften des Vorhersageproblems, basierend auf Merkmalen der Modellier-Prozeduren und/oder basierend auf anderen geeigneten Information, bestimmt werden.
-
Die ”Eignung” einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem kann Daten, indikativ für die erwartete Performanz bezüglich des Vorhersageproblems des prädiktiven Modelle, erzeugt unter Verwendung der prädiktiven Modellier-Prozedur, enthalten. In gewissen Ausführungsformen enthält die erwartete Performanz eines prädiktiven Modells bezüglich eines Vorhersageproblems einen oder mehrere erwartete Scores (z. B. erwartete Werte von einer oder mehreren Zielfunktionen) und/oder eine oder mehrere erwartete Rangordnungen (z. B. bezüglich anderer prädiktiver Modelle, erzeugt unter Verwendung anderer prädiktiver Modellier-Techniken).
-
Alternativ oder zusätzlich, kann die ”Eignung” einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem Daten, indikativ für das Ausmaß, zu dem die Modellier-Prozedur zum Erzeugen prädiktiver Modelle, die hinreichend Performanz für ein Vorhersageproblem bereitstellen, erwartet wird, enthalten. In gewissen Ausführungsformen enthalten ”Eignungs”-Daten einer prädiktiven Modellier-Prozedur eine Klassifizierung der Eignung der Modellier-Prozeduren. Das Klassifizierungs-Schema kann zwei Klassen aufweisen (z. B. ”geeignet” oder ”nicht geeignet”) oder mehr als zwei Klassen (z. B. ”sehr geeignet”, ”mäßig geeignet”, ”mäßig ungeeignet”, ”sehr ungeeignet”).
-
In gewissen Ausführungsformen bestimmt Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend, zumindest zum Teil, auf einer oder mehreren Eigenschaften des Vorhersageproblems, einschließlich (jedoch nicht darauf begrenzt) hierin beschriebener Eigenschaften. Als nur ein Beispiel kann die Eignung von einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend auf Eigenschaften des Datensatzes entsprechend dem Vorhersageproblem, Eigenschaften der Variablen in dem Datensatz entsprechend dem Vorhersageproblem, Beziehungen zwischen der Variable in dem Datensatz und/oder dem Gegenstand des Vorhersageproblems, bestimmt werden. Explorationsmaschine 110 kann Tools (z. B. statistische Analyse-Tools) zum Analysieren von Datensätzen, zugehörig zu Vorhersageproblemen zum Bestimmen der Eigenschaften der Vorhersageprobleme, der Datensätze, der Datensatz Variablen usw., enthalten.
-
In gewissen Ausführungsformen bestimmt Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend, zumindest zum Teil, auf einem oder mehreren Merkmalen der prädiktiven Modellier-Prozedur, einschließlich (jedoch nicht darauf begrenzt) der Merkmale von hierin beschriebenen prädiktiven Modellier-Prozeduren. Als nur ein Beispiel kann die Eignung von einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend auf den Daten-Verarbeitungs-Techniken, ausgeführt durch die prädiktive Modellier-Prozedur und/oder den Daten-Verarbeitungs-Einschränkungen, auferlegt durch die prädiktive Modellier-Prozedur, bestimmt werden.
-
In gewissen Ausführungsformen umfasst das Bestimmen der Eignungen der prädiktiven Modellier-Prozeduren für das Vorhersageproblem Beseitigung zumindest einer prädiktiven Modellier-Prozedur aus der Betrachtung für das Vorhersageproblem. Die Entscheidung zum Beseitigen einer prädiktiven Modellier-Prozedur aus der Betrachtung kann hierin als ”stutzen” der beseitigten Modellier-Prozedur und/oder ”stutzen des Such-Raums” bezeichnet werden. In gewissen Ausführungsformen kann der Benutzer die Entscheidung einer Explorationsmaschine zum Stutzen einer Modellier-Prozedur ausschalten, sodass die vorher gestutzte Modellier-Prozedur für weitere Ausführung und/oder Bewertung während der Exploration des Such-Raums wählbar bleibt.
-
Eine prädiktive Modellier-Prozedur kann aus der Betrachtung, basierend auf den Ergebnissen einer Anwendung einer oder mehrerer deduktiver Regeln für die Merkmale der prädiktiven Modellier-Prozedur und den Eigenschaften des Vorhersageproblems, beseitigt werden. Die deduktiven Regeln können ohne Begrenzung darauf das Nachstehende einschließen: (1) wenn das Vorhersageproblem eine kategorische Target-Variable enthält, Auswahl von nur Klassifizierungs-Techniken für die Ausführung; (2) wenn numerische Merkmale des Datensatzes erheblich weitere Größenordnungsbereiche überspannen, Auswahl oder Priorisieren von Techniken, die Normalisierung bereitstellen; (3) wenn ein Datensatz Text-Merkmale aufweist, Auswahl oder Priorisieren von Techniken, die Textmining bereitstellen; (4) wenn der Datensatz mehr Merkmale als Beobachtungen aufweist, Beseitigen aller Techniken, die erfordern, dass die Zahl von Beobachtungen größer als oder gleich der Zahl von Merkmalen ist; (5) wenn die Breite des Datensatzes eine Schwellenwert-Breite überschreitet, Auswahl oder Priorisieren von Techniken, die Dimensions-Reduktion bereitstellen; (6) wenn der Datensatz größer und geringer ist (z. B. die Größe des Datensatzes überschreitet eine Schwellenwert-Größe und die Seltenheit des Datensatzes überschreitet einen Seltenheits-Schwellenwert), Auswahl oder Priorisieren von Techniken, die effizient an geringeren Daten-Strukturen ausführen; und/oder eine beliebige Regel für Auswahl, Priorisieren oder Beseitigung einer Modellier-Technik, wobei die Regel in Form einer Wenn-Dann-Aussage ausgedrückt werden kann. In gewissen Ausführungsformen werden deduktive Regeln so aneinander gereiht, dass die Ausführung von einigen Regeln in Folge eine Schlussfolgerung erzeugt. In gewissen Ausführungsformen können die deduktiven Regeln aktualisiert, verfeinert oder verbessert werden, basierend auf der historischen Performanz.
-
In gewissen Ausführungsformen bestimmt die Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend auf der Performanz (erwartet oder aktuell) von ähnlichen prädiktiven Modellier-Prozeduren an ähnlichen Vorhersageproblemen. (Als ein spezieller Fall kann Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend auf der Performanz (erwartet oder aktuell) derselben prädiktiven Modellier-Prozedur an ähnlichen Vorhersageproblemen bestimmen.)
-
Wie vorstehend beschrieben, kann die Bibliothek von Modellier-Techniken 130 Tools zum Bewerten der Ähnlichkeiten zwischen prädiktiven Modellier-Techniken enthalten und die Bibliothek von Vorhersageproblemen kann Tools zum Bewerten der Ähnlichkeiten zwischen Vorhersageproblemen enthalten. Explorationsmaschine 110 kann diese Tools zum Identifizieren prädiktiver Modellier-Prozeduren und Vorhersageprobleme ähnlich der prädiktiven Modellier-Prozedur und dem anstehenden Vorhersageproblem verwenden. Zum Zweck des Bestimmens der Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem kann Explorationsmaschine 110 die M Modellier-Prozeduren sehr ähnlich zur anstehenden Modellier-Prozedur auswählen, alle Modellier-Prozeduren, die einen Ähnlichkeits-Schwellenwert in Bezug auf die anstehende Modellier-Prozedur überschreiten, auswählen, usw. Ebenfalls zum Zweck des Bestimmens der Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem kann Explorationsmaschine 110 die N Vorhersageprobleme sehr ähnlich dem anstehenden Vorhersageproblem auswählen, alle Vorhersageprobleme, die einen Ähnlichkeits-Schwellenwert in Bezug auf das anstehende Vorhersageproblem überschreiten, auswählen, usw.
-
Angesichts eines Satzes von prädiktiven Modellier-Prozeduren und eines Satzes von Vorhersageproblemen ähnlich der Modellier-Prozedur und dem anstehenden Vorhersageproblem kann eine Explorationsmaschine die Performanzen der ähnlichen Modellier-Prozeduren an den ähnlichen Vorhersageproblemen zum Bestimmen der erwarteten Eignung der anstehenden Modellier-Prozedur für das anstehende Vorhersageproblem kombinieren. Wie vorstehend beschrieben, können die Template der Modellier-Prozeduren Informationen enthalten, die zum Schätzen, wie gut die entsprechende Modellier-Prozedur für einen gegebenen Datensatz ausgeführt werden wird, relevant sind. Explorationsmaschine 110 kann die Modell-Performanz-Metadaten zum Bestimmen der Performanz-Werte (erwartet oder aktuell) der ähnlichen Modellier-Prozeduren an den ähnlichen Vorhersageproblemen verwenden. Diese Performanz-Werte können dann zum Erzeugen einer Schätzung der Eignung der anstehenden Modellier-Prozedur für das anstehende Vorhersageproblem kombiniert werden. Zum Beispiel kann Explorationsmaschine 110 die Eignung der anstehenden Modellier-Prozedur als eine gewichtete Summe der Performanz-Werte der ähnlichen Modellier-Prozeduren an den ähnlichen Vorhersageproblemen berechnen.
-
In gewissen Ausführungsformen bestimmt Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend, zumindest zum Teil, auf dem Output eines ”meta”-maschinellen Lern-Modells, das zum Bestimmen der Eignung einer Modellier-Prozedur für ein Vorhersageproblem, basierend auf den Ergebnissen der verschiedenen Modellier-Prozeduren (z. B. Modellier-Prozeduren, ähnlich der anstehenden Modellier-Prozedur) für andere Vorhersageprobleme (z. B. Vorhersageprobleme ähnlich dem anstehenden Vorhersageproblem) trainiert. Das maschinelle Lern-Modell zur Schätzung der Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem kann als ein ”meta”-maschinelles Lern-Modell bezeichnet werden, weil es Maschinen-Lernen rekursiv zum Vorhersagen einsetzt, welche Techniken höchstwahrscheinlich das anstehende Vorhersageproblem schaffen. Explorationsmaschine 110 kann daher meta-Vorhersagungen der Eignung einer Modellier-Technik für ein Vorhersageproblem unter Verwendung eines meta-Maschinen-Lern-Algorithmus, trainiert an den Ergebnissen zum Lösen anderer Vorhersageprobleme, erzeugen.
-
In gewissen Ausführungsformen kann Explorationsmaschine 110 die Eignung einer prädiktiven Modellier-Prozedur für ein Vorhersageproblem, basierend, zumindest zum Teil, auf der Benutzer-Eingabe (z. B. Benutzer-Eingabe, die die Intuition oder Erfahrung von Datenanalysten bezüglich der Eignung der prädiktiven Modellier-Prozedur repräsentiert) bestimmen.
-
Zurückkehrend zu 3 kann bei Schritt 320 von Verfahren 300 zumindest eine Teilmenge der prädiktiven Modellier-Prozeduren, basierend auf den Eignungen der Modellier-Prozeduren für das Vorhersageproblem, ausgewählt werden. In Ausführungsformen, bei denen die Modellier-Prozeduren den Eignungs-Kategorien zugewiesen wurden (z. B. ”geeignet” oder ”nicht geeignet”; ”sehr geeignet”, ”mäßig geeignet”, ”mäßig ungeeignet” oder ”sehr ungeeignet”; usw.), kann eine Auswahl einer Teilmenge der Modellier-Prozeduren die Auswahl der Modellier-Prozeduren, zugewiesen zu einer oder mehreren Eignungs-Kategorien (z. B. alle Modellier-Prozeduren, zugewiesen zu der ”geeigneten Kategorie”; alle Modellier-Prozeduren nicht zugewiesen zu der ”sehr ungeeignet” Kategorie; usw.) umfassen.
-
Bei Ausführungsformen, bei denen Modellier-Prozeduren Eignungs-Werten zugewiesen wurden, kann Explorationsmaschine 110 eine Teilmenge der Modellier-Prozeduren, basierend auf den Eignungs-Werten, auswählen. In gewissen Ausführungsformen wählt Explorationsmaschine 110 die Modellier-Prozeduren mit Eignungs-Scores oberhalb eines Eignungs-Score-Schwellenwerts aus. Der Schwellenwert-Eignungs-Score kann durch einen Benutzer bereitgestellt werden oder von Explorationsmaschine 110 bestimmt werden. In gewissen Ausführungsformen kann Explorationsmaschine 110 den Eignungs-Score-Schwellenwert zum Erhöhen oder Vermindern der Zahl von Modellier-Prozeduren, ausgewählt zur Ausführung, abhängig von der Menge von Verarbeitungs-Ressourcen, verfügbar zur Ausführung der Modellier-Prozeduren, abstimmen.
-
In gewissen Ausführungsformen wählt Explorationsmaschine 110 aus den Modellier-Prozeduren mit Eignungs-Scores innerhalb eines ausgewiesen Bereichs den höchsten Eignungs-Score, der beliebigen der Modellier-Prozeduren für das anstehende Vorhersageproblem zugewiesen wurde. Der Bereich kann absolut sein (z. B. Scores innerhalb S Punkte vom höchsten Score) oder relativ (z. B. Scores innerhalb P% vom höchsten Score). Der Bereich kann durch einen Benutzer bereitgestellt werden oder von Explorationsmaschine 110 bestimmt werden. In gewissen Ausführungsformen kann Explorationsmaschine 110 den Bereich zum Erhöhen oder Vermindern der Zahl von Modellier-Prozeduren, ausgewählt zur Ausführung, abhängig von der Menge von Verarbeitungs-Ressourcen, verfügbar zur Ausführung der Modellier-Prozeduren, abstimmen.
-
In gewissen Ausführungsformen wählt Explorationsmaschine 110 einen Bruchteil der Modellier-Prozeduren mit den höchsten Eignungs-Scores für das anstehende Vorhersageproblem aus. In äquivalenter Weise kann die Explorationsmaschine 110 den Bruchteil der Modellier-Prozeduren auswählen, der den höchsten Eignungs-Rang aufweist (z. B. in Fällen, bei denen die Eignungs-Scores für die Modellier-Prozeduren nicht verfügbar sind, sondern die Ordnung (Rangfolge) der Eignungen von Modellier-Prozeduren verfügbar ist). Der Bruchteil kann durch einen Benutzer bereitgestellt werden oder durch die Explorationsmaschine 110 bestimmt werden. In gewissen Ausführungsformen kann Explorationsmaschine 110 den Bruchteil zum Erhöhen oder Vermindern der Zahl von Modellier-Prozeduren, ausgewählt zur Ausführung, abhängig von der Menge von Verarbeitungs-Ressourcen, verfügbar zur Ausführung der Modellier-Prozeduren, abstimmen.
-
In gewissen Ausführungsformen kann ein Benutzer ein oder mehr Modellier-Prozeduren zum Ausführen auswählen. Die vom Benutzer ausgewählten Prozeduren können zusätzlich zu oder anstatt von einer oder mehreren Modellier-Prozeduren, ausgewählt von Explorationsmaschine 110, ausgeführt werden. Gestatten dem Benutzer zur Auswahl von Modellier-Prozeduren zur Ausführung kann die Performanz von prädiktivem Modellier-System 100 verbessern, besonders bei Szenarien, bei denen Intuition und Erfahrung von einem Datenanalyst anzeigen, dass das Modellier-System 100 eine Eignung von Modellier-Prozeduren für ein Vorhersageproblem nicht genau geschätzt hat.
-
In gewissen Ausführungsformen kann Explorationsmaschine 110 die Granularität der Such-Raum-Bewertung durch Auswahl einer Modellier-Prozedur P0, die repräsentativ ist für (z. B. ähnlich zu) einer oder mehreren anderen Modellier-Prozeduren P1...PN, anstelle von Auswahl-Modellier-Prozeduren P0...PN kontrollieren, selbst wenn Modellier-Prozeduren P0...PN alle als geeignet für das anstehende Vorhersageproblem bestimmt wurden. Außerdem kann Explorationsmaschine 110 die Ergebnisse des Ausführens der ausgewählten Modellier-Prozedur P0 als repräsentativ für die Ergebnisse des Ausführens der Modellier-Prozeduren P1...PN behandeln. Dieser grobkörnige Ansatz zum Bewerten des Such-Raums kann Verarbeitungs-Ressourcen sparen, besonders wenn er während der früheren Stufen der Bewertung des Such-Raums angewendet wird. Wenn Explorationsmaschine 110 später bestimmt, dass Modellier-Prozedur P0 unter den geeignetesten Modellier-Prozeduren für das Vorhersageproblem ist, kann eine fein-körnige Bewertung des relevanten Abschnitts des Such-Raums dann durch Ausführen und Bewerten der ähnlichen Modellier-Prozeduren P1...PN ausgeführt werden.
-
Zurückkehrend zu 3 kann bei Schritt 330 von Verfahren 300 ein Ressourcenzuteilungsplan erzeugt werden. Der Ressourcenzuteilungsplan kann Verarbeitungs-Ressourcen für die Ausführung der ausgewählten Modellier-Prozeduren zuteilen. In gewissen Ausführungsformen teilt der Ressourcenzuteilungsplan die Verarbeitungs-Ressourcen den Modellier-Prozeduren, basierend auf den bestimmten Eignungen der Modellier-Prozeduren für das anstehende Vorhersageproblem, zu. In gewissen Ausführungsformen überträgt die Explorationsmaschine 110 den Ressourcenzuteilungsplan zu einem oder mehreren Verarbeitungs-Knoten mit Anweisungen zum Ausführen der ausgewählten Modellier-Prozeduren gemäß dem Ressourcenzuteilungsplan.
-
Die zugeteilten Verarbeitungs-Ressourcen können temporäre Ressourcen (z. B. Ausführungs-Zyklen von einem oder mehreren Verarbeitungs-Knoten, Ausführungs-Zeit an einem oder mehreren Verarbeitungs-Knoten, usw.), physikalische Ressourcen (z. B. eine Zahl von Verarbeitungs-Knoten, eine Menge von Maschinen-lesbarer Speicherung (z. B. Speicherung und/oder zweite Speicherung), usw.), und/oder andere allozierbare Verarbeitungs-Ressourcen enthalten. In gewissen Ausführungsformen können die zugeteilten Verarbeitungs-Ressourcen Verarbeitungs-Ressourcen von einem verteilten Rechensystem und/oder einem cloud-basierten Rechensystem sein. In gewissen Ausführungsformen können Kosten anfallen, wenn Verarbeitungs-Ressourcen zugeteilt und/oder verwendet werden (z. B. Gebühren können von einem Betreiber eines Rechenzentrums in Austausch für die Verwendung der Ressourcen des Rechenzentrums eingeholt werden).
-
Wie vorstehend ausgewiesen, kann der Ressourcenzuteilungsplan Verarbeitungs-Ressourcen den Modellier-Prozeduren, basierend auf den Eignungen der Modellier-Prozeduren für das anstehende Vorhersageproblem zuteilen. Zum Beispiel kann der Ressourcenzuteilungsplan mehr Verarbeitungs-Ressourcen den Modellier-Prozeduren mit höher vorhergesagten Eignungen für das Vorhersageproblem zuteilen, und weniger Verarbeitungs-Ressourcen den Modellier-Prozeduren mit weniger vorhergesagten Eignungen für das Vorhersageproblem zuteilen, sodass die aussichtsreicheren Modellier-Prozeduren von einer größeren Teilung der begrenzten Verarbeitungs-Ressourcen profitieren. Als weiteres Beispiel kann der Ressourcenzuteilungsplan Verarbeitungs-Ressourcen, ausreichend zur Verarbeitung größerer Datensätze zu Modellier-Prozeduren mit höher vorhergesagten Eignungen zuteilen, und Verarbeitungs-Ressourcen, ausreichend zur Verarbeitung kleinerer Datensätze zu Modellier-Prozeduren mit weniger vorhergesagten Eignungen zuteilen.
-
Als weiteres Beispiel kann der Ressourcenzuteilungsplan die Ausführung der Modellier-Prozeduren mit höher vorhergesagten Eignungen vor der Ausführung der Modellier-Prozeduren mit weniger vorhergesagten Eignungen terminieren, was auch die Wirkung von Zuteilen von mehr Verarbeitungs-Ressourcen zu dem aussichtsreicheren Modellier-Prozeduren haben mag. In gewissen Ausführungsformen können die Ergebnisse zum Ausführen der Modellier-Prozeduren dem Benutzer über Benutzer-Schnittstelle 120, wenn die Ergebnisse verfügbar werden, präsentiert werden. Bei solchen Ausführungsformen kann Terminieren die Modellier-Prozeduren mit höher vorhergesagter Eignungen zur Ausführung vor den Modellier-Prozeduren mit weniger vorhergesagten Eignungen den Benutzer mit zusätzlichen wichtigen Informationen über die Bewertung des Such-Raums bei einer früheren Phase der Bewertung versehen, wodurch schnell Benutzer-gesteuerte Einstellungen für den Suchplan erleichtert werden. Zum Beispiel kann der Benutzer, basierend auf den vorläufigen Ergebnissen, bestimmen, dass eine oder mehrere Modellier-Prozeduren, die sehr gut zum Ausführen erwartet würde, tatsächlich sehr schlecht zum Ausführen sind. Der Benutzer kann die Ursache der schlechten Performanz untersuchen und zum Beispiel bestimmen, dass die schlechte Performanz durch einen Fehler in der Aufbereitung des Datensatzes verursacht wird. Der Benutzer kann dann den Fehler heilen und die Ausführung der Modellier-Prozeduren, die vom Fehler betroffen waren, neu starten.
-
In gewissen Ausführungsformen kann der Ressourcenzuteilungsplan den Modellier-Prozeduren Verarbeitungs-Ressourcen zuteilen, basierend, zumindest zum Teil, auf den Ressourcen-Nutzungs-Eigenschaften und/oder Parallelismus-Eigenschaften der Modellier-Prozeduren. Wie vorstehend beschrieben, kann das Templat, entsprechend einer Modellier-Prozedur, Metadaten enthalten, die zum Schätzen relevant sind, wie effizient die Modellier-Prozedur auf einer verteilten Rechen-Infrastruktur ausgeführt werden wird. In gewissen Ausführungsformen enthalten diese Metadaten eine Angabe der Ressourcen-Nutzungs-Eigenschaften der Modellier-Prozeduren (z. B. der Verarbeitungs-Ressourcen, die zum Trainieren und/oder Testen der Modellier-Prozedur an einem Datensatz einer gegebenen Größe erforderlich sind). In gewissen Ausführungsformen enthalten diese Metadaten eine Angabe der Parallelismus-Eigenschaften der Modellier-Prozeduren (z. B. das Ausmaß, zu dem die Modellier-Prozedur parallel auf mehreren Verarbeitungs-Knoten ausgeführt werden kann). Unter Verwendung der Ressourcen-Nutzungs-Eigenschaften und/oder Parallelismus-Eigenschaften der Modellier-Prozeduren zum Bestimmen des Ressourcenzuteilungsplans kann effiziente Zuteilung von Verarbeitungs-Ressourcen zu den Modellier-Prozeduren erleichtert werden.
-
In gewissen Ausführungsformen kann der Ressourcenzuteilungsplan eine ausgewiesene Menge von Verarbeitungs-Ressourcen für die Ausführung der Modellier-Prozeduren zuteilen. Die allozierbare Menge von Verarbeitungs-Ressourcen kann in einem Verarbeitungs-Ressourcen-Budget ausgewiesen sein, welches durch einen Benutzer bereitgestellt werden kann oder von einer weiteren geeigneten Quelle erhalten werden kann. Das Verarbeitungs-Ressourcen-Budget kann den Verarbeitungs-Ressourcen, die für das Ausführen der Modellier-Prozeduren einzusetzen sind (z. B. die Menge an einzusetzender Zeit, die Zahl an einzusetzenden Verarbeitungs-Knoten, die Kosten, die für die Verwendung eines Rechenzentrums oder cloud-basierende Verarbeitungs-Ressourcen angefallen sind, usw.) Beschränkungen auferlegen. In gewissen Ausführungsformen kann das Verarbeitungs-Ressourcen-Budget insgesamt den Verarbeitungs-Ressourcen, die für das Verfahren zum Erzeugen eines prädiktiven Modells für ein ausgewiesenes Vorhersageproblem einzusetzen sind, Beschränkungen auferlegen.
-
Zurückkehrend zu 3 können bei Schritt 340 von Verfahren 300 die Ergebnisse vom Ausführen der ausgewählten Modellier-Prozeduren gemäß dem Ressourcenzuteilungsplan empfangen werden. Diese Ergebnisse können ein oder mehr prädiktive Modelle enthalten, erzeugt durch die ausgeführten Modellier-Prozeduren. In gewissen Ausführungsformen werden die bei Schritt 340 empfangenen prädiktiven Modelle den/dem Datensätzen/Datensatz zugehörig zu dem Vorhersageproblem eingepasst, weil die Ausführung der Modellier-Prozeduren ein Einpassen der prädiktiven Modelle zu einem oder mehreren Datensätzen, zugehörig zu dem Vorhersageproblem, enthalten kann. Anpassen der prädiktiven Modelle zu den/dem Datensätzen/Datensatz der Vorhersageprobleme kann Abstimmen eines oder mehrerer Hyper-Parameter der prädiktiven Modellier-Prozedur, die das prädiktive Modell erzeugt, Abstimmen eines oder mehrerer Parameter des erzeugten prädiktiven Modells und/oder andere geeignete Modell-Einpass-Schritte enthalten.
-
In gewissen Ausführungsformen enthalten die Ergebnisse, empfangen bei Schritt 340, Bewertungen (z. B. Scores) der Performanzen der Modelle zu dem Vorhersageproblem. Diese Bewertungen können durch Testen der prädiktiven Modelle an Test-Datensätzen/Datensatz, zugehörig zu dem Vorhersageproblem, erhalten werden. In gewissen Ausführungsformen enthält Testen eines prädiktiven Modells eine Vergleichsprüfung des Modells unter Verwendung verschiedener Folds von Training-Datensätzen, zugehörig zu dem Vorhersageproblem. In gewissen Ausführungsformen enthält die Ausführung der Modellier-Prozeduren das Testen von den erzeugten Modellen. In gewissen Ausführungsformen wird das Testen der erzeugten Modelle gesondert von der Ausführung der Modellier-Prozeduren ausgeführt.
-
Die Modelle können gemäß geeigneter Test-Techniken getestet und gemäß einer geeigneten Scoring-Metrik bewertet werden (z. B. eine Zielfunktion). Verschiedene Scoring-Metriken können verschiedene Gewichte auf verschiedene Aspekte einer Performanz eines prädiktiven Modells legen, einschließlich ohne Begrenzung darauf, der Genauigkeit der Modelle (z. B. die Rate, bei der das Modell das Resultat des Vorhersageproblems korrekt voraussagt), falsch-positiver Rate (z. B. die Rate, bei der das Modell ein ”positives” Resultat unkorrekt voraussagt), falsch-negativer Rate (z. B. die Rate, bei der das Modell ein ”negatives” Resultat unkorrekt voraussagt), positiver Vorhersagungs-Wert, negativer Vorhersagungs-Wert, Empfindlichkeit, Spezifität, usw. Der Benutzer kann eine Standard-Scoring-Metrik (z. B. Anpassungsgüte, R-square, usw.) aus einem Satz von Optionen, die über die Benutzer-Schnittstelle 120 vorliegen, oder speziell eine kundenspezifische Scoring-Metrik (z. B. eine kundenspezifische Zielfunktion) über Benutzer-Schnittstelle 120 auswählen. Explorationsmaschine 110 kann die Benutzer-ausgewählte oder Benutzer-ausgewiesene Scoring-Metrik zum Bewerten der Performanz der prädiktiven Modelle verwenden.
-
Zurückkehrend zu 3 können bei Schritt 350 von Verfahren 300 ein prädiktives Modell für das Vorhersageproblem, basierend auf den Bewertungen (z. B. Scores) der erzeugten prädiktiven Modelle, ausgewählt werden. Die Raum-Such-Maschine 110 kann beliebige geeignete Kriterien zur Auswahl des prädiktiven Modells für das Vorhersageproblem verwenden. In gewissen Ausführungsformen kann die Raum-Such-Maschine 110 das Modell mit dem höchsten Score oder ein beliebiges Modell mit einem Score, der einen Schwellenwert-Score überschreitet, oder ein beliebiges Modell mit einem Score innerhalb eines ausgewiesen Bereichs des höchsten Scores auswählen. In gewissen Ausführungsformen können die Scores der prädiktiven Modelle nur ein Faktor sein, der von Raum-Explorationsmaschine 110 bei Auswahl eines prädiktiven Modells für das Vorhersageproblem berücksichtigt wird. Weitere Faktoren, berücksichtigt von der Raum-Explorationsmaschine, können ohne Begrenzung darauf, die Komplexität der prädiktiven Modelle, den rechnerintensiven Bedarf des prädiktiven Modells usw. einschließen.
-
In gewissen Ausführungsformen kann die Auswahl des prädiktiven Modells für das Vorhersageproblem iterativ eine Auswahl einer Teilmenge der prädiktiven Modelle und Training der ausgewählten prädiktiven Modelle an größeren oder verschiedenen Abschnitten des Datensatzes umfassen. Dieses iterative Verfahren kann fortgesetzt werden bis ein prädiktives Modell für das Vorhersageproblem ausgewählt ist oder bis die Verarbeitungs-Ressourcen Budgets zum Erzeugen des prädiktiven Modells erschöpft sind.
-
Die Auswahl einer Teilmenge von prädiktiven Modellen kann eine Auswahl eines Bruchteils der prädiktiven Modelle mit den höchsten Scores, Auswahl aller Modelle mit Scores, die einen Schwellenwert-Score überschreiten, Auswahl aller Modelle mit Scores innerhalb eines ausgewiesenen Bereichs des Scores des höchsten Scoring-Modells oder Auswahl einer beliebigen anderen geeigneten Gruppe von Modellen umfassen. In gewissen Ausführungsformen können Auswahl der Teilmenge von prädiktiven Modellen analog zur Auswahl einer Teilmenge von prädiktiven Modellier-Prozeduren sein, wie oben mit Bezug auf Schritt 320 von Verfahren 300 beschrieben. Folglich werden die Einzelheiten der Auswahl einer Teilmenge von prädiktiven Modellen hier nicht weiter erörtert.
-
Ein Training der ausgewählten prädiktiven Modelle kann Erzeugen eines Ressourcenzuteilungsplans umfassen, der den Verarbeitungs-Knoten für das Training der ausgewählten Modelle Verarbeitungs-Ressourcen zuteilt. Die Zuteilung von Verarbeitungs-Ressourcen kann bestimmt werden, basierend, zumindest zum Teil, auf den Eignungen der Modellier-Techniken, die zum Erzeugen der ausgewählten Modelle verwendet werden, und/oder auf den Scores der ausgewählten Modelle für andere Proben des Datensatzes. Das Training der ausgewählten prädiktiven Modelle kann weiterhin Übertragen von Anweisungen zu Verarbeitungs-Knoten zum Einpassen der ausgewählten prädiktiven Modelle zu einem ausgewiesenen Abschnitt des Datensatzes und Empfangen von Ergebnissen des Trainings-Verfahrens, einschließlich eingepasster Modelle und/oder Scores der eingepassten Modelle, umfassen. In gewissen Ausführungsformen kann das Training der ausgewählten prädiktiven Modelle analog zum Ausführen der ausgewählten prädiktiven Modellier-Prozeduren sein, wie oben beschrieben mit Bezug auf Schritte 320–330 von Verfahren 300. Folglich werden die Einzelheiten des Trainings der ausgewählten prädiktiven Modelle hier nicht weiter erörtert.
-
In gewissen Ausführungsformen können Schritte 330 und 340 iterativ ausgeführt werden bis ein prädiktives Modell für das Vorhersageproblem ausgewählt ist oder bis die Verarbeitungs-Ressourcen-Budgets zum Erzeugen des prädiktiven Modells erschöpft sind. Am Ende von jeder Iteration können die Eignungen der prädiktiven Modellier-Prozeduren für das Vorhersageproblem neu bestimmt werden, basierend, zumindest zum Teil, auf den Ergebnissen zum Ausführen der Modellier-Prozeduren, und ein neuer Satz von prädiktiven Modellier-Prozeduren kann zur Ausführung während der nächsten Iteration ausgewählt werden.
-
In gewissen Ausführungsformen kann die Zahl von Modellier-Prozeduren, ausgeführt in einer Iteration von Schritten 330 und 340, dazu neigen, sich zu vermindern, wenn die Zahl an Iterationen zunimmt, und die Menge an Daten, verwendet zum Training und/oder Testen der erzeugten Modelle kann zum Erhöhen neigen, wenn die Zahl von Iterationen zunimmt. Somit können die früheren Iterationen ”ein weites Netz auswerfen” durch Ausführen einer relativ großen Zahl von Modellier-Prozeduren an relativ kleinen Datensätzen, und die späteren Iterationen können rigoroseres Testen der aussichtsreichsten Modellier-Prozeduren, die während der früheren Iterationen identifiziert wurden, ausführen. Alternativ oder zusätzlich können die früheren Iterationen eine eher grobkörnige Bewertung des Such-Raums implementieren, und die späteren Iterationen können eher fein-körnige Bewertungen der Abschnitte des Such-Raums, der als am aussichtsreichsten bestimmt wurde, implementieren.
-
In gewissen Ausführungsformen enthält Verfahren 300 einen oder mehrere Schritte, die in 3 nicht veranschaulicht sind. Zusätzliche Schritte von Verfahren 300 können ohne Begrenzung darauf, Verarbeitung eines Datensatzes, zugehörig zu dem Vorhersageproblem, gemischte zwei oder mehrere prädiktive Modelle zur Bildung eines vermischten prädiktiven Modells und/oder Abstimmen des prädiktiven Modells, das für das Vorhersageproblem ausgewählt wurde, einschließen. Einige Ausführungsformen dieser Schritte werden nachstehend in weiteren Einzelheiten beschrieben.
-
Verfahren 300 kann einen Schritt enthalten, bei dem der Datensatz, zugehörig zu einem Vorhersageproblem, verarbeitet wird. In gewissen Ausführungsformen schließt eine Verarbeitung eines Datensatzes von Vorhersageproblemen Charakterisieren des Datensatzes ein. Charakterisieren des Datensatzes kann Identifizieren potenzieller Probleme mit dem Datensatz enthalten, einschließlich aber nicht begrenzt darauf, Identifizieren von austretenden Daten (z. B. Szenarien, wobei der Datensatz ein Merkmal enthält, das stark mit dem Ziel korreliert, aber der Wert des Merkmals würde nicht als Input für das prädiktive Modell unter den durch das Vorhersageproblem auferlegten Bedingungen verfügbar sein), Nachweisen fehlender Beobachtungen, Nachweisen fehlender variabler Werte, Identifizieren außerhalb liegender Variablen-Werte und/oder Identifizieren von Variablen, die höchstwahrscheinlich einen signifikant prädiktiven Wert haben (”wichtige Variable”).
-
In gewissen Ausführungsformen enthält die Verarbeitung eines Datensatzes von Vorhersageproblemen Anwenden von Feature-Engineering auf den Datensatz. Anwendung von Feature-Engineering auf den Datensatz kann Kombinieren zweier oder mehrerer Merkmale und Ersetzen der aufbauenden Merkmale mit dem kombinierenden Merkmal, Extrahieren verschiedener Aspekte der Datum/Zeit-Variable (z. B. temporäre und saisonale Informationen) in gesonderte Variablen, Normalisierung variabler Werte, Auffüllen fehlender variabler Werte usw. enthalten.
-
Verfahren 300 kann einen Schritt enthalten, bei dem zwei oder mehrere prädiktive Modelle zur Bildung eines vermischten prädiktiven Modells vermischt werden. Der gemischte Schritt kann iterativ in Verbindung mit Ausführen der prädiktiven Modellier-Techniken und Bewerten der erzeugten prädiktiven Modelle ausgeführt werden. In gewissen Ausführungsformen kann der gemischte Schritt in nur einigen der Ausführung/Bewertungs-Iterationen ausgeführt werden (z. B. in den späteren Iterationen, wenn mehrere aussichtsreiche prädiktive Modelle erzeugt wurden).
-
Zwei oder mehrere Modelle können durch Kombinieren des Output der aufbauenden Modelle vermischt werden. In gewissen Ausführungsformen kann das vermischte Modell eine gewichtete, lineare Kombination von dem Output der aufbauenden Modelle umfassen. Ein vermischtes prädiktives Modell kann man besser als die aufbauenden prädiktiven Modelle ausführen, insbesondere in Fällen, in denen verschiedene aufbauende Modelle komplementär sind. Zum Beispiel kann ein vermischtes Modell zum Ausführen als gut erwartet werden, wenn die aufbauenden Modelle auf verschiedenen Abschnitten des Datensatzes der Vorhersageprobleme zum Ausführen gut wären, wenn Gemische von Modellen gut an anderen (z. B. ähnlichen) Vorhersageproblemen ausgeführt worden sind, wenn die Modellier-Techniken, verwendet zum Erzeugen der Modelle, unähnlich sind (z. B. ein Modell ist ein lineares Modell und das andere Modell ist ein Baum-Modell), usw. In gewissen Ausführungsformen werden die miteinander zu vermischenden aufbauenden Modelle von einem Benutzer identifiziert (z. B. basierend auf der Intuition und Erfahrung des Benutzers).
-
Verfahren 300 kann einen Schritt enthalten, bei dem das prädiktive Modell, ausgewählt für das Vorhersageproblem, abgestimmt wird. In einigen Fällen stellt Deployment-Maschine 140 den Quellcode bereit, der das prädiktive Modell für den Benutzer implementiert, wodurch dem Benutzer ermöglicht wird, das prädiktive Modell abzustimmen. Allerdings kann das Offenbaren eines Quellcodes eines prädiktiven Modells in einigen Fällen unerwünscht sein (z. B. in Fällen, bei denen die prädiktive Modellier-Technik oder das prädiktive Modell proprietäre Fähigkeiten oder Informationen enthält). Um einen Benutzer zum Abstimmen eines prädiktiven Modells ohne Freilegen des Quellcodes des Modells zuzulassen, kann Deployment-Maschine 140 menschlich-lesbare Regeln zum Abstimmen der Parameter des Modells einbauen, basierend auf einer Repräsentation (z. B. einer mathematischen Repräsentation) des prädiktiven Modells, und Bereitstellen der menschlich-lesbaren Regeln für den Benutzer. Der Benutzer kann dann die menschlich-lesbaren Regeln zum Abstimmen der Parameter des Modells ohne Zugriff auf den Quellcode des Modells verwenden. Somit kann prädiktives Modellier-System 100 Bewertung und Abstimmen der proprietären prädiktiven Modellier-Techniken ohne Freilegen des Quellcodes für die proprietären Modellier-Techniken für die Endbenutzer stützen.
-
In gewissen Ausführungsformen können die maschinenausführbaren Template entsprechend den prädiktiven Modellier-Prozeduren Effizienz-erhöhende Merkmale zum Vermindern redundanten Rechnens enthalten. Diese Effizienz-erhöhenden Merkmale können insbesondere in Fällen wertvoll sein, bei denen relativ kleine Mengen von Verarbeitungs-Ressourcen für die Exploration des Such-Raums und Erzeugen des prädiktiven Modells budgetiert sind. Wie vorstehend beschrieben können die maschinenausführbaren Template einzigartige IDs für die entsprechenden Modellier-Elemente (z. B. Techniken, Tasks oder Subtasks) speichern. Außerdem kann das prädiktive Modellier-System 100 einzigartige IDs den Datensatz-Proben S zuweisen. In gewissen Ausführungsformen speichert, wenn ein maschinenausführbares Templat T an einer Datensatz-Probe S ausgeführt wird, das Templat seine Modellier-Element-ID, die Datensatz/Probe-ID und die Ergebnisse vom Ausführen des Templats an der Daten-Probe in einer Speicherungs-Struktur (z. B. eine Tabelle, einen Cache, einen Hash usw.), zugreifbar für die anderen Template. Wenn ein Templat T an einer Datensatz-Probe. S aufgerufen wird, prüft das Templat die Speicherungs-Struktur zum Bestimmen, ob die Ergebnisse vom Ausführen des Templats an jener Datensatz-Probe bereits gespeichert sind. Falls ja, holt, anstelle von Reprocessing der Datensatz-Probe, um dieselben Ergebnisse zu erhalten, das Templat einfach die entsprechenden Ergebnisse aus der Speicherungs-Struktur, führt jene Ergebnisse zurück und beendet. Die Speicherungs-Struktur kann innerhalb individueller Iterationen der Schleife bestehen, wobei Modellier-Prozeduren über mehrere Iterationen der Prozedur-Ausführungs-Schleife oder über mehrere Such-Raum-Explorationen ausgeführt werden. Die rechnertechnischen Einsparungen, erzielt über dieses Effizienz-erhöhende Merkmal, sind nennenswert, da viele Tasks und Subtasks von verschiedenen Modellier-Techniken geteilt werden und Verfahren 300 häufig das Ausführen verschiedener Modellier-Techniken an denselben Datensätzen involviert.
-
4 zeigt ein Fließschema eines Verfahrens 400 zur Auswahl eines prädiktiven Modells für ein Vorhersageproblem gemäß einigen Ausführungsformen. Verfahren 300 kann gemäß dem Beispiel von Verfahren 400 ausgeführt werden.
-
Im Beispiel von 4 verwendet Raum-Such-Maschine 110 die Modellier-Verfahrensweise-Bibliothek 212, die Modellier-Technik-Bibliothek 130 und die Modellier-Task-Bibliothek 232 zur Suche des Raums nach verfügbaren Modellier-Techniken für eine Lösung zu einem prädiktiven Modellier-Problem. Anfänglich kann der Benutzer eine Modellier-Verfahrensweise aus Bibliothek 212 auswählen oder Raum-Such-Maschine 110 kann automatisch eine Default-Modellier-Verfahrensweise auswählen. Die verfügbaren Modellier-Verfahrensweisen können ohne Begrenzung darauf Selektion von Modellier-Techniken, basierend auf der Anwendung von deduktiven Regeln, Selektion von Modellier-Techniken, basierend auf der Performanz von ähnlichen Modellier-Techniken an ähnlichen Vorhersageproblemen, Selektion von Modellier-Techniken, basierend auf dem Output des einen meta-maschinellen Lern-Modells, eine beliebige Kombination der vorangehenden Modellier-Techniken oder andere geeignete Modellier-Techniken einschließen.
-
Bei Schritt 402 von Verfahren 400 fordert die Explorationsmaschine 110 den Benutzer zur Auswahl des Datensatzes für das prädiktive Modellieren des zu lösenden Problems auf. Der Benutzer kann aus vorher geladenen Datensätzen auswählen oder einen neuen Datensatz schaffen, entweder aus einer Datei oder Anweisungen zum Abrufen von Daten von anderen Informations-Systemen. Im Fall von Dateien kann die Explorationsmaschine 110 eines oder mehr Formate unterstützen, einschließlich ohne Begrenzung darauf, Komma getrennte Werte, Tab-begrenzte, Extensible Markup Language (XML), JavaScript Object Notation, native Databank-Dateien, usw. Im Fall von Anweisungen kann der Benutzer die Arten von Informations-Systemen, ihre Netzwerkadressen, Zugriffs-Berechtigungsnachweis, Bezug auf die Teilmengen von Daten innerhalb jedes Systems und die Regeln zum Kartieren der Target-Daten-Schemata in dem gewünschten Datensatz-Schema spezifizieren. Solche Informations-Systeme können ohne Begrenzung darauf Datenbanken, Datenspeicher, Data Integration Services, verteilte Anwendungen, Web Services usw. einschließen.
-
Bei Schritt 404 von Verfahren 400 lädt Explorationsmaschine 110 die Daten (z. B. durch Lesen der ausgewiesenen Datei oder Zugriff der ausgewiesenen Informations-Systeme). Intern kann die Explorationsmaschine 110 eine zweidimensionale Matrix mit den Merkmalen auf einer Achse und die Beobachtungen auf der anderen aufbauen. Konzeptionell kann jede Spalte der Matrix einer Variable entsprechen, und jede Reihe der Matrix kann einer Beobachtung entsprechen. Die Explorationsmaschine 110 kann relevante Metadaten an die Variable hängen, einschließlich Metadaten, erhalten von der ursprünglichen Quelle (z. B. explizit ausgewiesene Daten-Arten) und/oder Metadaten, erzeugt während des Lade-Verfahrens (z. B. die ersichtlichen Daten-Arten der Variable; ob die Variable numerisch, ordinal, cardinal oder als interpretierte Arten erscheinen; usw.).
-
Bei Schritt 406 von Verfahren 400 fordert Explorationsmaschine 110 den Benutzer zum Identifizieren auf, welche der Variablen Ziele sind und/oder welche Merkmale sind. In gewissen Ausführungsformen fordert Explorationsmaschine 110 auch den Benutzer zum Identifizieren der Metrik der Modell-Performanz auf, die zum Scoring der Modelle einzusetzen ist (z. B. die Metrik der Modell-Performanz, die zu optimieren ist, im Sinne von statistischen Optimierungs-Techniken, durch den statistischen Lern-Algorithmus, implementiert von Explorationsmaschine 110).
-
Bei Schritt 408 von Verfahren 400 bewertet Explorationsmaschine 110 den Datensatz. Diese Bewertung kann Berechnen der Eigenschaften des Datensatzes enthalten. In gewissen Ausführungsformen enthält diese Bewertung Ausführen einer Analyse des Datensatzes, was dem Benutzer helfen kann, das Vorhersageproblem besser zu verstehen. Solch eine Analyse kann das Anwenden eines oder mehrerer Algorithmen zum Identifizieren problematischer Variable (z. B. jene mit Ausreißern oder Einliegern), Bestimmen der Variablen-Bedeutung, Bestimmen der Variablen-Wirkungen und Identifizieren der Wirkung von Hotspots enthalten.
-
Die Analyse des Datensatzes kann unter Verwendung beliebiger geeigneter Techniken ausgeführt werden. Variablen-Bedeutung, die den Grad an Signifikanz jedes Merkmals misst, hat bei Vorhersagen das Ziel, unter Verwendung von ”Gradient Boosted Trees”, Breiman und Cutler's ”Random Forest”, ”alternating conditional expectations”, und/oder anderen geeigneten Techniken analysiert werden zu können. Variablen-Effekte, die die Richtungen und Größen der Effekte von Merkmalen messen, haben das Ziel, unter Verwendung ”regularized regression”, ”logistic regression” und/oder anderer geeigneter Techniken analysiert werden zu können. Effekt-Hotspots, welche die Bereiche über die Merkmale identifizieren, die die meiste Information beim Vorhersagen des Ziels bereitstellen, können unter Verwendung des ”RuleFit” Algorithmus und/oder anderer geeigneter Techniken analysiert werden.
-
Bei gewissen Ausführungsformen enthält, zusätzlich zum Bewerten der Bedeutung von Merkmalen, die in dem ursprünglichen Datensatz enthalten sind, die Bewertung, ausgeführt bei Schritt 408 von Verfahren 400, eine Merkmal-Erzeugung. Merkmal-Erzeugungs-Techniken können das Erzeugen von zusätzlichen Merkmalen durch Interpretation des logischen Typs von Variablen von Datensätzen und Anwenden verschiedener Transformationen für die Variable enthalten. Beispiele für Transformationen schließen ohne Begrenzung darauf polynomiale und logarithmische Transformationen für numerische Merkmale ein. Für interpretierte Variablen (z. B. Datum, Zeit, Währung, Maßeinheiten, Prozentsätze und Ortsbestimmungs-Koordinaten) schließen Beispiele von Transformationen ohne Begrenzung darauf Parsing einer Datenkette in eine kontinuierlich Zeit-Variable, Tag von Woche, Monat und Saison zum Testen jedes Aspekts des Datums für prädiktiven Leistung ein.
-
Die systematische Transformation von numerischen und/oder interpretierten Variablen, gefolgt von ihrem systematischen Testen mit potenziell prädiktiven Modellier-Techniken, kann prädiktives Modellier-System 100 zur Suche nach mehr von dem potenziellen Modell-Raum ermöglichen und genauere Vorhersagungen erzielen. Zum Beispiel kann im Fall von ”Datum/Zeit” ein Abtrennen temporärer und saisonaler Information zu gesonderten Merkmalen sehr nützlich sein, weil diese gesonderten Merkmale häufig ganz verschiedene Beziehungen mit der Target-Variable zeigen.
-
Das Schaffen von abgeleiteten Merkmalen durch Interpretation und Überführen der ursprünglichen Merkmale kann die Dimensionalität des ursprünglichen Datensatzes erhöhen. Das prädiktive Modellier-System 100 kann Dimensions-Reduktions-Techniken anwenden, die dem Erhöhen in der Dimensionalität der Datensätze entgegenstehen können. Allerdings sind einige Modellier-Techniken sensitiver für Dimensionalität als andere. Auch verschiedene Dimensions-Reduktions-Techniken neigen dazu, mit einigen Modellier-Techniken besser zu funktionieren als mit anderen. In gewissen Ausführungsformen behält prädiktives Modellier-System 100 Metadaten bei, die diese Wechselwirkungen beschreiben. Das System 100 kann systematisch verschiedene Kombinationen von Dimensions-Reduktions-Techniken und Modellier-Techniken, die die Kombinationen priorisieren, die die Metadaten anzeigen, welche höchstwahrscheinlich erfolgreich sein werden, bewerten. Das System 100 kann diese Metadaten, basierend auf der empirischen Performanz der Kombinationen über die Zeit, weiter aktualisieren und neue Dimensions-Reduktion-Techniken einbauen, wenn sie gefunden wurden.
-
Bei Schritt 410 von Verfahren 400 präsentiert prädiktives Modellier-System 100 die Ergebnisse der Datensatz-Bewertung (z. B. die Ergebnisse der Datensatz-Analyse, die Eigenschaften des Datensatzes und/oder die Ergebnisse der Datensatz-Transformationen) dem Benutzer. In gewissen Ausführungsformen werden die Ergebnisse der Datensatz-Bewertung über Benutzer-Schnittstelle 120 (z. B. unter Verwendung von Graphen und/oder Tabellen) präsentiert.
-
Bei Schritt 412 von Verfahren 400 kann der Benutzer den Datensatz verfeinern (z. B. basierend auf den Ergebnissen der Datensatz-Bewertung). Solche Verfeinerung kann Auswahl-Verfahren zum Handling fehlender Werte oder Ausreißer für eines oder mehrerer Merkmale, Ändern eines interpretierten Variablen-Typs, Ändern der betroffenen Transformationen, Beseitigung von Merkmalen aus der Betrachtung, direktes Editieren besonderer Werte, Überführen von Merkmalen unter Verwendung einer Funktion, Kombinieren der Werte von Merkmalen unter Verwendung einer Formel, Addieren völlig neuer Merkmale zu dem Datensatz usw. enthalten.
-
Schritte 402–412 von Verfahren 400 können eine Ausführungsform des Schritts der Verarbeitung eines Datensatzes eines Vorhersageproblems, wie oben in Verbindung mit einigen Ausführungsformen von Verfahren 300 beschrieben, repräsentieren.
-
Bei Schritt 414 von Verfahren 400 kann die Such-Raum-Maschine 100 die verfügbaren Modellier-Techniken aus der Modellier-Technik-Bibliothek 130 laden. Die Bestimmung, welche Modellier-Techniken verfügbar sind, kann von der ausgewählten Modellier-Verfahrensweise abhängen. In gewissen Ausführungsformen kann das Laden der Modellier-Techniken parallel mit ein oder mehreren von Schritten 402–412 von Verfahren 400 auftreten.
-
Bei Schritt 416 von Verfahren 400 weist der Benutzer die Explorationsmaschine 110 an, mit der Suche für Modellier-Lösungen in entweder manuellem Modus oder automatischem Modus zu beginnen. Im automatischen Modus partitioniert die Explorationsmaschine 110 den Datensatz (Schritt 418) unter Verwendung eines Default-Sampling-Algorithmus und priorisiert die Modellier-Techniken (Schritt 420) unter Verwendung eines Default-Priorisierungs-Algorithmus. Priorisieren der Modellier-Techniken kann Bestimmen der Eignungen der Modellier-Techniken für das Vorhersageproblem und Auswahl zumindest einer Teilmenge der Modellier-Techniken zur Ausführung, basierend auf ihren bestimmten Eignungen, enthalten.
-
Im manuellen Modus regt die Explorationsmaschine 110 Daten-Partitionen (Schritt 422) an und regt eine Priorisierung der Modellier-Techniken (Schritt 424) an. Der Benutzer kann die angeregte Daten-Partition annehmen oder kundenspezifische Partitionen (Schritt 426) spezifizieren. Ebenfalls kann der Benutzer die angeregten Priorisierungen von Modellier-Techniken annehmen oder eine kundenspezifische Priorisierung von den Modellier-Techniken (Schritt 428) spezifizieren. In gewissen Ausführungsformen kann der Benutzer eine oder mehrere Modellier-Techniken modifizieren (z. B. unter Verwendung des Modellier-Technik-Builders 220 und/oder des Modellier-Task-Builders 230) (Schritt 430) bevor die Explorationsmaschine 110 mit der Ausführung der Modellier-Techniken beginnt.
-
Zum Erleichtern der Vergleichsprüfung kann prädiktives Modellier-System 100 den Datensatz partitionieren (oder eine Partitionierung des Datensatzes anregen) zu K ”Folds”. Die Vergleichsprüfung umfasst das Einpassen eines prädiktives Modells zu dem eingeteilten Datensatz K-mal, sodass während jedes Einpassens eine verschiedene Fold als Test-Set dient und die übrigen Folds als das Trainings-Set dienen. Die Vergleichsprüfung kann nützliche Information darüber erzeugen, wie die Genauigkeit eines prädiktiven Modells mit verschiedenen Trainings-Daten variiert. In Schritten 418 und 422 kann das prädiktive Modellier-System den Datensatz zu K Folds partitionieren, wobei die Zahl von Folds K ein Default-Parameter ist. In Schritt 426 kann der Benutzer die Zahl von Folds K ändern oder die Verwendung einer Vergleichsprüfung insgesamt aufheben.
-
Zum Erleichtern rigorosen Testens der prädiktiven Modelle kann prädiktives Modellier-System 100 den Datensatz partitionieren (oder eine Partitionierung des Datensatzes anregen) zu einem Trainings-Set und einem ”Holdout”-Test-Set. In gewissen Ausführungsformen wird das Trainings-Set in K Folds zur Vergleichsprüfung weiter eingeteilt. Das Trainings-Set kann dann zum Training und Bewerten der prädiktiven Modelle verwendet werden, aber das Holdout-Test-Set kann strikt zum Testen der prädiktiven Modelle vorgesehen sein. In gewissen Ausführungsformen kann prädiktives Modellier-System 100 die Verwendung des Holdout-Test-Sets zum Testen stark durchsetzen (und nicht zum Training), indem man das Holdout-Test-Set unzugreifbar macht, bis ein Benutzer bei der ausgewiesenen Behörde und/oder Berechtigungsnachweis es wieder aufhebt. In Schritten 418 und 422 kann prädiktives Modellier-System 100 den Datensatz so partitionieren, dass ein Default-Prozentsatz des Datensatzes für das Holdout-Set reserviert ist. In Schritt 426 kann der Benutzer den Prozentsatz des Datensatzes reserviert für das Holdout-Set ändern, oder das Verwenden eines Holdout-Sets insgesamt aufheben.
-
In gewissen Ausführungsformen partitioniert prädiktives Modellier-System 100 den Datensatz zum Erleichtern einer effizienten Verwendung von Rechen-Ressourcen während der Bewertung des Modellier-Such-Raums. Zum Beispiel kann prädiktives Modellier-System 100 die Vergleichsprüfungs-Folds des Datensatzes in kleinere Proben bzw. Samples partitionieren. Vermindern der Größe der Daten-Proben, an die die prädiktiven Modelle eingepasst werden, können die Menge an Rechen-Ressourcen, die zum Bewerten der relativen Performanz von verschiedenen Modellier-Techniken erforderlich sind, vermindern. In gewissen Ausführungsformen können die kleineren Proben durch Nehmen von Zufalls-Proben von Daten eines Folds erzeugt werden. Ebenfalls kann Vermindern der Größe der Daten-Proben, an die die prädiktiven Modelle eingepasst werden, die Menge an Rechen-Ressourcen vermindern, die zum Abstimmen der Parameter eines prädiktiven Modells oder der Hyper-Parameter einer Modellier-Technik erforderlich sind. Hyper-Parameter enthalten Variablen-Einstellungen für eine Modellier-Technik, die die Geschwindigkeit, Effizienz und/oder Genauigkeit von Modell-Einpassen-Verfahren beeinflussen können. Beispiele von Hyper-Parametern schließen ohne Begrenzung darauf den Penalty-Parameter eines elastischen-Netz Modells, die Zahl an Trees in einem Gradient-boosted Trees-Modell, die Zahl von Nachbarn in einem Nachbar Modell usw. ein.
-
In Schritten 432–458 von Verfahren 400 können die ausgewählten Modellier-Techniken unter Verwendung der eingeteilten Daten zum Bewerten des Such-Raums ausgeführt werden. Diese Schritte werden nachstehend in weiteren Einzelheiten beschrieben. Vereinfachend werden einige Aspekte der Bewertung des Such-Raums in Bezug auf Daten-Partitionen in den nachstehenden Absätzen beschrieben.
-
Das Abstimmen von Hyper-Parametern unter Verwendung von Probe-Daten, die das Test-Set eines Vergleichsprüfungs-Folds enthalten, kann zu einem Modell Über-Einpassen führen, wodurch das Anstellen von Vergleichen der Performanz verschiedener Modelle unzuverlässig wird. Unter Verwendung eines ”ausgewiesenen Ansatzes” kann man helfen, dieses Problem zu vermeiden, und kann einige andere wichtige Vorteile bereitstellen. Einige Ausführungsformen von Explorationsmaschine 110 implementieren daher eine ”verschachtelte Vergleichsprüfung”, eine Technik, wodurch zwei Schleifen von k-facher Vergleichsprüfung angewendet werden. Die äußere Schleife stellt ein Test-Set für beide Vergleiche eines gegebenen Modells zu anderen Modellen und Kalibrieren von Vorhersagungen jedes Modells an zukünftigen Proben bereit. Die innere Schleife stellt sowohl ein Test-Set zum Abstimmen der Hyper-Parameter gegebenen Modelle und ein Trainings-Set für abgeleitete Merkmale bereit.
-
Darüber hinaus können die Vergleichsprüfungs-Vorhersagungen, erzeugt in der inneren Schleife, gemischte Techniken erleichtern, die mehrere verschiedene Modelle kombinieren. In gewissen Ausführungsformen sind die Inputs in einen Mischer Vorhersagungen aus einem außerhalb-der-Probe-Modell. Unter Verwendung von Vorhersagungen aus einem In-der-Probe-Modell könnte zu einem Über-Einpassen führen, wenn mit gewissen gemischten Algorithmen verwendet. Ohne ein gut definiertes Verfahren für konsistentes Anwenden verschachtelter Vergleichsprüfung kann selbst der erfahrenste Benutzer Schritte fortlassen oder sie unkorrekt implementieren. Somit kann die Anwendung einer doppelten Schleife von k-facher Vergleichsprüfung erlauben, dass das prädiktive Modellier-System 100 gleichzeitig fünf wichtige Ziele erzielt: (1) Abstimmen komplexer Modelle mit vielen Hyper-Parametern, (2) Entwicklung informativer abgeleiteter Merkmale, (3) Abstimmen einer Mischung von zwei oder mehreren Modellen, (4) Kalibrieren der Vorhersagungen von einzelnen und/oder vermischten Modellen und (5) Aufrechterhalten eines rein unberührten Test-Sets, das einen genauen Vergleich von verschiedenen Modellen gestattet.
-
Bei Schritt 432 von Verfahren 400 erzeugt die Explorationsmaschine 110 einen Ressourcenzuteilungsplan für die Ausführung eines anfänglichen Sets der ausgewählten Modellier-Techniken. Die Zuteilung von Ressourcen, dargestellt durch den Ressourcenzuteilungsplan, kann, basierend auf der Priorisierung von Modellier-Techniken, den partitionierten Daten-Proben und den verfügbaren Rechnen-Ressourcen, bestimmt werden. In gewissen Ausführungsformen teilt Explorationsmaschine 110 Ressourcen den ausgewählten Modellier-Techniken gierig zu (z. B. Zuweisen von Rechen-Ressourcen wiederum zur höchst-priorisierten Modellier-Technik, die noch nicht ausgeführt wurde).
-
Bei Schritt 434 von Verfahren 400 initiiert die Explorationsmaschine 110 die Ausführung der Modellier-Techniken gemäß dem Ressourcenzuteilungsplan. In gewissen Ausführungsformen kann die Ausführung eines Sets von Modellier-Techniken Training eines oder mehrerer Modelle an derselben Daten-Probe, die aus dem Datensatz extrahiert wurde, umfassen.
-
Bei Schritt 436 von Verfahren 400 überwacht die Explorationsmaschine 110 den Status der Ausführung der Modellier-Techniken. Wenn eine Modellier-Technik das Ausführen erledigt hat, sammelt die Explorationsmaschine 110 die Ergebnisse (Schritt 438), die das eingepasste Modell und/oder Metriken vom Model-fit für die entsprechende Daten-Probe, enthalten. Solche Metriken können eine beliebige Metrik enthalten, die aus den eigentlichen Software-Komponenten extrahiert werden können, die das Einpassen ausführen, einschließlich ohne Begrenzung darauf, Gini-Koeffizient, r-Quadrat, residualer mittlerer quadratischer Fehler, beliebige Variationen davon, usw.
-
Bei Schritt 440 von Verfahren 400 beseitigt die Explorationsmaschine 110 die am schlechtesten auszuführenden Modellier-Techniken aus der Betrachtung (z. B. basierend auf der Performanz der Modelle, die sie gemäß Model-fit-Metriken erzeugen). Explorationsmaschine 110 kann die Modellier-Techniken zum Beseitigen unter Verwendung einer geeigneten Technik, einschließlich ohne Begrenzung darauf, Beseitigung jener, die keine Modelle erzeugen, die einem minimalen Schwellenwert einer Model-fit-Metrik genügen, Beseitigung aller Modellier-Techniken, ausgenommen jener, die Modelle erzeugt haben, die derzeitig in dem oberen Bruchteil aller erzeugten Modelle laufen, oder Beseitigung beliebiger Modellier-Techniken, die keine Modelle erzeugt haben, die innerhalb eines bestimmten Bereichs der oberen Modelle sind, bestimmen. In gewissen Ausführungsformen können verschiedene Prozeduren zum Beseitigen von Modellier-Techniken an verschiedener Stufen der Bewertung verwendet werden. In gewissen Ausführungsformen können Benutzer zugelassen werden, um verschiedene Eliminierungs-Techniken für verschiedene Modellier-Probleme zu spezifizieren. In gewissen Ausführungsformen können Benutzer zum Aufbau und Verwenden kundenspezifischer Eliminierungs-Techniken zugelassen werden. In gewissen Ausführungsformen können meta-statistische Lern-Techniken zur Auswahl unter Eliminierungs-Techniken und/oder Abstimmung der Parameter jener Techniken verwendet werden.
-
Da die Explorationsmaschine 110 Modell-Performanz berechnet und Modellier-Techniken aus der Betrachtung beseitigt werden, kann prädiktives Modellier-System 100 den Fortschritt der Such-Raum-Bewertung dem Benutzer über die Benutzer-Schnittstelle 120 (Schritt 442) präsentieren. In gewissen Ausführungsformen erlaubt bei Schritt 444 Explorationsmaschine 110 dem Benutzer das Modifizieren des Verfahrens zum Bewerten des Such-Raums, basierend auf dem Fortschritt der Such-Raum-Bewertung, dem Fachwissen des Benutzers und/oder anderer geeigneter Information. Wenn der Benutzer eine Modifizierung dem Such-Raum-Bewertungs-Verfahren spezifiziert, teilt die Raum-Bewertungs-Maschine 110 Verarbeitungs-Ressourcen entsprechend neu zu (z. B. bestimmt, welche Jobs betroffen sind und entweder innerhalb des terminierten Queue bewegt werden oder löscht sie aus dem Queue). Weitere Jobs setzen die Verarbeitung wie zuvor fort.
-
Der Benutzer kann das Such-Raum-Bewertungs-Verfahren in vielfäliger Weise modifizieren. Zum Beispiel kann der Benutzer die Priorität von einigen Modellier-Techniken vermindern oder sogar einige Modellier-Techniken aus der Betrachtung insgesamt beseitigen, selbst wenn die Performanz der Modelle, die sie an der ausgewählten Metrik erzeugten, gut war. Als weiteres Beispiel kann der Benutzer die Priorität von einigen Modellier-Techniken erhöhen oder einige Modellier-Techniken zur Beachtung auswählen, selbst wenn die Performanz der Modelle, die sie erzeugen, schlecht war. Als weiteres Beispiel kann der Benutzer die Bewertung von ausgewiesenen Modellen oder die Ausführung der ausgewiesenen Modellier-Techniken gegenüber zusätzlichen Daten-Proben priorisieren. Als weiteres Beispiel kann ein Benutzer eine oder mehrere Modellier-Techniken und die Auswahl der modifizierten Techniken zur Beachtung modifizieren. Als weiteres Beispiel kann der Benutzer die Merkmale ändern, die zum Training der Modellier-Techniken oder Anpassen der Modelle verwendet wurden (z. B. durch Addieren von Merkmalen, Entfernen von Merkmalen oder Auswahl verschiedener Merkmale). Solch eine Änderung kann nützlich sein, wenn die Ergebnisse anzeigen, dass die Größenordnungen des Merkmals Normalisierungen erfordern oder dass einige der Merkmale ”Datenlecks” sind.
-
In gewissen Ausführungsformen können Schritte 432–444 iterativ ausgeführt werden. Modellier-Techniken, die nicht beseitigt wurden (z. B. durch das System bei Schritt 440 oder durch den Benutzer bei Schritt 444), überstehen weitere Iteration. Basierend auf der Performanz eines Modells, erzeugt in der früheren Iteration (oder Iterationen), stellt die Explorationsmaschine 110 die Priorität der entsprechenden Modellier-Techniken ein und teilt Verarbeitungs-Ressourcen der entsprechenden Modellier-Technik zu. Da Rechen-Ressourcen verfügbar werden, verwendet die Maschine die verfügbaren Ressourcen zur Einführung der Modell-Technik-Ausführung-Jobs, basierend auf den aktualisierten Prioritäten.
-
In gewissen Ausführungsformen kann bei Schritt 432 Explorationsmaschine 110 mehrere Modelle unter Verwendung verschiedener mathematischer Kombinationen zum Schaffen neuer Modelle ”mischen” (z. B. unter Verwendung schrittweiser Selektion von Modellen, die in dem Mischer enthalten sein sollen). In gewissen Ausführungsformen stellt prädiktives Modellier-System 100 ein modulares Framework bereit, das den Benutzern gestattet, ihre eigenen automatischen Misch-Techniken anzuschließen. In gewissen Ausführungsformen gestattet das prädiktive Modellier-System 100 Benutzern, verschiedene Modell-Gemische manuell zu spezifizieren.
-
In gewissen Ausführungsformen kann das prädiktive Modellier-System 100 einen oder mehrere Vorteile bei der Entwicklung vermischter Vorhersagungs-Modelle bieten. Zunächst kann Mischen besser Funktionieren, wenn eine große Vielfalt von Kandidaten-Modellen zum Mischen verfügbar sind. Darüber hinaus kann Mischen besser funktionieren, wenn die Unterschiede zwischen Kandidat-Modellen nicht einfach den geringen Variationen in den Algorithmen entsprechen, sondern den großen Unterschieden im Ansatz, wie jene unter linearen Modellen, Tree-basierten Modellen, gestützten Vektor-Maschinen und Next-Neighbor-Klassifizierung. Prädiktives Modellier-System 100 kann einen wesentlichen Vorsprung durch automatisches Erzeugen einer breiten Vielfalt von Modellen und Aufrechterhalten von Metadaten, die beschreiben wie sich die Kandidaten-Modelle unterscheiden, abgeben. Prädiktives Modellier-System 100 kann auch ein Framework bereitstellen, das einem beliebigen Modell gestattet, durch zum Beispiel automatische Normalisierung der Skale von Variablen über die Kandidaten-Modelle in ein vermischtes Modell eingebaut zu werden. Dieses Framework erlaubt Benutzern, einfach ihre eigenen kundenspezifischen oder unabhängig erzeugten Modelle zu den automatisch erzeugten Modellen zur weiteren Erhöhung der Vielfalt hinzuzufügen.
-
Zusätzlich zu der zunehmenden Vielfalt von verfügbaren Kandidat-Modellen zum Mischen stellt das prädiktive Modellier-System 100 auch eine Zahl von Benutzer-Schnittstellen-Merkmalen und analytischen Merkmalen bereit, die zu ausgezeichnetem Mischen führen können. Zunächst kann Benutzer-Schnittstelle 120 einen interaktiven Modell-Vergleich vorsehen, einschließlich einiger verschiedener alternativer Messungen von Kandidat-Modell-Fit und Grafiken, wie Dual-Lift-Charts, sodass Benutzer leicht zu mischende genaue und komplementäre Modelle identifizieren können. Zweitens gibt Modellier-System 100 dem Benutzer die Option der Wahl spezieller Kandidaten-Modelle und gemischter Techniken oder automatischem Einpassen einiger oder aller der gemischten Techniken in die Modellier-Technik-Bibliothek unter Verwendung einiger oder aller der Kandidaten-Modelle. Das verschachtelte Vergleichsprüfungs-Framework setzt dann die Bedingung durch, dass die Daten, die zur Rangbildung jedes vermischten Modells verwendet werden, nicht beim Abstimmen des Mischers selbst oder beim Abstimmen seiner Hyper-Parameter der Komponenten-Modelle verwendet werden. Diese Diszipliniertheit kann dem Benutzer einen genaueren Vergleich von alternativer Mischer-Performanz liefern. In gewissen Ausführungsformen implementiert Modellier-System 100 eine Parallel-Verarbeitung vermischter Modelle, sodass die Rechnen-Zeit für das vermischte Modell sich der Rechen-Zeit seines langsamsten Komponenten-Modells annähert.
-
Zurückkehrend zu 4 präsentiert bei Schritt 446 von Verfahren 400 die Benutzer-Schnittstelle 120 die abschließenden Ergebnisse dem Benutzer. Basierend auf dieser Präsentation kann der Benutzer den Datensatz verfeinern (z. B. durch Zurückkehren zu Schritt 412), die Zuteilung von Ressourcen zum Ausführen von Modellier-Techniken abstimmen (z. B. durch Zurückkehren zu Schritt 444), ein oder mehrere der Modellier-Techniken zum Verbessern der Genauigkeit modifizieren (z. B. durch Zurückkehren zu Schritt 430), Ändern des Datensatzes (z. B. durch Zurückkehren zu Schritt 402), usw.
-
Bei Schritt 448 von Verfahren 400 kann anstelle von neu Starten der Such-Raum-Bewertung oder eines Abschnitts davon der Benutzer ein oder mehrere top-prädiktive Modell-Kandidaten auswählen. Bei Schritt 450 kann das prädiktive Modellier-System 100 die Ergebnisse des Holdout-Tests für den/die ausgewählten prädiktiven Modell-Kandidaten) präsentieren. Die Holdout-Test-Ergebnisse können ein Endmaß liefern, wie diese Kandidaten zu vergleichen sind. In gewissen Ausführungsformen können nur Benutzer mit hinreichend Privilegien die Holdout-Test-Ergebnisse auslösen. Verhindern des Auslösens der Holdout-Test-Ergebnisse, bis die Kandidat-prädiktiven-Modelle ausgewählt sind, kann eine unverzerrte Bewertung der Performanz erleichtern. Allerdings kann die Explorationsmaschine 110 tatsächlich die Holdout-Test-Ergebnisse berechnen, während des Modellier-Job-Ausführungs-Verfahrens (z. B. Schritte 432–444), solange wie die Ergebnisse verborgen bleiben, bis nachdem die Kandidat-prädiktiven Modelle ausgewählt sind.
-
Benutzer-Schnittstelle
-
Zurückkehrend zu 1 kann die Benutzer-Schnittstelle 120 Tools für das Monitoring und/oder zum Führen der Suche des prädiktiven Modellier-Raums vorsehen. Diese Tools können einen Einblick in einen Datensatz eines Vorhersageproblems vorsehen (z. B. durch Hervorheben problematischer Variablen in dem Datensatz, Identifizieren von Beziehungen zwischen Variablen in dem Datensatz usw.), und/oder Einblicke in die Ergebnisse der Suche. In gewissen Ausführungsformen können Datenanalysten die Schnittstelle zum Führen der Suche verwenden, z. B. durch Spezifizieren der zum Bewerten und Vergleichen von Modellier-Lösungen einzusetzenden Metriken, durch Spezifizieren der Kriterien zum Erkennen einer geeigneten Modellier-Lösung usw. Somit kann die Benutzer-Schnittstelle verwendet werden, damit Analysten ihre eigene Produktivität verbessern, und/oder zum Verbessern der Performanz der Explorationsmaschine 110. In gewissen Ausführungsformen präsentiert Benutzer-Schnittstelle 120 die Ergebnisse der Suche in Echtzeit und erlaubt dem Benutzer Führen der Suche (z. B. zum Abstimmen des Umfangs der Suche oder der Zuteilung von Ressourcen unter den Bewertungen unterschiedlicher Modellier-Lösungen) in Echtzeit. In gewissen Ausführungsformen stellt Benutzer-Schnittstelle 120 Tools zum Koordinieren der Bestrebungen von mehreren Datenanalysten, die an demselben Vorhersageproblem und/oder diesbezüglichen Vorhersageprobleme arbeiten, bereit.
-
In gewissen Ausführungsformen stellt die Benutzer-Schnittstelle 120 Tools zum Entwickeln von maschinenausführbaren Templaten für die Bibliothek 130 von Modellier-Techniken bereit. System-Benutzer können diese Tools zum Modifizieren vorhandener Template, zum Schaffen neuer Template oder zum Entfernen von Templaten aus der Bibliothek 130 verwenden. In dieser Weise kann der System-Benutzer die Bibliothek 130 zum Reflektieren von Fortschritten bei einer prädiktiven Modellier-Recherche und/oder beim Enthalten proprietärer prädiktiver Modellier-Techniken aktualisieren.
-
Benutzer-Schnittstelle 120 kann eine Vielfalt von Schnittstellen-Komponenten enthalten, die es dem Benutzer erlauben, mehrere Modellier-Projekte innerhalb einer Organisation zu handhaben, Elemente der Modellier-Verfahrensweise-Hierarchie zu schaffen und modifizieren, umfassende Recherchen für genaue prädiktive Modelle auszuführen, Einblicke in den Datensatz und die Modell-Ergebnisse zu gewinnen, und/oder fertige Modelle zum Erzeugen von Vorhersagungen an neuen Daten einzusetzen.
-
In gewissen Ausführungsformen unterscheidet die Benutzer-Schnittstelle 120 zwischen vier Arten des Benutzers: Administratoren, Technik-Entwickler, Modell-Builder und Beobachter. Administratoren können die Zuteilung von menschlichen und Rechen-Ressourcen zu Projekten kontrollieren. Technik-Entwickler können Modellier-Techniken und ihre Komponente-Tasks schaffen und modifizieren. Modell-Builder fokussieren hauptsächlich auf das Suchen guter Modelle, obgleich sie auch geringe Einstellungen zu Techniken und Tasks vornehmen können. Beobachter können bestimmte Aspekte des Projekt-Fortschritts und der Modellier-Ergebnisse ansehen, können vom Vornehmen irgendwelcher Änderungen der Daten oder Initiieren eines beliebigen Modell-Aufbaus ausgeschlossen sein. Eine Person kann mehr als eine Rolle an einem speziellen Projekt oder über mehrere Projekte erfüllen.
-
Benutzer, die als Administratoren handeln, können auf die Projektmanagement-Komponenten der Benutzer-Schnittstelle 120 zum Einstellen der Projekt-Parameter Zugriff haben, Projekt-Verantwortlichkeiten Benutzern zuweisen und den Projekten Rechen-Ressourcen zuteilen. In gewissen Ausführungsformen können Administratoren die Projektmanagement-Komponenten zum Organisieren mehrerer Projekte in Gruppen oder Hierarchien verwenden. Alle Projekte innerhalb einer Gruppe können die Einstellungen der Gruppen übernehmen. In einer Hierarchie können alle Nachfolger eines Projekts die Einstellungen des Projekts übernehmen. In gewissen Ausführungsformen können alle Benutzer mit ausreichenden Zulassungen übernommene Einstellungen abschalten. In gewissen Ausführungsformen können Benutzer mit ausreichenden Zulassungen weiterhin Einstellungen in anderen Abschnitten partitionieren, sodass nur Benutzer mit den entsprechenden Zulassungen dies ändern dürfen. In einigen Fällen können Administratoren Zugriff auf bestimmte Ressourcen orthogonal zu der Organisation der Projekte zulassen. Zum Beispiel können bestimmte Techniken und Tasks für jedes Projekt verfügbar gemacht werden, sofern dies nicht explizit verboten wurde. Andere können zu jedem Projekt verboten sein, sofern sie nicht explizit zugelassen sind. Darüber hinaus können einige Ressourcen auf einer Benutzerbasis zugeteilt werden, sodass ein Projekt nur Zugriff auf die Ressourcen hat, wenn ein Benutzer, der jene Rechte besitzt, dem bestimmten Projekt zugewiesen worden ist.
-
Beim Management von Benutzern können Administratoren die Gruppe alle auf dem System zugelassener Benutzer, ihre zugelassenen Rollen und System-Ebenen-Zulassungen kontrollieren. In gewissen Ausführungsformen können Administratoren Benutzer zu dem System durch Hinzufügen derselben zu einer entsprechenden Gruppe und Ausstellen eines gewissen Zugriffs-Berechtigungsnachweises hinzufügen. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 andere Arten von Berechtigungsnachweis unterstützen, einschließlich ohne Begrenzung darauf, Benutzername plus Passwort, Unified Authorization Frameworks (z. B. OAuth), Hardware-Token (z. B. Smart-Cards), usw.
-
Einmal zugelassen, kann ein Administrator spezifizieren, dass bestimmte Benutzer Default-Rollen haben, die sie für ein beliebiges Projekt annehmen. Zum Beispiel kann ein bestimmter Benutzer als ein Beobachter ausgewiesen werden, sofern er nicht für eine weitere Rolle durch einen Administrator für ein bestimmtes Projekt besonders autorisiert wurde. Ein weiterer Benutzer kann als ein Technik-Entwickler für alle Projekte vorgesehen sein, sofern er nicht von einem Administrator ausdrücklich ausgeschlossen wurde, während weitere als Technik-Entwickler für nur eine besondere Gruppe von Projekten oder einem Zweig der Projekt-Hierarchie vorgesehen sein können. Zusätzlich zu Default-Rollen können Administratoren weiterhin Benutzern speziellere Zulassungen auf der System-Ebene zuweisen.
-
Zum Beispiel können einige Administratoren in der Lage sein, Zugriff zu bestimmten Arten von Rechen-Ressourcen zu erteilen, einige Technik-Entwickler und Modell-Builder können in der Lage sein, Zugriff bestimmter Merkmale bei den Buildern zuzulassen; und einige Modell-Builder können autorisiert sein, Projekte neu zu beginnen, mehr als eine gegebene Ebene von Rechnen-Ressourcen zu verbrauchen, oder neue Benutzer zu Projekten, über die diese nicht verfügen, einzuladen.
-
In gewissen Ausführungsformen können Administratoren Zugriff, Zulassungen und Verantwortlichkeiten auf der Projekt-Ebene zuweisen. Zugriff kann die Fähigkeit zum Zugriff auf beliebige Informationen innerhalb eines bestimmten Projekts enthalten. Zulassungen können die Fähigkeit zum Ausführen spezieller Arbeitsabläufe für ein Projekt enthalten. Zugriff und Zulassungen können System-Ebenen-Zulassungen ausschalten oder mehr granuläre Kontrolle bereitstellen. Als Beispiel der vorangehenden kann ein Benutzer, der normalerweise vollständige Builder-Zulassungen hat, auf eine Teil-Builder Zulassung für ein bestimmtes Projekt begrenzt sein. Als ein Beispiel von Letzterem können bestimmte Benutzer vom Laden neuer Daten zu einem vorhandenen Projekt eingeschränkt werden. Verantwortlichkeiten können offene Punkte enthalten, dass von einem Benutzer erwartet wird, dass er für das Projekt vollständig zugelassen wird.
-
Benutzer, die als Entwickler handeln, können Zugriff auf die Builder-Bereiche der Schnittstelle zum Schaffen und Modifizieren von Modellier-Verfahrensweisen, -Techniken und -Tasks haben. Wie vorher erörtert, kann jeder Builder ein oder mehr Tools mit anderen Arten von Benutzer-Schnittstellen präsentieren, die die entsprechenden logischen Arbeitsabläufe ausführen. In gewissen Ausführungsformen kann die Benutzer-Schnittstelle 120 Entwicklern zulassen, ein ”Eigenschaften”-Blatt zum Editieren der Metadaten, zugefügt zu einer Technik, zu verwenden. Eine Technik kann auch das Abstimmen von Parametern, entsprechend Variablen für bestimmte Tasks, aufweisen. Ein Entwickler kann diese Abstimm-Parameter auf dem Technik-Ebene-Eigenschaften-Blatt veröffentlichen, Default-Werte spezifizieren und ob Modell-Builder diese Defaults ausschalten dürfen oder nicht.
-
In gewissen Ausführungsformen kann die Benutzer-Schnittstelle 120 ein grafisches Fließdiagramm-Tool zum Spezifizieren eines hierarchisch gebündelten Graphs von Tasks, zusammen mit irgendwelchen Einbau-Arbeitsabläufen für bedingte Logik, Filter-Output, Transforming-Output, Partitioning-Output, Kombinieren von Inputs, Iterieren über Sub-Graphen usw. anbieten. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 Einrichtungen zum Schaffen der Wrapper um die vorher vorhandene Software zum Implementieren von Blattebenen-Tasks vorsehen, einschließlich Eigenschaften, die für jeden Task eingestellt werden können.
-
In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 fortgeschrittenen Entwickler Einbau-Zugriff auf interaktive Entwicklungs-Umgebungen (IDEs) zum Implementieren von Blattebenen-Tasks vorsehen. Obwohl Entwickler alternativ eine Komponente in einer externen Umgebung kodieren und den Code als ein Blattebenen-Task einpacken, kann es zweckmäßig sein, wenn diese Umgebungen direkt zugreifbar sind. In solch einer Ausführungsform können die IDEs selbst in der Schnittstelle eingepackt sein und logisch in den Task-Builder integriert sein. Aus der Benutzer-Perspektive kann ein IDE innerhalb desselben Schnittstellen-Frameworks und auf derselben rechnerintensiven Infrastruktur wie der Task-Builder laufen. Diese Fähigkeit kann fortgeschrittenen Entwicklern ermöglichen, rascher bei der Entwicklung und Modifizierung von Techniken zu iterieren. Einige Ausführungsformen können weiterhin Code-Zusammenarbeits-Merkmale bereitstellen, die die Koordination zwischen mehreren Entwicklern, die gleichzeitig dieselben Blattebenen-Tasks programmieren, erleichtern.
-
Modell-Builder können die Techniken, erzeugt von Entwicklern zum Aufbau prädiktiver Modelle, für ihre speziellen Datensätze wirksam einsetzen. Andere Modell-Builder können unterschiedliche Ebenen der Erfahrung aufweisen und erfordern somit unterschiedliche Unterstützung von der Benutzer-Schnittstelle. Für relativ neue Benutzer kann die Benutzer-Schnittstelle 120 als ein möglichst automatisches Verfahren vorliegen, aber dennoch dem Benutzer die Fähigkeit zum Untersuchen von Optionen geben und dadurch mehr über das prädiktive Modellieren erfahren. Für intermediäre Benutzer kann die Benutzer-Schnittstelle 120 Information zum Erleichtern einer raschen Bewertung, wie einfach ein bestimmtes Problem zu lösen sein wird, Vergleichen wie sich ihre vorhandenen prädiktiven Modelle aufstapeln zu dem, was das prädiktive Modellier-System 100 automatisch erzeugen kann, und Erhalten eines beschleunigten Starts bei komplizierten Projekten, der schließlich von wesentlichen praktischen Abstimmen profitiert, präsentieren. Für fortgeschrittene Benutzer kann die Benutzer-Schnittstelle 120 Extraktion einiger extra dezimaler Stellen an Genauigkeit für ein vorhandenes prädiktives Modell erleichtern, schnelle Bewertung der Anwendbarkeit neuer Techniken auf die Probleme, die sie bearbeiten, und Entwicklung von Techniken für eine gesamte Klasse von Problemen, denen ihre Organisationen gegenüberstehen mag. Durch Einfangen des Wissens von fortgeschrittenen Benutzern erleichtern einige Ausführungsformen das Weitergeben von jenem Wissen über den gesamten Rest der Organisation.
-
Zur Stützung dieser Breite von Benutzer-Erfordernissen liefern einige Ausführungsformen von Benutzer-Schnittstellen 120 eine Folge von Schnittstellen-Tools, die das Modell-Aufbau-Verfahren reflektieren. Darüber hinaus kann jedes Tool ein Spektrum von Merkmalen von grundlegend bis fortgeschritten bieten. Der erste Schritt bei dem Modell-Aufbau-Verfahren kann Laden und Herrichten eines Datensatzes involvieren. Wie vorher erörtert, kann ein Benutzer eine Datei hochladen oder spezifizieren, wie auf die Daten von einem Online-System zuzugreifen ist. Im Zusammenhang von Modellier-Projekt-Gruppen oder -Hierarchien kann ein Benutzer auch spezifizieren, welche Teile des Stamm-Datensatzes für das laufende Projekt einzusetzen sind und welche Teile hinzuzufügen sind.
-
Für Basis-Benutzer kann prädiktives Modellier-System 100 sofort zum Aufbau von Modellen, nachdem der Datensatz ausgewiesen wurde, weiterlaufen, wobei nur gestoppt wird, wenn die verwendete Schnittstelle 120 Störungsereignisse anzeigt, einschließlich, ohne Begrenzung, nicht erschließbare Daten, zu wenig Beobachtungen zum Erwarten guter Ergebnisse, zu viel Beobachtungen zur Ausführung in einer angemessen Menge Zeit, zu viele fehlende Werte oder Variablen, deren Verteilungen zu unüblichen Ergebnissen führen können. Für intermediäre Benutzer kann Benutzer-Schnittstelle 120 Verstehen der Daten in mehr Tiefe erleichtern, durch Präsentieren der Tabelle von Daten-Satz-Eigenschaften und der Graphen von Variablen-Bedeutung, Variablen-Effekten und Wirkungs-Hotspots. Benutzer-Schnittstelle 120 kann auch das Verstehen und Visualisierung von Beziehungen zwischen den Variablen durch Bereitstellen von Visualisierungs-Tools, einschließlich ohne Begrenzung darauf, Korrelations-Matrizen, Teil-Abhängigkeits-Plots und/oder die Ergebnisse von unkontrollierten Maschinen-Lern-Algorithmen, wie k-Means und hierarchisches Clustering, erleichtern. In gewissen Ausführungsformen erlaubt Benutzer-Schnittstelle 120, fortgeschrittenem Benutzer das Schaffen völlig neuer Datensatz-Merkmale durch Spezifizieren von Formeln, die ein vorhandenes Merkmal oder eine Kombination von ihnen transformieren.
-
Ist einmal der Datensatz geladen, kann der Benutzer die zu optimierende Modell-fit-Metrik spezifizieren. Für Basis-Benutzer kann das prädiktive Modellier-System 100 die Modell-fit-Metrik auswählen, und Benutzer-Schnittstelle 120 kann eine Erläuterung der Auswahl präsentieren. Für intermediäre Benutzer kann Benutzer-Schnittstelle 120 Informationen zum Helfen dem Benutzer, die Kompromisse bei der Wahl anderer Metriken für einen bestimmten Datensatz zu verstehen, präsentieren. Für fortgeschrittene Benutzer kann Benutzer-Schnittstelle 120 den Benutzer zulassen, kundenspezifische Metriken durch Schreiben von Formeln (z. B. Zielfunktionen), basierend auf den unteren-Ebene-Performanz-Daten, gesammelt von der Explorationsmaschine 110, zu spezifizieren oder auch durch Hochladen von kundenspezifischem Metrik-Berechnungs-Code.
-
Mit dem geladenen Datensatz und ausgewählter Modell-fit-Metrik kann der Benutzer die Explorationsmaschine starten. Für Basis-Benutzer kann die Explorationsmaschine 110 die Default-Priorisierungs-Einstellungen für Modellier-Techniken verwenden, und Benutzer-Schnittstelle 120 kann Informationen auf hoher Ebene über Modell-Performanz vorsehen, wie weit die Ausführung im Datensatz voranschreitet, und den allgemeinen Verbrauch von Rechen-Ressourcen. Für intermediäre Benutzer kann Benutzer-Schnittstelle 120 zulassen, dass der Benutzer eine Teilmenge von Techniken zum Berücksichtigen und etwas Abstimmen einiger der anfänglichen Prioritäten spezifiziert. In gewissen Ausführungsformen stellt Benutzer-Schnittstelle 120 mehr granuläre Performanz und Fortschritt-Daten bereit, sodass intermediäre Benutzer In-flight-Einstellungen, wie vorher beschrieben, vornehmen können. In gewissen Ausführungsformen stellt Benutzer-Schnittstelle 120 intermediären Benutzer mehr Einblick in und Kontrolle des Rechen-Ressourcen-Verbrauchs bereit. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 fortgeschritten Benutzern signifikante (z. B. vollständig) Kontrolle der berücksichtigten Techniken und ihre Priorität bieten, alle Performanz-Daten verfügbar machen, und signifikante (z. B. vollständiges) Kontrollieren des Ressourcen-Verbrauchs. Durch entweder Bieten eindeutiger Schnittstellen zu anderen Ebenen von Benutzern oder ”Zusammenfallen” mehr fortgeschrittener Merkmale für weniger fortgeschrittene Benutzer durch Default können einige Ausführungsformen der Benutzer-Schnittstelle 120 die Benutzer auf ihren entsprechenden Ebenen unterstützen.
-
Während und nach der Exploration des Such-Raums kann die Benutzer-Schnittstelle Information über die Performanz von einer oder mehreren Modellier-Techniken präsentieren. Einige Performanz-Informationen können in einem Tabellen-Format angezeigt werden, während andere Performanz-Informationen in einem grafischen Format angezeigt werden können. Zum Beispiel kann Information, präsentiert in Tabellen-Format, ohne Begrenzung darauf Vergleiche von Modell-Performanz durch Technik, Bruchteile von bewerteten Daten, Technik-Eigenschaften oder der laufende Verbrauch von Rechen-Ressourcen einschließen. Information, präsentiert in grafischem Format, kann ohne Begrenzung den gebündelten Graph von Tasks in einer Modellier-Prozedur, Vergleiche von Modell-Performanz über andere Partitionen des Datensatzes, Repräsentationen von Modell-Performanz, wie die Empfänger-Betriebs-Eigenschaften und Lift-chart, vorhergesagt gegen aktuelle Werte, und der Verbrauch von Rechen-Ressourcen mit der Zeit einschließen. Die Benutzer-Schnittstelle 120 kann ein modulares Benutzer-Schnittstellen-Framework enthalten, das einen einfachen Einschluss neuer Performanz-Informationen vom beliebigen Typ gestattet. Darüber hinaus können einige Ausführungsformen die Anzeige einiger Arten von Informationen für jede Daten-Partition und/oder für jede Technik erlauben.
-
Wie vorher erörtert, unterstützen einige Ausführungsformen der Benutzer-Schnittstelle 120 die Zusammenarbeit von mehreren Benutzern an mehreren Projekten. Über die Projekte kann Benutzer-Schnittstelle 120 Benutzer zum Teilen von Daten, Modellier-Tasks und Modellier-Techniken zulassen. Innerhalb eines Projekts kann Benutzer-Schnittstelle 120 Benutzer zum Teilen von Daten, Modellen, und Ergebnissen zulassen. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 Benutzer zum Modifizieren von Eigenschaften des Projekts und zum Verwenden dem Projekt zugeteilter Ressourcen zulassen. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 mehrere Benutzer zum Modifizieren von Projekt-Daten und Hinzufügen von Modellen zu dem Projekt zulassen und dann diese Beiträge vergleichen. In gewissen Ausführungsformen kann Benutzer-Schnittstelle 120 identifizieren, welcher Benutzer eine spezielle Änderung an dem Projekt vorgenommen hat, wann die Änderung vorgenommen wurde und welche Projekt-Ressourcen ein Benutzer verwendet hat.
-
Model-Deployment-Maschine
-
Die Modell-Deployment-Maschine 140 stellt Tools zum Einsatz prädiktiver Modelle in Einsatz-Umgebungen bereit. in gewissen Ausführungsformen überwacht die Modell-Deployment-Maschine 140 die Performanz von eingesetzten prädiktiven Modellen, und aktualisiert die Performanz-Metadaten, zugehörig zu den Modellier-Techniken, die die eingesetzten Modelle erzeugen, sodass die Performanz-Daten die Performanz der eingesetzten Modelle genau reflektieren.
-
Benutzer können ein eingepasstes bzw. fitted Vorhersagungs-Modell einsetzen, wenn sie glauben, dass das eingepasste Modell Feld-Tests garantiert oder in der Lage ist, Mehrwert zu liefern. In gewissen Ausführungsformen können Benutzer und externe Systeme auf ein Vorhersagungs-Modul zugreifen (z. B. in einer Schnittstellen-Service-Schicht bzw. -Layer von prädiktivem Modellier-System 100), eines oder mehrere einzusetzende prädiktive Modelle spezifizieren und neue Beobachtungen zuführen. Das Vorhersagungs-Modul kann dann die Vorhersagungen, bereitgestellt durch solche Modelle, zurückführen. In gewissen Ausführungsformen können Administratoren kontrollieren, welche Benutzer und externe Systeme Zugriff auf dieses Vorhersagungs-Modul haben und/oder Benutzungs-Einschränkungen, wie die Zahl von Vorhersagungen, die pro Zeiteinheit zugelassen sind, einstellen.
-
Für jedes Modell kann Explorationsmaschine 110 eine Aufzeichnung der Modellier-Technik, die zum Erzeugen des Modells verwendet wurde und den Status eines Modells nach Einpassen speichern, einschließlich Koeffizienten und Hyper-Parameter-Werte. Weil jede Technik bereits maschinenausführbarer ist, können diese Werte für die Ausführung der Maschine zum Erzeugen von Vorhersagungen an neuen Beobachtungs-Daten ausreichend sein. In gewissen Ausführungsformen kann eine Vorhersagung eines Modells durch Anwendung der Preprocessing- und Modellier-Schritte, beschrieben in der Modellier-Technik, für jeden Fall von neuen Input-Daten erzeugt werden. Allerdings kann es in einigen Fällen möglich werden, die Geschwindigkeit von zukünftigen Vorhersagungs-Berechnungen zu erhöhen. Zum Beispiel kann ein eingepasstes Modell verschiedene unabhängige Prüfungen eines bestimmten Variablen-Werts vornehmen. Kombinieren einiger oder aller dieser Prüfungen und dann einfach Referenzieren derselben, wenn geeignet, kann die Gesamt-Rechen-Menge, die zum Erzeugen einer Vorhersagung verwendet wird, vermindern. In ähnlicher Weise können einige Komponenten-Modelle eines vermischten Modells dieselbe Daten-Transformation ausführen. Einige Ausführungsformen können daher Rechen-Zeit vermindern, durch Identifizieren duplikativer Berechnungen, Ausführen derselben nur einmal und Referenzieren der Ergebnisse der Berechnungen in den Komponenten-Modellen, die sie verwenden.
-
In gewissen Ausführungsformen verbessert Deployment-Maschine 140 die Performanz eines Vorhersagungs-Modells durch Identifizieren von Gelegenheiten für Parallel-Verarbeitung, wodurch die Antwort-Zeit beim Erstellen jeder Vorhersagung abnimmt, wenn die aktuelle Hardware mehrere Anweisungen parallel ausführen kann. Einige Modellier-Techniken können eine Reihe von aufeinander folgenden Schritten beschreiben, aber tatsächlich können einige der Schritte logisch unabhängig sein. Durch Prüfen des Daten-Flusses unter jedem Schritt kann die Deployment-Maschine 140 Situationen von logischer Unabhängigkeit identifizieren und dann die Ausführung von prädiktiven Modellen restrukturieren, damit unabhängige Schritte parallel ausgeführt werden. Gemischte Modelle können eine spezielle Klasse von Parallelisierung präsentieren, weil die aufbauenden prädiktiven Modelle parallel ausgeführt werden können, nachdem einmal gemeinsame Daten-Transformationen vollständig wurden.
-
In gewissen Ausführungsformen kann Deployment-Maschine 140 den Status eines prädiktiven Modells im Speicher cachen. Bei diesem Ansatz dürfen aufeinander erfolgende Vorhersagungs-Anfragen von demselben Modell nicht die Zeit zum Laden des Modellstatus auf sich nehmen. Caching kann besonders gut in Fällen funktionieren, bei denen es viele Anfragen für Vorhersagungen an einer relativ kleinen Zahl von Beobachtungen gibt und daher diese Lade-Zeit potenziell ein großer Teil der gesamten Ausführung Zeit ist.
-
In gewissen Ausführungsformen kann Deployment-Maschine 140 zumindest zwei Implementierungen von prädiktiven Modellen bieten: Service-basiert und Code-basiert. Für Service-basierte Vorhersagung laufen Berechnungen innerhalb einer verteilten Rechen-Infrastruktur, wie nachstehend beschrieben. Finale Vorhersagungs-Modelle können in der Daten-Services-Schicht der verteilten Rechen-Infrastruktur gespeichert sein. Wenn ein Benutzer oder externes System eine Vorhersagung anfragt, kann es anzeigen, welches Modell einzusetzen ist und stellt zumindest eine neue Beobachtung bereit. Ein Vorhersagungs-Modul kann dann das Modell aus der Daten-Services-Schicht oder aus dem Cache im Speicher des Moduls laden, validieren, dass die vorgelegten Beobachtungen zu der Struktur des ursprünglichen Datensatzes passen und den vorhergesagten Wert für jede Beobachtung berechnen. In einigen Implementierungen können die prädiktiven Modelle an einem dedizierten Pool von Cloud-Worker ausgeführt werden, wodurch die Erzeugung von Vorhersagungen mit Antwort-Zeiten niedriger Varianz erleichtert wird.
-
Eine Service-basierende Vorhersagung kann entweder interaktiv oder über API erfolgen. Für interaktive Vorhersagungen kann der Benutzer die Werte von Merkmalen für jede neue Beobachtung eingeben oder eine Datei, die die Daten enthält, für eine oder mehrere Beobachtungen hochladen. Der Benutzer kann dann die Vorhersagungen direkt über die Benutzer-Schnittstelle 120 empfangen oder sie als eine Datei downloaden. Für API-Vorhersagungen kann ein externes System auf das Vorhersagungs-Modul über lokale oder Remote-API zugreifen, eine oder mehrere Beobachtungen vorlegen und die entsprechend berechneten Vorhersagungen dafür empfangen.
-
Einige Implementierungen von Deployment-Maschine 140 können eine Organisation zum Schaffen einer oder mehrerer miniaturisierter Instanzen der verteilten Rechen-Infrastruktur für den Zweck des Ausführens Service-basierter Vorhersagung erlauben. In der Schnittstellen-Schicht der verteilten Rechen-Infrastrukturen kann jeder solche Fall die Teile der Monitoring- und Vorhersagungs-Module verwenden, die für die externen Systeme zugreifbar sind, ohne Zugriff auf die Benutzer-bezogenen Funktionen. Die analytische Services-Schicht darf die Technik vom IDE-Modul nicht verwenden und der Rest der Module in dieser Schicht kann gekürzt sein und zur Wartung von Vorhersagungs-Anfragen optimiert sein. Die Daten-Services-Schicht darf das Benutzer- oder Modell-Aufbau-Daten-Management nicht verwenden. Solche Standalone-Vorhersagungs-Fälle können auf einem parallelen Pool von Cloud-Ressourcen, verteilt auf andere physische Ortsbestimmungen, oder gar heruntergeladen auf eine oder mehrere dedizierte Maschinen, die als ”Vorhersagung-Geräte” handeln, eingesetzt werden.
-
Zum Schaffen einer dedizierten Vorhersagungs-Instanz kann ein Benutzer die Target-Rechen-Infrastruktur spezifizieren, zum Beispiel, ob sie ein Set von Cloud-Instanzen oder ein Set von dedizierter Hardware ist. Die entsprechenden Module können dann vorgehalten werden und entweder auf der Target-Rechen-Infrastruktur installiert oder zur Installation gebündelt werden. Der Benutzer kann entweder die Instanz mit einem anfänglichen Set von prädiktiven Modellen konfigurieren oder eine ”Blank”-Instanz schaffen. Nach anfänglicher Installation kann der Benutzer die verfügbaren prädiktiven Modelle durch Installieren neuer oder Aktualisieren vorhandener aus der Haupt-Installation managen.
-
Für Code-basierte Vorhersagungen kann die Deployment-Maschine 140 Quellcode zum Berechnen von Vorhersagungen, basierend auf einem besonderen Modell, erzeugen und der Benutzer kann den Quellcode in andere Software einbauen. Wenn Modelle auf Techniken basieren, deren Blattebenen-Tasks alle derselben Programmier-Sprache implementiert wurden, wie jene die vom Benutzer angefragt wurde, kann Deployment-Maschine 140 den Quellcode für das prädiktive Modell durch Kollationieren des Codes für die Blatt-Ebenen-Tasks erzeugen. Wenn der Modell-Code aus anderen Sprachen einbaut oder die Sprache eine andere ist, als jene, die vom Benutzer gewünscht wurde, kann Deployment-Maschine 140 anspruchsvollere Ansätze verwenden.
-
Ein Ansatz ist es, einen Quelle-zu-Quelle-Compiler zum Übersetzen des Quellcodes von den Blattebenen-Tasks in eine Target-Sprache zu verwenden. Ein weiterer Ansatz ist es, einen Funktions-Stub in der Target-Sprache zu erzeugen, der dann linked-in Objekt-Code in der ursprünglichen Sprache aufruft oder auf einen Emulator zugreift, auf dem solcher Objekt-Code läuft. Der vorangehende Ansatz kann die Verwendung eines Cross-Compilers zum Erzeugen von Objekt-Code involvieren, insbesondere für die Benutzer der Target-Rechen-Plattform. Der letztere Ansatz kann die Verwendung eines Emulators involvieren, der auf der Target-Plattform der Benutzers laufen wird.
-
Ein weiterer Ansatz ist es, eine Zusammenfassungs-Beschreibung von einem bestimmten Modell zu erzeugen und dann die Beschreibung in der Target-Sprache zu compilieren. Zum Erzeugen einer Zusammenfassungs-Beschreibung können einige Ausführungsformen von Deployment-Maschine 140 Meta-Modelle zum Beschreiben einer großen Zahl von potenziellen Preprocessing-, Modell-Einpassen- und Postprocessing-Schritten verwenden. Die Deployment-Maschine kann dann die bestimmten Arbeitsabläufe für ein vollständiges Modell extrahieren und sie unter Verwendung des Meta-Modells kodieren. In solchen Ausführungsformen kann ein Compiler für die Target-Programmier-Sprache verwendet werden, um die meta-Modelle in die Target-Sprache zu übersetzen. Wenn somit ein Benutzer einen Vorhersagungs-Code in einer unterstützten Sprache wünscht, kann der Compiler ihn erzeugen. Zum Beispiel können in einem Entscheidungs-Tree-Modell die Entscheidungen in dem Tree zu logischen if/then/else Aussagen abstrahiert werden, die direkt in eine große Vielfalt von Programmier-Sprachen implementierbar sind. In ähnlicher Weise kann ein Set von mathematischen Arbeitsabläufen, die gemeinsame Programmier-Sprachen unterstützen können, zum Implementieren eines linearen Regressions-Modells verwendet werden.
-
Allerdings kann das Offenlegen eines Quellcodes von prädiktiven Modellen in beliebiger Sprache in einigen Fällen unerwünscht sein (z. B. in Fällen, in denen die prädiktive Modellier-Technik oder das prädiktive Modell proprietärer Fähigkeiten oder Informationen enthält). Daher kann die Deployment-Maschine 140 ein prädiktives Modell in einen Satz von Regeln umwandeln, der die prädiktiven Fähigkeiten des prädiktiven Modells bewahrt, ohne dessen Prozedur-Einzelheiten zu offenbaren. Ein Ansatz ist das Anwenden eines Algorithmus, der solche Regeln aus einem Satz hypothetischer Vorhersagungen, die ein prädiktives Modell in Antwort auf hypothetische Beobachtungen erzeugen würde, erzeugt. Einige solcher Algorithmen können einen Satz von Wenn-Dann-Regeln zum Vornehmen von Vorhersagungen (z. B. RuleFit) erzeugen. Für diese Algorithmen kann die Deployment-Maschine 140 dann sich ergebende Wenn-Dann-Regeln in eine Target-Sprache umwandeln, anstatt einer Umwandlung des ursprünglichen prädiktiven Modells. Ein zusätzlicher Vorteil der Umwandlung eines prädiktiven Modells in einen Satz von Wenn-Dann-Regeln besteht darin, dass es im Allgemeinen einfacher ist, einen Satz von Wenn-Dann-Regeln in eine Target-Programmier-Sprache umzuwandeln, als ein prädiktives Modell mit beliebiger Kontrolle und Datenströmen, weil das grundlegende Modell an bedingter Logik über die Programmier-Sprachen hinweg ähnlicher ist.
-
Ist einmal ein Modell gestartet, um Vorhersagungen an neuen Beobachtungen vorzunehmen, kann die Deployment-Maschine 140 diese Vorhersagungen verfolgen, ihre Genauigkeit messen und diese Ergebnisse zum Verbessern des prädiktiven Modellier-Systems 100 verwenden. Im Fall von Service-basierten Vorhersagungen können, weil Vorhersagungen innerhalb derselben verteilten Rechen-Umgebung, wie der Rest des Systems, auftreten, jede Beobachtung und Vorhersagung über die Daten-Services-Schicht gesichert werden. Durch Bereitstellen eines Identifiers für jede Vorhersagung können einige Ausführungsformen einem Benutzer oder externen Software-System erlauben, die aktuellen Werte vorzulegen, ob und wann sie aufgezeichnet werden. Im Fall von Code-basierten Vorhersagungen können einige Ausführungsformen Code enthalten, der Beobachtungen und Vorhersagungen in einem lokalen System oder zurück zu einer Instanz der Daten-Services-Schicht sichert. Wiederum kann Bereitstellen eines Identifiers für jede Vorhersagung die Sammlung von Modell-Performanz-Daten gegen die aktuellen Target-Werte erleichtern, wenn sie verfügbar werden.
-
Informationen, gesammelt direkt von der Deployment-Maschine 140 über die Genauigkeit von Vorhersagungen, und/oder Beobachtungen, erhalten über andere Kanäle, können zum Verbessern des Modells für ein Vorhersageproblem verwendet werden (z. B. zum ”Auffrischen” eines vorhandenen Modells, oder zum Erzeugen eines Modells durch erneute Exploration des Modellier-Such-Raums zum Teil oder vollständig). Neue Daten können zum Verbessern eines Modells auf demselben Wege hinzugefügt werden, auf dem die Daten ursprünglich zum Schaffen des Modells hinzugefügt wurden, oder durch Vorlegen von Target-Werten für Daten, die vorher in einer Vorhersagung verwendet wurden.
-
Einige Modelle können durch Anwendung der entsprechenden Modellier-Techniken für die neuen Daten und Kombinieren der sich ergebenden neuen Modelle mit dem vorhandenen Modell (z. B. neu eingepasst) aufgefrischt werden, während andere durch Anwendung der entsprechenden Modellier-Techniken auf eine Kombination von ursprünglichen und neuen Daten aufgefrischt werden können. In gewissen Ausführungsformen können beim Auffrischen eines Modells nur einige der Modell-Parameter berechnet werden (z. B. zum rascheren Auffrischen des Modells, oder weil die neuen Daten Information bereitstellen, die insbesondere für bestimmte Parameter relevant sind).
-
Alternativ oder zusätzlich können neue Modelle zur Exploration des Modellier-Such-Raums, zum Teil oder vollständig, mit dem neue Daten enthaltenden Datensatz erzeugt werden. Die erneute Exploration des Such-Raums kann auf einen Abschnitt des Such-Raums (z. B. begrenzt auf Modellier-Techniken, die bei der ursprünglichen Suche gut ausgeführt werden), begrenzt sein oder kann den gesamten Such-Raum erfassen. In jedem Fall können die anfänglichen Eignungs-Scores für das/die Modellier-Technik(en), die die eingesetzten Modell(e) zum Reflektieren der Performanz der eingesetzten Modell(e) an dem Vorhersageproblem erzeugen, berechnet werden. Benutzer können zum Ausschließen einiger der früheren Daten zum Ausführen der neuen Berechnung auswählen. Einige Ausführungsformen der Deployment-Maschine 140 können andere Versionen desselben logischen Modells verfolgen, einschließlich, welche Teilmengen von Daten zum Training welcher Versionen verwendet wurden.
-
In gewissen Ausführungsformen können diese Vorhersagungs-Daten zum Ausführen einer Nach-Anfrage-Analyse von Trends bei Input-Parametern oder Vorhersagungen selbst mit der Zeit verwendet werden, und zum Alarmieren des Benutzers über potenzielle Probleme mit Vorgaben oder die Qualität der Modell-Vorhersagungen. Wenn zum Beispiel eine Aggregat-Messung der Modell-Performanz mit der Zeit abzubauen beginnt, kann das System den Benutzer alarmieren zum In-Betracht-Ziehen einer Auffrischung des Modells oder zum Herausfinden, ob die Vorgaben selbst verschoben worden sind. Solche Verschiebungen können durch temporäre Änderungen bei einer bestimmten Variablen oder Drifts in der gesamten Population verursacht werden. In gewissen Ausführungsformen wird das Meiste dieser Analyse ausgeführt, nachdem Vorhersagungs-Anfragen vollständig sind, um das Verlangsamen der Vorhersagungs-Antworten zu vermeiden. Allerdings kann das System eine gewisse Validierung bei der Vorhersagungs-Zeit ausführen, um besonders schlechte Vorhersagungen zu vermeiden (z. B. in Fällen, bei denen ein Input-Wert außerhalb eines Werte-Bereichs liegt, das es als gültige gegebene Eigenschaften der ursprünglichen Trainings-Daten, Modellier-Technik und abschließenden Modell-Einpassen-Status berechnet).
-
Ex post facto Analyse kann in Fällen wichtig werden, bei denen ein Benutzer ein Modell eingesetzt hat, um Extrapolationen deutlich über die beim Training verwendete Population hinaus vorzunehmen. Zum Beispiel kann ein Modell an Daten aus einer geographischen Region trainiert worden sein, wurde aber zum Erstellen von Vorhersagungen für eine Population in einer ganz anderen geographischen Region verwendet. Manchmal können solche Extrapolationen zu neuen Populationen zu einer Modell-Performanz führen, die wesentlich schlechter als erwartet ist. In diesen Fällen kann die Deployment-Maschine 140 den Benutzer alarmieren und/oder das Modell durch neues Einpassen einer oder mehrerer Modellier-Techniken unter Verwendung der neuen Werte zum Ausdehnen der ursprünglichen Trainings-Daten automatisch auffrischen.
-
Vorteile einiger Ausführungsformen
-
Das prädiktive Modellier-System 100 kann die Produktivität von Analysten mit beliebigem Fähigkeitsniveau verbessern und/oder die Genauigkeit von prädiktiven Modellen, die mit einer gegebenen Menge von Ressourcen erzielbar ist, deutlich erhöhen. Automatisierende Prozeduren können die Arbeitsbelastung vermindern und systematisierende Verfahren können die Konsistenz durchsetzen, um Analysten zu ermöglichen, mehr Zeit dem Erzeugen einzigartiger Einblicke zu widmen. Drei gemeinsame Szenarien erläutern diese Vorteile: Prognose von Resultaten, Vorhersagen von Eigenschaften und Rückschließen aus Messungen.
-
Prognose-Resultate
-
Wenn eine Organisation genaue Resultate vorhersagen kann, dann kann sie sowohl effektiver planen als auch ihr Verhalten verbessern. Daher ist eine übliche Anwendung von Maschinen-Lernen die Entwicklung von Algorithmen, die Prognosen erzeugen. Zum Beispiel stehen viele Industrien dem Problem des Vorhersagens von Kosten bei umfangreichen, zeitraubenden Projekte gegenüber.
-
In gewissen Ausführungsformen können die hierin beschriebenen Techniken zur Prognose der Kosten-Überschreitung verwendet werden (z. B. Software-Kosten-Überschreitung oder Bau-Kosten-Überschreitung). Zum Beispiel können die hierin beschriebenen Techniken auf das Problem der Prognose von Kosten-Überschreitung wie nachstehend angewendet werden:
- 1. Auswahl einer Modell-Einpassungs-Metrik geeignet für den Antwort-Variablen-Typ (z. B. numerisch oder binär, etwa Gauss oder stark nicht-Gauss): Prädiktives Modellier-System 100 kann eine Metrik, basierend auf Daten-Eigenschaften, empfehlen, die weniger Fähigkeit und Bemühung vom Benutzer erfordert, sondern dem Benutzer gestattet, die abschließende Selektion vorzunehmen.
- 2. Vorbehandlung der Daten zum Adressieren von Ausreißern und fehlender Daten-Werte: Prädiktives Modellier-System 100 kann detaillierte Zusammenfassung von Daten-Eigenschaften vorsehen, was den Benutzer die Entwicklung besserer situationsbedingter Erkenntnis des Modellier-Problems und Bewerten potenzieller Modellier-Herausforderungen effektiver ermöglicht. Prädiktives Modellier-System 100 kann automatisierte Prozeduren für Ausreißer-Nachweis und -Ersatz, fehlender Wert-Imputation und Nachweis und Behandlung anderer Daten-Anomalien, enthalten, weniger Fähigkeit. und Bemühung durch den Benutzer erfordern. Die Prozeduren von prädiktiven Modellier-Systemen zum Adressieren dieser Herausforderungen können systematisch sein, führen zu konsistenteren Modellier-Ergebnissen über Verfahren, Datensätze und Zeit hinweg als die ad hoc-Daten-Editier-Prozeduren.
- 3. Partitionieren der Daten für Modellieren und Bewertung: Das prädiktive Modellier-System 100 kann automatische Daten in Trainings-, Validierungs- und Holdout-Sets partitionieren. Dieses Partitionieren kann flexibler sein, als das Trainieren und Testen von Partitionieren, das von einigen Datenanalysten verwendet wird, und weitgehend mit akzeptierten Empfehlungen aus der Community für maschinelles Lernen konsistent ist. Die Verwendung eines konsistenten Partitionierungs-Ansatzes über Verfahren, Datensätze und Zeit hinweg kann Ergebnisse liefern, die vergleichbarer sind, was effektivere Zuteilung von Deployment-Ressourcen in kommerziellen Zusammenhängen ermöglicht.
- 4. Auswahl von Modell-Strukturen, Erzeugen von abgeleiteten Merkmalen, Auswahl von Modell-Abstimmungs-Parameter, Einpassung von Modellen und Bewerten: In gewissen Ausführungsformen kann das prädiktive Modellier-System 100 viele andere Modell-Arten einpassen, einschließlich ohne Begrenzung darauf, Entscheidungs-Bäume, neuronale Netzwerke, Unterstützen von Vektor-Maschinen-Modellen, Regressions-Modelle, Boosted-Trees, Random-Forests, Deep-Learning-Neuronal-Networks, usw. Das prädiktive Modellier-System 100 kann die Option von automatischem Einrichten von Ensembles aus jenen Komponenten-Modellen, die die beste individuelle Performanz zeigt, vorsehen. Exploration eines größeren Raums von potenziellen Modellen kann die Genauigkeit verbessern. Das prädiktive Modellier-System kann automatisch eine Vielfalt von abgeleiteten Merkmalen erzeugen, die für andere Daten-Arten geeignet sind (z. B. Box-Cox-Transformationen, Text-Preprocessing, Haupt-Komponenten usw.). Exploration eines größeren Raums von potenzieller Transformation kann die Genauigkeit verbessern. Das prädiktive Modellier-System 100 kann Vergleichsprüfung zur Auswahl der besten Werte für diesen Abstimmungs-Parameter als Teil des Modell-Aufbau-Verfahrens verwenden, wodurch die Auswahl zum Abstimmen von Parametern und Schaffen eines Protokolls, wie die Selektion vom Parameter die Ergebnisse beeinflusst, verbessert wird. Das prädiktive Modellier-System 100 kann die anderen Modell-Strukturen einpassen und bewerten, die als Teil dieses automatisierten Verfahrens berücksichtigt werden, unter Ordnen des Rangs der Ergebnisse in Begriffen der Validierungs-Set-Performanz.
- 5. Auswahl des abschließenden Modells: Die Auswahl des abschließenden Modells kann durch das prädiktive Modellier-System 100 oder durch den Benutzer erfolgen. In letzterem Fall kann das prädiktive Modellier-System vorsehen, dem Benutzer bei dieser Entscheidungsfindung zu helfen, einschließlich, zum Beispiel, die rangmäßigen Validierungs-Set-Performanz-Bewertungen für die Modelle, die Option von Vergleichen und Rangfolge-Performanz durch andere Qualitäts-Maßnahmen als jene, die bei den Einpassungs-Verfahren verwendet werden und/oder die Gelegenheit zum Aufbau von Ensemble-Modellen aus jenen Komponenten-Modellen, die die beste individuelle Performanz zeigt.
-
Ein wichtiger praktischer Aspekt des Modell-Entwicklungs-Verfahrens des prädiktiven Modellier-Systems ist, dass, wenn einmal der anfängliche Datensatz zusammengetragen wurde, alle anschließenden Berechnungen innerhalb derselben Software-Umgebung erfolgen können. Dieser Aspekt repräsentiert einen wichtigen Unterschied zu den üblichen Modell-Aufbau-Bestrebungen, welche häufig eine Kombination von anderen Software-Umgebungen einbeziehen. Ein wichtiger praktischer Nachteil solcher multi-Plattform-Analyse-Ansätze ist der Bedarf zum Umwandeln der Ergebnisse in gemeinsame Daten-Formate, die zwischen den anderen Software-Umgebungen geteilt werden können. Häufig wird diese Umwandlung entweder manuell oder mit kundenspezifischen ”einmaligen” Reformatier-Skripten erledigt. Fehler in dem Verfahren können zu sehr ernsthaften Daten-Verzerrungen führen. Prädiktives Modellier-System 100 kann solche Reformatier- und Datentransfer-Fehler durch Ausführen aller Berechnungen in einer Software-Umgebung vermeiden. Allgemeiner noch, weil es sehr automatisiert ist, viele andere Modell-Strukturen einpasst und optimiert, kann das prädiktive Modellier-System 100 einen im Wesentlichen schnelleren und systematischeren, somit leichter erklärbaren und wiederholbaren Weg zum fertigen Modell bereitstellen. Darüber hinaus können als Folge des prädiktiven Modellier-Systems 100 Exploration unterschiedlicherer Modellier-Verfahren und Einschluss möglichere Prädiktoren, die resultierenden Modelle genauer als jene sein, die mit traditionellen Verfahren erhalten wurden.
-
Vorhersagungs-Eigenschaften
-
Auf vielen Gebieten stehen Organisationen Unbestimmtheit in dem Resultat eines Produktions-Verfahrens gegenüber und möchten vorhersagen, wie ein gegebener Satz an Bedingungen die abschließenden Eigenschaften des Outputs beeinflussen wird. Daher ist eine gemeinsam Anwendung von Maschinen-Lernen die Entwicklung von Algorithmen, die diese Eigenschaften vorhersagen. Zum Beispiel ist Beton ein übliches Baumaterial, dessen fertige Struktur-Eigenschaften stark von einer Situation zur anderen variieren kann. Aufgrund der deutlichen Variationen in den Beton-Eigenschaften mit der Zeit und ihrer Abhängigkeit von ihrer besonderen Variablen-Zusammensetzung bieten weder Modelle, entwickelt von den ersten Grundsätzen noch traditionelle Regressions-Modelle hinreichend prädiktive Genauigkeit.
-
In gewissen Ausführungsformen können die hierin beschriebenen Techniken zum Vorhersagen von Eigenschaften des Resultats eines Produktions-Verfahrens verwendet werden (z. B. Eigenschaften von Beton). Zum Beispiel können die hierin beschriebenen Techniken auf das Problem der Vorhersage von Eigenschaften von Beton wie nachstehend angewendet werden:
- 1. Partitioniere den Datensatz in Trainings-, Validierungs- und Test-Teilmengen.
- 2. Reinige den Modellier-Datensatz: Das prädiktive Modellier-System 100 kann automatisch auf fehlende Daten, Ausreißer und andere wichtige Daten-Anomalien prüfen, Behandlung von Strategien empfehlen und dem Benutzer die Option zum Annehmen oder Zurückweisen derselben bieten. Dieser Ansatz kann weniger Fähigkeit und Bemühung vom Benutzer erfordern und/oder kann mehr konsistente Ergebnisse über Verfahren, Datensätze und Zeit vorsehen.
- 3. Auswahl der Antwort-Variablen und Auswahl einer primären Einpass-Metrik: Der Benutzer kann aus jenen in dem Modellier-Datensatz verfügbaren die vorherzusagende Antwort-Variable auswählen. Wurde einmal die Antwort-Variable ausgewählt, kann das prädiktive Modellier-System 100 eine verträgliche Einpass-Metrik empfehlen, die der Benutzer annehmen oder ausschalten kann. Dieser Ansatz kann weniger Fähigkeit und Bemühung vom Benutzer erfordern. Basierend auf dem Antwort-Variablen-Typ und der ausgewählten Einpass-Metrik, kann das prädiktive Modellier-System einen Satz von prädiktiven Modellen anbieten, einschließlich traditioneller Regressions-Modelle, neuronaler Netzwerke und anderer maschineller Lern-Modelle (z. B. Random-Forests, Boosted Trees, unterstützte Vektor-Maschinen). Durch automatisches Suchen in dem Raum möglicher Modellier-Ansätze kann das prädiktive Modellier-System 100 die erwartete Genauigkeit des abschließenden Modells erhöhen. Der Default-Satz der Modell-Auswahlen kann zum Ausschließen bestimmter Modell-Arten aus der Betrachtung, zum Hinzufügen anderer Modell-Arten, gestützt vom prädiktiven Modellier-System, aber nicht Teil der Default-list, oder zum Hinzufügen eigener kundenspezifischer Modell-Arten der Benutzer (z. B. implementiert in R oder Python) ausgeschaltet werden.
- 4. Erzeugen von Input Merkmalen, Einpass-Modellen, Optimieren von Modell-spezifischen Abstimmungs-Parametern und Bewerten von Performanz: In gewissen Ausführungsformen kann Merkmal-Erzeugung Skalierung für numerisch Covarianten, Box-Cox-Transformationen, Haupt-Komponenten usw. einschließen. Abstimmungs-Parameter für die Modelle können über Vergleichsprüfung optimiert werden. Validierungs-Set-Performanz-Maßnahmen können und für jedes Modell berechnet werden, zusammen mit anderen Zusammenfassungs-Eigenschaften (z. B. Modell Parameter für Regressions-Modelle, Variablen-Bedeutungs-Maßnahmen für Boosted Trees oder Random-Forests).
- 5. Auswahl des abschließenden Modells: Die Auswahl des abschließenden Modells kann durch das prädiktive Modellier-System 100 oder vom Benutzer erfolgen. Im letzteren Fall kann das prädiktive Modellier-System Unterstützung zur Hilfe des Benutzers diese Entscheidung zu treffen, bereitstellen, einschließlich zum Beispiel der rangmäßigen Validierungs-Set-Performanz-Bewertungen für die Modelle, der Option von Vergleichen und Rangfolge-Performanz von anderen Qualitäts-Maßnahmen, als jene, verwendet bei den Einpass-Verfahren, und/oder der Gelegenheit zum Aufbau von Ensemble-Modellen aus jenen Komponenten-Modellen, die die beste individuelle Performanz zeigen.
-
Rückschließende Messungen
-
Einige Messungen sind kostenaufwändiger vorzunehmen als andere, sodass Organisationen aufwändigere gegen günstigere Metriken ersetzen möchten. Daher ist eine übliche Anwendung von Maschinen-Lernen das Ableiten des wahrscheinlichen Outputs einer aufwändigen Messung aus dem bekannten Output einer günstigeren. Zum Beispiel ist ”Kräuselung” eine Eigenschaft, die erfasst, wie Papierprodukte dazu neigen, von einer ebenen Form abzuweichen, aber sie kann im Allgemeinen nur beurteilt werden, nachdem die Produkte fertig sind. Wenn man in der Lage ist, die Kräuselung von Papier, aus während der Fertigung leicht messbaren mechanischen Eigenschaften rückzuschließen, kann dies zu einer enormen Kosten-Einsparung beim Erzielen eines gegebenen Qualitätsniveaus führen. Für typische Endnutzungs-Eigenschaften wird die Beziehung zwischen diesen Eigenschaften und den Fertigungs-Verfahrens-Bedingungen nicht gut verstanden.
-
In gewissen Ausführungsformen können die hierin beschriebenen Techniken für rückschließende Messungen verwendet werden. Zum Beispiel können die hierin beschriebenen Techniken auf das Problem von rückschließenden Messungen wie nachstehend angewendet werden:
- 1. Charakterisieren der Modellier-Datensätze: Das prädiktive Modellier-System 100 kann Schlüssel-Zusammenfassungs-Eigenschaften vorsehen und Empfehlungen zur Behandlung von wichtigen Daten-Anomalien bieten, für welche der Benutzer frei ist zu akzeptieren, zurückzuweisen, oder nach mehr Information anzufragen. Zum Beispiel können Schlüssel-Eigenschaften von Variablen berechnet und angezeigt werden, die Prävalenz fehlender Daten kann angezeigt werden und eine Behandlungs-Strategie kann empfohlen werden, Ausreißer in numerischen Variablen können nachgewiesen werden und, wenn gefunden, kann eine Behandlungs-Strategie empfohlen werden, und/oder andere Daten-Anomalien können automatisch nachgewiesen werden (z. B. Einlieger, nicht-informative Variable, deren Werte sich nie ändern) und empfohlene Behandlungen können dem Benutzer verfügbar gemacht werden.
- 2. Partitionieren des Datensatzes in Training/Validierung/Holdout-Teilmengen.
- 3. Merkmals-Erzeugung/Modell-Struktur-Selektion/Modell-Einpassen: Das prädiktive Modellier-System 100 kann diese Schritte kombinieren und automatisieren, unter Zulassen ausgiebiger interner Iteration. Multiple Merkmale können automatisch erzeugt und bewertet werden, unter Verwendung beider klassischer Techniken, wie Haupt-Komponenten und neuerer Verfahren, wie Boosted Trees. Viele verschiedene Modell-Arten können eingepasst und verglichen werden, einschließlich Regressions-Modelle, neuronaler Netzwerke, unterstützten Vektor-Maschinen, Random-Forests, Boosted Trees und anderer. Zusätzlich können die Benutzer die Option zum Einschluss anderer Modell-Strukturen, die nicht Teil dieser Default-Sammlung sind, haben. Model-Sub-Struktur-Selektion (z. B. Selektion der Zahl von verborgenen Units in neuronalen Netzwerken, die Spezifizierung von anderen Modell-spezifischen Abstimm-Parametern usw.) kann automatisch durch ausgiebige Vergleichsprüfung als Teil dieses Modell-Einpass- und Bewertungs-Verfahrens ausgeführt werden.
- 4. Auswahl des abschließenden Modells: Die Auswahl des abschließenden Modells kann durch das prädiktive Modellier-System 100 oder den Benutzer erfolgen. In letzterem Fall kann das prädiktive Modellier-System Unterstützen zur Hilfe des Benutzers diese Entscheidung zu treffen, vorsehen, einschließlich zum Beispiel der rangmäßigen Validierung-Set-Performanz-Bewertungen für die Modelle, der Option von Vergleichen und Rangfolge-Performanz von anderen Qualitäts-Maßnahmen als jene, die bei Einpass-Verfahren verwendet wurden und/oder der Gelegenheit zum Aufbau von Ensemble-Modellen aus jenen Komponenten-Modellen, die die beste individuelle Performanz zeigen.
-
In gewissen Ausführungsformen können, weil das prädiktive Modellier-System 100 Daten-Vorbehandlung automatisiert und effizient implementiert (z. B. Anomalie-Nachweis), Daten-Partitionieren, mehrere Merkmal-Erzeugung, Modell-Einpassen und Modell-Bewertung, die zur Entwicklung von Modellen erforderliche Zeit viel kürzer sein als sie es bei dem traditionellen Entwicklungszyklus ist. Weil außerdem in einigen Ausführungsformen das prädiktive Modellier-System automatisch Daten-Vorbehandlungs-Prozeduren zum Handhaben beider gut bekannter Daten-Anomalien enthält, wie fehlende Daten und Ausreißer, und weniger weitgehend anerkannte Anomalien, wie Einlieger (wiederholte Beobachtungen, die konsistent mit der Daten-Verteilung aber fehlerhaft sind) und Postdictoren (d. h. sehr prädiktive Covarianten, die aus einem Informations-Leck stammen), können die resultierenden Modelle genauer und nützlicher sein. In gewissen Ausführungsformen ist das prädiktive Modellier-System 100 in der Lage zum Untersuchen eines erheblich breiteren Bereichs von Modell-Arten und viel spezielleren Modellen jeder Art, als traditionell machbar. Diese Modell-Vielfalt kann größtenteils die Wahrscheinlichkeit von unbefriedigenden Ergebnissen vermindern, selbst wenn auf einen Datensatz mit beeinträchtigter Qualität angewendet.
-
Eine Implementierung eines prädiktiven Modellier-Systems
-
Bezugnehmend auf 5 enthält in einigen Ausführungsformen ein prädiktives Modellier-System 500 (z. B. eine Ausführungsform vom prädiktiven Modellier-System 100) zumindest einen Client-Rechner 510, zumindest einen Server 550 und einen oder mehrere Verarbeitungs-Knoten 570. Die veranschaulichte Konfiguration ist nur für beispielhafte Zwecke, und es ist vorgesehen, dass es eine beliebige Zahl von Clients 510 und/oder Servern 550 gibt.
-
In gewissen Ausführungsformen kann prädiktives Modellier-System 500 einen oder mehrere (z. B. alle) Schritte von Verfahren 300 ausführen. In gewissen Ausführungsformen kann Client 510 Benutzer-Schnittstelle 120 implementieren und das prädiktive Modellier-Modul 552 von Server 550 kann andere Komponenten von prädiktiven Modellier-Systemen 100 implementieren (z. B. Modellier-Raum-Explorationsmaschine 110, Bibliothek von Modellier-Techniken 130, eine Bibliothek von Vorhersageproblemen und/oder Modellier-Deployment-Maschine 140). In gewissen Ausführungsformen können die Rechen-Ressourcen, zugeteilt von Explorationsmaschine 110 für die Exploration des Modellier-Such-Raums, Ressourcen des einen oder mehrerer Verarbeitungs-Knoten 570 sein, und der eine oder die mehreren Verarbeitungs-Knoten 570 können die Modellier-Techniken gemäß dem Ressourcenzuteilungsplan ausführen. Allerdings sind die Ausführungsformen nicht durch die Art und Weise begrenzt, in der die Komponenten vom prädiktiven Modellier-System 100 oder prädiktiven Modellier-Verfahren 300 zwischen Client 510, Server 550, und ein oder mehreren Verarbeitungs-Knoten 570 verteilt werden. Außerdem können in einigen Ausführungsformen alle Komponenten von prädiktivem Modellier-System 100 auf einem einzigen Rechner implementiert werden (anstatt zwischen Client 510, Server 550 und Verarbeitungs-Knoten(en) 570 verteilt zu werden), oder auf zwei Rechnern (z. B. Client 510 und Server 550) implementiert sein.
-
Ein oder mehrere Kommunikations-Netzwerke 530 verbinden den Client 510 mit dem Server 550 und ein oder mehrere Kommunikations-Netzwerke 580 verbinden den Server 550 mit dem Verarbeitungs-Knoten(en) 570. Die Kommunikation kann über beliebige Medien, wie Standard-Telefonleitungen, LAN oder WAN-Verbindungen (z. B. TI, T3, 56kb, X.25), Breitband-Verbindungen (ISDN, Frame Relay, ATM), und/oder drahtlose Verbindungen (IEEE 802.11, Bluetooth) erfolgen. Vorzugsweise können Netzwerke 530/580 TCP/IP-Protokoll-Kommunikationen und Daten (z. B. HTTP/HTTPS-Anfragen usw.) von Client 510 übertragen, Server 550 und Verarbeitungs-Knoten(en) 570 können über solche TCP/IP-Netzwerke kommunizieren. Die Art des Netzwerkes hat allerdings keine Begrenzung und kann für beliebiges geeignetes Netzwerk verwendet werden. Nichtbegrenzende Beispiele von Netzwerken, die dafür oder als Teil des Kommunikations-Netzwerks 530/580 dienen, enthalten ein drahtloses oder kabelgebundenes Ethernet-basierendes Intranet, ein lokales oder weitreichendes Netzwerk (LAN oder WAN), und/oder das als Internet bekannte globale Kommunikations-Netzwerk, welches viele andere Kommunikations-Medien und Protokolle unterbringen kann.
-
Der Client 510 ist vorzugsweise mit Software 512 implementiert, die auf einer Hardware läuft. In gewissen Ausführungsformen kann die Hardware einen Personalcomputer (z. B. einen PC mit einem INTEL Prozessor oder einen APPLE MACINTOSH) enthalten, der in der Lage ist, solche Betriebssysteme laufen zu lassen, wie die MICROSOFT WINDOWS Betriebssystem-Familie von Microsoft Corporation in Redmond, Washington, das MACINTOSH-Betriebssystem von Apple Computer in Cupertino, California, und/oder verschiedener Unix-Varianten, wie SUN SOLARIS von SUN MICROSYSTEMS, und GNU/Linux von RED HAT, INC. in Durham, North Carolina. Der Client 510 kann auch auf solcher Hardware implementiert sein, wie ein intelligentes oder dummes Terminal, Netzwerk-Rechner, drahtlose Vorrichtung, drahtloses Telefon, Informationsgerät, Workstation, Minicomputer, Mainframe-Rechner, PDAs, Tablets, Smartphone oder andere Rechen-Vorrichtung, die als Allzweck-Rechner betrieben wird oder eine Hardware-Vorrichtung für speziellen Zweck, die einzig nur als Client 510 verwendet wird.
-
Im Allgemeinen können in einigen Ausführungsformen Clients 510 betrieben und verwendet werden für verschiedene Aktivitäten einschließlich Senden und Empfangen elektronischer Mail und/oder Instant-Messages, Anfragen und Ansehen verfügbaren Inhalts über das World Wide Web, Teilnahme in Chatrooms oder Ausführen anderer Tasks, die üblicherweise unter Verwendung eines Rechners, einer Handheld-Vorrichtung oder eines Mobil-Telefons erfolgen. Clients 510 können auch vom Benutzer im Auftrag von Anderen betrieben werden, wie Benutzer, die Clients 510 dem Benutzer als Teil ihr Anstellung bereitstellen.
-
In verschiedenen Ausführungsformen enthält die Software 512 vom Client-Rechner 510 Client-Software 514 und/oder einen Webbrowser 516. Der Webbrowser 514 gestattet dem Client 510 eine Webseite oder ein anderes downloadbares Programm, Applet oder Dokument anzufragen (z. B. vom Server 550) mit einer Web-Seiten-Anfrage. Ein Beispiel einer Web-Seite ist ein Daten-File, der auf dem Rechner ausführbare oder interpretierbare Informationen, Graphik, Sound, Text und/oder Video enthält, die angezeigt, ausgeführt, angespielt, verarbeitet, gestreamt und/oder gespeichert werden können und die Links oder Pointer enthalten können zu anderen Web-Seiten. Beispiele von kommerziell verfügbarer Webbrowser-Software 516 sind INTERNET EXPLORER, angeboten von Microsoft Corporation, NETSCAPE NAVIGATOR, angeboten von AOL/Time Warner, FIREFOX, angeboten von der Mozilla Foundation, oder CHROME, angeboten von Google.
-
In gewissen Ausführungsformen enthält die Software 512 Client Software 514. Die Client Software 514 stellt zum Beispiel Funktionalität für den Client 510 bereit, die einem Benutzer gestattet, elektronische Mail, Instant-messages, Telefonanrufe, Video-messages, Audio- oder Video-Streaming oder anderen Inhalt zu senden und empfangen. Beispiele für Client-Software 514 schließen ein, sind aber nicht darauf begrenzt, OUTLOOK und OUTLOOK EXPRESS, angeboten von Microsoft Corporation, THUNDERBIRD, angeboten von der Mozilla Foundation, und INSTANT MESSENGER, angeboten von AOL/Time Warner. Nicht dargestellt sind Standard-Komponenten, zugehörig zu Client-Rechnern, einschließlich einer CPU, flüchtiger und nicht-flüchtiger Speicherung, Input/Output-Vorrichtungen und ein Display.
-
In gewissen Ausführungsformen können Webbrowser-Software 516 und/oder Client-Software 514 dem Client Zugriff auf eine Benutzer-Schnittstelle 120 für ein prädiktives Modellier-System 100 erlauben.
-
Der Server 550 interagiert mit dem Client 510. Der Server 550 ist vorzugsweise implementiert auf einem oder mehreren Rechnern der Server-Klasse, die ausreichend Speicher, Daten-Speicherung und Verarbeitungs-Leistung haben und die ein Betriebssystem der Server-Klasse laufen lassen können (z. B. SUN Solaris, GNU/Linux und die Familie der MICROSOFT WINDOWS Betriebssysteme). System-Hardware und -Software, verschieden von der besonders hierin beschriebenen, kann auch eingesetzt werden, abhängig von der Kapazität der Vorrichtung und der Größe des Benutzer-Standorts. Zum Beispiel können die Server 550 sein oder können einen Teil sein, einer logischen Gruppe von einem oder mehreren Servern, wie eine Serverfarm oder ein Server-Netzwerk. Als weitere Beispiele können mehrere Server 550 zugehörig zu oder miteinander verbunden sein, oder mehrere Server können unabhängig betrieben werden, aber mit geteilten Daten sein. In einer weiteren Ausführungsform und typisch in großformatigen Systemen kann Anwendungs-Software in Komponenten implementiert werden, mit anderen Komponenten, die auf anderen Server-Rechnern, auf demselben Server oder einigen Kombination laufen.
-
In gewissen Ausführungsformen enthält Server 550 ein prädiktives Modellier-Modul 552, ein Kommunikations-Modul 556 und/oder ein Daten-Speicherungs-Modul 554. In gewissen Ausführungsformen kann das prädiktive Modellier-Modul 552 Modellier-Raum-Explorationsmaschine 110, Bibliothek von Modellier-Techniken 130, eine Bibliothek von Vorhersageproblemen und/oder Modellier-Deployment-Maschine 140 implementieren. In gewissen Ausführungsformen kann Server 550 Kommunikations-Modul 556 zum Kommunizieren des Outputs des prädiktiven Modellier-Moduls 552 zu dem Client 510 und/oder zum Betreuen der Ausführung von Modellier-Techniken an Verarbeitungs-Knoten(en) 570 verwenden. Die über die Spezifizierung insgesamt beschriebenen Module können insgesamt oder zum Teil als ein Software-Programm unter Verwendung einer beliebigen geeigneten Programmier-Sprache oder Sprachen (C++, C#, java, LISP, BASIC, PERL usw.) und/oder als eine Hardware-Vorrichtung (z. B. ASIC, FPGA, Prozessor, Speicher, Speicherung und dergleichen) implementiert werden.
-
Daten-Speicherungs-Modul 554 kann zum Beispiel prädiktive Modellier-Bibliothek 130 und/oder eine Bibliothek von Vorhersageproblemen speichern. Das Daten-Speicherungs-Modul 554 kann unter Verwendung von zum Beispiel dem MySQL Datenbank-Server von MySQL AB in Uppsala, Schweden, dem PostgreSQL Datenbank-Server von PostgreSQL Global Development Group in Berkeley, CA, oder dem ORACLE Datenbank-Server, angeboten von ORACLE Corp., in Redwood Shores, CA, implementiert werden.
-
6–8 erläutern eine mögliche Implementierung von prädiktivem Modellier-System 100. Die Diskussion in 6–8 wird als Beispiel für einige Ausführungsformen angegeben, und ist in keiner Weise begrenzend.
-
Zum Ausführen der vorher beschriebenen Prozeduren kann prädiktives Modellier-System 100 eine verteilte Software-Architektur 600 verwenden, die auf einer Vielfalt von Client- und Server-Rechnern läuft. Das Ziel der Software-Architektur 600 ist gleichzeitig eine reiche Benutzer-Erfahrung und rechnertechnische intensive Verarbeitung abzugeben. Die Software-Architektur 600 kann eine Variation der grundlegenden 4-tier-Schichten-Internet-Architektur implementieren. Wie in 6 veranschaulicht, dehnt sie diese Grundlage wirksam auf cloud-basiertes Rechnen, koordiniert über die Anwendungs- und Daten-tiers-Schichten aus.
-
Die Ähnlichkeiten und Unterschiede zwischen Architektur 600 und der grundlegenden 4-tier Internet-Architektur kann einschließen:
- (1) Clients 610. Die Architektur 600 nimmt im Wesentlichen dieselben Annahmen über Clients 610 vor wie andere Internet-Anwendung. Die primäre Nutzer-Instanz enthält häufigen Zugriff für lange Zeiträume zum Ausführen komplexer Tasks. Somit enthalten Target-Plattformen reiche Web-Clients, die auf einem Laptop oder Desktop laufen. Allerdings können Benutzer Zugriff auf die Architektur über mobile Vorrichtungen haben. Daher ist die Architektur zum Unterbringen nativer Clients 612 im direkten Zugriff auf die Schnittstellen-Services APIs unter Verwendung relativ dünner (Thin) Client-seitiger Bibliotheken ausgelegt. Natürlich könnte eine beliebige Cross-Plattform GUI Schichten, wie Java und Flash, ähnlichen Zugriff auf diese APIs haben.
- (2) Schnittstellen-Services 620. Diese Schicht der Architektur ist eine ausgedehnte Version der grundlegenden Internet-Präsentations-Schicht. Aufgrund der anspruchsvollen Benutzer-Interaktion, die zum direkten Maschinen-Lernen verwendet werden kann, können alternative Implementierungen eine weitgehende Vielfalt von Inhalt über diese Schicht unterstützen, einschließlich statischer HTML, dynamischer HTML, SVG-Visualisierungen, ausführbarem Javascript-Code und auch eigenständige IDEs. Darüber hinaus, da sich neue Internet-Technologien entwickeln, können Implementierungen es erfordern, neue Formen von Inhalt die Teilung von Arbeit zwischen Client, Präsentation und Anwendungs-Schichten zum Ausführen von Benutzer-Interaktion-Logik unterzubringen oder zu ändern. Daher können ihre Schnittstellen-Services-Schichten 620 ein flexibles Framework zum Integrieren mehrerer Inhalt-Übergabe-Mechanismen von unterschiedlicher Reichhaltigkeit, plus gemeinsame Support-Einrichtungen, wie Authentifizierung, Zugriffkontrolle und Input-Validierung, vorsehen.
- (3) Analytik-Services 630. Die Architektur kann zum Erzeugen prädiktiver analytischer Lösungen verwendet werden, damit ihre Anwendungs-tier-Schicht auf Übergabe-Analytik-Services fokussiert ist. Die rechnertechnische Intensität von Maschinen-Lernen treibt die primäre Erhöhung zu der Standard-Anwendungs-tier-Schicht – die dynamische Zuteilung von Maschinen-Lern-Tasks zu großen Zahlen von virtuellen ”Workern” laufen in Cloud-Umgebungen. Für jeden Typ von logischen Rechenanfragen, erzeugt durch die Ausführungs-Maschine, koordiniert die Analytik-Services-Schicht 630 mit den anderen Schichten zum Annehmen von Anfragen, Unterbrechen von Anfragen zu Jobs, Zuweisen von Jobs zu Workern, Bereitstellen der zur Job-Ausführung erforderlichen Daten und Zusammenführen der Ausführungs-Ergebnisse. Es gibt auch einen zugehörigen Unterschied zu einer Standard-Anwendung-tier-Schicht. Das prädiktive Modellier-System 100 kann dem Benutzer Entwicklung ihrer eigenen Maschinen-Lern-Techniken erlauben und somit können einige Implementierungen eine oder mehrere vollständige IDEs vorsehen, mit ihren Fähigkeiten, eingeteilt über den Client, Schnittstellen-Services und Analytik-Services-Schichten. Die Ausführungs-Maschine baut dann neue und verbesserte Techniken, geschaffen über diese IDEs in das zukünftige maschinelle Lern-Rechnen ein.
- (4) Worker-Clouds 640. Zum effizienten Ausführen der Modellier-Berechungen kann das prädiktive Modellier-System 100 sie in kleinere Jobs zerteilen und sie den virtuellen Worker-Instanzen zuteilen, die in Cloud-Umgebungen laufen. Die Architektur 600 lässt andere Arten von Workern und andere Arten von Clouds zu. Jeder Worker-Typ entspricht einer speziellen virtuellen Maschinen-Konfiguration. Zum Beispiel stellt der Default-Worker-Typ allgemeine Maschinen-Lern-Fähigkeiten für zuverlässigen Modellier-Code bereit. Aber ein weiterer Typ setzt zusätzlich Sicherheit durch ”sandboxing” für Benutzer-entwickelten Code durch. Alternative Arten könnten Konfigurationen anbieten, optimiert für spezielle maschinelle Lern-Techniken. Solange wie die Analytik-Services-Schicht 630 den Zweck für jeden Worker-Typ versteht, kann sie Jobs geeignet zuteilen. In ähnlicher Weise kann die Analytik-Services-Schicht 630 Worker in anderen Arten von Clouds managen. Eine Organisation könnte einen Pool von Instanzen in ihrer Private-Cloud beibehalten sowie die Option haben, Instanzen in einer Public-Cloud laufen zu lassen. Sie könnte sogar verschiedene Pools von Instanzen auf verschiedenen Arten von kommerziellen Cloud-Services laufen haben oder gar eine proprietäre interne. Solange wie die Analytik-Services-Schicht 630 die Kompromisse in Fähigkeiten und Kosten versteht, kann sie Jobs geeignet zuteilen.
- (5) Daten-Services 650. Die Architektur 600 nimmt an, dass die verschiedenen Services, die in den verschiedenen Schichten laufen, von einer entsprechenden Vielfalt von Speicherungs-Optionen profitieren können. Daher stellt sie ein Framework zur Übergabe eines reichen Arrays von Daten-Services 650 bereit, z. B. Datei-Speicherung für einen beliebigen Typ von permanenten Daten, temporäre Datenbanken für Zwecke, wie Caching, und permanente Datenbanken für Langzeit-Aufzeichnungs-Management. Solche Services können auch für bestimmte Arten von Inhalt, wie die Image-files virtueller Maschinen, spezialisiert sein, die für Cloud-Worker und IDE-Server verwendet werden. In einigen Fällen können Implementierungen der Daten-Services-Schicht 650 besondere Zugriffs-Idioms an speziellen Arten von Daten durchsetzen, sodass die anderen Schichten glatt koordinieren können. Zum Beispiel bedeutet Standardisieren des Formats für Datensätze und Modell-Ergebnisse, dass die Analytik-Services-Schicht 630 einfach eine Referenz auf einen Benutzer-Datensatz durchleiten kann, wenn sie einen Job einem Worker zuteilt. Dann kann der Worker auf diesen Datensatz von der Daten-Services-Schicht 650 zugreifen und Referenzen zu den Modell-Ergebnissen zurückführen, die sie wiederum über Daten-Services 650 gespeichert hat.
- (6) Externe Systeme 660. Wie beliebige andere Internet-Anwendung kann die Verwendung von APIs externe Systeme zum Integrieren mit dem prädiktiven Modellier-System 100 an einer beliebigen Schicht der Architektur 600 ermöglichen. Zum Beispiel könnte eine Business-Dashboard-Anwendung Zugriff auf graphische Visualisierungen und Modellier-Ergebnisse über die Schnittstelle-Services-Schicht 620 haben. Ein externes Data-Warehouse oder gar eine Live-Business-Anwendung könnte Modellier-Datensätze für die Analytik-Services-Schicht 630 über eine Daten-Integrations-Plattform bereitstellen. Eine mitteilende Anwendung könnte Zugriff auf alle Modellier-Ergebnisse von einer bestimmten Zeitperiode über die Daten-Services-Schicht 650 haben. Allerdings würden unter meisten Umständen externe Systeme keinen direkten Zugriff auf die Worker-Clouds 640 haben; sie würden sie über die Analytik-Services-Schicht 630 nutzen.
-
Wie bei allen multi-tiered-schichtigen Architekturen sind Schichten von Architektur 600 logisch. Physisch könnten Services von verschiedenen Schichten auf denselben Maschinen laufen, verschiedene Module in derselben Schicht könnten auf gesonderten Maschinen laufen, und mehrere Instanzen von demselben Modul könnten über einige Maschinen laufen. In ähnlicher Weise könnten die Services in einer Schicht über mehrere Netzwerk-Segmente laufen und Services von verschiedenen Schichten dürfen oder dürfen nicht auf anderen Netzwerk-Segmenten laufen. Aber die logische Struktur hilft, die Erwartungen von den Entwicklern und Bedienenden zu koordinieren, wie verschiedene Module interagieren sowie verleiht Bedienenden die erforderliche Flexibilität zum Ausgleich der Service-Ebenen-Erfordernisse, wie Skalierbarkeit, Verlässlichkeit und Sicherheit.
-
Obwohl die hohen Ebenen-Schichten angemessen ähnlich jenen einer typischen Internet-Anwendung erscheinen, kann das Hinzufügen von Cloud-basiertem Rechnen sich im Wesentlichen ändern, wenn Informationen über das System fließen.
-
Internet-Anwendungen bieten gewöhnlich zwei eindeutige Arten von Benutzer-Interaktion: synchron und asynchron. Mit konzeptionell synchronen Arbeitsabläufen, wie Finden eines Flugs und Buchen einer Reservierung, tätigt der Benutzer eine Anfrage und wartet auf die Antwort, bevor er die nächste Anfrage tätigt. Bei konzeptionell asynchronen Arbeitsabläufen, wie Einstellen eines Alarms für Online-Käufe, der bestimmten Kriterien genügt, tätigt der Benutzer eine Anfrage und erwartet, dass das System ihm einige Zeit später mit Ergebnissen versorgt. (Typischerweise stellt das System dem Benutzer ein anfängliches Anfrage-”Ticket” bereit und bietet Benachrichtigung über einen ausgewiesen Kommunikations-Kanal an.)
-
Im Gegensatz dazu können Aufbau und Verfeinern maschinelle Lern-Modelle ein Interaktions-Muster irgendwo in der Mitte involvieren. Aufstellen eines Modellier-Problems kann eine anfängliche Serie von konzeptionellen synchronen Schritten involvieren. Wenn der Benutzer jedoch das System anweist, mit dem Berechnen alternativer Lösungen zu beginnen, wird ein Benutzer, der die Skale des entsprechenden Rechnens versteht, kaum eine sofortige Antwort erwarten. Oberflächlich macht diese Erwartung auf verzögerte Ergebnisse diese Phase der Interaktion anscheinend asynchron.
-
Allerdings zwingt prädiktives Modellier-System 100 den Benutzer nicht zu ”fire-and-forget” (läuft ohne Aufsicht im Hintergrund), d. h. sein eignes Engagement mit dem Problem zu stoppen bis zum Empfangen einer Benachrichtigung. Tatsächlich kann es ihn anregen, die Exploration des Datensatzes fortzusetzen und vorläufige Ergebnisse, sobald sie eintreffen, zu sichten. Solche zusätzliche Exploration oder anfänglicher Einblick könnten ihn inspirieren, die Modell-Aufbau-Parameter ”in-flight” zu ändern. Das System kann dann Verfahren die angefragten Änderungen verarbeiten und den Verarbeitungs-Tasks neu zuteilen. Das prädiktive Modellier-System 100 kann diese Anfrage-and-Revision dynamisch kontinuierlich über die gesamte Sitzung des Benutzers erlauben.
-
Somit können die Analytik-Services und Daten-Services-Schichten zwischen der Anfrage-Antwort-Schleife vom Benutzer einerseits und der Anfrage-Antwort-Schleife zu den Worker-Clouds andererseits vermitteln. 7 veranschaulicht diese Perspektive:
7 betont dass das prädiktive Modellier-System 100 nicht notwendigerweise sauber in das Schicht-Modell-Einpasst, das annimmt, dass jede Schicht meist nur auf der Schicht direkt unter ihr beruht. Stattdessen koordinieren Analytik-Services 630 und Daten-Services 650 kooperativ Benutzer und Rechnen. Angesichts dieser Perspektive gibt es drei ”Säulen” von Informations-Fluss:
- (1) Schnittstelle <-> Analytik + Daten. Die Spalte linksaußen von Fluss 710 transformiert zuerst den Roh-Datensatz und Modellier-Erfordernisse des Benutzers in einen verfeinerten Datensatz und listet Rechen-Jobs, führt dann zusammen und gibt die Ergebnisse dem Benutzer in einem Format, das er leicht versteht, ab.
So fließen die Ziele und Einschränkungen von Schnittstelle-Services 620 zu Analytik-Services 630, während Fortschritt und Ausnahmen Fluss zurückfließen. Parallel dazu fließen Roh-Datensätze und Benutzer-Anmerkungen von Schnittstellen-Services 620 zu Daten-Services 650, während trainierte Modelle und ihre Performanz-Metriken zurückfließen. An einem beliebigen Punkt kann der Benutzer Änderungen initiieren und Einstellungen der Analytik-Services 630 und Daten-Services 650-Schichten erzwingen. Es ist anzumerken, dass es zusätzlich zu diesem dynamischen kreisförmigen Fluss auch traditionellere lineare Wechselwirkungen gibt (z. B. wenn Schnittstellen-Services 620 den System-Status von Analytik-Services 640 oder statischen Inhalt von Daten-Services 650 holt).
- (2) Analytik + Daten <-> Worker. Die Spalte rechts außen vom Fluss 730 versorgt Worker, teilt Rechnen-Jobs zu, und stellt die Daten für jene Jobs bereit. So fließen Job-Vergaben, ihre Parameter und Daten-Referenzen von Analytik-Services 630 zu Worker-Clouds 640, während Fortschritt und Ausnahmen zurückfließen. Verfeinerte Datensätze fließen von Daten-Services 650 zu Worker-Clouds 640, während Modellier-Ergebnisse zurückfließen. Aktualisierte Verfügungen vom Benutzer kann die Analytik-Services-Schicht 630 zwingen Workers in-flight zu unterbrechen und aktualisierte Modellier-Jobs zuzuweisen, sowie ein Auffrischen des Datensatzes aus der Daten-Services-Schicht 650 zu erzwingen. Wiederum ändern aktualisierte Vergaben und Datensätze den Fluss von Ergebnissen zurück von den Worker.
- (3) Analytik <-> Daten. Die zwei Schichten in der Mitte koordinieren zwischen sich selbst zum Vermitteln zwischen der linken und rechten Spalte. Das meiste von diesem Verkehr 720 betrifft das Nachvollziehen des Ausführungs-Fortschritts und intermediäre Berechnungen der Cloud-Worker. Aber der Fluss kann besonders komplex werden, wenn auf die vorstehenden in-flight-Änderungen für Modell-Aufbau-Anweisungen geantwortet wird; Analytik- und Daten-Services den laufenden Status des Rechnens bewerten, Bestimmen, welche intermediären Berechnungen noch gültig sind, und korrekt neue Rechnen-Jobs aufbauen. Natürlich gibt es auch hier traditionellere lineare Wechselwirkungen (z. B. wenn Analytik-Services-Regeln und Konfigurationen für die Cloud-Workers von den Daten-Services holen).
-
Dieses konzeptionelle Modell von Informations-Fluss stellt Kontext für die Anordnung von funktionellen Modulen innerhalb der Schichten bereit. Sie sind nicht einfach zustandslose Blöcke, die eine Anwendungs-Programmier-Schnittstelle (API) für Blöcke höherer Ebene bereitstellen und APIs von Blöcken unter Ebene verbrauchen. Stattdessen sind sie dynamische Teilnehmer in der Zusammenarbeit zwischen Benutzer und Rechner. 8 präsentiert die Anordnung von diesen funktionellen Modulen. Aus einer Benutzer-Perspektive stellt die Schnittstellen-Services-Schicht einige eindeutige Gebiete von Funktionalität bereit.
- (1) Benutzer/Projekt Admin 802. Jedes maschinelle Lern-Projekt weist zumindest einen zugewiesenen Administrator auf, der die Projektmanagement-Komponenten der Schnittstelle zum Handhaben von Projekt-Ebene-Parametern, Verantwortlichkeiten und Ressourcen verwendet. Diese funktionelle Komponente unterstützt auch Administrations-Funktionen auf System-Ebene.
- (2) Monitoring 810. Dieses Modul stellt Diagnostik an der Rechen-Infrastruktur bereit. Es kooperiert mit einem entsprechenden Modul 818 in der Analytik-Services-Schicht zum Verfolgen der Rechen-Ressourcen-Benutzung, beide in Echt-Zeit für jede Worker-Instanz und insgesamt für jeden Rechner-Job.
- (3) Technik-Designer 804. Dieses Modul stützt grafische Schnittstellen zur Verwendung der vorher beschriebenen Verfahrensweise-, Technik- und Task-Builder. Ein Beispiel, wie diese grafische Schnittstelle implementiert werden könnte, ist Javascript, das im Client 610 läuft und Kommunizieren mit dem Technik-Entwickler 804 über AJAX-Anfragen, grafisch den Graph für den Benutzer Rendern und die Änderungen zurück auf den Server schieben.
- (4) Technik IDE 812. Wie vorher beschrieben, können einige Implementierungen des prädiktiven Modellier-Systems 100 Technik-Entwickler eingebautem Zugriff auf IDEs zum Implementieren von Blattebenen-Tasks versehen. Solche IDEs könnten Allzweck-Programmier-Sprachen unterstützen, die für maschinelles Lernen verwendet werden, wie Python oder spezialisierte wissenschaftliche Rechen-Umgebungen, wie R. Diese Funktionalität kann über Client 610, Schnittstelle-Services 620 und Analytik-Services 630-Schichten ausgeführt werden. Die Client-Komponente 610 kann einen Javascript-Container für die IDE-Umgebung downloaden und ausführen, die erst eine Sitzung mit der Schnittstellen-Services-Komponente über AJAX registriert. Nach Authentifizierung und Validierung der Registrierungs-Anfrage lädt die Schnittstellen-Services-Komponente die Projekt-Daten des Benutzers für den Client 610 herunter und vollführt vollautomatisch die Sitzung zu einer dedizierten IDE-Server-Instanz, die auf der Analytik-Services-Schicht läuft. Diese Server-Instanz kommuniziert dann direkt mit dem Client 610 über einen Web-Socket.
- (5) Daten-Tools 806. Dieses Modul ermöglicht einem Modell-Builder, einen Datensatz zu spezifizieren, ihn zu verstehen und ihn für den Modell-Aufbau herzurichten.
- (6) Modeling-Dashboard 814. Jedes Projekt hat sein eigenes Modellier-Dashboard. Eine Instanz von diesem Modul stellt den Modell-Builder mit der Kontrolle und den Maßen zur Einführung der Modellier-Verfahren für das Projekt, Mess-Ergebnisse, wenn sie eintreffen, und in-flight Einstellungen vorzunehmen, bereit. Es berechnet, welche Modellier-Techniken gegen welche Datensätze laufen und leitet diese Erfordernisse zu der Analytik-Services-Schicht. Nachdem einmal die Ausführungs-Maschine mit dem Aufbau von Modellen beginnt, stellt dieses Modul Ausführungs-Status und Kontrollen bereit.
- (7) Insights 808. Nachdem einmal das maschinelle Lern-Verfahren mit dem Erzeugen wesentlicher Ergebnisse begonnen hat, bietet dieses Modul dem Modell-Builder tiefere Einblicke. Beispiele enthalten Textmining-Zusammenfassungen, Prädiktor-Bedeutung und die One-way-Beziehungen zwischen jedem Prädiktor und dem Target. Die Meisten von diesen Einblicken sind einfach zu verstehen und erfordern kein tiefes Statistik-Wissen.
- (8) Vorhersage 816. Hat einmal die Ausführung der Maschine zumindest ein Modell gebaut, stellt dieses Modul die Schnittstelle zum Vornehmen von Vorhersagungen, die auf neuen Daten basieren, bereit.
-
Die Aktivität in der Schnittstelle-Services-Schicht löst Aktivität in der Analytik-Services-Schicht aus. Wie oben erörtert, werden die Technik-IDE und Monitoring-Module so eingeteilt, dass sie teilweise in der Analytik-Services-Schicht ausführen (siehe Monitoring Modul 818 und Technik-IDEs Modul 820). Die anderen Module in dieser Schicht schließen ein:
- (1) Job-Queue 822. Jedes Projekt kann seine eigene Job-Queue-Instanz aufweisen, welche Modell-Rechen-Anfragen von der entsprechenden Modellier-Dashboard-Instanz bedient. Ein Job enthält einen Bezug auf eine Partitionierung des Datensatzes des Projekts, eine Modellier-Technik und eine Priorität innerhalb des Projekts. Dieses Modul baut dann die priorisierende Job-Liste auf und behält sie bei. Wenn Rechner-Ressourcen verfügbar werden, fragt ein Broker 824 den nächsten Job von Job-Queue an. Benutzer mit ausreichenden Zulassungen können zu jeder Zeit Modellier-Jobs im Queue hinzufügen, entfernen oder neu priorisieren. Der Queue besteht über das temporäre DB-Modul 826, dessen Backend-Speicherung sehr schnelle Antwort-Zeiten bereitstellt.
- (2) Broker 824. Dieses Modul instanziert Worker, weist ihnen Jobs zu und überwacht ihre Pflege. Ein Broker kann für jede Worker-Cloud laufen. Broker versorgen und terminieren Worker-Instanzen dynamisch, um das laufende Niveau an Bedarf aus den offenen Job-Queues, plus einem Sicherheits-Puffer, zu bedienen. Nach Einführung registriert jeder Worker automatisch bei dem Broker für seine Cloud-Umgebung unter Bereitstellen von Information über seine rechnertechnischen Fähigkeiten. Broker und Worker senden einander alle paar Sekunden Takt-Messages. Ein Worker wird automatisch neu starten und neu registrieren, wenn er abstürzt oder Kontakt mit seinem Broker verliert. Ein Broker wird einen Worker aus seinem Pool von verfügbaren Ressourcen verwerfen und eine Warnung loggen, wenn er zu viele Takt-Messages vermisst. Wenn neue Jobs aus den Job-Queues ankommen und Worker vorhandene Jobs abhandeln, berechnen die Broker kontinuierlich die Zahl an Workern und die Zuteilung von Jobs an jene Worker neu.
- (3) Worker-Clouds 640. Diese Module enthalten einen Pool von Workern. Jeder Worker ist eine laufende virtuelle Maschinen-Instanz oder eine andere Unit der eigenständigen Rechen-Ressourcen innerhalb jener Cloud-Umgebung und empfängt Jobs vom entsprechenden Broker. Aus der Perspektive des Workers enthält ein Job Referenzierungen auf ein Projekt, Partitionierungen des Datensatzes des Projekts und Modellier-Technik. Für jeden Task in der zugewiesenen Modellier-Technik kann ein Worker erst Prüfen, um zu sehen, wenn ein anderer Worker ihn abgearbeitet hat für jene Datensatz-Partition des Projekts durch Abfragen des Datei-Speicherungs-Moduls 830, das einen speziellen Directory-Subtree für Modellier-Ergebnisse aufweist. Wenn er der erste Worker, der den Schritt bearbeitet ist, führt er die Berechnung aus und sichert sie zur Datei-Speicherung 830, sodass andere Worker sie wieder nutzen können. Weil Modellier-Techniken von Tasks in einer gemeinsamen Modellier-Task-Bibliothek zusammengetragen sind, kann es eine wesentliche Ebene von Gemeinsamkeit von Task-Ausführung über Modellier-Techniken geben. Caching der Ergebnisse der Task-Ausführung kann eine Implementierung zum signifikanten Vermindern der Menge an verbrauchten Rechen-Ressourcen erlauben.
-
Die Daten-Services-Schicht 650 stellt eine Vielfalt von anderen Speicherungs-Mechanismen zum Unterstützen der Module in anderen Schichten bereit.
- (1) Temporäre DB 826. Dieses Modul stellt eine Schnittstelle bereit zu und organisiert Speicherung-Mechanismen für Daten, die vom sehr schnellen Zugriff profitieren und/oder transient sind. In einigen Implementierungen verwendet es einen In-Speicher-DBMS, eingesetzt in einer Master-Slave-Konfiguration mit automatischem Fail-over. Dieses Modul stellt eine Schnittstelle zum Speichern von Objekten als Schlüssel-Wert-Paare bereit. Schlüssel sind verlinkt mit speziellen Benutzern und Projekten, aber sind noch sehr klein. Werte können Strings, Listen oder Sets sein.
- (2) Persistent DB 828. Dieses Modul stellt eine Schnittstelle bereit zu und organisiert Speicherungs-Mechanismen für Daten, die persistent sind. In einigen Implementierungen kann der primäre Daten-Typ, der von diesem Modul gehandhabt wird, JSON-Objekte enthalten und eine stark skalierbare non-SQL-Datenbank verwenden, eingesetzt in einem Cluster mit automatischem Failover für sowohl hohe Verfügbarkeit und hohe Performanz. Objekte, gespeichert über dieses Modul, haben im Allgemeinen Größen im Bereich bis zu einigen Megabytes.
- (3) Datei-Speicherung 830. Dieses Modul stellt eine Schnittstelle bereit zu und organisiert Speicherungs-Mechanismen für Dateien. Daten-Typen, gespeichert über dieses Modul, enthalten hochgeladene Datensätze, abgeleitete Daten, Modell-Berechnungen und Vorhersagungen. Dieses Modul kann ein Datei-Directory anlegen und Convention am Top der Cloud-Speicherung benennen. Außerdem, wenn Cloud-Workers auf dieses Modul zugreifen, können sie auch temporär die gespeicherten Dateien in ihrer lokalen Speicherung cachen.
- (4) VM Image Speicherung 832. Dieses Modul stellt eine Schnittstelle bereit zu und organisiert Speicherung für die VM-Images, die zum Laufen von IDE und Worker-Instanzen verwendet werden. Es speichert Images in einem selbstausreichenden VM-Container-Format. Für IDE-Instanzen bewahrt es den Status des Benutzers über die Sitzungen, während es neue Worker-Instanzen als Blank-Kopien aus dem Templat vom Worker-Typ lädt.
-
Zusammen organisieren diese Services eine große Vielfalt von Informationen, einschließlich:
- (1) UI Sitzungen 834: Daten zum Rendern des laufenden Status einer aktiven Benutzer-Sitzung und Ausführen einfacher Anfragen zu Authentifizierung und Zugriff-Kontrolle.
- (2) UI Objekte 836: Inhalt angezeigt von der UI.
- (3) Cache 838: Cached Anwendungs-Inhalt.
- (4) System-Konfiguration 840: Konfigurations-Parameter zur Einführung der Rechen-Infrastruktur und Laufen der Modell-Suche-Services.
- (5) System-Pflege 842: Echt-Zeit-Daten, gesammelt von den Modulen des Systems 600.
- (6) Benutzer/Projekt Admin 844: Jede Einstellungen von Projekt und Benutzer-Privilegien, sowie individuelle Benutzer-Einstellungen.
- (7) Datensätze 846: Daten-Dateien hochgeladen von Benutzer für Projekt.
- (8) Modellier-Berechnungen 848: Intermediäre Modellier-Ergebnisse, abschließend eingepasste Modelle, und berechnete Vorhersagungen.
- (9) VM Images 850: Images verwendet zur Einführung neuer IDE Server.
-
Wiederum sind die oben beschriebenen speziellen Module 802–850 logisch aufgebaut. Jedes Modul kann Ausführungs-Code von vielen anderen Quell-Dateien enthalten und eine gegebene Quell-Datei kann Funktionalität für viele andere Module vorsehen.
-
Weitere Beschreibung einiger Ausführungsformen
-
Obwohl hierin bereitgestellte Beispiele Module, beschrieben als auf gesonderten Rechnern vorliegend oder Arbeitsabläufe als von gesonderten Rechnern ausgeführt, aufweisen, wird Wert darauf gelegt, dass die Funktionalität dieser Komponenten auf einen einzelnen Rechner oder auf eine beliebige größere Zahl von Rechnern in einer verteilten Weise implementiert werden kann.
-
Die vorstehend-beschriebenen Ausführungsformen können in verschiedenster Weise implementiert werden. Zum Beispiel können die Ausführungsformen unter Verwendung von Hardware, Software oder einer Kombination davon implementiert werden. Wenn in Software implementiert, kann der Software-Code auf einem beliebigen geeigneten Prozessor oder einer Sammlung von Prozessoren, ob bereitgestellt in einem einzelnen Rechner oder verteilt unter mehreren Rechnern, ausgeführt werden. Außerdem wird Wert darauf gelegt, dass ein Rechner in beliebiger Form vorliegen kann, wie ein Rack-montierter Rechner, ein Desktop-Rechner, ein Laptop-Rechner oder ein Tablet-Rechner. Außerdem kann ein Rechner in eine Vorrichtung, die im Allgemeinen nicht als ein Rechner angesehen wird, aber geeignete Verarbeitungs-Fähigkeiten aufweist, einschließlich eines Personal-Digital-Assistant (PDA), eines Smartphones oder jeder anderen geeigneten tragbaren oder befestigten elektronischen Vorrichtung, eingebettet sein.
-
Solche Rechner können durch eines oder mehrere Netzwerke in beliebiger geeigneter Form miteinander verbunden sein, einschließlich als ein Local-Area-Netzwerk oder ein Wide-Area-Netzwerk, wie ein Unternehmens-Netzwerk oder das Internet. Solche Netzwerke können auf beliebiger geeigneter Technologie basieren und können ein beliebiges geeignetes Protokoll betreiben und können drahtlose Netzwerke, Kabel-Netzwerke oder Faser-optische Netzwerke enthalten.
-
Auch die verschiedenen Verfahren oder Vorgänge, die hierin erläutert wurden, können als Software kodiert sein, die auf einem oder mehreren Prozessoren ausführbar ist, die eine Vielfalt von Betriebssystemen oder Plattformen nutzen. Außerdem kann solche Software unter Verwendung einer beliebigen Zahl von geeigneten Programmier-Sprachen und/oder Programmen oder Script-Tools geschrieben sein, und kann auch als ausführbarer Maschinen-Sprache-Code oder intermediärer Code, der auf einem Framework oder virtuellen Maschinen ausgeführt wird, compiliert sein.
-
In dieser Hinsicht können einige Ausführungsformen als ein Rechner-lesbares Medium vorliegen (oder für mehrere Rechner lesbare Medien) (z. B. ein Rechner-Speicher, eine oder mehrere Floppy-discs, Compact-discs, Optical-discs, Magnetbänder, Flash-memories, Schaltkreis-Konfigurationen in Field-Programmable-Gate-Arrays oder anderen Halbleiter-Vorrichtungen, oder anderem greifbarem Rechner-Speicherungs-Medium), kodiert mit einem oder mehreren Programmen, die, wenn ausgeführt auf einem oder mehreren Rechnern oder anderen Prozessoren, Verfahren ausführen, die die verschiedenen vorstehend erörterten Ausführungsformen implementieren. Das Rechner-lesbare Medium oder Medien können nicht-transitorisch sein. Das Rechner-lesbare Medium oder Medien können transportabel sein, sodass das Programm oder die Programme, die darauf gespeichert sind, auf einen oder mehrere andere Rechner oder andere Prozessoren zum Implementieren verschiedener Aspekte des vorstehend erörterten prädiktiven Modellierens geladen werden können. Die Begriffe ”Programm” oder ”Software” werden hierin in gattungsgemäßem Sinne verwendet, um sich auf einen beliebigen Typ von Rechner-Code oder Satz von Rechner-ausführbaren Anweisungen zu beziehen, die zum Programmieren eines Rechners oder anderen Prozessors zum Implementieren verschiedener in der vorliegenden Offenbarung beschriebene Aspekte benutzt werden können. Außerdem wird Wert darauf gelegt, dass gemäß einem Aspekt dieser Offenbarung, eines oder mehrere Rechner-Programme, die wenn ausgeführt, prädiktive Modellier-Verfahren ausführen, nicht auf einem einzelnen Rechner oder Prozessor beruhen müssen, sondern in einer modularen Weise unter einer Zahl von anderen Rechnern oder Prozessoren zum Implementieren verschiedener Aspekte von prädiktivem Modellieren verteilt können.
-
Computer-ausführbare Anweisungen können in vielfältiger Form vorliegen, wie Programmmodule, ausgeführt von einem oder mehreren Rechnern oder anderen Vorrichtungen. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Daten-Strukturen usw., die besondere Tasks ausführen oder besondere abstrahierte Daten-Arten implementieren. Typischerweise kann die Funktionalität der Programmmodule kombiniert oder wie gewünscht in verschiedenen Ausführungsformen verteilt werden.
-
Daten-Strukturen können auch auf Computer-lesbaren Medien in beliebiger geeigneter Form gespeichert werden. Zur Vereinfachung der Veranschaulichung können Daten-Strukturen dargestellt werden, die Felder aufweisen, die über Ortsbestimmung in der Daten-Struktur in Bezug stehen. Solche Beziehungen können auch durch Zuweisen von Speicher für die Felder mit Ortsbestimmungen auf einem Computer-lesbaren Medium, das Beziehung zwischen den Feldern übermittelt, erzielt werden. Allerdings können beliebige geeignete Mechanismen verwendet werden, eine Beziehung zwischen Information auf Gebieten einer Daten-Struktur herzustellen, einschließlich über die Verwendung von Pointern, Tags oder anderer Mechanismen, die eine Beziehung zwischen Daten-Elementen herstellen.
-
Prädiktive Modellier-Techniken können auch als ein Verfahren ausgeführt werden, wovon ein Beispiel bereitgestellt wurde. Die Handlungen, ausgeführt als Teil des Verfahrens, können in beliebiger geeigneter Weise angeordnet werden. Folglich können Ausführungsformen aufgebaut werden, wobei Handlungen in einer Reihenfolge anders als veranschaulicht ausgeführt werden, was Ausführen einiger Handlungen gleichzeitig einschließt, wenngleich sie als aufeinanderfolgende Handlungen in veranschaulichten Ausführungsformen dargestellt wurden.
-
In gewissen Ausführungsformen können die Verfahren als Rechner-Anweisungen, gespeichert in Abschnitten eines Random-Acces-Speichers von einem Rechner zum Bereitstellen kontrollierter Logik, die das oben beschriebene Verfahren beeinflusst, implementiert sein. In solch einer Ausführungsform kann das Programm in einer beliebigen Zahl von höheren Sprachen geschrieben sein, wie FORTRAN, PASCAL, C, C++, C#, Java, javascript, Tel, oder BASIC. Weiterhin kann das Programm in ein Script, Macro oder eine Funktion, eingebettet in kommerziell verfügbarer Software, wie EXCEL oder VISUAL BASIC, geschrieben sein. Außerdem kann die Software in eine Gruppen-Sprache, gebündelt für einen Mikroprozessor, befindlich auf einem Rechner, implementiert sein. Zum Beispiel kann die Software in Intel 80x86 Gruppe-Sprachen, wenn sie zum Laufen auf einem IBM-PC oder PC-Clone konfiguriert ist, implementiert sein. Die Software kann auf einem Gegenstand einer Herstellung eingebettet sein, einschließlich, aber nicht begrenzt darauf, ”computer-lesbare Programm-Mittel”, wie eine Floppy-disk, eine Hard-disk, eine optische Disk, ein Magnetband, ein PROM, ein EPROM oder eine CD-ROM.
-
Verschiedene Aspekte der vorliegenden Offenbarung können einzeln, in Kombination oder in einer Vielfalt von Anordnungen, die nicht besonders im Vorstehenden beschrieben wurden, verwendet werden und die Erfindung ist daher in ihrer Anwendung auf die Einzelheiten und Anordnung der Komponenten, angeführt in der vorstehenden Beschreibung oder veranschaulicht in den Zeichnungen, nicht begrenzt. Zum Beispiel können Aspekte, beschrieben in einer Ausführungsform in beliebiger Weise mit Aspekten, beschrieben in anderen Ausführungsformen, kombiniert werden.
-
Terminologie
-
Die Phraseologie und Terminologie, die hierin verwendet wird, ist für den Zweck der Beschreibung und sollte nicht als begrenzend angesehen werden.
-
Die unbestimmten Artikel ”ein” und ”eine,” wenn in der Beschreibung und in den Ansprüchen verwendet, sollten, sofern nicht das Gegenteil angegeben ist, in der Bedeutung von ”zumindest ein” verstanden werden. Die Phrase ”und/oder”, wenn in der Beschreibung und in den Ansprüchen verwendet, sollte in der Bedeutung von ”entweder eines oder beide” der so zusammengefügten Elemente verstanden werden, d. h. Elemente, die in einigen Fällen konjunktiv vorliegen und in anderen Fällen disjunktiv vorliegen. Mehrere Elemente, aufgeführt mit ”und/oder”, sollten in derselbe Weise aufzufassen sein, d. h. ”eins oder mehr” der so zusammengefügten Elemente. Weitere Elemente können gegebenenfalls verschieden von den Elementen vorliegen, die insbesondere durch die ”und/oder”-Klausel identifiziert wurden, ob bezogen oder nicht bezogen auf jene besonders identifizierten Elemente. Somit kann als ein nichtbegrenzendes Beispiel, ein Bezug auf ”A und/oder B”, wenn in Zusammenhang mit offenen Phrasen, wie ”umfassend” verwendet, sich auf eine Ausführungsform zu nur A (gegebenenfalls einschließlich Elemente anders als B); in weiterer Ausführungsform, nur zu B (gegebenenfalls einschließlich Elemente anders als A); in noch weiterer Ausführungsform, auf beide A und B (gegebenenfalls einschließlich anderer Elemente); usw. beziehen.
-
Wenn in der Beschreibung und in den Ansprüchen verwendet, sollte ”oder” in derselben Bedeutung wie ”und/oder” wie vorstehend definiert verstanden werden. Zum Beispiel, wenn Gegenstände in einer Liste getrennt sind, sollen ”oder” oder ”und/oder” interpretiert werden als einschließend, d. h. die Inklusion von zumindest einem, aber auch einschließlich mehr als einem, von einer Zahl oder Liste von Elementen und, gegebenenfalls, zusätzlich nicht gelisteten Elementen. Nur Begriffe, die deutlich das Gegenteil ausweisen, wie ”nur eins von oder ”genau eins von,” oder, wenn in den Ansprüchen verwendet, ”bestehend aus,” bezieht sich die Inklusion auf exakt ein Element von einer Zahl oder Liste von Elementen. Im Allgemeinen soll der Begriff ”oder” wenn verwendet nur interpretiert werden als das Anzeigen ausschließender Alternativen (d. h. ”eins oder die anderen, aber nicht beide”), wenn vorangestellt von Begriffen des Ausschlusses, wie ”entweder”, ”eins von”, ”nur eins von” oder ”genau eins von.” ”Bestehend im Wesentlichen aus”, wenn in den Ansprüchen verwendet, soll seine übliche Bedeutung, wie auf dem Gebiet des Patentrechts verwendet, haben.
-
Wenn in der Beschreibung und in den Ansprüchen verwendet, soll die Phrase ”zumindest eins,” in Bezug auf eine Liste von einem oder mehreren Elementen, in der Bedeutung von zumindest einem Element, ausgewählt aus beliebigen von einem oder mehreren der Elemente in der Liste von Elementen verstanden werden, aber nicht notwendigerweise einschließlich zumindest einem von jeden und jedes Element besonders gelistet innerhalb der Liste von Elementen und nicht ausschließend eine beliebige Kombination von Elementen in der Liste von Elementen. Diese Definition gestattet auch, dass Elemente gegebenenfalls vorliegen können, anders als die Elemente, die besonders identifiziert innerhalb der Liste von Elementen vorliegen, auf die die Phrase ”zumindest eins” sich bezieht, ob bezogen oder nicht bezogen auf jene Elemente, die besonders identifiziert wurden. Somit kann als ein nichtbegrenzendes Beispiel ”zumindest eins von A und B” (oder äquivalent” zumindest eins von A oder B” oder äquivalent, ”zumindest eins von A und/oder B”) sich auf eine Ausführungsform beziehen, auf zumindest eins, gegebenenfalls einschließlich mehr als eins, A ohne B vorliegend (und gegebenenfalls einschließlich Elemente anders als B); in weiterer Ausführungsform, auf zumindest eins, gegebenenfalls einschließlich mehr als eins, B ohne A vorliegend (und gegebenenfalls einschließlich Elemente anders als A); in noch weiterer Ausführungsform auf zumindest eins, gegebenenfalls einschließlich mehr als eins, A und zumindest eins, gegebenenfalls einschließlich mehr als eins, B (und gegebenenfalls einschließlich anderer Elemente); usw.
-
Die Verwendung von ”einschließlich”, ”umfassend”, ”aufweisend”, ”enthaltend”, ”Involvieren” und Variationen davon, hat die Bedeutung die anschließend gelisteten Gegenstände und zusätzliche Gegenstände zu umfassen.
-
Die Verwendung ordinaler Begriffe wie ”erst”, ”zweit”, ”dritt” usw. in den Ansprüchen zum Modifizieren eines Anspruchs-Elemente bedeutet nicht irgendeine Priorität, Präzedenz oder Reihenfolge von einem Anspruchs-Element über weitere oder die temporäre Reihenfolge, bei der Handlungen von einem Verfahren ausgeführt werden. Ordinale Begriffe werden nur als Kennzeichen zum Unterscheiden eines Anspruchs-Elements mit einem bestimmten Namen von weiterem Element mit einem gleichen Namen (aber zur Verwendung des ordinalen Begriffs), zum Unterscheiden der Anspruchs-Elemente, verwendet.
-
Aquivalente
-
Nach Beschreiben einiger Aspekte von zumindest einer Ausführungsform dieser Erfindung ist es selbstverständlich, dass verschiedene Änderungen, Modifizierungen und Verbesserungen für den Fachmann leicht erkennbar sind. Solche Änderungen, Modifizierungen und Verbesserungen sind vorgesehen, Teil dieser Offenbarung zu sein, und sind vorgesehen, innerhalb des Gedankens und Umfangs der Erfindung zu liegen. Folglich sind die vorstehende Beschreibung und Zeichnungen nur beispielhaft.