Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. import pandas as pd
  2. from sklearn.model_selection import train_test_split
  3. from sklearn.linear_model import LinearRegression
  4. from sklearn.preprocessing import PolynomialFeatures
  5. import datetime as dt
  6.  
  7. # Importing the dataset
  8. data = pd.read_csv("https://raw.githubusercontent.com/iulianastroia/csv_data/master/final_dataframe.csv")
  9.  
  10. data['day'] = pd.to_datetime(data['day'], dayfirst=True)
  11. # sort dates by day
  12. data = data.sort_values(by=['day'])
  13. print("sorted days", data.day)
  14.  
  15. group_by_df = pd.DataFrame(
  16.     [name, group.mean().pm25] for name, group in data.groupby('day')
  17. )
  18. group_by_df.columns = ['day', 'pm25']
  19.  
  20. group_by_df['day'] = pd.to_datetime(group_by_df['day'])
  21. group_by_df['day'] = group_by_df['day'].map(dt.datetime.toordinal)
  22. print(group_by_df)
  23.  
  24. X = group_by_df['day'].values.reshape(-1, 1)
  25. y = group_by_df['pm25'].values.reshape(-1, 1)
  26. # # Splitting the dataset into training(70%) and test(30%)
  27. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
  28.                                                     random_state=0
  29.                                                     )
  30.  
  31. lin_reg = LinearRegression()
  32. lin_reg.fit(X_train, y_train)  # training the algorithm
  33.  
  34. # Fitting Polynomial Regression to the dataset
  35. poly_reg = PolynomialFeatures(degree=10)
  36. X_poly = poly_reg.fit_transform(X_train)
  37. print("x poly", X_poly)
  38. pol_reg = LinearRegression()
  39. pol_reg.fit(X_poly, y_train)
  40.  
  41. # print(group_by_df)
  42. group_by_df['day'] = group_by_df['day'].map(dt.datetime.fromordinal)
  43. print(group_by_df)
  44.  
  45.  
  46. print("REAL DATA:", group_by_df['pm25'])
  47. print("PREDICTED DATA:", pol_reg.predict(poly_reg.fit_transform(X)))
  48.  
  49. # Fitting Polynomial Regression to the dataset
  50. from sklearn.preprocessing import PolynomialFeatures
  51.  
  52. poly_reg = PolynomialFeatures(degree=4)
  53. X_poly = poly_reg.fit_transform(X)
  54. pol_reg = LinearRegression()
  55. pol_reg.fit(X_poly, y)
  56.  
  57. # Visualizing the Polymonial Regression results
  58. import matplotlib.pyplot as plt
  59.  
  60.  
  61. def viz_polymonial():
  62.     plt.plot(X, y, color='red',marker='o')
  63.     plt.plot(X, pol_reg.predict(poly_reg.fit_transform(X)), color='blue',marker='o')
  64.     plt.title('Polynomial Regression')
  65.     plt.xlabel('Day')
  66.     plt.ylabel('Pm2.5')
  67.     plt.show()
  68.     return
  69.  
  70. viz_polymonial()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement