KNN算法----识别、推荐

数据背景:
如何约会网站寻找适合自己的的约会对象?网站会推荐不同的人,但是推荐的人不总是恰当的。
所以将推荐的人标签为:不喜欢、魅力一般、极具魅力
三个特征:每年获得的飞行常客里程数、玩视频游戏所消耗时间百分比、每周消费的冰淇淋公升数
(这三个特征收据可能跟网站数据有关)从而构成整个数据为四维数据。

数据链接:
链接: https://pan.baidu.com/s/1drSoyB4wnhDzmJS-dbu-iw 提取码: 6tcj 复制这段内容后打开百度网盘手机App,操作更方便哦

kNN算法简介:
原理:监督学习+分类算法+距离+投票原则(具体步骤百度一下,很简单)
优缺点:精度高、对异常值不敏感,计算和空间复杂度高
使用数据范围:数值型和标称型

kNN算法主要模块:
1、数据解析模块(读数据,转格式)
2、数据预处理,标准化模块
3、分类器模块(也是预测模块,knn算法不需要进行模型训练)
4、分类器好坏判断
5、前期一些描述性分析模块(如果需要)

代码:
from numpy import *
import operator
from os import listdir
import pandas as pd
from sklearn.preprocessing import LabelEncoder #变量编码

模块1—数据读入
def file2matrix(filename):
file=open(filename)
arraylines=file.readlines() ##读取所有行
numberlines=len(arraylines)
returnMat=zeros((numberlines,3)) ##存放需要返回的数据
classlabelvector=[]
index=0
for line in arraylines:
line=line.strip(’\n’)
listfromline=line.split(’\t’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值