机器学习之k近邻算法——5、约会网站的配对开发流程

1、从文本中解析数据(特征数据和标签数据分离):file2matrix()

文本中的部分样本数据如下:



file2matrix()代码如下:



利用file2matrix()将特征值和标签值分离:

>>> import demo
>>> data,label=demo.file2matrix('D:\\datingTestSet.txt')


2、将特征数据归一化:autoNorm()

autoNorm()代码如下:



利用autoNorm()进行特征值归一化处理:

>>> import demo1
>>> normdata=demo1.autoNorm(data)
>>> normdata
array([[ 0.44832535,  0.39805139,  0.56233353],
       [ 0.15873259,  0.34195467,  0.98724416],
       [ 0.28542943,  0.06892523,  0.47449629],
       ..., 
       [ 0.29115949,  0.50910294,  0.51079493],
       [ 0.52711097,  0.43665451,  0.4290048 ],
       [ 0.47940793,  0.3768091 ,  0.78571804]])


3、将归一化的特征数据永久存储:pickle模块

利用Python的pickle模块存储归一化后的特征值data到本地硬盘空间中:

>>> import pickle as p
>>> data='D:\\data'
>>> f=open(data,'wb')
>>> p.dump(normdata,f)
>>> f.close()


4、基于kNN算法的分类器:classify0()



5、分类器算法的正确率测试:datingTest()

利用样本数据的10%作为测试数据,90%作为训练数据进入分类器,测试其正确率:


测试结果如下:

>>> import demo3
>>> demo3.datingTest()
The total error rate is: 0.040000

6、用户层输入交互:person()



测试结果:

>>> import demo4
>>> demo4.person()
玩游戏的时间:10000
飞行的时间:10
吃冰淇淋的公升数:0.5
You will like the person: smallDoses



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值