Вы заинтересованы в прогнозировании будущих продаж для вашего бизнеса? Scikit-learn — это мощная библиотека Python для машинного обучения, которая поможет вам делать точные прогнозы. В этом руководстве мы познакомим вас с процессом использования scikit-learn для реализации прогнозирования продаж.

Шаг 1: Импорт библиотек

Во-первых, нам нужно импортировать необходимые библиотеки. Мы будем использовать pandas для обработки данных, numpy для числовых операций и библиотеку Scikit-learn для машинного обучения.

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

Шаг 2: Загрузка данных

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

sales_data = pd.read_csv('sales_data.csv')

Шаг 3: Предварительная обработка данных

Прежде чем мы сможем использовать данные для машинного обучения, нам нужно их предварительно обработать. Это включает в себя очистку данных и преобразование их в формат, который может использоваться scikit-learn.

# Drop columns that are not needed
sales_data = sales_data.drop(['item_id'], axis=1)
# Convert the date column to datetime format
sales_data['date'] = pd.to_datetime(sales_data['date'])
# Group the data by date and sum the sales quantity
sales_data = sales_data.groupby('date').sum()
# Create a new dataframe with the sales quantity as the target variable
sales_df = pd.DataFrame(sales_data['sales_qty'])
# Create a new column for the date as a numerical value
sales_df['date_num'] = pd.to_numeric(sales_df.index)

Шаг 4: Разделение данных

Теперь, когда мы предварительно обработали данные, нам нужно разделить их на наборы данных для обучения и тестирования. Это позволяет нам оценить точность нашей модели машинного обучения.

# Split the data into training and testing datasets
X_train, X_test, y_train, y_test = train_test_split(sales_df['date_num'], sales_df['sales_qty'], test_size=0.33, random_state=42)

Шаг 5: Построение модели

Мы будем использовать линейную регрессию для построения нашей модели машинного обучения. Линейная регрессия — это простой, но мощный алгоритм, который можно использовать для прогнозирования.

# Create a linear regression model
reg = LinearRegression()
# Fit the model to the training data
reg.fit(X_train.values.reshape(-1,1), y_train.values.reshape(-1,1))

Шаг 6: Делаем прогнозы

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

# Make predictions on the testing data
y_pred = reg.predict(X_test.values.reshape(-1,1))

Шаг 7: Оценка модели

Наконец, нам нужно оценить точность нашей модели машинного обучения. Мы будем использовать коэффициент R-квадрат для оценки модели.

# Calculate the R-squared coefficient
r_squared = reg.score(X_test.values.reshape(-1,1), y_test.values.reshape(-1,1))
# Print the R-squared coefficient
print("R-squared coefficient: ", r_squared)

Поздравляем! Вы успешно реализовали прогнозирование продаж с помощью scikit-learn. Благодаря возможностям машинного обучения теперь вы можете точно и уверенно прогнозировать будущие продажи.