excelデータのインポートに関して
2 views (last 30 days)
Show older comments
excelデータのインポートの際に、cell配列にする質問です。
excelデータには、60×27のデータがあります。それを60の行に1×27のデータを持ったcell配列(60×1の行列に変換)にするにはどうしたらいいですか?
cell配列としてデータをインポートし、そのcell配列を分解する方法も試しましたが、上手く出来ませんでした。
上手く説明出来ないので、例を示します。
例)4×5 → 4×1(1つの行に5列のデータを持ったcell配列)
1 2 3 4 5 {1 2 3 4 5}
5 6 7 8 9 → {5 6 7 8 9}
1 2 3 4 5 {1 2 3 4 5}
5 6 7 8 9 {5 6 7 8 9}
0 Comments
Accepted Answer
Akira Agata
on 29 Oct 2020
以下の方法ではいかがでしょうか?
A = readmatrix('sample.xlsx');
C = mat2cell(A,ones(1,size(A,1)));
>> C
C =
4×1 の cell 配列
{1×5 double}
{1×5 double}
{1×5 double}
{1×5 double}
3 Comments
Akira Agata
on 2 Nov 2020
Edited: Akira Agata
on 2 Nov 2020
うまくデータの整理に役立ったようで良かったです。
さて追加のご質問についてですが、正直なところ用途によって変わってくるかと思います。
単純に配列を学習用と検証用に分けたいということでしたら、cvpartition 関数が役立つかと思います。
また、いくつかの分類・回帰用の関数では、事前に学習用と検証用にデータを分けることなく交差検証などの評価を実施することができます(たとえばSVMによる分類をおこなう fitcsvm 関数の 'CrossVal' オプションを 'on' にするなど)。
その他、分類・回帰学習器アプリでも、事前に学習用と検証用にデータを分けることなく交差検証などの評価を実施することができますので、ぜひお試しください。
https://jp.mathworks.com/help/stats/classificationlearner-app.htm
https://jp.mathworks.com/help/stats/regressionlearner-app.htmll
More Answers (0)
See Also
Categories
Find more on 分類木 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!