code: def test_fit_weighted(X, w, means, covs):
      for param in means, None:
          d = StudentT(3, means, covs)
          d.fit(X[:4], sample_weight=w[:4])
          _test_fit_params(
              d, [0.7, 0.833333, 1.033333], [0.08, 0.802222, 0.142222]
          )
  
          d.fit(X[4:], sample_weight=w[4:])
          _test_fit_params(
              d, [3.35, 1.1875, 0.7125], [0.857502, 0.088594, 1.551094]
          )
  
          d = StudentT(3, means, covs)
          d.fit(X, sample_weight=w)
          _test_fit_params(
              d,
              [2.627273, 1.090909, 0.8],
              [2.038348, 0.308099, 1.187273],
          )
  
      X = [[1.2, 0.5, 1.1, 1.9], [6.2, 1.1, 2.4, 1.1]]
  
      w = [[1.1], [3.5]]
  
      d = StudentT(3)
      d.fit(X, sample_weight=w)
      _test_fit_params(
          d,
          [5.004348, 0.956522, 2.089131, 1.291304],
          [4.548677, 0.065501, 0.30749, 0.116446],
      )
  
imports: import os
  import numpy
  import torch
  import pytest
  from pomegranate.distributions import StudentT
  from ._utils import _test_initialization_raises_two_parameters
  from ._utils import _test_initialization
  from ._utils import _test_predictions
  from ._utils import _test_efd_from_summaries
  from ._utils import _test_raises
  from nose.tools import assert_raises
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 35 for calling a global function with example usage: test_fit_weighted(X, w, means, covs) without return types