2017-02-24 96 views
1

現在我正在閱讀大量(大約100萬行)的訓練數據(標籤:0或1)從txt文件中練習機器學習scikit-學習:如下數據的數據:Python3:ValueError:太多的值來解壓縮(預計2)

label  data 
0  xd,xw,gh 
1  xg,xh,xl,xk,yh,xd 

.................................. ....

但有錯誤後,我跑我的代碼:

Traceback (most recent call last): 
    X, y = get_minibatch(train_text, train_label, chunksize=1000) 
ValueError: too many values to unpack (expected 2 

請給我你大約T t建議他的問題! 感謝您的時間和考慮!

回答

2

get_minibatch(train_x, train_y, chunksize)正在使用良率使其成爲生成器/迭代器

你叫它像一個函數,期待兩個參數和解壓縮它們。

但是你沒有得到兩個元素,你調用後獲得了一個生成器/迭代器對象。 (在這種情況下:總是打印出print(type(function()))當然這個單一對象不能被解壓成兩個

您需要使用它像一個發電機/迭代器,例如,在python3:。

X, y = next(get_minibatch(train_text, train_label, chunksize=1000)) 
+0

感謝@ sascha,在我添加下一個(get_minibach .....)之後,代碼仍然有錯誤:raise ValueError(「類應該包含所有可以有效的標籤」 ValueError:類應該包含可以在y中的所有有效標籤 – tktktk0711

+0

這是一些**新的不相關的問題**。基本問題是,由於您的鉗工不知道他們,所以存在未知的標籤。請閱讀[本文](http://scikit-learn.org/stable/modules/scaling_strategies。 HTML#增量學習) 。摘錄:'''爲了分類,有一點需要注意的是,儘管無狀態特徵提取例程可能能夠處理新的/看不見的屬性,但增量式學習者本身可能無法應付新的/看不見的目標類別。在這種情況下,您必須使用classes =參數將所有可能的類傳遞給第一個partial_fit調用.''' – sascha

+0

感謝@sascha您的寶貴意見。我很抱歉,我仍然不知道如何處理它。 – tktktk0711

相關問題