Exemple #1
0
def test_mouseday_features_loader():
    # Checking load_mouseday_features returns a data frame of
    # the correct dimension
    mouseday_features1 = data.load_mouseday_features(["Food", "Water",
                                                      "Distance"])
    mouseday_features2 = data.load_mouseday_features(["Food", "Water"])
    mouseday_features3 = data.load_mouseday_features()
    assert mouseday_features1.shape == (1921, 36)
    assert mouseday_features2.shape == (1921, 25)
    assert mouseday_features3.shape == (1921, 102)
def test_mouseday_features_loader():
    # Checking load_mouseday_features returns a data frame of
    # the correct dimension
    mouseday_features1 = data.load_mouseday_features(["Food", "Water",
                                                      "Distance"])
    mouseday_features2 = data.load_mouseday_features(["Food", "Water"])
    mouseday_features3 = data.load_mouseday_features()
    assert mouseday_features1.shape == (1921, 36)
    assert mouseday_features2.shape == (1921, 25)
    assert mouseday_features3.shape == (1921, 102)
Exemple #3
0
def test_mouseday_load_input():
    with pytest.raises(ValueError) as excinfo:
        data.load_mouseday_features(["Food", "Water", "Distances"])
    fea_list = ["ASProbability", "ASNumbers", "ASDurations",
                "Food", "Water", "Distance",
                "ASFoodIntensity", "ASWaterIntensity", "MoveASIntensity"]
    fea_str = "{"
    for item in fea_list:
        fea_str += '"' + item + '", '
    fea_str = fea_str[:-2] + "}"
    expected1 = "Input value must be chosen from " + fea_str + "."
    assert excinfo.value.args[0] == expected1

    with pytest.raises(TypeError) as excinfo:
        data.load_mouseday_features(("Food", "Water", "Distances"))
    expected2 = "Input value must be a list."
    assert excinfo.value.args[0] == expected2
def test_mouseday_load_input():
    with pytest.raises(ValueError) as excinfo:
        data.load_mouseday_features(["Food", "Water", "Distances"])
    fea_list = ["ASProbability", "ASNumbers", "ASDurations",
                "Food", "Water", "Distance",
                "ASFoodIntensity", "ASWaterIntensity", "MoveASIntensity"]
    fea_str = "{"
    for item in fea_list:
        fea_str += '"' + item + '", '
    fea_str = fea_str[:-2] + "}"
    expected1 = "Input value must be chosen from " + fea_str + "."
    assert excinfo.value.args[0] == expected1

    with pytest.raises(TypeError) as excinfo:
        data.load_mouseday_features(("Food", "Water", "Distances"))
    expected2 = "Input value must be a list."
    assert excinfo.value.args[0] == expected2
def test_prep_data():
    # check prep_data() returns approriate lists for classification
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    assert train_y.shape == (1440, )
    assert train_x.shape == (1440, 99)
    assert test_y.shape == (481, )
    assert test_x.shape == (481, 99)
Exemple #6
0
def test_prep_data():
    # check prep_data() returns approriate lists for classification
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    assert train_y.shape == (1440, )
    assert train_x.shape == (1440, 99)
    assert test_y.shape == (481, )
    assert test_x.shape == (481, 99)
def test_fit_svm():
    # check svm() returns approriate data frame with
    # prediction labels and true labels
    # labels are integers from 0 to 15
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:200, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    result = classification.fit_svm(train_y, train_x, test_x, [1], [0.1])
    assert features.shape == (200, 99)
    assert result.shape == (50, 1)
    assert all(result.iloc[:, 0] >= 0) & all(result.iloc[:, 0] <= 15)
    assert all([i.is_integer() for i in result.iloc[:, 0]])
Exemple #8
0
def test_fit_svm():
    # check svm() returns approriate data frame with
    # prediction labels and true labels
    # labels are integers from 0 to 15
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:200, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    result = classification.fit_svm(train_y, train_x, test_x, [1], [0.1])
    assert features.shape == (200, 99)
    assert result.shape == (50, 1)
    assert all(result.iloc[:, 0] >= 0) & all(result.iloc[:, 0] <= 15)
    assert all([i.is_integer() for i in result.iloc[:, 0]])
def test_get_summary():
    # check get_summary returns approriate data frame of precision,
    # recall, f-1 measure, in terms of shape and range(0,1)
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    result = classification.fit_random_forest(
        train_y, train_x, test_x, [1], [10])[0]
    summary = classification.get_summary(result, test_y)
    assert summary.shape == (16, 3)
    assert all(summary.iloc[:, 0] <= 1) & all(summary.iloc[:, 0] >= 0)
    assert all(summary.iloc[:, 1] <= 1) & all(summary.iloc[:, 1] >= 0)
    assert all(summary.iloc[:, 2] <= 1) & all(summary.iloc[:, 2] >= 0)
Exemple #10
0
def test_get_summary():
    # check get_summary returns approriate data frame of precision,
    # recall, f-1 measure, in terms of shape and range(0,1)
    df = data.load_mouseday_features()
    strain = df['strain']
    features = df.iloc[:, 3:]
    train_y, train_x, test_y, test_x = classification.prep_data(
        strain, features)
    result = classification.fit_random_forest(train_y, train_x, test_x, [1],
                                              [10])[0]
    summary = classification.get_summary(result, test_y)
    assert summary.shape == (16, 3)
    assert all(summary.iloc[:, 0] <= 1) & all(summary.iloc[:, 0] >= 0)
    assert all(summary.iloc[:, 1] <= 1) & all(summary.iloc[:, 1] >= 0)
    assert all(summary.iloc[:, 2] <= 1) & all(summary.iloc[:, 2] >= 0)