Machine Learning
für Datenbankentwickler
Sascha Dittmann
Cloud Solution Architect, Data & AI
Microsoft Deutschland GmbH
Quelle: Stefan Bayer / pixelio.de
rxLinMod(…)
“
OUR GOAL IS TO DEMOCRATIZE A.I.
TO EMPOWER EVERY PERSON
AND EVERY ORGANIZATION
TO ACHIEVE MORE
”SATYA NADELLA
Ingest Transform Explore Model DeployÚ Ú Ú Ú Ú
Score Visualize MeasureÚ Ú ÚÚ
Model
Score
ƒ(x)
Preparation Modeling
Operationalization
https://inseaddataanalytics.github.io/INSEADAnalytics/CRISP_DM.pdf
Preparation data integration
Data Integration
Exploratory
Data Analysis
Quelle: Claudia Hautumm / pixelio.de
Exploratory
Data Analysis
Removing
Dublicates
Dealing with
Outliers
Data
Transformation
Quelle: Karl-Heinz Laube / pixelio.de
Modeling
data integration
https://docs.microsoft.com/en-us/azure/machine-learning/studio/algorithm-cheat-sheet
y = 0,5 + 1,3x
hΘ(x) = Θ0 + Θ1x
General Function:
hΘ(x) = Θ0 + Θ1x1 + Θ2x2 + Θ3x3 + Θ4x4 + ...
Hypothesis: hΘ(x) = Θ0 + Θ1x
Amount of training data: m
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'x <- as.matrix(InputDataSet);
y <- array(dim1:dim2);
OutputDataSet <- as.data.frame(x %*% y);'
, @input_data_1 = N'SELECT [Col1] from MyData;’
, @params = N'@dim1 int, @dim2 int’
, @dim1 = 12, @dim2 = 15
WITH RESULT SETS (([Col1] int, [Col2] int, [Col3] int, [Col4] int));
launchpad.exe
sp_execute_external_script
sqlservr.exe
Named pipe
Each SQL instance
has a launchpad
SQLOS
XEvent
MSSQLSERVER Service MSSQLLAUNCHPAD Service
“What” and “How”
to “launch”
“launcher”
Windows
“satellite” process
sqlsatellite.dll
Windows
“satellite” process
Windows
“satellite” process
Windows
“satellite” process
Windows
“satellite” process
Pre-Day Event
Einstieg in Machine Learning mit TensorFlow und Azure
Operationalization
DECLARE @mymodel VARBINARY(MAX) = (
SELECT model
FROM ml_models
WHERE model_name = 'RentalModel'
AND model_version = 'v1')
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'mod <- unserialize(as.raw(model));
Scores <- rxPredict(modelObject = mod, data = InputDataSet,
outData = NULL, predVarNames = "Score",
type = "response", writeModelVars = FALSE,
overwrite = TRUE);
OutputDataSet <- as.data.frame(Scores$Score);'
, @input_data_1 = N'SELECT * FROM dbo.rental_data'
, @params = N’@model varbinary(max)’
, @model = @mymodel
WITH RESULT SETS (([Score] float));
SELECT d.*, p.*
FROM PREDICT(MODEL = @mymodel, DATA = dbo.rental_data AS d)
WITH (RentalCount_Pred FLOAT) AS p;
EXEC sp_rxPredict @model = @mymodel
, @inputData = N'SELECT * FROM dbo.rental_data'
https://www.coursera.org/learn/machine-learning
https://academy.microsoft.com/en-us/professional-program/tracks/data-science/
https://ptdrv.linkedin.com/z6nu1hl
https://docs.microsoft.com/en-us/sql/advanced-analytics/real-time-scoring
https://docs.microsoft.com/en-us/sql/advanced-analytics/sql-native-scoring
Thank you very much for your attention.
Vielen Dank für Eure Aufmerksamkeit.
Ich freue mich über
Feedback

Einstieg in Machine Learning für Datenbankentwickler