文章目录
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 算法
1.3(欧式)距离的定义
其中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