-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathknn_simdata.py
More file actions
67 lines (48 loc) · 1.8 KB
/
Copy pathknn_simdata.py
File metadata and controls
67 lines (48 loc) · 1.8 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# -*- coding: utf-8 -*-
"""KNN-SIMDATA
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/1ZkeTKSgbRScJY4upGmW7jtJjiw5IF_QW
# KNN WITH SIMULATED DATA
# KNN COM DADOS SIMULADOS
"""
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import pandas as pd
data = {
'signal_strength': [2.5, 1.0, 4.8, 0.8, 3.2, 1.5, 3.5, 0.5, 2.0, 1.2, 2.8, 4.2, 3.0],
'interference': [0.5, 2.5, 1.0, 3.5, 1.8, 2.8, 1.2, 4.0, 0.8, 2.0, 3.0, 0.5, 1.5],
'received': [1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1]
}
df = pd.DataFrame(data)
df.head(5)
data_pred = {
'signal_strength': [1.0, 3.0, 0.8, 4.5, 2.2],
'interference': [2.0, 0.5, 4.0, 1.2, 3.5]
}
df_pred = pd.DataFrame(data_pred)
df_pred.head(5)
ax = plt.subplot()
colors = ['red' if category == 0 else 'green' for category in df['received']]
ax.scatter(df['signal_strength'], df['interference'], c=colors)
plt.show()
ax = plt.subplot()
colors = ['red' if category == 0 else 'green' for category in df['received']]
ax.scatter(df['signal_strength'], df['interference'], c=colors)
ax.scatter(df_pred['signal_strength'], df_pred['interference'], c='blue', marker='s')
plt.show()
x = df[['signal_strength', 'interference']]
y = df['received']
x_pred = df_pred[['signal_strength', 'interference']]
classifier0 = KNeighborsClassifier(n_neighbors=3)
classifier0.fit(x, y)
y_pred0 = classifier0.predict(x_pred)
ax = plt.subplot()
colors = ['red' if category == 0 else 'green' for category in df['received']]
ax.scatter(df['signal_strength'], df['interference'], c=colors)
ax.scatter(df_pred['signal_strength'], df_pred['interference'], c=y_pred0, marker='s')
plt.show()