机器学习实战训练营-第2章-k-近邻算法-2.2实例:使用k-近邻算法改进约会网站的配对效果

本文通过实例详细介绍了如何运用Python和k-近邻算法改善约会网站的配对效果。首先从文本文件解析数据,接着进行数据预处理,包括归一化数值以减小不同特征值范围的影响。然后,利用matplotlib创建散点图进行数据可视化分析。通过编写测试代码验证了分类器的效果,并提供了构建完整系统的预测函数,强调了获取可靠数据的重要性。
摘要由CSDN通过智能技术生成

2.2实例:使用k-近邻算法改进约会网站的配对效果

2.2.1准备数据:从文本文件中解析数据

将文本记录到转换Numpy的解析程序

def filezmatrix(filename):
	fr = open(filename)
	arrayOfLines = fr.readlines()
	numberOfLines = len(arrayOLines)
	returnMat = zeros((numberOfLines,3))
	classLabelVector = {}
	index = 0
	for line in arrayOlines
		line = line.strip()
		listFromLine = line.split('\t')
		returnMat[index,:] = listFromLine[0:3]
		classLabelVector.append(int(listFromLine[-1]))
		index += 1
	return returnMat,classLabelVector

从上面的代码可以看到,python处理文本文件非常容易。首先我们需要知道文本文件有多少行。打开文件,得到文件的行数。然后创建以零填充的矩阵Numpy。为简化处理,将该矩阵的另一维度设置为固定值3,可以根据实际需求增加相应的代码以适应变化的输入值。循环处理文件中的每行数据,首先使用函数line.strip()截取所有的回车字符,然后使用tab字符\t将上一步得到的整行数据分割成一个元素列表。接着,我们选取前三个元素,将他们存储到特征矩阵中。

注意:必须明确的通知解释器,列表中存储的元素为整型,否则python会将这些元素作为字符串处理。

2.2.2分析数据:使用matplotlib创建散点图


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值