一、分析目的:
(1)明确数据集中每个属性的含义;
(2)选择合适的方法处理数据集中的缺失值;
(3)判断哪些属性需要规范化,选择合适的方法对这些属性进行数据规范化;
(4)判断哪些属性可以离散化,选择合适的方法对这些属性进行数据离散化;
(5)将数据集的前70%作为训练集,剩余的30%作为测试集(去掉包含缺失值的样本)。对训练集分别随机抽取10%,30%,50%和80%的样本作为训练子集,利用训练子集训练线性回归模型,然后在测试集上预测房价属性。以MSE作为评估指标,观察不同采样率下模型性能的变化;
(6)结合数据集的现实背景,思考能否优化以上步骤,使这些步骤更符合实际情况?
二、属性含义
导入数据集,打印相关信息和前五行,如下图所示:
从图中可以看出,该数据集共有十个属性,分别为longitude(经度), latitude(维度), housing_median_age(房子年龄中位数), total_rooms(总房间数), total_bedrooms(总卧室数), population(人口数), households(家庭数), median_income(收入中位数), median_house_value(房价中位数), ocean_proximity(海洋临近度)。
其中,前九个属性均为float64类型,而最后一个属性为str类型。前九个均为数值属性,最后一个为标称属性。只有total_bedrooms存在缺失值。使用.value_counts()打印ocean_proximity属性的所有取值统计,如下图所示: