Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import pandas as pd
- from sklearn.model_selection import train_test_split
- from sklearn.linear_model import LinearRegression
- # Sample dataset (series and next numbers)
- data = {
- 'series': [
- [1, 2, 3],
- [2, 4, 6],
- [3, 6, 9],
- [5, 10, 15],
- [2, 4, 8],
- [1, 1, 2, 3],
- # Add more series
- ],
- 'next': [4, 8, 12, 20, 16, 5] # corresponding next numbers
- }
- # Preparing the dataset
- X = []
- y = []
- for entry in data['series']:
- # Using the last 3 numbers as features
- if len(entry) >= 3:
- X.append(entry[-3:]) # last three numbers
- y.append(data['next'][data['series'].index(entry)]) # corresponding next number
- X = np.array(X)
- y = np.array(y)
- # Split the dataset
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
- # Train the model
- model = LinearRegression()
- model.fit(X_train, y_train)
- # Predict the next number
- def predict_next_number(series):
- if len(series) < 3:
- raise ValueError("Series must have at least 3 numbers")
- series_input = np.array(series[-3:]).reshape(1, -1) # reshape for a single prediction
- return model.predict(series_input)[0]
- # Example usage
- series_to_predict = [5, 10, 15]
- next_number = predict_next_number(series_to_predict)
- print(f"The next number in the series {series_to_predict} is: {next_number:.2f}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement