fairlearn.datasets.fetch_boston#

fairlearn.datasets.fetch_boston(*, cache=True, data_home=None, as_frame=True, return_X_y=False, warn=True)[source]#

Load the boston housing dataset (regression).

Download it if necessary.

Samples total

506

Dimensionality

13

Features

real

Target

real 5. - 50.

Source:

  • OpenML [1]

  • Paper: Harrison and Rubinfeld [2]

The Boston house-price data of D. Harrison, and D.L. Rubinfeld [2].

Referenced in Belsley, Kuh & Welsch [3].

This dataset has known fairness issues [4]. There’s a “lower status of population” (LSTAT) parameter that you need to look out for and a column that is a derived from the proportion of people with a black skin color that live in a neighborhood (B) [5]. See the references at the bottom for more detailed information.

Here’s a table of all the variables in order:

CRIM

per capita crime rate by town

ZN

proportion of residential land zoned for lots over 25,000 sq.ft.

INDUS

proportion of non-retail business acres per town

CHAS

Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)

NOX

nitric oxides concentration (parts per 10 million)

RM

average number of rooms per dwelling

AGE

proportion of owner-occupied units built prior to 1940

DIS

weighted distances to five Boston employment centres

RAD

index of accessibility to radial highways

TAX

full-value property-tax rate per $10,000

PTRATIO

pupil-teacher ratio by town

B

1000(Bk - 0.63)^2 where Bk is the proportion of Black people by town

LSTAT

% lower status of the population

MEDV

Median value of owner-occupied homes in $1000’s

Read more in the User Guide.

New in version 0.5.0.

Parameters:
  • cache (bool, default=True) – Whether to cache downloaded datasets using joblib.

  • data_home (str, default=None) – Specify another download and cache folder for the datasets. By default, all fairlearn data is stored in ‘~/.fairlearn-data’ subfolders.

  • as_frame (bool, default=True) –

    If True, the data is a pandas DataFrame including columns with appropriate dtypes (numeric, string or categorical). The target is a pandas DataFrame or Series depending on the number of target_columns. The Bunch will contain a frame attribute with the target and the data. If return_X_y is True, then (data, target) will be pandas DataFrames or Series as describe above.

    Changed in version 0.9.0: Default value changed to True.

  • return_X_y (bool, default=False) – If True, returns (data.data, data.target) instead of a Bunch object.

  • warn (bool, default=True) – If True, it raises an extra warning to make users aware of the unfairness aspect of this dataset.

Returns:

  • dataset (Bunch) – Dictionary-like object, with the following attributes.

    datandarray, shape (506, 13)

    Each row corresponding to the 13 feature values in order. If as_frame is True, data is a pandas object.

    targetnumpy array of shape (506,)

    Each value corresponds to the average house value in units of 100,000. If as_frame is True, target is a pandas object.

    feature_nameslist of length 13

    Array of ordered feature names used in the dataset.

    DESCRstring

    Description of the Boston housing dataset.

    categoriesdict or None

    Maps each categorical feature name to a list of values, such that the value encoded as i is ith in the list. If as_frame is True, this is None.

    framepandas DataFrame

    Only present when as_frame is True. DataFrame with data and target.

  • (data, target) (tuple if return_X_y is True)

Notes

Our API largely follows the API of sklearn.datasets.fetch_openml(). This dataset consists of 506 samples and 13 features. It is notorious for the fairness issues related to the B column. There’s more information in the references.

References