簡體   English   中英

scikit-learn.org的示例代碼給出了錯誤

[英]Sample code from scikit-learn.org is giving error

當我嘗試從sklearn庫學習One HotEncoder時,我嘗試了scikit-learn.org提供的以下示例代碼 但是這段代碼給了我錯誤,我無法調試它。

from sklearn.preprocessing import OneHotEncoder
enc = 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/genic/ sklearn.preprocessing.OneHotEncoder.html

版本0.20.2(12月18日)的發行說明特別提到了這一點:

主要功能 :擴展的preprocessing.OneHotEncoder允許使用單發(或虛擬)編碼方案將分類字符串特征編碼為數字數組

因此,將scikit-learn升級到當前版本(0.20),就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM