Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn import neighbors
- import pandas as pd
- import sys
- import os
- data = pd.read_csv(
- "C:/Users/Piotr/Desktop/dane.csv",
- sep=';',
- usecols=['X', 'Y'],
- dtype={"X": np.float64, "Y": np.float64}
- )
- X = data["X"].tolist()
- Y = data["Y"].tolist()
- test=[]
- test2=[]
- for elem in X:
- tmp=[]
- tmp.append(elem)
- test.append(tmp)
- for elem in Y:
- tmp=[]
- tmp.append(elem)
- test2.append(tmp)
- X = test
- y = test2
- T = np.linspace(1900, 2020, 1000)[:, np.newaxis]
- n_neighbors = 5
- plt.figure(figsize=(20,20))
- knn = neighbors.KNeighborsRegressor(n_neighbors, weights='uniform')
- y_ = knn.fit(X, y).predict(T)
- plt.subplot(4, 1, 1)
- plt.scatter(X, y, color='darkorange', label='data')
- plt.plot(T, y_, color='navy', label='prediction')
- plt.axis([1899, 2018, -0.7, 1.4])
- plt.legend(prop={'size': 30})
- plt.title("KNeighborsRegressor (k = %i, weights = '%s')" % (n_neighbors, weights), fontsize=30)
- knn = neighbors.KNeighborsRegressor(n_neighbors, weights='distance')
- y_ = knn.fit(X, y).predict(T)
- plt.subplot(4, 1, 2)
- plt.scatter(X, y, color='darkorange', label='data')
- plt.plot(T, y_, color='navy', label='prediction')
- plt.axis([1899, 2018, -0.7, 1.4])
- plt.legend(prop={'size': 30})
- plt.title("KNeighborsRegressor (k = %i, weights = '%s')" % (n_neighbors, weights), fontsize=30)
- T = np.linspace(2010, 2016, 1000)[:, np.newaxis]
- knn = neighbors.KNeighborsRegressor(n_neighbors, weights='uniform')
- y_ = knn.fit(X, y).predict(T)
- plt.subplot(4, 1, 3)
- plt.scatter(X, y, color='darkorange', label='data')
- plt.plot(T, y_, color='navy', label='prediction')
- plt.axis([2010, 2016, -0.7, 1.4])
- plt.legend(prop={'size': 30})
- plt.title("KNeighborsRegressor (k = %i, weights = '%s')" % (n_neighbors, weights), fontsize=30)
- T = np.linspace(2010, 2016, 1000)[:, np.newaxis]
- knn = neighbors.KNeighborsRegressor(n_neighbors, weights='distance')
- y_ = knn.fit(X, y).predict(T)
- plt.subplot(4, 1, 4)
- plt.scatter(X, y, color='darkorange', label='data')
- plt.plot(T, y_, color='navy', label='prediction')
- plt.axis([2010, 2016, -0.7, 1.4])
- plt.legend(prop={'size': 30})
- plt.title("KNeighborsRegressor (k = %i, weights = '%s')" % (n_neighbors, weights), fontsize=30)
- plt.tight_layout()
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement