m1 = nanmedian(train.LotFrontage)
m2 = nanmedian(train.MasVnrArea)
m3 = nanmedian(train.GarageYrBlt)
train.LotFrontage = fillmissing(train.LotFrontage,'constant',m1)
train.MasVnrArea = fillmissing(train.MasVnrArea,'constant',m2)
train.GarageYrBlt = fillmissing(train.GarageYrBlt,'constant',m3)
tf=cellfun(@(x)strcmp(x,'NA'),train.Alley);
train.Alley(tf)={NaN};
for k = 1:1460
if isnan(train.Alley{k})
train.Alley{k} = 'missing';
end
end
train.Alley
tf=cellfun(@(x)strcmp(x,'NA'),train.MasVnrType);
train.MasVnrType(tf)={NaN};
for k = 1:1460
if isnan(train.MasVnrType{k})
train.MasVnrType{k} = 'missing';
end
end
train.MasVnrType
tf=cellfun(@(x)strcmp(x,'NA'),train.BsmtQual);
train.BsmtQual(tf)={NaN};
for k = 1:1460
if isnan(train.BsmtQual{k})
train.BsmtQual{k} = 'missing';
end
end
train.BsmtQual
tf=cellfun(@(x)strcmp(x,'NA'),train.BsmtCond);
train.BsmtCond(tf)={NaN};
for k = 1:1460
if isnan(train.BsmtCond{k})
train.BsmtCond{k} = 'missing';
end
end
train.BsmtCond
tf=cellfun(@(x)strcmp(x,'NA'),train.BsmtExposure);
train.BsmtExposure(tf)={NaN};
for k = 1:1460
if isnan(train.BsmtExposure{k})
train.BsmtExposure{k} = 'missing';
end
end
train.BsmtExposure
tf=cellfun(@(x)strcmp(x,'NA'),train.BsmtFinType1);
train.BsmtFinType1(tf)={NaN};
for k = 1:1460
if isnan(train.BsmtFinType1{k})
train.BsmtFinType1{k} = 'missing';
end
end
train.BsmtFinType1
tf=cellfun(@(x)strcmp(x,'NA'),train.BsmtFinType2);
train.BsmtFinType2(tf)={NaN};
for k = 1:1460
if isnan(train.BsmtFinType2{k})
train.BsmtFinType2{k} = 'missing';
end
end
train.BsmtFinType2
tf=cellfun(@(x)strcmp(x,'NA'),train.FireplaceQu);
train.FireplaceQu(tf)={NaN};
for k = 1:1460
if isnan(train.FireplaceQu{k})
train.FireplaceQu{k} = 'missing';
end
end
train.FireplaceQu
tf=cellfun(@(x)strcmp(x,'NA'),train.GarageType);
train.GarageType(tf)={NaN};
for k = 1:1460
if isnan(train.GarageType{k})
train.GarageType{k} = 'missing';
end
end
train.GarageType
tf=cellfun(@(x)strcmp(x,'NA'),train.GarageFinish);
train.GarageFinish(tf)={NaN};
for k = 1:1460
if isnan(train.GarageFinish{k})
train.GarageFinish{k} = 'missing';
end
end
train.GarageFinish
tf=cellfun(@(x)strcmp(x,'NA'),train.GarageCond);
train.GarageCond(tf)={NaN};
for k = 1:1460
if isnan(train.GarageCond{k})
train.GarageCond{k} = 'missing';
end
end
train.GarageCond
tf=cellfun(@(x)strcmp(x,'NA'),train.PoolQC);
train.PoolQC(tf)={NaN};
for k = 1:1460
if isnan(train.PoolQC{k})
train.PoolQC{k} = 'missing';
end
end
train.PoolQC
tf=cellfun(@(x)strcmp(x,'NA'),train.Fence);
train.Fence(tf)={NaN};
for k = 1:1460
if isnan(train.Fence{k})
train.Fence{k} = 'missing';
end
end
train.Fence
tf=cellfun(@(x)strcmp(x,'NA'),train.MiscFeature);
train.MiscFeature(tf)={NaN};
for k = 1:1460
if isnan(train.MiscFeature{k})
train.MiscFeature{k} = 'missing';
end
end
train.MiscFeature
head(train,50)
train.MSZoning = onehotencode(categorical(train.MSZoning),8, 'double')
train.Street = onehotencode(categorical(train.Street), 2, 'double')
train.Alley = onehotencode(categorical(train.Alley), 3, 'double')
train.LotShape = onehotencode(categorical(train.LotShape), 4, 'double')
train.LandContour = onehotencode(categorical(train.LandContour), 3, 'double')
train.Utilities = onehotencode(categorical(train.Utilities), 4, 'double')
train.LotConfig = onehotencode(categorical(train.LotConfig), 5, 'double')
train.LandSlope = onehotencode(categorical(train.LandSlope), 3, 'double')
train.Neighborhood = onehotencode(categorical(train.Neighborhood), 25, 'double')
train.Condition1 = onehotencode(categorical(train.Condition1), 9, 'double')
train.Condition2 = onehotencode(categorical(train.Condition2), 9, 'double')
train.BldgType = onehotencode(categorical(train.BldgType), 5, 'double')
train.HouseStyle = onehotencode(categorical(train.HouseStyle), 8, 'double')
train.RoofStyle = onehotencode(categorical(train.RoofStyle), 6, 'double')
train.RoofMatl = onehotencode(categorical(train.RoofMatl), 8, 'double')
train.Exterior1st = onehotencode(categorical(train.Exterior1st), 17, 'double')
train.Exterior2nd = onehotencode(categorical(train.Exterior2nd), 17, 'double')
train.MasVnrType = onehotencode(categorical(train.MasVnrType), 5, 'double')
train.ExterQual = onehotencode(categorical(train.ExterQual), 5, 'double')
train.ExterCond = onehotencode(categorical(train.ExterCond), 5, 'double')
train.Foundation = onehotencode(categorical(train.Foundation), 6, 'double')
train.BsmtQual = onehotencode(categorical(train.BsmtQual), 6, 'double')
train.BsmtCond = onehotencode(categorical(train.BsmtCond), 6, 'double')
train.BsmtExposure = onehotencode(categorical(train.BsmtExposure), 5, 'double')
train.BsmtFinType1 = onehotencode(categorical(train.BsmtFinType1), 7, 'double')
train.BsmtFinType2 = onehotencode(categorical(train.BsmtFinType2), 7, 'double')
train.Heating = onehotencode(categorical(train.Heating), 6, 'double')
train.HeatingQC = onehotencode(categorical(train.HeatingQC), 5, 'double')
train.CentralAir = onehotencode(categorical(train.CentralAir), 2, 'double')
train.Electrical = onehotencode(categorical(train.Electrical), 5, 'double')
train.KitchenQual = onehotencode(categorical(train.KitchenQual), 5, 'double')
train.Functional = onehotencode(categorical(train.Functional), 5, 'double')
train.FireplaceQu = onehotencode(categorical(train.FireplaceQu), 6, 'double')
train.GarageFinish = onehotencode(categorical(train.GarageFinish), 4, 'double')
train.GarageQual = onehotencode(categorical(train.GarageQual), 6, 'double')
train.GarageCond = onehotencode(categorical(train.GarageCond), 6, 'double')
train.PavedDrive = onehotencode(categorical(train.PavedDrive), 3, 'double')
train.PoolQC = onehotencode(categorical(train.PoolQC), 5, 'double')
train.Fence = onehotencode(categorical(train.Fence), 5, 'double')
train.MiscFeature = onehotencode(categorical(train.MiscFeature), 6, 'double')
train.SaleType = onehotencode(categorical(train.SaleType), 10, 'double')
train.SaleCondition = onehotencode(categorical(train.SaleCondition), 6, 'double')
train.GarageType = onehotencode(categorical(train.GarageType), 7, 'double')
lm = fitlm(train,'SalePrice~YrSold+MoSold')