scikit-learn.org上的示例代码出现错误

当我尝试学习sklearn库中的OneHotEncoder时,我尝试了scikit-learn.org提供的以下示例代码。但这个代码给我带来了错误,我无法调试它。

from sklearn.preprocessing import OneHotEncoderenc = OneHotEncoder(handle_unknown='ignore')X = [['Male', 1], ['Female', 3], ['Female', 2]]enc.fit(X)

我得到了这个错误:

array = np.array(array, dtype=dtype, order=order, copy=copy)ValueError: could not convert string to float: 'Male'

我假设如果这个代码是写在scikit-learn.org上的,那么问题一定是出在我自己的环境中,或者是我在这里做错了什么。


回答:

这可能与您的scikit-learn版本有关。从0.20版本开始,OneHotEncoder可以处理字符串,而在旧版本中并非如此 – 请注意,v0.19的文档没有提供相同的示例:https://scikit-learn.org/0.19/modules/generated/sklearn.preprocessing.OneHotEncoder.html

发布说明中,版本0.20.2(12月18日)特别提到了这一点:

主要功能:扩展了preprocessing.OneHotEncoder,允许将分类字符串特征编码为使用独热(或哑变量)编码方案的数字数组

因此,请将您的scikit-learn升级到当前版本(0.20),您应该就没问题了。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注