機器學習-KNN分類演算法Iris例項
阿新 • • 發佈:2019-01-30
概念
python知識點
KNN例項
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 5 09:55:02 2016
@author: TBKKEN
"""
import numpy
from sklearn import datasets
#引入資料集
#https://zh.wikipedia.org/wiki/%E5%AE%89%E5%BE%B7%E6%A3%AE%E9%B8%A2%E5%B0%BE%E8%8A%B1%E5%8D%89%E6%95%B0%E6%8D%AE%E9%9B%86
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]])