Вы заинтересованы в прогнозировании будущих продаж для вашего бизнеса? 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. Благодаря возможностям машинного обучения теперь вы можете точно и уверенно прогнозировать будущие продажи.