コード例 #1
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
    def test_index_with_float_array_raises(self, multi_indexing):
        X = np.zeros(10)
        i = np.arange(3, 0.5)
        with pytest.raises(IndexError) as exc:
            multi_indexing(X, i)

        assert exc.value.args[0] == (
            "arrays used as indices must be of integer (or boolean) type")
コード例 #2
0
    def test_index_with_float_array_raises(self, multi_indexing):
        X = np.zeros(10)
        i = np.arange(3, 0.5)
        with pytest.raises(IndexError) as exc:
            multi_indexing(X, i)

        assert exc.value.args[0] == (
            "arrays used as indices must be of integer (or boolean) type")
コード例 #3
0
    def test_index_with_float_array_raises(self, multi_indexing):
        # sklearn < 0.22 raises IndexError with msg0
        # sklearn >= 0.22 raises ValueError with msg1
        X = np.zeros(10)
        i = np.arange(3, 0.5)

        with pytest.raises((IndexError, ValueError)) as exc:
            multi_indexing(X, i)

        msg0 = "arrays used as indices must be of integer (or boolean) type"
        msg1 = ("No valid specification of the columns. Only a scalar, list or "
                "slice of all integers or all strings, or boolean mask is allowed")

        result = exc.value.args[0]
        assert result in (msg0, msg1)
コード例 #4
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
    def test_boolean_index_2d_with_torch_tensor(self, multi_indexing):
        X = torch.LongTensor(np.arange(9).reshape(3, 3))
        i = np.eye(3).astype(bool)

        res = multi_indexing(X, i)
        expected = torch.LongTensor([0, 4, 8])
        assert all(res == expected)
コード例 #5
0
    def test_boolean_index_2d_with_torch_tensor(self, multi_indexing):
        X = torch.LongTensor(np.arange(9).reshape(3, 3))
        i = np.eye(3).astype(bool)

        res = multi_indexing(X, i)
        expected = torch.LongTensor([0, 4, 8])
        assert all(res == expected)
コード例 #6
0
 def test_list_of_dataframe_and_series_slice(self, multi_indexing, pd):
     data = [
         pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0]),
         pd.Series(data=[0, 1, 2], index=[2, 1, 0]),
     ]
     result = multi_indexing(data, np.s_[:2])
     assert result[0].equals(
         pd.DataFrame({'a': [0, 1], 'b': [3, 4]}, index=[2, 1]))
     assert result[1].equals(pd.Series(data=[0, 1], index=[2, 1]))
コード例 #7
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_list_of_dataframe_and_series_slice(self, multi_indexing, pd):
     data = [
         pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0]),
         pd.Series(data=[0, 1, 2], index=[2, 1, 0]),
     ]
     result = multi_indexing(data, np.s_[:2])
     assert result[0].equals(
         pd.DataFrame({'a': [0, 1], 'b': [3, 4]}, index=[2, 1]))
     assert result[1].equals(pd.Series(data=[0, 1], index=[2, 1]))
コード例 #8
0
 def test_dict_of_torch_tensors(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result.keys() == expected.keys()
     for k in result:
         try:
             val = result[k].long().numpy()
         except AttributeError:
             val = result[k]
         assert np.allclose(val, expected[k])
コード例 #9
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_list_of_dataframe_and_series(self, multi_indexing, pd):
     data = [
         pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0]),
         pd.Series(data=[0, 1, 2], index=[2, 1, 0]),
     ]
     result = multi_indexing(data, 0)
     assert result[0].equals(
         pd.Series(data=[0, 3], index=['a', 'b'], name=2))
     assert result[1] == 0
コード例 #10
0
 def test_list_of_dataframe_and_series(self, multi_indexing, pd):
     data = [
         pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0]),
         pd.Series(data=[0, 1, 2], index=[2, 1, 0]),
     ]
     result = multi_indexing(data, 0)
     assert result[0].equals(
         pd.Series(data=[0, 3], index=['a', 'b'], name=2))
     assert result[1] == 0
コード例 #11
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_dict_of_torch_tensors(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result.keys() == expected.keys()
     for k in result:
         try:
             val = result[k].long().numpy()
         except AttributeError:
             val = result[k]
         assert np.allclose(val, expected[k])
コード例 #12
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_mixed_data(self, multi_indexing):
     data = [
         [1, 2, 3],
         np.arange(3),
         torch.arange(3, 6),
         {'a': [4, 5, 6], 'b': [7, 8, 9]},
     ]
     result = multi_indexing(data, 0)
     expected = [1, 0, 3, {'a': 4, 'b': 7}]
     assert result == expected
コード例 #13
0
 def test_mixed_data(self, multi_indexing):
     data = [
         [1, 2, 3],
         np.arange(3),
         torch.arange(3, 6),
         {'a': [4, 5, 6], 'b': [7, 8, 9]},
     ]
     result = multi_indexing(data, 0)
     expected = [1, 0, 3, {'a': 4, 'b': 7}]
     assert result == expected
コード例 #14
0
 def test_mixed_data_slice(self, multi_indexing):
     data = [
         [1, 2, 3],
         np.arange(3),
         torch.arange(3, 6),
         {'a': [4, 5, 6], 'b': [7, 8, 9]},
     ]
     result = multi_indexing(data, np.s_[:2])
     assert result[0] == [1, 2]
     assert np.allclose(result[1], np.arange(2))
     assert np.allclose(result[2].long().numpy(), np.arange(3, 5))
     assert result[3] == {'a': [4, 5], 'b': [7, 8]}
コード例 #15
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_mixed_data_slice(self, multi_indexing):
     data = [
         [1, 2, 3],
         np.arange(3),
         torch.arange(3, 6),
         {'a': [4, 5, 6], 'b': [7, 8, 9]},
     ]
     result = multi_indexing(data, np.s_[:2])
     assert result[0] == [1, 2]
     assert np.allclose(result[1], np.arange(2))
     assert np.allclose(result[2].long().numpy(), np.arange(3, 5))
     assert result[3] == {'a': [4, 5], 'b': [7, 8]}
コード例 #16
0
 def test_pandas_dataframe_slice(self, multi_indexing, pd):
     import pandas as pd
     df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0])
     result = multi_indexing(df, np.s_[:2])
     expected = pd.DataFrame({'a': [0, 1], 'b': [3, 4]}, index=[2, 1])
     assert result.equals(expected)
