docstr: ...Test CoxRegression warm start
          
docstr_tok: ["...","Test","CoxRegression","warm","start"]
code: def test_CoxRegression_warm_start(self):
      """...Test CoxRegression warm start"""
      features, times, censoring = Test.get_train_data()
  
      for solver in self.solvers:
          solver_kwargs = {
              "solver": solver,
              "max_iter": 2,
              "warm_start": True,
              "tol": 0,
              "penalty": "none",
          }
          learner = CoxRegression(**solver_kwargs)
          learner.fit(features, times, censoring)
          score_1 = learner.score()
          learner.fit(features, times, censoring)
          score_2 = learner.score()
          # Thanks to warm start the score should have decreased (no
          # penalization here)
          self.assertLess(score_2, score_1)
  
      for solver in self.solvers:
          solver_kwargs = {
              "solver": solver,
              "max_iter": 2,
              "warm_start": False,
              "tol": 0,
              "penalty": "none",
          }
          learner = CoxRegression(**solver_kwargs)
          learner.fit(features, times, censoring)
          score_1 = learner.score()
          learner.fit(features, times, censoring)
          score_2 = learner.score()
          # No warm start here, so the scores should be the same
          self.assertAlmostEqual(score_2, score_1)
  
file_path: tick/tick/survival/tests/cox_regression_test.py
imports: import unittest
  import numpy
  from tick.base.inference import InferenceTest
  from tick.survival import SimuCoxReg, CoxRegression
  from tick.simulation import weights_sparse_gauss
  from tick.preprocessing.features_binarizer import FeaturesBinarizer
  from tick.prox import ProxZero, ProxL1, ProxL2Sq, ProxElasticNet, ProxTV, ProxBinarsity
  from tick.solver import GD, AGD
label_desc: Use image node_id 3 for calling the Test obj's underlying member method code with example usage: obj.test_CoxRegression_warm_start() without return types