#HousingTrain,HousingTest = InitializeTestSet.SplitTrainTest(housing, 0.20)

HousingTrain, HousingTest = InitializeTestSet.IncomeStratifiedSplitting(
    housing)

Visualization.LongLatPlot(
    housing, 'GeoPlot.pdf', False
)  #This is a coloured plot of the housing data in a longitude-latitude axes

CorrMatrix = housing.corr(
)  #This is the correlation matrix for the housing data set

Visualization.PlotCorrMatrix(housing, 'CorrelationMatrix.pdf', False)

Visualization.PlotMedianIncomeCorrMatrix(housing, 'MedianIncomeScatter.pdf',
                                         False)

#Create new attributes

housing["rooms_per_household"] = housing["total_rooms"] / housing["households"]
housing[
    "bedrooms_per_room"] = housing["total_bedrooms"] / housing["total_rooms"]
housing[
    "population_per_household"] = housing["population"] / housing["households"]

housing2 = HousingTrain.drop(
    "median_house_value",
    axis=1)  #Creates a copy of the data in "median housing value"
hosuing_labels = HousingTrain["median_house_value"].copy()

housing_tr = Preprocessing.CleanDataHoles(