资源简介

本资源是基于python实现的Boston Housing 数据集房价预测回归问题,调用了sklearn中5种回归算法对房价进行预测。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Created on Wed Dec 12 20:51:03 2018

@author: 28770
“““

#导入所需的函数模块
import numpy as np 
import pandas as pd 

import seaborn as sns
from matplotlib import pyplot as plt
sns.set(style=“whitegrid“)

import warnings
warnings.filterwarnings(“ignore“)
warnings.filterwarnings(“ignore“ category=DeprecationWarning) 

#载入原始数据
training = pd.read_csv(“C:\\Users\\28770\\DISKE\\working code\\train.csv“)
testing = pd.read_csv(“C:\\Users\\28770\\DISKE\\working code\\test.csv“)

#观察原始数据分布方式及其各属性相关性
training.head()
training.describe()
training.shape
training.keys()

correlations = training.corr()
correlations = correlations[“SalePrice“].sort_values(ascending=False)
features = correlations.index[1:6]
correlations

#检验训练集及测试集中的缺失项数据
training_null = pd.isnull(training).sum()
testing_null = pd.isnull(testing).sum()
null = pd.concat([training_null testing_null] axis=1 keys=[“Training“ “Testing“])

null_many = null[null.sum(axis=1) > 200]  #包含大量缺失项元素的属性
null_few = null[(null.sum(axis=1) > 0) & (null.sum(axis=1) < 200)]  #包含较少缺失项元素的属性
null_many

#NaN代表特定含义的属性集合
null_has_meaning = [“Alley“ “BsmtQual“ “BsmtCond“ “BsmtExposure“ “BsmtFinType1“ “BsmtFinType2“ “FireplaceQu“ “GarageType“ “GarageFinish“ “GarageQual“ “GarageCond“ “PoolQC“ “Fence“ “MiscFeature“]
for i in null_has_meaning:
    training[i].fillna(“None“ inplace=True)
    testing[i].fillna(“None“ inplace=True)
    
#按照中值填充数值属性的缺失项
from sklearn.preprocessing import Imputer
imputer = Imputer(strategy=“median“)

#再次检验训练集及测试集中的缺失项数据
training_null = pd.isnull(training).sum()
testing_null = pd.isnull(testing).sum()
null = pd.concat([training_null testing_null] axis=1 keys=[“Training“ “Testing“])

null_many = null[null.sum(axis=1) > 200]  #包含大量缺失项元素的属性
null_few = null[(null.sum(axis=1) > 0) & (null.sum(axis=1) < 200)]  #包含较少缺失项元素的属性
null_many

#舍弃掉包含较多缺失项的属性“LotFrontage“
training.drop(“LotFrontage“ axis=1 inplace=True)
testing.drop(“LotFrontage“ axis=1 inplace=True)

#对其余包含较多缺失项的属性进行相应的元素填充
null_few
training[“GarageYrBlt“].fillna(training[“GarageYrBlt“].median() inplace=True)
testing[“GarageYrBlt“].fillna(testing[“GarageYrBlt“].median() inplace=True)
training[“MasVnrArea“].fillna(training[“MasVnrArea“].median() inplace=True)
testing[“MasVnrArea“].fillna(testing[“MasVnrArea“].median() inplace=True)
training[“MasVnrType“].fillna(“None“ inplace=True)
testing[“MasVnrType“].fillna(“None“ inplace=True)

#区分训练集中的数值属性和类别属性
types_train = training.dtypes #属性的数据类型包括: int float object
num_train = types_train[(types_train == int) | (types_train == float)] #数值属性类型包括 int or float
cat_train = types_train[types_train == object] #类别属性类型包括 object

#对训练集进行相同的处理
types_test = testing.dtypes
num_test = types_test[(types_test == int) | (types_test == float)]
cat_test = types_test[types_test == object]

#将 num_train 和 num_test 转变为较易处理的列表形式
numerical_values_train = list(num_train.index)
numerical_val

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      13719  2018-12-12 21:17  house-prices-predicting\house-prices-predicting.py

     文件      31939  2018-12-10 21:43  house-prices-predicting\sample_submission.csv

     文件     451405  2018-12-10 21:43  house-prices-predicting\test.csv

     文件     460676  2018-12-10 21:43  house-prices-predicting\train.csv

     文件        102  2018-12-14 11:07  house-prices-predicting\文档说明.txt

     目录          0  2018-12-14 11:06  house-prices-predicting

----------- ---------  ---------- -----  ----

               957841                    6


评论

共有 条评论