Advertisement
nnt14920

Untitled

Oct 18th, 2024
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. import numpy as np
  2. import pandas as pd
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.linear_model import LinearRegression
  5.  
  6. # Sample dataset (series and next numbers)
  7. data = {
  8. 'series': [
  9. [1, 2, 3],
  10. [2, 4, 6],
  11. [3, 6, 9],
  12. [5, 10, 15],
  13. [2, 4, 8],
  14. [1, 1, 2, 3],
  15. # Add more series
  16. ],
  17. 'next': [4, 8, 12, 20, 16, 5] # corresponding next numbers
  18. }
  19.  
  20. # Preparing the dataset
  21. X = []
  22. y = []
  23.  
  24. for entry in data['series']:
  25. # Using the last 3 numbers as features
  26. if len(entry) >= 3:
  27. X.append(entry[-3:]) # last three numbers
  28. y.append(data['next'][data['series'].index(entry)]) # corresponding next number
  29.  
  30. X = np.array(X)
  31. y = np.array(y)
  32.  
  33. # Split the dataset
  34. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  35.  
  36. # Train the model
  37. model = LinearRegression()
  38. model.fit(X_train, y_train)
  39.  
  40. # Predict the next number
  41. def predict_next_number(series):
  42. if len(series) < 3:
  43. raise ValueError("Series must have at least 3 numbers")
  44. series_input = np.array(series[-3:]).reshape(1, -1) # reshape for a single prediction
  45. return model.predict(series_input)[0]
  46.  
  47. # Example usage
  48. series_to_predict = [5, 10, 15]
  49. next_number = predict_next_number(series_to_predict)
  50. print(f"The next number in the series {series_to_predict} is: {next_number:.2f}")
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement