Keras 多输入和混合数据

一、简介

这一节将学习如何定义能够接受多个输入的Keras架构,包括数字,分类和图像数据。 然后,我们将在此混合数据上训练单个端到端网络。

二、从视觉和文本特征估算房价

论文地址:House price estimation from visual and textual features

数据集下载:Dataset

大多数现有的自动房价估算系统仅依赖于一些文本数据,例如其邻近区域和房间数量。最终价格由访问房屋并在视觉上评估房屋的人员估算。在此论文中,他们建议从房屋照片中提取视觉特征,并将它们与房屋的文本信息相结合。这些组合特征被馈送到完全连接的多层神经网络(NN),该网络将房价估算为单一输出。为了训练和评估网络,收集了第一个房屋数据集,它结合了图像和文本属性。该数据集由来自美国加利福尼亚州的535个样本房组成。实验表明,与仅文本特征相比,添加视觉特征使R值增加了3倍,并将均方误差(MSE)降低了一个数量级。此外,在对仅有文本功能的房屋数据集进行培训时,提出的NN仍然优于现有的模型公布结果。这篇论文就是将图像特征和文本特征组合起来,作为网络的输入以提高预测的准确度。

文中采用的方法如图所示:

提取图像的SURF特征,将文本特征与之混合,经过归一化处理,最终通过SVR或者NN模型进行预测。

文中的提到的两种模型好坏的评估:

1、均方差损失

均方误差是衡量估计相对于实际数据的接近程度的度量。它测量估计值相对于实际值的误差偏差的平方的平均值。公式如下:

均方差越小,代表模型的可靠度越高。

2、确定系数

确定系数是预测模型相对于实际模型的接近程度的度量。公式如下:

SSE是误差平方和,SST是平方和的总和。确定系数的计算如下:

确定系数值越大,表示模型预测的准确性越高。

三、基于CNN与MLP实现数据的混合与多输入

数据准备:

# import the necessary packages
from sklearn.preprocessing import LabelBinarizer
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
import numpy as np
import glob
import cv2
import os

def load_house_attributes(inputPath):
	# initialize the list of column names in the CSV file and then
	# load it using Pandas
	cols = ["bedrooms", "bathrooms", "area", "zipcode", "price"]
	df = pd.read_csv(inputPath, sep=" ", header=None, names=cols)

	# determine (1) the unique zip codes and (2) the number of data
	# points with each zip
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Keras是一个高层神经网络API,可以方便地构建和训练深度学习模型。Keras可以处理多输入混合数据的回归模型。 多输入回归模型是指在模型中同时输入多个特征,每个特征都有其自己的输入层。例如,我们可以构建一个模型来预测房屋价格,其中输入层可以包括房屋的面积、房间数量和地理位置等特征。每个特征都会有自己的输入层,然后将它们连接到模型的后面进行进一步的处理和预测。 使用Keras构建多输入回归模型非常简单。首先我们需要创建多个输入层,每个层对应一个特征。然后我们可以将这些输入层连接到其他层,如全连接层或卷积层。最后,我们可以将模型编译并训练。 混合数据是指输入数据中同时包含数值特征和分类特征。例如,在房屋价格预测的例子中,数值特征可以是房屋的面积和房间数量,而分类特征可以是地理位置。在混合数据回归模型中,我们需要对分类特征进行编码,将其转换为数值输入Keras提供了多种编码分类特征的方式,如独热编码和嵌入层。独热编码会将每个分类特征转换成一个二进制数组,其中每个元素代表一个可能的取值。嵌入层则是将分类特征映射为一个低维连续向量表示。 在Keras中,我们可以创建多个输入层来处理不同类型的特征,然后将它们连接到其他层进行进一步的处理。对于分类特征,我们可以使用嵌入层进行编码。最后,我们将所有的层连接到模型的输出层,并进行模型的编译和训练。 总的来说,Keras提供了多输入混合数据回归模型的支持。通过构建多个输入层和使用嵌入层对分类特征进行编码,我们可以很方便地构建和训练这类模型。在实际应用中,我们可以根据具体的任务和数据特点选择合适的模型结构和编码方式来达到较好的回归效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值