Wie vergleicht sich SQL Server Analysis Services mit R?

7

Dies mag eine zu weit gefasste Frage mit starken Meinungen sein, aber es fällt mir wirklich schwer, Informationen über das Ausführen verschiedener Algorithmen mit SQL Server Analysis Service-Data-Mining-Projekten im Vergleich zu R zu finden. Dies liegt hauptsächlich daran, dass alle Data-Science-Mitarbeiter mit mir zusammenarbeiten Ich habe keine Ahnung von SSAS, weil niemand es zu benutzen scheint. :) :)

Der Datenbank-Typ

Bevor ich anfange, lassen Sie mich das klarstellen. Ich bin ein Datenbank-Typ und kein Datenwissenschaftler. Ich arbeite mit Leuten zusammen, die Datenwissenschaftler sind, die hauptsächlich R verwenden. Ich unterstütze diese Leute bei der Erstellung großer Datenmengen, in denen sie Daten analysieren und verarbeiten können.

Mein Ziel hier ist es, ein Tool zu nutzen, das mit SQL Server geliefert wurde und das niemand wirklich nutzt, da niemand eine Ahnung zu haben scheint, wie es im Vergleich zu anderen Methoden und Tools wie R, SAS, SSPS usw. in meinem funktioniert Lager.

SSAS

Ich habe SQL Server Analysis Services (SSAS) außerhalb der Erstellung von OLAP-Cubes nie wirklich verwendet. Wenn Sie SSAS kennen, können Sie Data Mining-Aufgaben auch für Cubes oder direkt für die Daten in SQL Server ausführen.

SSAS Data Mining bietet eine Reihe von Algorithmus-Typen:

  • Klassifizierungsalgorithmen sagen eine oder mehrere diskrete Variablen basierend auf den anderen Attributen im Datensatz voraus.
  • Regressionsalgorithmen sagen eine oder mehrere kontinuierliche Variablen wie Gewinn oder Verlust basierend auf anderen Attributen im Datensatz voraus.
  • Segmentierungsalgorithmen unterteilen Daten in Gruppen oder Cluster von Elementen mit ähnlichen Eigenschaften.
  • Assoziationsalgorithmen finden Korrelationen zwischen verschiedenen Attributen in einem Datensatz. Die häufigste Anwendung dieser Art von Algorithmus ist das Erstellen von Zuordnungsregeln, die in einer Warenkorbanalyse verwendet werden können.
  • Sequenzanalysealgorithmen fassen häufige Sequenzen oder Episoden in Daten zusammen, z. B. einen Webpfadfluss.

Vorhersage diskreter Spalten

Mit diesen verschiedenen Algorithmusoptionen kann ich anhand der Daten allgemeine Vorhersagen treffen, z. B. anhand einer vorhersagbaren Spalte, Fahrradkäufer, anhand einer Eingabespalte, Alter, herausfinden, wer ein Fahrrad kaufen wird. Das Histogramm zeigt, dass das Alter einer Person hilft, zu unterscheiden, ob diese Person ein Fahrrad kauft.

Geben Sie hier die Bildbeschreibung ein

Vorhersage fortlaufender Spalten

Wenn der Microsoft Decision Trees-Algorithmus einen Baum basierend auf einer kontinuierlich vorhersagbaren Spalte erstellt, enthält jeder Knoten eine Regressionsformel. Eine Aufteilung erfolgt an einem Punkt der Nichtlinearität in der Regressionsformel. Betrachten Sie beispielsweise das folgende Diagramm.

Geben Sie hier die Bildbeschreibung ein

Vergleich

Nach alledem scheint es mir möglich zu sein, eine Reihe von Algorithmen für die Daten auszuführen und mir in SSAS verschiedene Funktionen zur Verfügung zu stellen, um sie gegen die Daten auszuführen. Es scheint auch, dass ich meine eigenen Algorithmen in Visual Studio entwickeln und auf SSAS bereitstellen kann (wenn ich mich nicht irre).

Was fehlt mir hier in Bezug auf Sprachen und Tools von R? Ist es nur so, dass sie flexibler sind, komplexe Algorithmen im Vergleich zu SSAS usw. bereitzustellen und zu bearbeiten?

Anspruchsvoll
quelle
1
R wird in SQL Server 2016 integriert. Jetzt haben Sie das Beste von beiden!
Michael Green
Ja, das habe ich gesehen, aber Sie müssen 2016 noch upgraden oder kaufen. Das ist nicht einfach im Handumdrehen.
Anspruchsvoller
Wir stellen die gleiche Frage. Es scheint, dass R bereits von / nach SQL lesen / schreiben kann. Daher verstehe ich nicht, was SQL 2016 bieten wird. Vielleicht können Sie R-Pakete in SQL ausführen?
Sir schwört viel

