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))
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))
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))