2017-03-22 5 views
0

Ich führe den Beispielcode von unten aus, um ein Modell zu erstellen und mit Irisdatensatz zu validieren.ValueError: Konnte Zeichenfolge nicht in Gleitkomma konvertieren: 'Petal.Length' (Beispiel für maschinelles Lernen)

http://machinelearningmastery.com/machine-learning-in-python-step-by-step/

In dem obigen Link, benutzten sie Online-Daten-Set und es funktioniert gut.

Ich habe Iris-Dataset in einem CSV-Format heruntergeladen und führte das gleiche Programm in Linux-Box, aber es wirft den folgenden Fehler.

Traceback (most recent call last): File "/home/nn/Desktop/iris.py", line 44, in <module> cv_results = model_selection.cross_val_score(model, X_train, Y_train, cv=kfold, scoring=scoring) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/model_selection/_validation.py", line 140, in cross_val_score for train, test in cv_iter) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py", line 758, in __call__ while self.dispatch_one_batch(iterator): File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py", line 608, in dispatch_one_batch self._dispatch(tasks) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py", line 571, in _dispatch job = self._backend.apply_async(batch, callback=cb) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/_parallel_backends.py", line 109, in apply_async result = ImmediateResult(func) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/_parallel_backends.py", line 326, in __init__ self.results = batch() File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py", line 131, in __call__ return [func(*args, **kwargs) for func, args, kwargs in self.items] File "/home/nn/.local/lib/python3.5/site-packages/sklearn/externals/joblib/parallel.py", line 131, in <listcomp> return [func(*args, **kwargs) for func, args, kwargs in self.items] File "/home/nn/.local/lib/python3.5/site-packages/sklearn/model_selection/_validation.py", line 238, in _fit_and_score estimator.fit(X_train, y_train, **fit_params) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/linear_model/logistic.py", line 1173, in fit order="C") File "/home/nn/.local/lib/python3.5/site-packages/sklearn/utils/validation.py", line 521, in check_X_y ensure_min_features, warn_on_dtype, estimator) File "/home/nn/.local/lib/python3.5/site-packages/sklearn/utils/validation.py", line 382, in check_array array = np.array(array, dtype=dtype, order=order, copy=copy) ValueError: could not convert string to float: 'Petal.Length'

Antwort

0

Können Sie überprüfen, ob, wenn Sie die Daten lesen read_csv verwenden Sie den Header zu ignorieren? Sie können in read_csv verwenden:

header='infer' 
Verwandte Themen