根据所给的数据，设计一个能够预测房价的回归模型。



数据：500个房屋的历史销售数据，每个数据包含20个特征。
基于给定的数据，可以使用不同的回归模型来预测房价，如线性回归、决策树回归、随机森林回归、神经网络回归等。在设计回归模型之前，可以对数据进行清洗、特征选择、特征工程等预处理步骤来提高模型的准确性和鲁棒性。同时，可以使用交叉验证和网格搜索等技术来优化模型的超参数选择。最终，可以使用测试数据集来评估模型的性能并进行误差分析。