【Python机器学习】KNN分类算法

您所在的位置:网站首页 n°1红酒 【Python机器学习】KNN分类算法

【Python机器学习】KNN分类算法

2023-10-24 15:47| 来源: 网络整理| 查看: 265

构造函数 KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=1, **kwargs)

n_neighbors: 默认值为5,表示查询k个最近邻的数目 algorithm: {‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’},指定用于计算最近邻的算法,auto表示试图采用最适合的算法计算最近邻 leaf_size: 传递给‘ball_tree’或‘kd_tree’的叶子大小 metric: 用于树的距离度量。默认’minkowski与P = 2(即欧氏度量) n_jobs: 并行工作的数量,如果设为-1,则作业的数量被设置为CPU内核的数量

fit函数训练模型

fit函数的参数传入训练输入数据和输出数据

score函数计算精度

参数与fit函数参数相同

predict函数进行预测

参数传入测试集数据

实例:对iris数据集构建KNN模型并预测 #K邻近算法 from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors = 5) knn.fit(X_train,y_train) X_new=np.array([[5,2.9,1,0.2]]) print("X_new.shape:{}".format(X_new.shape)) prediction = knn.predict(X_new) #print("Prediction:{}".format(prediction)) print("Prediction target name:{}".format(iris_datasets['target_names'][prediction])) #评估模型 y_pred=knn.predict(X_test) print("Test set predictions:\n {}".format(y_pred)) #查看预测精度 print("Test score: {:.2f}".format(np.mean(y_pred == y_test))) print("Test set score: {:.2f}".format(knn.score(X_test,y_test)))

运行结果:

X_new.shape:(1, 4) Prediction target name:['setosa'] Test set predictions: [2 1 0 2 0 2 0 1 1 1 2 1 1 1 1 0 1 1 0 0 2 1 0 0 2 0 0 1 1 0 2 1 0 2 2 1 0 2] Test score: 0.97 Test set score: 0.97


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3