Esempio n. 1
0
def investigate_knn(iris_data, sel_cols, k_val):
    """
        不同的K值对模型的影响
    """
    X = iris_data[sel_cols].values
    y = iris_data['Label'].values

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, random_state=10)
    knn_model = KNeighborsClassifier(n_neighbors=k_val)
    knn_model.fit(X_train, y_train)
    accuracy = knn_model.score(X_test, y_test)
    print('k={},accuracy={:.2f}%'.format(k_val, accuracy * 100))

    ai_utils.plot_knn_boundary(knn_model, X_test, y_test,
                               'Sepal Length vs Sepal Width, k={}'.format(k_val),
                               save_fig='sepal_k={}.png'.format(k_val))
Esempio n. 2
0
def investigate_pet(iris_data, k_val):
    pet_feat_col = ['PetalLengthCm', 'PetalWidthCm']
    A = iris_data[pet_feat_col].values
    b = iris_data['Label'].values

    A_train, A_test, b_train, b_test = train_test_split(A,
                                                        b,
                                                        test_size=1 / 3,
                                                        random_state=10)
    knn_model_pet = KNeighborsClassifier()
    knn_model_pet.fit(A_train, b_train)
    accuracy_pet = knn_model_pet.score(A_test, b_test)
    print('K: {} - Petal - Accuracy: {}'.format(k_val, accuracy_pet))
    ai_utils.plot_knn_boundary(
        knn_model_pet,
        A_test,
        b_test,
        'Petal Length vs Petal Width, k={}'.format(k_val),
        save_fig='petal_k={}.png'.format(k_val))
Esempio n. 3
0
def investigate(iris_data, k_val, sep_feat_col):
    X = iris_data[sep_feat_col].values
    y = iris_data['Label'].values
    X_train, X_test, y_train, y_test = train_test_split(X,
                                                        y,
                                                        test_size=1 / 3,
                                                        random_state=10)

    knn_model = KNeighborsClassifier(n_neighbors=k_val)
    knn_model.fit(X_train, y_train)
    accuracy = knn_model.score(X_test, y_test)
    print('K: {} - Sepal - Accuracy: {}'.format(k_val, accuracy))

    ai_utils.plot_knn_boundary(
        knn_model,
        X_test,
        y_test,
        'Sepal Length vs Sepal Width, k={}'.format(k_val),
        save_fig='sepal_k={}.png'.format(k_val))
def investigate_knn(iris_data, sel_cols, k_val):
    """
       the different k values influence on model
    """
    X = iris_data[sel_cols].values
    y = iris_data['label'].values

    X_train, X_test, y_train, y_test = train_test_split(X,
                                                        y,
                                                        test_size=1 / 3,
                                                        random_state=10)

    knn_model = KNeighborsClassifier(n_neighbors=k_val)

    knn_model.fit(X_train, y_train)
    acc = knn_model.score(X_test, y_test)
    print('k={}, accuracy={:.2f}%'.format(k_val, acc * 100))
    plot_knn_boundary(knn_model,
                      X_test,
                      y_test,
                      'PetalLengthCm vs PetalWidthCm, k={}'.format(k_val),
                      save_fig='Petal_k={}.png'.format(k_val))