Usa l'algoritmo dei K-vicini più vicini per classificare i punti dati.
Punti dati: [[1,2],[2,4],[2,3],[3,5],[3,1],[5,5],[5,3],[6,1],[6,2],[6,4]]
"""
Algoritmo per classificare i punti dati utilizzando i vicini più vicini K
"""

def knn(punti_dati, k):
    etichette = []

    for punto in punti_dati:
        distanze = []
        for altro_punto in punti_dati:
            if punto != altro_punto:
                distanze.append(((punto[0] - altro_punto[0]) ** 2 + (punto[1] - altro_punto[1]) ** 2) ** 0.5)
        #ordina le distanze
        distanze_ordinate = sorted(distanze)
        #trova i k-vicini più vicini
        k_vicini = distanze_ordinate[:k]
        #determina l'etichetta utilizzando il voto maggioritario
        etichette.append(voto_maggioritario(k_vicini))
        
    return etichette 

def voto_maggioritario(k_vicini):
    #codice per trovare il voto maggioritario
    pass 

if __name__ == '__main__':
    punti_dati = [[1,2],[2,4],[2,3],[3,5],[3,1],[5,5],[5,3],[6,1],[6,2],[6,4]]
    k = 3
    print(knn(punti_dati, k))