Antworten:

2

Meiner Meinung nach scheint SSAS für jemanden sinnvoller zu sein, der:

  • hat erheblich in den Technologie-Stack und die Plattform von Microsoft investiert ;
  • Ziehen Sie die Point-and-Click- Schnittstelle (GUI) der Befehlszeile vor.
  • Fokus auf Data Warehousing (OLAP-Cubes usw.);
  • hat begrenzte Bedürfnisse in Bezug auf statistische Methoden und Algorithmenvielfalt ;
  • hat begrenzte Bedürfnisse bei der sprachübergreifenden Integration ;
  • schert sich nicht viel über Offenheit , plattformübergreifende Integration und Vendor Lock-in .

Sie können diesen Blog-Beitrag von Sami Badawi nützlich finden . Beachten Sie jedoch, dass der Beitrag nicht aktuell ist , sodass einige Informationen möglicherweise veraltet sind. Außerdem enthält der Beitrag eine erste Überprüfung, die möglicherweise nicht sehr genau oder umfassend ist. Wenn Sie über Data Science nachdenken und gleichzeitig in Betracht ziehen, im Microsoft-Ökosystem zu bleiben, empfehlen wir Ihnen, einen Blick auf Microsofts eigene Plattform für maschinelles Lernen Azure ML zu werfen. Dieser Blog-Beitrag bietet einen kurzen Vergleich von (frühem) Azure ML und SSAS.

Aleksandr Blekh
quelle
Vielen Dank. Die meisten Daten, die ich analysiere, sind mehrdimensional. NoSQL-Lösungen und andere Cloud-basierte Lösungen sind für mich keine Option. Daher ist es nicht sinnvoll, auf Azure zu schauen. Ich werde jedoch den Blog-Beitrag lesen. Leider hat sich SSAS im Laufe der Jahre nicht wirklich verbessert und ich bin auf 2008 R2.
Anspruchsvoller
Können Sie übrigens mehr Einblick in die begrenzten statistischen Methoden und die Vielfalt der Algorithmen geben? Ich nahm an, Sie könnten mit SSAS Ihre eigenen Methoden und Algorithmen entwickeln, genau wie mit R? Oder ist die Verfügbarkeit dieser Pakete nicht so häufig wie in der Open Source-Community?
Anspruchsvoller
@ Fastidious: Gern geschehen. Betreff: Ihr erster Kommentar (ich werde den zweiten im nächsten Kommentar ansprechen). Ich verstehe Ihre Gründe für die Ablehnung von Azure ML nicht. Ich bin zwar kein großer Fan von Microsoft-Lösungen, aber für diejenigen, die an diesen Technologie-Stack gebunden sind, scheint Azure ML eine vernünftige Option zu sein (für einige ist dies möglicherweise immer noch nicht die beste). Azure ML ist direkt mit Azure verbunden, das als allgemeine Cloud-Plattform alles unterstützt, was Sie darauf werfen. Wickeln Sie die von Ihnen verwendeten Umgebungen und Tools in eine virtuelle Maschine ein (oder installieren Sie sie separat) und starten Sie sie. Es ist jedoch nicht billig.
Aleksandr Blekh
1
Keine Sorge. Wir verwenden R und geben ihm Daten über SQL Server. Ich wollte nur sehen, ob wir auch in SQL noch alles nutzen können.
Anspruchsvoller
1
Wem auch immer vorgeschlagen wurde, meinen ersten Aufzählungspunkt zu entfernen: Ich habe Ihren Bearbeitungsvorschlag abgelehnt. Erstens besitzt Microsoft kein R, ein Open-Source-Projekt. Die Tatsache, dass MS Revolution Analytics (RA) erworben und R, eine Teilmenge des R-riesigen Ökosystems und des RA-Produkts, in den MS-Stack integriert hat, macht R im Vergleich zu SSAS nicht gleichermaßen "komfortabel". Zweitens sind SSAS und andere relevante MS-Produkte zumindest kurzfristig noch stärker in das MS-Ökosystem integriert. Dies ist meine Meinung und ich stehe dazu. Daher möchte ich, dass meine Antwort so bleibt, wie sie ist. Danke für dein Verständnis.
Aleksandr Blekh