Untitled - PYTHON 1.58 KB
                                
                                    import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 

iris = pd.read_csv('iris.data',header=None)

X = iris.iloc[:,:-1].values
Y = iris.iloc[:,-1].values

print(X.shape)

plt.boxplot(X)
plt.show()

def klasy_dla_somsiadow(ziom,somsiady,ilu,ile_klas=3):
    ilu_somsiadow = few_somsiady(ziom,somsiady,ilu)
    somsiad_klases = {"Iris-setosa":0,"Iris-versicolor":0,"Iris-verginica":0}
    for somsiad_id in ilu_somsiadow:
        somsiad_klases[Y[somsiad_id]] += 1 
    print(somsiad_klases)
    return max(somsiad_klases)
    
def few_somsiady(ziom,somsiady,ilu):
    kilku_somsiadow = []
    for _ in range(ilu):
       nowysomsiad, somsiaddistance = closest_somsiad(ziom,somsiady,kilku_somsiadow)  
       kilku_somsiadow.append(nowysomsiad)
    print(kilku_somsiadow)
    return kilku_somsiadow

def closest_somsiad(ziom,somsiady,current_somsiads = []):
    index = 0
    min_distance = policz_droge_do_najblizszego_skurwysyna_zlodzieja(ziom,somsiady[0:1][0])
    for idx,somsiad in enumerate(somsiady):
        temp_distance = policz_droge_do_najblizszego_skurwysyna_zlodzieja(ziom,somsiad)
        if temp_distance < min_distance and idx not in current_somsiads:
            index = idx
            min_distance = temp_distance
    return index,min_distance
    
def policz_droge_do_najblizszego_skurwysyna_zlodzieja(x1,x2):
    return sum((x-y) **2 for x,y in zip(x1,x2))

temp = [4.8, 3.1, 4.44, 0.9]

x = np.arange(1,10)
plt.plot(x,few_somsiady(temp,X,len(x)))
plt.show()
                                
                            

Paste Hosted With By Wklejamy.pl