任务:通过海伦收集的3个特征,如:
1.每年获得的飞行常客里程数
2.玩视频游戏所耗的时间百分比
3.每周消费的冰淇淋公升数
用K近邻的方法,预测海伦对未知对象的好感度
主要步骤都是按照机器学习实战这本书进行的,代码实现如下:
#!/usr/bin/python
# -*- encoding:utf-8 -*-
"""
@author : kelvin
@file : kNN
@time : 2017/3/24 14:54
@description :
"""
from numpy import *
import operator
def createDataSet():
group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]])
labels = ['A', 'A', 'B', 'B']
return group, labels
def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0] # 取得第一维度的大小,这里是训练样本的大小
# 欧氏距离
diffMat = tile(inX, (dataSetSize, 1)) - dataSet # tile(A,res)重复构建A构建数组,res给出次数,计算到每个训练样本的距离
sqDi