Antrenarea modelelor ML pe seturi mari de date

Programare paralelă cu Dask în Python

James Fulton

Climate Informatics Researcher

Dask-ML

import dask_ml
  • Accelerează sarcinile de machine learning
Programare paralelă cu Dask în Python

Regresia liniară

Exemplu de date cu relație liniară între x și y.

Programare paralelă cu Dask în Python

Regresia liniară

O dreaptă a fost potrivită pe date.

Programare paralelă cu Dask în Python

Regresia liniară

Distanța dintre dreaptă și punctele reale de date este evidențiată.

Programare paralelă cu Dask în Python

Potrivirea unui model de regresie liniară

# Import regression model
from sklearn.linear_model import SGDRegressor

# Create instance of model
model = SGDRegressor()

# Fit model to data
model.fit(X, y)

# Make predictions
y_pred = model.predict(X)
Programare paralelă cu Dask în Python

Utilizarea unui model scikit-learn cu Dask

# Import regression model
from sklearn.linear_model import SGDRegressor

# Create instance of model
model = SGDRegressor()


# Import Dask-ML wrapper for model from dask_ml.wrappers import Incremental
# Wrap model dask_model = Incremental(model, scoring='neg_mean_squared_error')
# Fit on Dask DataFrames or arrays dask_model.fit(dask_X, dask_y) # not lazy
Programare paralelă cu Dask în Python

Antrenarea necesită mai multe iterații

Animația arată că dreapta se potrivește mai bine după mai multe iterații de antrenare.

Programare paralelă cu Dask în Python

Antrenarea unui model Incremental

# Loop through data multiple times
for i in range(10):
    dask_model.partial_fit(dask_X, dask_y)  # not lazy    
Programare paralelă cu Dask în Python

Generarea predicțiilor

y_pred = dask_model.predict(dask_X)

print(y_pred)
dask.array<_predict, shape=(nan,), dtype=int64, chunksize=(nan,), chunktype=...>
print(y_pred.compute())
array([0.465557, 0.905675, 0.285214, ..., 0.249454, 0.559624, 0.823475])
Programare paralelă cu Dask în Python

Să exersăm!

Programare paralelă cu Dask în Python

Preparing Video For Download...