Scikit-learnのcross_val_predict()の動作について

cross_val_predict()と似た関数のcross_val_score(cv=2)は[0.92, 0.90]のようにCV数に対応したスコアの配列を返す。
一方で、cross_val_predictはCV数に依存せず、常に同じ配列を返すのが気になっていた。
たとえば以下のような感じ。
cross_val_predict(CV=2)=> [0,1,2,3,4,5]
cross_val_predict(CV=3)=> [0,1,2,3,4,6] 
自分の想定だと、cross_val_predict(CV=2) => [[0,1,2,3,4,5],[0,1,2,3,3,5]]のように、CV数に応じた予測結果が返ってくると思っていた。
以下に説明があるが、実際にはcross_val_predict(CV=2)では、訓練セットが2分割される。
したがって、CV1→[0,1,2,_,_,_]、CV2→[_,_,_,3,4,5]のように予測がなされることになる。
cross_val_predict()は単純にこれらを結合(=concatenate)しているだけ。
別のモデルで予測した結果を一つの配列にまとめていることが混乱を招いている気がする。どういうシチュエーションで使うのだろうか。
github.com