code: def test_warp_precision_multithreaded():
      model = LightFM(
          learning_rate=0.05, loss="warp", random_state=SEED
      )
  
      model.fit_partial(train, epochs=10, num_threads=4)
  
      (
          train_precision,
          test_precision,
          full_train_auc,
          full_test_auc,
      ) = _get_metrics(model, train, test)
  
      assert train_precision > 0.45
      assert test_precision > 0.07
  
      assert full_train_auc > 0.9
      assert full_test_auc > 0.9
  
imports: import pickle
  import numpy
  import scipy.sparse
  from scipy import stats
  from sklearn.metrics import roc_auc_score
  from sklearn.model_selection import KFold, RandomizedSearchCV
  from lightfm.lightfm import LightFM
  from lightfm.datasets import fetch_movielens
  from lightfm.evaluation import auc_score, precision_at_k
label_desc: Use image node_id 11 for calling a global function with example usage: test_warp_precision_multithreaded() without return types