计算机毕业设计Python深度学习房价预测 房价可视化 链家爬虫 房源爬虫 房源可视化 卷积神经网络 大数据毕业设计 机器学习 人工智能 AI

基于python一/二手房数据爬虫分析预测系统+可视化 +商品房数据+Flask框架(附源码)
项目介绍
技术栈:
python语言、Flask框架、MySQL数据库、Echarts可视化
sklearn机器学习 多元线性回归预测模型、requests爬虫框架 链家一手房
一手房数据商品房数据、分析可视化预测系统
基于Flask的一手房链家数据采集分析预测系统是一款利用Python的Flask框架,对链家网站上的一手房房源信息进行数据采集、分析和预测的应用系统。
数据采集:系统通过网络爬虫技术,从链家网站上获取一手房房源信息。这些信息包括楼盘名称、开发商、楼盘地址、户型、价格、面积、朝向、装修情况、楼盘特点等。在采集数据时,可以设置关键词、地区筛选、价格范围、楼盘类型等参数,以获取感兴趣的房源信息。

核心算法代码分享如下:

import pandas as pd
from sqlalchemy import create_engine
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import json
conn = create_engine('mysql+pymysql://root:root@localhost:3306/hourses_data?charset=utf8&autocommit=true')
transfer = LabelEncoder()

def getJSONFirst(item):
    try:
        return int(json.loads(item)[-1])
    except:
        return 0

def getData():
    df = pd.read_sql('select * from hourse_info',con=conn,index_col='id')
    X = df[['city','rooms_desc','area_range','hourseType','sale_status','price']]
    X['hourseType'] = X['hourseType'].replace('住宅',0) \
                                 .replace('别墅', 1)\
                                .replace('商业类', 2)\
                                .replace('商业', 3)\
                                .replace('酒店式公寓', 4)\
                                .replace('底商', 5)\
                                .replace('写字楼', 6)\
                                .replace('车库', 7)\
                                .replace('地下室', 7)\
                                .replace('工业厂房', 7)
    X['city'] = transfer.fit_transform(X['city'].values)
    X['rooms_desc'] = X['rooms_desc'].apply(getJSONFirst)
    X['area_range'] = X['area_range'].apply(getJSONFirst)
    X['price'] = X['price'].astype('int')
    return X

def model_train(data):
    # 数据集 测试集划分
    x_train,x_test,y_train,y_test =  train_test_split(data[['city','rooms_desc','area_range','hourseType','sale_status']],data['price'],test_size=0.25,random_state=1)
    # 创建一个线性回归对象
    linear2 = LinearRegression()

    # 多元线性回归 模型训练
    linear2.fit(x_train,y_train)

    return linear2

def pred(model,*args):
    city = transfer.transform([args[0]])[0]
    rooms_desc = args[1]
    area_range = args[2]
    hourseType = ['住宅','别墅','商业类','酒店式公寓','底商','写字楼','车库'].index(args[3])
    sale_status = args[4]

    predPrice = model.predict([
        [city,rooms_desc,area_range,hourseType,sale_status]
    ])
    return round(predPrice[0],1)



if __name__ == '__main__':
    model = model_train(getData())
    pred(model,'北京',5,150,'别墅',3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B站计算机毕业设计大学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值