-
Notifications
You must be signed in to change notification settings - Fork 0
/
Clasificacion_knn.py
55 lines (39 loc) · 1.27 KB
/
Clasificacion_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
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
import pandas as pd
from statistics import mode
from Fruta import Fruta
from base_datos import Base_Datos
def Knn( ka , base , fruta = Fruta()):
"""
Recibe:
- un K
- una lista que posee los clusters o grupos de clasificacion
- el punto que se queire clasificar
Entrega:
- El resultado del equipo de eprtenencia del punto
"""
"""
Armar un DataFrame incluyendo la distancia a cada Fruta
-Ordenar el Data_Frame de menos distancia a mas distnacia
"""
distancia = float()
q_azul = int()
q_rojo = int()
datos_puntos = list()
df_knn = base.Get_df_knn(fruta)
df_knn.sort_values( by= 'DISTANCIA', inplace = True, ascending = True )
df_knn.reset_index( inplace= True )
# print(df_puntos)
frutas_cercanas = list()
for i in range( 0, ka ):
tipo = df_knn.at[ i , 'NOMBRE' ]
frutas_cercanas.append(tipo)
if tipo == 'ROJO':
q_rojo += 1
if tipo == 'AZUL':
q_azul += 1
# print(frutas_cercanas)
# print('El punto mas frecuente es: ',Mas_Frecuente(frutas_cercanas))
# print('Azul: ',q_azul)
# print('Rojo: ',q_rojo)
Mas_Frecuente = mode(frutas_cercanas)
return Mas_Frecuente