[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 3: Erkunden und Visualisieren von Daten

Vom Anfang des Tutorials

In-Database Python-Analyse für SQL-Entwickler

Vorheriger Schritt

Schritt 2: Daten mit PowerShell in SQL Server importieren

Nächster Schritt

Schritt 4: Feature-Extraktion von Daten mit T-SQL

Schritt 3: Datenexploration und -visualisierung

Die Entwicklung von Data Science-Lösungen umfasst in der Regel eine intensive Datenexploration und Datenvisualisierung. In diesem Schritt untersuchen Sie die Beispieldaten und generieren einige Diagramme. Außerdem erfahren Sie, wie Sie Grafikobjekte in Python serialisieren und Diagramme deserialisieren und erstellen.

[!NOTE] Dieses Tutorial zeigt nur das Binomialklassifizierungsmodell. Es ist auch möglich, andere Modelle wie die Regressionsklassifikation und die Polynomklassifikation zu erstellen.

Bestätigung der Daten

Der Originaldatensatz enthält die Taxikennung und den Fahrdatensatz in separaten Dateien, wird jedoch mit medallion, hack_license und pickup_datetime als Schlüssel verknüpft, um die Verwendung der Beispieldaten zu vereinfachen. Die verwendeten Datensätze werden mit 1% der ursprünglichen Anzahl von Datensätzen abgetastet. Der abgetastete Datensatz enthält 1.703.957 Zeilen und 23 Spalten.

** Taxi-Kennung **

** Fahraufnahme und Fahrpreisaufzeichnung **

――Jedes Fahrprotokoll enthält den Ort und die Zeit des Ein- und Aussteigens sowie die Fahrstrecke.

Erstellen Sie Diagramme in Python in T-SQL

Die Visualisierung ist wichtig, um die Verteilung von Daten und Ausreißern zu verstehen, und Python bietet viele Pakete für die Datenvisualisierung. Das matplotlib-Modul enthält viele Funktionen zum Erstellen von Histogrammen, Streudiagrammen, Box-Whiskern und anderen Datenexplorationsdiagrammen.

In diesem Abschnitt erfahren Sie, wie Sie mit Plots mit gespeicherten Prozeduren arbeiten. Hier wird das Diagramm als varbinäre Typdaten behandelt.

Speichern Sie das Diagramm als varbinären Datentyp

Das ** RevoScalePy ** -Paket der Python-Bibliothek, das in SQL Server 2017 Machine Learning Services enthalten ist, entspricht dem RevoScaleR-Paket der R-Bibliothek. In diesem Beispiel wird rxHistogram verwendet, um ein Histogramm basierend auf den Ergebnisdaten einer Transact-SQL-Abfrage zu zeichnen. Wickeln Sie es zur einfacheren Verwendung in eine gespeicherte PlotHistogram-Prozedur ein.

Diese gespeicherte Prozedur gibt ein serialisiertes Python-Zeichenobjekt als Stream von varbinären Daten zurück. Sie können die Binärdaten nicht direkt anzeigen, sondern verwenden Python-Code auf dem Client, um die Binärdaten zu deserialisieren und die Bilddatei auf dem Clientcomputer zu speichern.

Definieren Sie eine gespeicherte SerializePlots-Prozedur

Die gespeicherte Prozedur "SerializePlots" wird in SQL Server durch Schritt 2: Importieren von Daten in SQL Server mithilfe von PowerShell (http://qiita.com/qio9o9/items/98df36982f1fbecdf5e7) definiert.

  1. Erweitern Sie im Objekt-Explorer von Management Studio die Option Programmierung> Gespeicherte Prozeduren.

  2. Klicken Sie mit der rechten Maustaste auf "SerializePlots" und wählen Sie "Ändern", um das Transact-SQL-Skript in einem neuen Abfragefenster zu öffnen.

    
    CREATE PROCEDURE [dbo].[SerializePlots]
    AS
    BEGIN
      SET NOCOUNT ON;
      DECLARE @query nvarchar(max) =
      N'SELECT cast(tipped as int) as tipped, tip_amount, fare_amount FROM [dbo].[nyctaxi_sample]'
      EXECUTE sp_execute_external_script
      @language = N'Python',
      @script = N'
    import matplotlib
    matplotlib.use("Agg")
    import matplotlib.pyplot as plt
    import pandas as pd
    import pickle
    
    fig_handle = plt.figure()
    plt.hist(InputDataSet.tipped)
    plt.xlabel("Tipped")
    plt.ylabel("Counts")
    plt.title("Histogram, Tipped")
    plot0 = pd.DataFrame(data =[pickle.dumps(fig_handle)], columns =["plot"])
    plt.clf()
    
    plt.hist(InputDataSet.tip_amount)
    plt.xlabel("Tip amount ($)")
    plt.ylabel("Counts")
    plt.title("Histogram, Tip amount")
    plot1 = pd.DataFrame(data =[pickle.dumps(fig_handle)], columns =["plot"])
    plt.clf()
    
    plt.hist(InputDataSet.fare_amount)
    plt.xlabel("Fare amount ($)")
    plt.ylabel("Counts")
    plt.title("Histogram, Fare amount")
    plot2 = pd.DataFrame(data =[pickle.dumps(fig_handle)], columns =["plot"])
    plt.clf()
    
    plt.scatter( InputDataSet.fare_amount, InputDataSet.tip_amount)
    plt.xlabel("Fare Amount ($)")
    plt.ylabel("Tip Amount ($)")
    plt.title("Tip amount by Fare amount")
    plot3 = pd.DataFrame(data =[pickle.dumps(fig_handle)], columns =["plot"])
    plt.clf()
    
    OutputDataSet = plot0.append(plot1, ignore_index=True).append(plot2, ignore_index=True).append(plot3, ignore_index=True)
    ',
                                     @input_data_1 = @query
      WITH RESULT SETS ((plot varbinary(max)))
    END
    
    GO
    
    

Varbinary-Daten als Bilddatei ausgeben

  1. Führen Sie die folgende Abfrage in Management Studio aus.

    EXEC [dbo].[SerializePlots]
    

    sqldev-python-step3-1-gho9o9.png

  2. Ändern Sie die Verbindungszeichenfolge im Python-Skript "DeserializeSavePlots.py" in den heruntergeladenen Dateien entsprechend Ihrer Umgebung und führen Sie sie dann aus.

** Für die SQL Server-Authentifizierung **

```python:DeserializeSavePlots
import pyodbc
import pickle
import os
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER={SERVER_NAME};DATABASE={DB_NAME};UID={USER_NAME};PWD={PASSOWRD}')
cursor = cnxn.cursor()
cursor.execute("EXECUTE [dbo].[SerializePlots]")
tables = cursor.fetchall()
for i in range(0, len(tables)):
    fig = pickle.loads(tables[i][0])
    fig.savefig(str(i)+'.png')
print("The plots are saved in directory: ",os.getcwd())
```

** Für die Windows-Authentifizierung **

```Python:DeserializeSavePlots.py
import pyodbc
import pickle
import os
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER={SERVER_NAME};DATABASE={DB_NAME};Trusted_Connection=yes;')
cursor = cnxn.cursor()
cursor.execute("EXECUTE [dbo].[SerializePlots]")
tables = cursor.fetchall()
for i in range(0, len(tables)):
    fig = pickle.loads(tables[i][0])
    fig.savefig(str(i)+'.png')
print("The plots are saved in directory: ",os.getcwd())
```

> [!NOTE]

Passen Sie die Python-Laufzeitversion auf Server und Client an. Passen Sie außerdem die vom Client verwendete Version der Python-Bibliothek, z. B. matplotlib, an den Server an oder machen Sie eine höhere Version.

  1. Wenn die Verbindung erfolgreich hergestellt wurde, wird das folgende Ergebnis angezeigt.

    sqldev-python-step3-2-gho9o9.png

  2. Im Python-Arbeitsverzeichnis werden vier Dateien erstellt.

Zeigt die Anzahl der erhaltenen und die nicht erhaltenen Chips an. sqldev-python-step3-3-1-gho9o9.png

Zeigt die Verteilung der Chipmengen an. sqldev-python-step3-3-2-gho9o9.png

Zeigt die Tarifverteilung an. sqldev-python-step3-3-3-gho9o9.png

Es ist ein Streudiagramm mit dem Tarif auf der x-Achse und dem Chipbetrag auf der y-Achse. sqldev-python-step3-3-4-gho9o9.png

Verknüpfung

Nächster Schritt

Schritt 4: Feature-Extraktion von Daten mit T-SQL

Vorheriger Schritt

Schritt 2: Daten mit PowerShell in SQL Server importieren

Vom Anfang des Tutorials

In-Database Python-Analyse für SQL-Entwickler

Quelle

Step 3: Explore and Visualize the Data

Verwandte Artikel

Machine Learning Services with Python

Recommended Posts

[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 3: Erkunden und Visualisieren von Daten
[In-Database Python Analysis Tutorial mit SQL Server 2017] Schritt 1: Laden Sie Beispieldaten herunter
[In-Database Python Analysis Tutorial mit SQL Server 2017]
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 2: Importieren Sie Daten mit PowerShell in SQL Server
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 6: Verwenden des Modells
[In-Database Python Analysis Tutorial mit SQL Server 2017] Schritt 4: Feature-Extraktion von Daten mit T-SQL
[In-Database Python Analysis Tutorial mit SQL Server 2017] Schritt 5: Training und Speichern von Modellen mit T-SQL
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Datenanalyse mit Python 2
Datenanalyse mit Python
Schöne Grafikzeichnung mit Python-Seaborn erleichtert die Datenanalyse und -visualisierung Teil 1
Wunderschönes Zeichnen mit Python-Seaborn erleichtert die Datenanalyse und -visualisierung Teil 2
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Datenpipeline-Aufbau mit Python und Luigi
Visualisierung und Analyse von Stava Twitter-Datenstandortinformationen
Tweet-Analyse mit Python, Mecab und CaboCha
Empfehlung von Altair! Datenvisualisierung mit Python
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
Erfassung und Visualisierung von Sensordaten für das Pflanzenwachstum mit Intel Edison und Python
Datenanalyse Python
Implementieren Sie "Data Visualization Design # 3" mit Pandas und Matplotlib
Starten Sie einen Webserver mit Python und Flask
[CGI] Führen Sie das Server-Python-Programm mit Vue.js + axios aus und rufen Sie die Ausgabedaten ab
Erstellen Sie mit Streamlit schnell ein Python-Datenanalyse-Dashboard und stellen Sie es in AWS bereit
Analyse von Finanzdaten durch Pandas und deren Visualisierung (2)
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Analyse von Finanzdaten durch Pandas und deren Visualisierung (1)
Lesehinweis: Einführung in die Datenanalyse mit Python
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Übersicht und Tipps von Seaborn mit statistischer Datenvisualisierung
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus
[Regelungstechnik] Visualisierung und Analyse der PID-Regelung und der Sprungantwort
Ein Server, der POST-Daten mit flask / python wiedergibt
[PyTorch Tutorial ⑦] Visualisieren von Modellen, Daten und Training mit Tensorboard
Untersuchen Sie den Java- und Python-Datenaustausch mit Apache Arrow
ODBC-Zugriff auf SQL Server von Linux mit Python
Python-Datenvisualisierungsbibliotheken
Datenanalyse Übersicht Python
Sprachanalyse mit Python
Datenvisualisierung mit Pandas
Python-Datenanalysevorlage
[Python-Tutorial] Datenstruktur
Sprachanalyse mit Python
Lokaler Server mit Python
Visualisierung der Logistik mit Python
Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)
"Zeitreihenanalyse von Wirtschafts- und Finanzdaten messen" Das Problem am Ende des Kapitels mit Python lösen
Ich habe die gleiche Datenanalyse mit kaggle notebook (python) und PowerBI gleichzeitig versucht ①
Einfache Analyse und gemeinsame Nutzung mit re: dash, einem Open-Source-Tool zur Datenvisualisierung Teil 1 - Installation
Bildschirm und geteilter Bildschirm mit Python- und SSH-Anmeldung am Remote-Server
Führen Sie mit Python und Matplotlib eine Isostromanalyse offener Wasserkanäle durch
Greifen Sie mit python27 / pyodbc auf dem Container auf den SQL Server des Hosts zu
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
Löse das Spiralbuch (Algorithmus und Datenstruktur) mit Python!
Versuchen Sie, die Datentabelle von Azure SQL Server mit pyodbc zu extrahieren
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
<Python> Erstellen Sie einen Server für die Datenanalyse mit Jupyter Notebook