-
Notifications
You must be signed in to change notification settings - Fork 0
/
knn.py
30 lines (22 loc) · 904 Bytes
/
knn.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from sklearn.neighbors import KNeighborsRegressor, NearestNeighbors
import pandas as pd
from sklearn import metrics
from Confuse import main
X = pd.read_csv('Data/Train/Train_Combine.csv', usecols=[
'T', 'TM', 'Tm', 'SLP', 'H', 'VV', 'V', 'VM'])
Y = pd.read_csv('Data/Train/Train_Combine.csv', usecols=['PM 2.5'])
X = X.values
Y = Y.values
X2 = pd.read_csv('Data/Test/Test_Combine.csv', usecols=[
'T', 'TM', 'Tm', 'SLP', 'H', 'VV', 'V', 'VM'])
Y2 = pd.read_csv('Data/Test/Test_Combine.csv', usecols=['PM 2.5'])
X2 = X2.values
Y2 = Y2.values
knn = KNeighborsRegressor(
n_neighbors=10, algorithm='auto', leaf_size=30, weights='uniform')
knn.fit(X, Y)
nn = NearestNeighbors(n_neighbors=10, algorithm='auto', leaf_size=30)
nn.fit(X, Y)
err = metrics.mean_absolute_error(Y2, knn.predict(X2)) * 100
print ("Mean Absolute Error: %f" % err)
main(Y2, knn.predict(X2))