Logistic Regression get Value error could not convert string to float: '?'

13,648

The training input x and output y must be of type np.float64. If you want to use strings, you need to encode them before fitting .

Check this post out for it :

Link

Share:
13,648
Admin
Author by

Admin

Updated on June 05, 2022

Comments

  • Admin
    Admin almost 2 years

    I am very new at this stuff. This is from a course I am taking; I need to fit the Logistic Regression classifier

    I enter

    from sklearn.linear_model import LogisticRegression
    C=1.0
    classifier = LogisticRegression(C=C, penalty='l1')
    
    classifier.fit(x, y)
    

    and get a Value Error

    ValueError                                Traceback (most recent call last) <ipython-input-33-9d4de811daf9> in <module>()
    ----> 1 classifier.fit(x, y)
    
    ~\Anaconda3\lib\site-packages\sklearn\linear_model\logistic.py in fit(self,  X, y, sample_weight)    1214     1215         X, y = check_X_y(X, y, accept_sparse='csr', dtype=_dtype,
    -> 1216                          order="C")    1217         check_classification_targets(y)    1218         self.classes_ = np.unique(y)
    
    ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_X_y(X, y,  accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd,  multi_output, ensure_min_samples, ensure_min_features, y_numeric,  warn_on_dtype, estimator)
        571     X = check_array(X, accept_sparse, dtype, order, copy,  force_all_finite,
        572                     ensure_2d, allow_nd, ensure_min_samples,
    --> 573                     ensure_min_features, warn_on_dtype, estimator)
        574     if multi_output:
        575         y = check_array(y, 'csr', force_all_finite=True,  ensure_2d=False,
    
    ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in  check_array(array, accept_sparse, dtype, order, copy, force_all_finite,  ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype,  estimator)
        431                                       force_all_finite)
        432     else:
    --> 433         array = np.array(array, dtype=dtype, order=order, copy=copy)
        434 
        435         if ensure_2d:
    
    ValueError: could not convert string to float: '?'
    

    Please help