title: What does asterisk mean when used as a param for a scikit-learn model?
body: <p>I am looking at the docs for the <a href="https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html#sklearn.neighbors.KNeighborsClassifier.fit" rel="nofollow noreferrer">K-NN</a> and found this piece of code:</p>
  <pre><code>X = [[0], [1], [2], [3]]
  y = [0, 0, 1, 1]
  neigh = KNeighborsClassifier(n_neighbors=3)
  neigh.fit(X, y)
  KNeighborsClassifier(...)
  print(neigh.predict([[3.1]]))
  </code></pre>
  <p>Looking at the class definition I see:</p>
  <pre><code>class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, *, weights='uniform', algorithm='auto', leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None, **kwargs)
  </code></pre>
  <p>The second param is an <code>*</code> here. Does the ... in <code>KNeighborsClassifier(...)</code> and this <code>*</code> have something to do with each other and if so what?</p>