房价预测数据集 (KAGGLE)

您所在的位置:网站首页 模拟和预测的区别在于 房价预测数据集 (KAGGLE)

房价预测数据集 (KAGGLE)

2024-01-09 06:21| 来源: 网络整理| 查看: 265

文章目录 引入1 库引入2 数据处理完整代码

引入

  KAGGLE房价预测数据集分为训练集和测试集。两个数据集都包括每栋房子的特征,如街道类型、建造年份、房价类型等特征。特征值有连续的数字、离散的标签、缺失值 (na)等。   训练集与测试集的区别在于:只有训练集包括了房子的价格,即标签。   数据集的下载地址 (需要注册):   https://www.kaggle.com/c/house-prices-advanced-regression-techniques   原始数据以及处理好数据:   https://gitee.com/inkiinki/data20201205/blob/master/Data20201205/kaggle_house_price.rar   数据展示: 在这里插入图片描述

1 库引入 import numpy as np import pandas as pd 2 数据处理 def load_data(para_train_path, para_test_path, is_save=False): """ Load datasets. """ temp_train_data = pd.read_csv(para_train_path) temp_test_data = pd.read_csv(para_test_path) # 连接训练集和测试集的所有样本 # 第一列是序号,训练集的最后一列是标签 temp_all_features = pd.concat((temp_train_data.iloc[:, 1:-1], temp_test_data.iloc[:, 1:])) # 获取数值型数据的索引 temp_numeric_features_idx = temp_all_features.dtypes[temp_all_features.dtypes != 'object'].index # 标准化数据 temp_all_features[temp_numeric_features_idx] = temp_all_features[temp_numeric_features_idx].apply( lambda x: (x - x.mean()) / x.std()) # 标准化后,可以使用0来代替缺失值 temp_all_features = temp_all_features.fillna(0) # 离散值处理: # 例如某特征有两个不同的离散值,则该属性将被处理为二维:0 1 或者 1 0 # 三中不同的离散值时,则对于 0 0 1、 0 1 0 以及 1 0 0,以此类推 temp_all_features = pd.get_dummies(temp_all_features, dummy_na=True) # 数据划分 temp_num_train = len(temp_train_data) ret_train_data = np.array(temp_all_features[:temp_num_train].values, dtype=np.float) ret_test_data = np.array(temp_all_features[temp_num_train:].values, dtype=np.float) ret_train_label = temp_train_data.values[:, -1] # 文件保存 if is_save: temp_save_train_data = np.zeros((temp_num_train, len(ret_train_data[0]) + 1), dtype=float) temp_save_train_data[:, :-1] = ret_train_data temp_save_train_data[:, -1] = np.mat(ret_train_label) pd.DataFrame.to_csv(pd.DataFrame(temp_save_train_data), default_path + 'house_price_train.csv', index=False, header=False, float_format='%.6f') pd.DataFrame.to_csv(pd.DataFrame(ret_test_data), default_path + 'house_price_test.csv', index=False, header=False, float_format='%.6f') return ret_train_data, ret_train_label, ret_test_data if __name__ == '__main__': default_path = '../Data/' train_path = default_path + 'train.csv' test_path = default_path + 'test.csv' load_data(train_path, test_path, True) 完整代码 """ @author: Inki @contact: [email protected] @version: Created in 2020 1209, last modified in 2020 1209. """ import numpy as np import pandas as pd def load_data(para_train_path, para_test_path, is_save=False): """ Load datasets. """ temp_train_data = pd.read_csv(para_train_path) temp_test_data = pd.read_csv(para_test_path) # 连接训练集和测试集的所有样本 # 第一列是序号,训练集的最后一列是标签 temp_all_features = pd.concat((temp_train_data.iloc[:, 1:-1], temp_test_data.iloc[:, 1:])) # 获取数值型数据的索引 temp_numeric_features_idx = temp_all_features.dtypes[temp_all_features.dtypes != 'object'].index # 标准化数据 temp_all_features[temp_numeric_features_idx] = temp_all_features[temp_numeric_features_idx].apply( lambda x: (x - x.mean()) / x.std()) # 标准化后,可以使用0来代替缺失值 temp_all_features = temp_all_features.fillna(0) # 离散值处理: # 例如某特征有两个不同的离散值,则该属性将被处理为二维:0 1 或者 1 0 # 三中不同的离散值时,则对于 0 0 1、 0 1 0 以及 1 0 0,以此类推 temp_all_features = pd.get_dummies(temp_all_features, dummy_na=True) # 数据划分 temp_num_train = len(temp_train_data) ret_train_data = np.array(temp_all_features[:temp_num_train].values, dtype=np.float) ret_test_data = np.array(temp_all_features[temp_num_train:].values, dtype=np.float) ret_train_label = temp_train_data.values[:, -1] # 文件保存 if is_save: temp_save_train_data = np.zeros((temp_num_train, len(ret_train_data[0]) + 1), dtype=float) temp_save_train_data[:, :-1] = ret_train_data temp_save_train_data[:, -1] = np.mat(ret_train_label) pd.DataFrame.to_csv(pd.DataFrame(temp_save_train_data), default_path + 'house_price_train.csv', index=False, header=False, float_format='%.6f') pd.DataFrame.to_csv(pd.DataFrame(ret_test_data), default_path + 'house_price_test.csv', index=False, header=False, float_format='%.6f') return ret_train_data, ret_train_label, ret_test_data if __name__ == '__main__': default_path = '../Data/' train_path = default_path + 'train.csv' test_path = default_path + 'test.csv' load_data(train_path, test_path, True)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3