示例#1
0
print('***********')
#DODAVANJE X i Y
x = iris.data
y = iris.target.reshape(-1, 1) #column vector
#y = iris.target.reshape(1,-1) #row vector
print(x.shape, y.shape)
print('***********')
#TRAIN TEST
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42, stratify=y)
print(x_train.shape, y_train.shape)
print('***********')
print(x_test.shape, y_test.shape)
print('***********')
#FITOVANJE
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5, p=2)
knn.fit(x_train, y_train.ravel())
#PRIKAZ REZULTATA
list_res = []
for p in [1, 2]:
    knn.p = p
    
    for k in range(1, 10, 2):
        knn.n_neighbors = k
        y_pred = knn.predict(x_test)
        acc = accuracy_score(y_test, y_pred)*100
        list_res.append([k, 'l1_distance' if p == 1 else 'l2_distance', acc])
        
df1 = pd.DataFrame(list_res, columns=['k', 'dist. func.', 'accuracy'])
print(df1)
print('***********')
                               plot_learning_curve=False)

    # Compare different leaf sizes
    clfs_leaf_size = dict()
    for leaf_size in range(5, 71, 10):
        clf = copy.deepcopy(base)
        clf.leaf_size = leaf_size
        clfs_leaf_size['{}-leaf_size'.format(leaf_size)] = clf

    compare_models_all_metrics(clfs_leaf_size,
                               x_cr,
                               y_cr,
                               train_sizes=train_sizes,
                               title_prefix="Credit Fraud",
                               plot_learning_curve=False)

    # Compare different p values
    clfs_p = dict()
    for p in range(2, 35, 5):
        clf = copy.deepcopy(base)
        clf.p = p
        clfs_p['{}-p'.format(p)] = clf

    compare_models_all_metrics(clfs_p,
                               x_cr,
                               y_cr,
                               train_sizes=train_sizes,
                               title_prefix="Credit Fraud",
                               plot_learning_curve=False)
    print("Booty - Done")