@@ -770,80 +770,3 @@ def test_feature_num_bin_with_max_bin_by_feature():
770
770
ds = lgb .Dataset (X , params = {'max_bin_by_feature' : max_bin_by_feature }).construct ()
771
771
actual_num_bins = [ds .feature_num_bin (i ) for i in range (X .shape [1 ])]
772
772
np .testing .assert_equal (actual_num_bins , max_bin_by_feature )
773
-
774
- @pytest .mark .skipif (getenv ('TASK' , '' ) != 'int64' , reason = 'Only run with CMAKE option(USE_DATASET_INT64).' )
775
- def test_int64_support (tmp_path ):
776
- X_train , X_test , y_train , y_test = train_test_split (* load_breast_cancer (return_X_y = True ),
777
- test_size = 0.1 , random_state = 2 )
778
- feature_names = [f"Column_{ i } " for i in range (X_train .shape [1 ])]
779
- feature_names [1 ] = "a" * 1000 # set one name to a value longer than default buffer size
780
- train_data = lgb .Dataset (X_train , label = y_train , feature_name = feature_names , use_int64 = True )
781
- valid_data = train_data .create_valid (X_test , label = y_test )
782
-
783
- params = {
784
- "objective" : "binary" ,
785
- "metric" : "auc" ,
786
- "min_data" : 10 ,
787
- "num_leaves" : 15 ,
788
- "verbose" : - 1 ,
789
- "num_threads" : 1 ,
790
- "max_bin" : 255 ,
791
- "gpu_use_dp" : True
792
- }
793
- bst = lgb .Booster (params , train_data , use_int64 = True )
794
- bst .add_valid (valid_data , "valid_1" )
795
-
796
- for i in range (20 ):
797
- bst .update ()
798
- if i % 10 == 0 :
799
- print (bst .eval_train (), bst .eval_valid ())
800
-
801
- assert train_data .get_feature_name () == feature_names
802
-
803
- assert bst .current_iteration () == 20
804
- assert bst .num_trees () == 20
805
- assert bst .num_model_per_iteration () == 1
806
- if getenv ('TASK' , '' ) != 'cuda_exp' :
807
- assert bst .lower_bound () == pytest .approx (- 2.9040190126976606 )
808
- assert bst .upper_bound () == pytest .approx (3.3182142872462883 )
809
-
810
- tname = tmp_path / "svm_light.dat"
811
- model_file = tmp_path / "model.txt"
812
-
813
- bst .save_model (model_file )
814
- pred_from_matr = bst .predict (X_test )
815
- with open (tname , "w+b" ) as f :
816
- dump_svmlight_file (X_test , y_test , f )
817
- pred_from_file = bst .predict (tname )
818
- np .testing .assert_allclose (pred_from_matr , pred_from_file )
819
-
820
- # check saved model persistence
821
- bst = lgb .Booster (params , model_file = model_file , use_int64 = True )
822
- assert bst .feature_name () == feature_names
823
- pred_from_model_file = bst .predict (X_test )
824
- # we need to check the consistency of model file here, so test for exact equal
825
- np .testing .assert_array_equal (pred_from_matr , pred_from_model_file )
826
-
827
- # check early stopping is working. Make it stop very early, so the scores should be very close to zero
828
- pred_parameter = {"pred_early_stop" : True , "pred_early_stop_freq" : 5 , "pred_early_stop_margin" : 1.5 }
829
- pred_early_stopping = bst .predict (X_test , ** pred_parameter )
830
- # scores likely to be different, but prediction should still be the same
831
- np .testing .assert_array_equal (np .sign (pred_from_matr ), np .sign (pred_early_stopping ))
832
-
833
- # test that shape is checked during prediction
834
- bad_X_test = X_test [:, 1 :]
835
- bad_shape_error_msg = "The number of features in data*"
836
- np .testing .assert_raises_regex (lgb .basic .LightGBMError , bad_shape_error_msg ,
837
- bst .predict , bad_X_test )
838
- np .testing .assert_raises_regex (lgb .basic .LightGBMError , bad_shape_error_msg ,
839
- bst .predict , sparse .csr_matrix (bad_X_test ))
840
- np .testing .assert_raises_regex (lgb .basic .LightGBMError , bad_shape_error_msg ,
841
- bst .predict , sparse .csc_matrix (bad_X_test ))
842
- with open (tname , "w+b" ) as f :
843
- dump_svmlight_file (bad_X_test , y_test , f )
844
- np .testing .assert_raises_regex (lgb .basic .LightGBMError , bad_shape_error_msg ,
845
- bst .predict , tname )
846
- with open (tname , "w+b" ) as f :
847
- dump_svmlight_file (X_test , y_test , f , zero_based = False )
848
- np .testing .assert_raises_regex (lgb .basic .LightGBMError , bad_shape_error_msg ,
849
- bst .predict , tname )
0 commit comments