值错误:无法将字符串转换为浮点数
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.3
和 scipy-1.2.1
【参考方案1】:
从这篇文章中,
OneHotEncoder Error: cannot convert string to float
您可以看到它不起作用,但使用整数。但是,现在,文档说它适用于整数。
也许你应该更新你的版本,因为它应该能够转换字符串。
对我来说,编辑中的一段代码运行良好。
【讨论】:
以上是关于值错误:无法将字符串转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章
Numpy 错误“无法将字符串转换为浮点数:'Illinois'”
逻辑回归中的概率校准错误:ValueError:无法将字符串转换为浮点数:'OLIFE'
ValueError:无法将字符串转换为浮点数:'GIAC'