excelデータのインポートに関して

조회 수: 1(최근 30일)
勇輝 岡安 
勇輝 岡安  2020년 10월 29일
편집: Akira Agata 2020년 11월 2일
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}

채택된 답변

Akira Agata
Akira Agata 2020년 10월 29일
以下の方法ではいかがでしょうか?
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
Akira Agata
Akira Agata 2020년 11월 2일
うまくデータの整理に役立ったようで良かったです。
さて追加のご質問についてですが、正直なところ用途によって変わってくるかと思います。
単純に配列を学習用と検証用に分けたいということでしたら、cvpartition 関数が役立つかと思います。
また、いくつかの分類・回帰用の関数では、事前に学習用と検証用にデータを分けることなく交差検証などの評価を実施することができます(たとえばSVMによる分類をおこなう fitcsvm 関数の 'CrossVal' オプションを 'on' にするなど)。
その他、分類・回帰学習器アプリでも、事前に学習用と検証用にデータを分けることなく交差検証などの評価を実施することができますので、ぜひお試しください。
https://jp.mathworks.com/help/stats/classificationlearner-app.htm
https://jp.mathworks.com/help/stats/regressionlearner-app.htmll

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!