代码如下

# -*- coding: utf-8 -*-

import numpy

from sklearn import datasets

#引入数据集

#https://zh.wikipedia.org/wiki/安德森鸢尾花卉数据集

iris = datasets.load_iris()

#查看数据的规模

iris.data.shape

#查看训练目标的总类

numpy.unique(iris.target)

#随机重排列

permutation = numpy.random.permutation(iris.target.size)

iris.data = iris.data[permutation]

iris.target = iris.target[permutation]

from sklearn import neighbors

#搭建KNN模型

knnModel = neighbors.KNeighborsClassifier(n_neighbors=3)

#训练模型

knnModel.fit(iris.data[:100], iris.target[:100])

from sklearn import cross_validation

#对模型进行评价

knnModel.score(iris.data[100:], iris.target[100:])

cross_validation.cross_val_score(

knnModel,

iris.data\[100:\],

iris.target\[100:\]

)

#使用模型进行预测

knnModel.predict([[0.1, 0.2, 0.3, 0.4]])

答案是:第一类。(0,1,2分别代表第一、二、三类)

results matching ""

    No results matching ""