值错误:无法将字符串转换为浮点数

Posted

技术标签:

【中文标题】值错误:无法将字符串转换为浮点数【英文标题】:Value error :Cannot convert string to float 【发布时间】:2019-08-31 13:21:05 【问题描述】:
from sklearn.preprocessing import OneHotEncoder
enc=OneHotEncoder(handle_unknown='ignore')
X=[['gender', 1], ['NationalITy', 2], ['PlaceofBirth', 3],['StageID', 4], ['GradeID', 5], ['SectionID', 6],['Topic', 7], ['Semester', 8], ['Relation', 9],['raisedhands', 1], ['VisITedResources', 2], ['AnnouncementsView', 3],['Discussion', 4], ['ParentAnsweringSurvey', 5], ['ParentschoolSatisfaction', 6],['Class',7]]
enc.fit_transform(X)

ValueError Traceback(最近调用 最后)在() ----> 1 enc.fit_transform(X)

~\Anaconda3\lib\site-packages\sklearn\preprocessing\data.py 在 fit_transform(self, X, y) 2017 """ 2018 返回 _transform_selected(X, self._fit_transform, -> 2019 self.categorical_features, copy=True) 2020 2021 def _transform(self, X):

~\Anaconda3\lib\site-packages\sklearn\preprocessing\data.py 在 _transform_selected(X, transform, selected, copy) 1807 X:数组或稀疏矩阵,shape=(n_samples, n_features_new) 1808 """ -> 1809 X = check_array(X, accept_sparse='csc', copy=copy, dtype=FLOAT_DTYPES) 1810 1811 if isinstance(selected, Six.string_types) 并选择 == "all":

~\Anaconda3\lib\site-packages\sklearn\utils\validation.py 在 check_array(数组,accept_sparse,dtype,顺序,复制, force_all_finite,ensure_2d,allow_nd,ensure_min_samples, ensure_min_features、warn_on_dtype、估计器) 第431章 432 其他: --> 433 数组 = np.array(数组,dtype=dtype,order=order,copy=copy) 434 435 如果确保_2d:

ValueError: 无法将字符串转换为浮点数:'gender'

【问题讨论】:

它适用于我使用 scikit-learn-0.20.3scipy-1.2.1 【参考方案1】:

从这篇文章中,

OneHotEncoder Error: cannot convert string to float

您可以看到它不起作用,但使用整数。但是,现在,文档说它适用于整数。

也许你应该更新你的版本,因为它应该能够转换字符串。

对我来说,编辑中的一段代码运行良好。

【讨论】:

以上是关于值错误:无法将字符串转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章

Numpy 错误“无法将字符串转换为浮点数:'Illinois'”

逻辑回归中的概率校准错误:ValueError:无法将字符串转换为浮点数:'OLIFE'

ValueError:无法将字符串转换为浮点数:“?”

ValueError:无法将字符串转换为浮点数:'GIAC'

朴素贝叶斯高斯抛出 ValueError:无法将字符串转换为浮点数:'M'

使用 sklearn 时出现错误:ValueError:无法将字符串转换为浮点数: