[SPARK-38243][PYTHON][ML] Fix pyspark.ml.LogisticRegression.getThreshold error message logic
[SPARK-38243][PYTHON][ML] Fix pyspark.ml.LogisticRegression.getThreshold error message logic

### What changes were proposed in this pull request?

This PR replaces incorrect usage of `str.join` on a `List[float]` in `LogisticRegression.getThreshold`.

### Why are the changes needed?

To avoid unexpected failure if method is used in case of multi-class classification.

After this change, the following code:

```python
from pyspark.ml.classification import LogisticRegression

LogisticRegression(thresholds=[1.0, 2.0, 3.0]).getThreshold()
```
raises

```python
Traceback (most recent call last):
  Input In [4] in <module>
    model.getThreshold()
  File /path/to/spark/python/pyspark/ml/classification.py:999 in getThreshold
    raise ValueError(
ValueError: Logistic Regression getThreshold only applies to binary classification, but thresholds has length != 2.  thresholds: [1.0, 2.0, 3.0]
```

instead of current

```python
Traceback (most recent call last):
  Input In [7] in <module>
    model.getThreshold()
  File /path/to/spark/python/pyspark/ml/classification.py:1003 in getThreshold
    + ",".join(ts)
TypeError: sequence item 0: expected str instance, float found

```

### Does this PR introduce _any_ user-facing change?

No. Bugfix.

### How was this patch tested?

Manual testing.

Closes #35558 from zero323/SPARK-38243.

Authored-by: zero323 <0f81822ec43dc7f424811d0a422871ea124aa3dd@gmail.com>
Signed-off-by: Sean Owen <d519fa33a62684a61ab04b24d26f83452d51b34c@gmail.com>

dongjoon-hyun/spark,witgo/spark,gengliangwang/spark,srowen/spark,shaneknapp/spark,holdenk/spark,hvanhovell/spark,zzcclp/spark,shaneknapp/spark,cloud-fan/spark,holdenk/spark,dongjoon-hyun/spark,WeichenXu123/spark,rednaxelafx/apache-spark,dongjoon-hyun/spark,cloud-fan/spark,ueshin/apache-spark,gengliangwang/spark,witgo/spark,zzcclp/spark,JoshRosen/spark,wangyum/spark,HyukjinKwon/spark,srowen/spark,zero323/spark,shaneknapp/spark,ueshin/apache-spark,nchammas/spark,zero323/spark,WeichenXu123/spark,apache/spark,wangyum/spark,mahak/spark,WeichenXu123/spark,wangyum/spark,hvanhovell/spark,zero323/spark,gengliangwang/spark,witgo/spark,srowen/spark,ueshin/apache-spark,HyukjinKwon/spark,zero323/spark,apache/spark,mahak/spark,dongjoon-hyun/spark,JoshRosen/spark,rednaxelafx/apache-spark,HyukjinKwon/spark,ueshin/apache-spark,witgo/spark,zzcclp/spark,JoshRosen/spark,vinodkc/spark,JoshRosen/spark,gengliangwang/spark,holdenk/spark,gengliangwang/spark,holdenk/spark,zzcclp/spark,wangyum/spark,apache/spark,hvanhovell/spark,hvanhovell/spark,vinodkc/spark,zzcclp/spark,mahak/spark,nchammas/spark,JoshRosen/spark,vinodkc/spark,rednaxelafx/apache-spark,ueshin/apache-spark,witgo/spark,vinodkc/spark,zero323/spark,apache/spark,srowen/spark,shaneknapp/spark,witgo/spark,rednaxelafx/apache-spark,shaneknapp/spark,HyukjinKwon/spark,mahak/spark,ueshin/apache-spark,mahak/spark,zzcclp/spark,HyukjinKwon/spark,apache/spark,vinodkc/spark,srowen/spark,cloud-fan/spark,dongjoon-hyun/spark,HyukjinKwon/spark,nchammas/spark,ueshin/apache-spark,hvanhovell/spark,zero323/spark,vinodkc/spark,shaneknapp/spark,zzcclp/spark,cloud-fan/spark,rednaxelafx/apache-spark,WeichenXu123/spark,dongjoon-hyun/spark,cloud-fan/spark,wangyum/spark,nchammas/spark,witgo/spark,shaneknapp/spark,JoshRosen/spark,wangyum/spark,rednaxelafx/apache-spark,srowen/spark,WeichenXu123/spark,wangyum/spark,holdenk/spark,hvanhovell/spark,HyukjinKwon/spark,hvanhovell/spark,nchammas/spark,holdenk/spark,apache/spark,mahak/spark,JoshRosen/spark,WeichenXu123/spark,nchammas/spark,nchammas/spark,rednaxelafx/apache-spark,vinodkc/spark,dongjoon-hyun/spark,zero323/spark,holdenk/spark,gengliangwang/spark,WeichenXu123/spark,cloud-fan/spark,mahak/spark,cloud-fan/spark,gengliangwang/spark,srowen/spark,apache/spark