8_波士顿房价(93预测率)

  之前做过一期房价预测的机器学习,但当时不知道如何处理字符串数据,同时对数据预处理理解不深,导致最后不了了之。现在学习了哑变量以及数据清洗,再次做这个

题目时发现挺简单的,同时我也总结一套预测套路。

 

导入数据集

import pandas as pd
train=pd.read_csv('train.csv',index_col=0)
test=pd.read_csv('test.csv',index_col=0)
sub=pd.read_csv('sub.csv',index_col=0)
test['SalePrice']=sub['SalePrice']

首先导入三个数据集,index_col=0表示将数据集第一列作为索引,如果数据集自带索引可以使用此属性。测试集中的data和target是分开的,这里我们将测试集里特征和结果放在一个表里。

接下来查看缺失率

# %%
# Numeric features
train_number_tz = train.iloc[:,0:-1].dtypes[train.dtypes != "object"].index
# Categorical features
train_str_tz = train.iloc[:,0:-1].dtypes[train.iloc[:,0:-1].dtypes == "object"].index
# 这里的data只包含特征数据
miss = 100 * train.loc[:, train_number_tz].isnull().mean()
train_num_rank=miss[miss.values > 0].sort_values(ascending=False)
miss = 100 * train.loc[:, train_str_tz].isnull().mean()
train_str_rank=miss[miss.values > 0].sort_values(ascending=False)
# Numeric features
test_number_tz = test.iloc[:,0:-1].dtypes[test.dtypes != "object"].index
# Categorical features
test_str_tz = test.iloc[:,0:-1].dtypes[test.iloc[:,0:-1].dtypes == "object"].index
# 这里的test只包含特征数据
miss = 100 * test.loc[:, test_number_tz].isnull().mean()
test_num_rank=miss[miss.values > 0].sort_values(ascending=False)
miss = 100 * test.loc[:, test_str_tz].isnull().mean()
test_str_rank=miss[miss.values > 0].sort_values(ascending=False)

 

posted @ 2021-09-26 16:10  李点  阅读(30)  评论(0)    收藏  举报