コード例 #17
0
 def test_pandas_dataframe(self, multi_indexing, pd):
     df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0])
     result = multi_indexing(df, 0)
     # Note: taking one row of a DataFrame returns a Series
     expected = pd.Series(data=[0, 3], index=['a', 'b'], name=2)
     assert result.equals(expected)
コード例 #18
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_pandas_series(self, multi_indexing, pd):
     series = pd.Series(data=[0, 1, 2], index=[2, 1, 0])
     result = multi_indexing(series, 0)
     assert result == 0
コード例 #19
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_index_torch_tensor_with_numpy_int_array(self, multi_indexing):
     X = torch.zeros((1000, 10))
     i = np.arange(100)
     result = multi_indexing(X, i)
     assert (result == X[:100]).all()
コード例 #20
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_pandas_dataframe_slice(self, multi_indexing, pd):
     import pandas as pd
     df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0])
     result = multi_indexing(df, np.s_[:2])
     expected = pd.DataFrame({'a': [0, 1], 'b': [3, 4]}, index=[2, 1])
     assert result.equals(expected)
コード例 #21
0
 def test_list(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert np.allclose(result, expected)
コード例 #22
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_pandas_dataframe(self, multi_indexing, pd):
     df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=[2, 1, 0])
     result = multi_indexing(df, 0)
     # Note: taking one row of a DataFrame returns a Series
     expected = pd.Series(data=[0, 3], index=['a', 'b'], name=2)
     assert result.equals(expected)
コード例 #23
0
 def test_index_torch_tensor_with_numpy_int_array(self, multi_indexing):
     X = torch.zeros((1000, 10))
     i = np.arange(100)
     result = multi_indexing(X, i)
     assert (result == X[:100]).all()
コード例 #24
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_dict_of_lists(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result == expected
コード例 #25
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_boolean_index_2d(self, multi_indexing):
     X = np.arange(9).reshape(3, 3)
     i = np.eye(3).astype(bool)
     result = multi_indexing(X, i)
     expected = np.asarray([0, 4, 8])
     assert np.allclose(result, expected)
コード例 #26
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_dict_of_arrays(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result.keys() == expected.keys()
     for k in result:
         assert np.allclose(result[k], expected[k])
コード例 #27
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_index_torch_tensor_with_numpy_bool_array(self, multi_indexing):
     X = torch.zeros((1000, 10))
     i = np.asarray([True] * 100 + [False] * 900)
     result = multi_indexing(X, i)
     assert (result == X[:100]).all()
コード例 #28
0
 def test_pandas_series(self, multi_indexing, pd):
     series = pd.Series(data=[0, 1, 2], index=[2, 1, 0])
     result = multi_indexing(series, 0)
     assert result == 0
コード例 #29
0
 def test_pandas_series_slice(self, multi_indexing, pd):
     series = pd.Series(data=[0, 1, 2], index=[2, 1, 0])
     result = multi_indexing(series, np.s_[:2])
     expected = pd.Series(data=[0, 1], index=[2, 1])
     assert result.equals(expected)
コード例 #30
0
 def test_dict_of_lists(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result == expected
コード例 #31
0
 def test_dict_of_arrays(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert result.keys() == expected.keys()
     for k in result:
         assert np.allclose(result[k], expected[k])
コード例 #32
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_pandas_series_slice(self, multi_indexing, pd):
     series = pd.Series(data=[0, 1, 2], index=[2, 1, 0])
     result = multi_indexing(series, np.s_[:2])
     expected = pd.Series(data=[0, 1], index=[2, 1])
     assert result.equals(expected)
コード例 #33
0
 def test_index_torch_tensor_with_numpy_bool_array(self, multi_indexing):
     X = torch.zeros((1000, 10))
     i = np.asarray([True] * 100 + [False] * 900)
     result = multi_indexing(X, i)
     assert (result == X[:100]).all()
コード例 #34
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_list(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i)
     assert np.allclose(result, expected)
コード例 #35
0
 def test_boolean_index_2d(self, multi_indexing):
     X = np.arange(9).reshape(3, 3)
     i = np.eye(3).astype(bool)
     result = multi_indexing(X, i)
     expected = np.asarray([0, 4, 8])
     assert np.allclose(result, expected)
コード例 #36
0
 def test_torch_tensor(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i).long().numpy()
     assert np.allclose(result, expected)
コード例 #37
0
 def test_sparse_csr_matrix(self, multi_indexing, data, i, expected):
     data = sparse.csr_matrix(data)
     result = multi_indexing(data, i).toarray()
     assert np.allclose(result, expected)
コード例 #38
0
ファイル: test_utils.py プロジェクト: YangHaha11514/skorch
 def test_torch_tensor(self, multi_indexing, data, i, expected):
     result = multi_indexing(data, i).long().numpy()
     assert np.allclose(result, expected)