Airnbn---分析每个城区名宿的分布及均价

本文通过使用Python的pandas、seaborn和matplotlib库,对北京租房数据进行了详细的统计分析,并通过图表形式展示了各区域房源分布情况。数据处理包括缺失值填充、列删除和数据类型检查。

listings.csv文件链接 https://pan.baidu.com/s/1WflMMb_tmsdLFOGA2LbKhQ  提取码:gmer 

import numpy as np         #数组操作
import pandas as pd        #数据结构操作
import seaborn as sns      #提供了一个高级界面来绘制有吸引力的统计图形
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   #利用过滤器来实现忽略告警
data=pd.read_csv("listings.csv")    #读取本地数据
data.head()                         #默认取前5
print(data)
print(data.head())
data.info()                      #获取信息查看未缺失值个数及数据类型等信息
data.isnull().sum()              #统计缺失值个数
d=data[data["name"].isnull()]    #找出name空的值
print(d.T)                       #转置
data.drop(["neighbourhood_group"],axis=1,inplace=True)     #删除neighbourhood_group列  axis=1表示列
data['reviews_per_month'].fillna(data['reviews_per_month'].mean(),inplace=True)       #缺失值填充
data.isnull().sum()                             
print(data.describe())
Des=data.describe().T
print(Des)

data.head()     运行结果

#房源分布
data_area=data['neighbourhood'].value_counts(ascending=True)         #value_counts查看不同值并统计个数
plt.rcParams['font.sans-serif']=['SimHei']                          #显示中文字符
plt.figure(figsize=(25,10),frameon=True,facecolor="white")          #背景 边框    
plt.pie(data_area,labels=data_area.index,autopct="%.2f%%",shadow=False)#扇形图
plt.title("北京租房房源分布",fontsize=20)                               #设置表名
plt.axis('equal')     #x轴y轴相等               
plt.legend()          #右上角说明
print(data_area)

 data_area=data['neighbourhood'].value_counts(ascending=True)   统计各区分布情况

 根据所求数据作图分析

### 名宿价格预测基础模型说明 在名宿价格预测(如Airbnb价格预测)的场景中,构建一个基础模型(baseline model)是理解数据和建立初步预测能力的重要步骤。以下是一个基于线性回归的简单基础模型介绍[^1]。 #### 数据预处理 在构建模型之前,需要对数据进行预处理。这包括但不限于: - **缺失值处理**:填充或删除缺失值。 - **特征编码**:将分类变量(如房间类型、地理位置等)转换为数值形式,例如使用独热编码(One-Hot Encoding)[^2]。 - **标准化/归一化**:对于连续型特征(如卧室数量、浴室数量等),可以通过标准化或归一化使它们具有相同的尺度。 #### 模型选择 对于名宿价格预测任务,可以选择简单的线性回归作为基础模型。线性回归假设目标变量(价格)与输入特征之间存在线性关系。其数学表达式如下: ```math y = w_0 + w_1x_1 + w_2x_2 + ... + w_nx_n ``` 其中,`y` 是目标变量(价格),`x_i` 是输入特征,`w_i` 是权重参数。 Scikit-learn 提供了实现线性回归的工具,可以快速搭建模型并进行训练和评估[^2]。 #### 代码示例 以下是使用 Scikit-learn 构建线性回归模型的代码示例: ```python from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import pandas as pd # 加载数据 data = pd.read_csv("airbnb_data.csv") # 特征选择 features = ['bedrooms', 'bathrooms', 'accommodates', 'review_scores_rating'] X = data[features] y = data['price'] # 数据分割 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 初始化模型 model = LinearRegression() # 训练模型 model.fit(X_train, y_train) # 预测 y_pred = model.predict(X_test) # 评估模型 mse = mean_squared_error(y_test, y_pred) print(f"Mean Squared Error: {mse}") ``` #### 模型评估 为了评估基础模型的表现,可以使用均方误差(MSE)、均方根误差(RMSE)或平均绝对误差(MAE)等指标。这些指标能够衡量模型预测值与真实值之间的差异程度。 此外,还可以通过绘制实际值与预测值的关系图来直观地评估模型性能。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值