@@ -773,18 +773,30 @@ def test_vectorizer_inverse_transform(Vectorizer):
773
773
vectorizer = Vectorizer ()
774
774
transformed_data = vectorizer .fit_transform (data )
775
775
inversed_data = vectorizer .inverse_transform (transformed_data )
776
+ assert isinstance (inversed_data , list )
777
+
776
778
analyze = vectorizer .build_analyzer ()
777
779
for doc , inversed_terms in zip (data , inversed_data ):
778
780
terms = np .sort (np .unique (analyze (doc )))
779
781
inversed_terms = np .sort (np .unique (inversed_terms ))
780
782
assert_array_equal (terms , inversed_terms )
781
783
782
- # Test that inverse_transform also works with numpy arrays
783
- transformed_data = transformed_data .toarray ()
784
- inversed_data2 = vectorizer .inverse_transform (transformed_data )
784
+ assert sparse .issparse (transformed_data )
785
+ assert transformed_data .format == "csr"
786
+
787
+ # Test that inverse_transform also works with numpy arrays and
788
+ # scipy
789
+ transformed_data2 = transformed_data .toarray ()
790
+ inversed_data2 = vectorizer .inverse_transform (transformed_data2 )
785
791
for terms , terms2 in zip (inversed_data , inversed_data2 ):
786
792
assert_array_equal (np .sort (terms ), np .sort (terms2 ))
787
793
794
+ # Check that inverse_transform also works on non CSR sparse data:
795
+ transformed_data3 = transformed_data .tocsc ()
796
+ inversed_data3 = vectorizer .inverse_transform (transformed_data3 )
797
+ for terms , terms3 in zip (inversed_data , inversed_data3 ):
798
+ assert_array_equal (np .sort (terms ), np .sort (terms3 ))
799
+
788
800
789
801
def test_count_vectorizer_pipeline_grid_selection ():
790
802
# raw documents
0 commit comments