Позволяет пользователю использовать мощность процессора и выполнять распределенные вычисления

Dask — это гибкая библиотека параллельных вычислений на Python, которая позволяет пользователям использовать мощность своих ядер ЦП и выполнять распределенные вычисления с наборами данных, объем которых превышает объем памяти.

Вот пример того, как Dask можно использовать для предварительной обработки распределенных данных в большом наборе данных:

import dask.dataframe as dd

# Read in the dataset using Dask
df = dd.read_csv('large_dataset.csv')

# Perform distributed filtering on the dataset
filtered_df = df[df['column1'] > 0]

# Perform distributed aggregation on the filtered dataset
agg_df = filtered_df.groupby('column2').agg({'column3': ['mean', 'min', 'max']})

# Perform distributed transformation on the aggregated dataset
transformed_df = agg_df.reset_index()

# Save the transformed dataset to a file
transformed_df.to_csv('transformed_dataset.csv')

В этом примере мы используем Dask для чтения большого набора данных из файла, фильтруем набор данных, чтобы включить только строки, где значение в column1 больше 0, агрегируем отфильтрованный набор данных по column2 и вычисляем среднее, минимальное и максимальное значение column3, преобразуйте агрегированный набор данных, сбросив индекс, и сохраните преобразованный набор данных в файл.

Вот пример того, как Dask можно использовать для обучения модели машинного обучения на большом наборе данных:

import dask.dataframe as dd
from dask_ml.model_selection import train_test_split
from dask_ml.linear_model import LogisticRegression

# Read in the dataset using Dask
df = dd.read_csv('large_dataset.csv')

# Split the dataset into training and test sets
X_train, X_test, y_train, y_test = train_test_split(df[['column1', 'column2']], df['target'])

# Train a logistic regression model on the training set
model = LogisticRegression()
model.fit(X_train, y_train)

# Evaluate the model on the test set
accuracy = model.score(X_test, y_test)
print(f'Test accuracy: {accuracy:.2f}')

В этом примере мы используем Dask для чтения большого набора данных из файла, разбиваем набор данных на обучающий и тестовый наборы с помощью train_test_split, обучаем модель логистической регрессии на обучающем наборе с помощью LogisticRegression и оцениваем модель на тестовом наборе.

Вот пример того, как Dask можно использовать для визуализации распределенных данных в большом наборе данных:

import dask.dataframe as dd
import matplotlib.pyplot as plt

# Read in the dataset using Dask
df = dd.read_csv('large_dataset.csv')

# Create a scatter plot of the relationship between two columns
df.plot.scatter(x='column1', y='column2')
plt.show()

# Create a histogram of the values in a column
df['column3'].plot.hist()
plt.show()

# Create a heatmap of the correlation between multiple columns
corr = df.corr()
mask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, mask=mask)
plt.show()

В этом примере мы используем Dask для чтения большого набора данных из файла, создаем точечную диаграмму взаимосвязи между column1 и column2, создаем гистограмму значений в column3 и создаем тепловую карту корреляции между несколькими столбцами.

Dask разбивает наборы данных на более мелкие фрагменты, выполняет задачи в каждом фрагменте параллельно, используя несколько ядер ЦП, а затем объединяет результаты. Это позволяет нам визуализировать большие наборы данных, которые в противном случае были бы слишком велики для размещения в памяти.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.

Хотите масштабировать запуск своего программного обеспечения? Ознакомьтесь с разделом Схема.