code: def main(readcsv=pd_read_csv):
      # input data file
      data_path = Path(__file__).parent / "data" / "batch"
      infile = data_path / "svm_two_class_train_dense.csv"
      testfile = data_path / "svm_two_class_test_dense.csv"
  
      # Configure a SVM object to use rbf kernel (and adjusting cachesize)
      kern = d4p.kernel_function_linear()
      # need an object that lives when creating train_algo
      train_algo = d4p.svm_training(
          method="thunder", kernel=kern, cacheSize=600000000
      )
  
      # Read data. Let's use features per observation
      data = readcsv(infile, range(20))
      labels = readcsv(infile, range(20, 21))
      train_result = train_algo.compute(data, labels)
  
      # Now let's do some prediction
      predict_algo = d4p.svm_prediction(kernel=kern)
      # read test data (with same #features)
      pdata = readcsv(testfile, range(20))
      plabels = readcsv(testfile, range(20, 21))
      # now predict using the model from the training above
      predict_result = predict_algo.compute(pdata, train_result.model)
  
      # Prediction result provides prediction
      assert predict_result.prediction.shape == (pdata.shape[0], 1)
  
      # result of classification
      decision_result = predict_result.prediction
      predict_labels = np.where(decision_result >= 0, 1, -1)
  
      return (decision_result, predict_labels, plabels)
  
imports: from pathlib import Path
  import numpy
  from readcsv import pd_read_csv
  import daal4py
label_desc: Use image node_id 1 for calling a global function with example usage: main(readcsv) and returns: decision_result,  predict_labels,  plabels