私はフォームの配列Yを持っています(これは一例に過ぎません。私はこのフォームで膨大なデータを持っています)。配列はnumpyののvstackとhstackを用いて形成されている(つまり、私はいくつかの複雑な操作によってそれを取得しているように私はこの配列を得る方法を変更する必要はありません):numpy.ndarrayをリストに変換する効率的な方法はありますか?
Y=array([[1, 1,2],
[1, 2,0],
[-1, 3,1],
[-1, 2,2]])
y=[1,1,-1,-1]
Y1=list(Y)
今、私はにデータを入力していますがlibsvm関数では、このライブラリは入力パラメータがディクショナリ形式、リスト形式、またはタプル形式であると想定しています。したがって、そのためのコードは次のとおり
prob=svm_problem(y, Y1)
上記機能は、「XI辞書、リストまたはタプルでなければならない」というエラーをスローします。私が知っているもう一つの方法は、Yを繰り返しリストに変換することです。それを行うための方法は次のとおりです。
Y1=[]
for i in range(0, Y.shape[0]):
Y1.append(list(Y[i])
上記の方法ではうまく動作しますが、私が持っている膨大なデータを考慮すると遅いです。それを達成するためのより速い方法はありますか?