Untitled
unknown
plain_text
2 months ago
1.5 kB
2
Indexable
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_absolute_error, mean_squared_error # Generate synthetic historical sales data np.random.seed(42) days = np.arange(1, 366) # Simulating daily sales for a year sales = 50 + 10 * np.sin(2 * np.pi * days / 365) + np.random.normal(0, 5, len(days)) # Seasonal sales pattern # Create DataFrame data = pd.DataFrame({'Day': days, 'Sales': sales}) # Splitting the dataset into training and testing sets X = data[['Day']] y = data['Sales'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Train a simple linear regression model model = LinearRegression() model.fit(X_train, y_train) # Predict future sales y_pred = model.predict(X_test) # Evaluate the model mae = mean_absolute_error(y_test, y_pred) rmse = np.sqrt(mean_squared_error(y_test, y_pred)) print(f"Mean Absolute Error: {mae:.2f}") print(f"Root Mean Squared Error: {rmse:.2f}") # Plot actual vs predicted sales plt.figure(figsize=(10, 5)) plt.scatter(X_test, y_test, color='blue', label="Actual Sales") plt.scatter(X_test, y_pred, color='red', label="Predicted Sales") plt.xlabel("Day of the Year") plt.ylabel("Sales") plt.title("Inventory Demand Prediction using Linear Regression") plt.legend() plt.show()
Editor is loading...
Leave a Comment