前提・実現したいこと
pythonで機械学習の勉強をしています。プログラミングは初心者で、独学です。
one leave out法を試すため、読み込んだ学習用データセット9件のcsvを学習用8個とテスト用1個に分けたいです。
(本当はもっとスマートな方法があるのだと思いますが、今回はここでつまずいたのでここについて質問させてください。)
発生している問題・エラーメッセージ
8個の学習用データで学習させ、1個のテスト用データで予測させようとしたところ、以下のエラーが出ました。
Expected 2D array, got 1D array instead:
array=[88 0. 35 0.3 ].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
該当のソースコード
python3
1Xtrain = train0.iloc[:,0:4] 2Ytrain = train0.iloc[:,4] 3Xtest = test0.iloc[0:4] 4で、1行だけのデータフレームにしたつもりだったのですが 5print(Xtest)で見ると 6 7 8Columns1 88 9 10Columns2 0.00 11 12Columns3 35 13 14Columns4 0.30 15 16Name: 0, dtype: float64 17 18と、表の形ではなくなっていました。 19 20### 試したこと 21 22エラーメッセージにreshapeしろと書いてあったので 23Xtest.reshape(1, -1)としてみると、 24AttributeError: 'DataFrame' object has no attribute 'reshape' 25とエラーが出ました。 26 27Xtestと列名からデータフレームを作ろうと考え、 28 29Xtest = pd.DataFrame(Xtest, columns=Xtrain.columns) 30 31Xtest.head() 32としてみると、なぜかXtestの数値がなく列名だけの表が表示されました。 33 34データフレームの扱い方があまりわかっていません。 35すみませんがよろしくお願いします。 36 37### 補足情報(FW/ツールのバージョンなど) 38jupyter notebook

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/17 05:10