1
"train_test_split"でデータを分割してテストしようとしています。 なぜ「少なくとも1つのアレイが入力として必要です」というエラーが表示されました。テストを作成してsklearnで列車データを分割するエラー
"train_test_split"の入力はarrayとdataFrameのどちらでもかまいません。
import pandas as pd
import numpy as np
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
import pandas.rpy.common as rpy_common
from sklearn.model_selection import train_test_split
def la():
ro.r('library(MASS)')
pydf = rpy_common.load_data(name = 'Boston', package=None, convert=True)
pddf = pd.DataFrame(pydf)
targetIndex = pddf.columns.get_loc("medv")
# make train and test data
rowNum = pddf.shape[0]
colNum = pddf.shape[1]
print(type(pddf.as_matrix()))
print(pddf.as_matrix().shape)
m = np.asarray(pddf.as_matrix()).reshape(rowNum,colNum)
print(type(m))
x_train, x_test, y_train, y_test = train_test_split(x = m[:, 0:rowNum-2], \
y = m[:, -1],\
test_size = 0.5)
# error: raise ValueError("At least one array required as input")
ValueError: At least one array required as input
'x'と' y'はキーワード引数ではない位置引数として提供されるはずなので、 'x ='と 'y ='を呼び出しから取り除きます。 –
インデックスにもエラーがある可能性があります(不明です)。あなたは(rowNum、colNum)のサイズに変形しますが、後でrowNumを使用して2番目(列方向)の次元にインデックスを付けます。オリジナルのエラーを修正した後でも、関連のない問題が表示されることがあります。もしそうなら、別の質問でそれらに尋ねてください:) – ely