Python数据分析与机器学习实战笔记(5) - K近邻算法

本文详细介绍了Python中K近邻(KNN)算法,从数据读取开始,阐述了KNN的基本原理,包括欧式距离的计算。讨论了模型评估,如训练集与测试集的划分,均方根误差的使用,并探讨了数据标准化的重要性。最后,通过sklearn库实现了多变量的KNN模型。
摘要由CSDN通过智能技术生成

K 近邻算法

1. K近邻算法概述

1.1读取数据

import pandas as pd
#选择部分列
features = ['accommodates','bedrooms','bathrooms','beds','price','minimum_nights','maximum_nights','number_of_reviews']

dc_listings = pd.read_csv('listings.csv')

dc_listings = dc_listings[features]

print(dc_listings.shape)

dc_listings.head()

数据特征:

accommodates: 可以容纳的旅客
bedrooms: 卧室的数量
bathrooms: 厕所的数量
beds: 床的数量
price: 每晚的费用
minimum_nights: 客人最少租了几天
maximum_nights: 客人最多租了几天
number_of_reviews: 评论的数量

1.2 K nearest Neighbor 算法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Alt

1.3(欧式)距离的定义

Alt
其中Q1到Qn是一条数据的所有特征信息,P1到Pn是另一条数据的所有特征信息

import numpy as np
#假设我们的房子有3个房间
our_acc_value = 3

dc_listings['distance'] = np.abs(dc_listings.accommodates - our_acc_value)
dc_listings.distance.value_counts().sort_index()
#sample操作可以得到洗牌后的数据
c_listings = dc_listings.sample(frac=1,random_state=0)
dc_listings = dc_listings.sort_values(by='distance')
dc_listings.price.head()
dc_listings['price'] = dc_listings.price.str.replace("\$|,",'').astype(float)

mean_price = dc_listings
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值