def load():
    import numpy as np
    from scipy import sparse
    from os import path

    if not path.exists('data/ml-100k/u.data'):
        raise IOError("Data has not been downloaded.\nTry the following:\n\n\tcd data\n\t./download.sh")

    # The input is in the form of a CSC sparse matrix, so it's a natural fit to
    # load the data, but we then convert to a more traditional array before
    # returning
    data = np.loadtxt('data/ml-100k/u.data')
    ij = data[:, :2]
    ij -= 1  # original data is in 1-based system
    values = data[:, 2]
    reviews = sparse.csc_matrix((values, ij.T)).astype(float)
    return reviews.toarray()
A start message must have an C{ACTION_STATUS_FIELD} with the value
dataset/ETHPy150Open luispedro/BuildingMachineLearningSystemsWithPython/ch08/load_ml100k.py/load--crossover with--dataset/ETHPy150Open ClusterHQ/eliot/eliot/tests/test_action.py/WrittenActionTests.test_invalid_start_message_wrong_status